From e3b9a3df574fdc5ee50b313c2e158297803a3c5b Mon Sep 17 00:00:00 2001 From: Josh Long Date: Mon, 8 May 2023 19:52:30 -0400 Subject: [PATCH 001/193] update ecdsa sdk --- packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts | 7543 +++++------------------ 1 file changed, 1686 insertions(+), 5857 deletions(-) diff --git a/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts b/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts index 55a36d83ad..241f45612a 100644 --- a/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts +++ b/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts @@ -1,57 +1,90 @@ -// @ts-nocheck -const base64codes = [ - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, - 255, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 255, 0, 255, 255, - 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 255, 255, 255, 255, 255, 255, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -]; - -const getBase64Code = (charCode: any) => { - if (charCode >= base64codes.length) { - throw new Error('Unable to parse base64 string.'); - } - const code = base64codes[charCode]; - - if (code === 255) { - throw new Error('Unable to parse base64 string.'); - } +//@ts-nocheck +import pako from 'pako' - return code; -}; +// Contants -const base64ToUint8Array = (str: string) => { - if (str.length % 4 !== 0) { - throw new Error('Unable to parse base64 string.'); - } - const index = str.indexOf('='); +const skLen = 32 // bytes +const pkLen = 48 // bytes +const sigLen = 96 // bytes +const maxMsgLen = 1049600 // bytes +const maxCtLen = 1049600 // bytes +const decryptionShareLen = 48 // bytes - if (index !== -1 && index < str.length - 2) { - throw new Error('Unable to parse base64 string.'); - } +// the number of bytes in a row derived from a BivarPoly +// which varies depending on the threshold. +const row_sizes_by_threshold = [ + 40, // threshold 0 + 72, // threshold 1 + 104, // threshold 2 + 136, // threshold 3 + 168, // threshold 4 + 200, // threshold 5 + 232, // threshold 6 + 264, // threshold 7 + 296, // threshold 8 + 328, // threshold 9 + 360 // threshold 10 +] - let missingOctets = str.endsWith('==') ? 2 : str.endsWith('=') ? 1 : 0, - n = str.length, - result = new Uint8Array(3 * (n / 4)), - buffer; +// the number of bytes in a commitment derived from a BivarPoly +// which varies depending on the threshold. +const commitment_sizes_by_threshold = [ + 56, // threshold 0 + 104, // threshold 1 + 152, // threshold 2 + 200, // threshold 3 + 248, // threshold 4 + 296, // threshold 5 + 344, // threshold 6 + 392, // threshold 7 + 440, // threshold 8 + 488, // threshold 9 + 536 // threshold 10 +] - for (let i = 0, j = 0; i < n; i += 4, j += 3) { - buffer = - (getBase64Code(str.charCodeAt(i)) << 18) | - (getBase64Code(str.charCodeAt(i + 1)) << 12) | - (getBase64Code(str.charCodeAt(i + 2)) << 6) | - getBase64Code(str.charCodeAt(i + 3)); - result[j] = buffer >> 16; - result[j + 1] = (buffer >> 8) & 0xff; - result[j + 2] = buffer & 0xff; - } +// the number of bytes in the master secret key (Poly) +// which varies depending on the threshold. +const poly_sizes_by_threshold = [ + 40, // threshold 0 + 72, // threshold 1 + 104, // threshold 2 + 136, // threshold 3 + 168, // threshold 4 + 200, // threshold 5 + 232, // threshold 6 + 264, // threshold 7 + 296, // threshold 8 + 328, // threshold 9 + 360 // threshold 10 +] +// Encoding conversions - return result.subarray(0, result.length - missingOctets); -}; - -import * as pako from 'pako'; +// modified from https://stackoverflow.com/a/11058858 +function asciiToUint8Array(a) { + let b = new Uint8Array(a.length); + for (let i = 0; i < a.length; i++) { + b[i] = a.charCodeAt(i); + } + return b; +} +// https://stackoverflow.com/a/19102224 +// TODO resolve RangeError possibility here, see SO comments +function uint8ArrayToAscii(a) { + return String.fromCharCode.apply(null, a); +} +// https://stackoverflow.com/a/50868276 +function hexToUint8Array(h) { + if (h.length == 0) { + return new Uint8Array(); + } + return new Uint8Array(h.match(/.{1,2}/g).map(byte => parseInt(byte, 16))); +} +function uint8ArrayToHex(a) { + return a.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), ''); +} +function uint8ArrayToByteStr(a) { + return "[" + a.join(", ") + "]"; +} //https://gist.github.com/enepomnyaschih/72c423f727d395eeaa09697058238727 /* @@ -74,5882 +107,1678 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/* +// This constant can also be computed with the following algorithm: +const base64abc = [], + A = "A".charCodeAt(0), + a = "a".charCodeAt(0), + n = "0".charCodeAt(0); +for (let i = 0; i < 26; ++i) { + base64abc.push(String.fromCharCode(A + i)); +} +for (let i = 0; i < 26; ++i) { + base64abc.push(String.fromCharCode(a + i)); +} +for (let i = 0; i < 10; ++i) { + base64abc.push(String.fromCharCode(n + i)); +} +base64abc.push("+"); +base64abc.push("/"); +*/ +const base64abc = [ + "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", + "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", + "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", + "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", + "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "/" +]; + +/* +// This constant can also be computed with the following algorithm: +const l = 256, base64codes = new Uint8Array(l); +for (let i = 0; i < l; ++i) { + base64codes[i] = 255; // invalid character +} +base64abc.forEach((char, index) => { + base64codes[char.charCodeAt(0)] = index; +}); +base64codes["=".charCodeAt(0)] = 0; // ignored anyway, so we just need to prevent an error +*/ +const base64codes = [ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 63, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 255, 0, 255, 255, + 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 255, 255, 255, 255, 255, + 255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51 +]; + +function getBase64Code(charCode) { + if (charCode >= base64codes.length) { + throw new Error("Unable to parse base64 string."); + } + const code = base64codes[charCode]; + if (code === 255) { + throw new Error("Unable to parse base64 string."); + } + return code; +} + +export function uint8ArrayToBase64(bytes) { + let result = '', i, l = bytes.length; + for (i = 2; i < l; i += 3) { + result += base64abc[bytes[i - 2] >> 2]; + result += base64abc[((bytes[i - 2] & 0x03) << 4) | (bytes[i - 1] >> 4)]; + result += base64abc[((bytes[i - 1] & 0x0F) << 2) | (bytes[i] >> 6)]; + result += base64abc[bytes[i] & 0x3F]; + } + if (i === l + 1) { // 1 octet yet to write + result += base64abc[bytes[i - 2] >> 2]; + result += base64abc[(bytes[i - 2] & 0x03) << 4]; + result += "=="; + } + if (i === l) { // 2 octets yet to write + result += base64abc[bytes[i - 2] >> 2]; + result += base64abc[((bytes[i - 2] & 0x03) << 4) | (bytes[i - 1] >> 4)]; + result += base64abc[(bytes[i - 1] & 0x0F) << 2]; + result += "="; + } + return result; +} + +export function base64ToUint8Array(str) { + if (str.length % 4 !== 0) { + throw new Error("Unable to parse base64 string."); + } + const index = str.indexOf("="); + if (index !== -1 && index < str.length - 2) { + throw new Error("Unable to parse base64 string."); + } + let missingOctets = str.endsWith("==") ? 2 : str.endsWith("=") ? 1 : 0, + n = str.length, + result = new Uint8Array(3 * (n / 4)), + buffer; + for (let i = 0, j = 0; i < n; i += 4, j += 3) { + buffer = + getBase64Code(str.charCodeAt(i)) << 18 | + getBase64Code(str.charCodeAt(i + 1)) << 12 | + getBase64Code(str.charCodeAt(i + 2)) << 6 | + getBase64Code(str.charCodeAt(i + 3)); + result[j] = buffer >> 16; + result[j + 1] = (buffer >> 8) & 0xFF; + result[j + 2] = buffer & 0xFF; + } + return result.subarray(0, result.length - missingOctets); +} + +// export function base64encode(str, encoder = new TextEncoder()) { +// return bytesToBase64(encoder.encode(str)); +// } + +// export function base64decode(str, decoder = new TextDecoder()) { +// return decoder.decode(base64ToBytes(str)); +// } + +// https://stackoverflow.com/a/12713326 +// function uint8ArrayToBase64(a) { +// return btoa(String.fromCharCode.apply(null, a)); +// } +// function base64ToUint8Array(b) { +// return new Uint8Array(atob(b).split("").map(function(c) { +// return c.charCodeAt(0); +// })); +// } let wasm; -const heap = new Array(32).fill(undefined); +const heap = new Array(128).fill(undefined); heap.push(undefined, null, true, false); -function getObject(idx) { - return heap[idx]; -} +function getObject(idx) { return heap[idx]; } let heap_next = heap.length; function dropObject(idx) { - if (idx < 36) return; - heap[idx] = heap_next; - heap_next = idx; + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; } function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; -} - -function addHeapObject(obj) { - if (heap_next === heap.length) heap.push(heap.length + 1); - const idx = heap_next; - heap_next = heap[idx]; - - heap[idx] = obj; - return idx; + const ret = getObject(idx); + dropObject(idx); + return ret; } -let cachedTextDecoder = new TextDecoder('utf-8', { - ignoreBOM: true, - fatal: true, -}); +let WASM_VECTOR_LEN = 0; -cachedTextDecoder.decode(); +let cachedUint8Memory0 = null; -let cachegetUint8Memory0 = null; function getUint8Memory0() { - if ( - cachegetUint8Memory0 === null || - cachegetUint8Memory0.buffer !== wasm.memory.buffer - ) { - cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer); - } - return cachegetUint8Memory0; + if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8Memory0; } -function getStringFromWasm0(ptr, len) { - return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); -} +const cachedTextEncoder = new TextEncoder('utf-8'); -let WASM_VECTOR_LEN = 0; - -let cachedTextEncoder = new TextEncoder('utf-8'); - -const encodeString = - typeof cachedTextEncoder.encodeInto === 'function' +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' ? function (arg, view) { - return cachedTextEncoder.encodeInto(arg, view); - } + return cachedTextEncoder.encodeInto(arg, view); +} : function (arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length, - }; - }; + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); function passStringToWasm0(arg, malloc, realloc) { - if (realloc === undefined) { - const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length); - getUint8Memory0() - .subarray(ptr, ptr + buf.length) - .set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr; - } - let len = arg.length; - let ptr = malloc(len); + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length); + getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } - const mem = getUint8Memory0(); + let len = arg.length; + let ptr = malloc(len); - let offset = 0; + const mem = getUint8Memory0(); - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 0x7f) break; - mem[ptr + offset] = code; - } + let offset = 0; - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; } - ptr = realloc(ptr, len, (len = offset + arg.length * 3)); - const view = getUint8Memory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - offset += ret.written; - } + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3); + const view = getUint8Memory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + } - WASM_VECTOR_LEN = offset; - return ptr; + WASM_VECTOR_LEN = offset; + return ptr; } -let cachegetInt32Memory0 = null; -function getInt32Memory0() { - if ( - cachegetInt32Memory0 === null || - cachegetInt32Memory0.buffer !== wasm.memory.buffer - ) { - cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer); - } - return cachegetInt32Memory0; +function isLikeNone(x) { + return x === undefined || x === null; } -/** - * @private - * @param {string} R_x - * @param {string} R_y - * @param {string} shares - * @returns {string} - */ -export function combine_signature(R_x, R_y, shares) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - var ptr0 = passStringToWasm0( - R_x, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc - ); - var len0 = WASM_VECTOR_LEN; - var ptr1 = passStringToWasm0( - R_y, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc - ); - var len1 = WASM_VECTOR_LEN; - var ptr2 = passStringToWasm0( - shares, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc - ); - var len2 = WASM_VECTOR_LEN; - wasm.combine_signature(retptr, ptr0, len0, ptr1, len1, ptr2, len2); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(r0, r1); - } + +let cachedInt32Memory0 = null; + +function getInt32Memory0() { + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32Memory0; } -function handleError(f, args) { - try { - return f.apply(this, args); - } catch (e) { - wasm.__wbindgen_exn_store(addHeapObject(e)); - } +const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); + +cachedTextDecoder.decode(); + +function getStringFromWasm0(ptr, len) { + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); } -function getArrayU8FromWasm0(ptr, len) { - return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} +/** +* @private +*Entry point for recombining signatures. +* @param {Array} in_shares +* @param {number} key_type +* @returns {string} +*/ +export function combine_signature(in_shares, key_type) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.combine_signature(retptr, addHeapObject(in_shares), key_type); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + return getStringFromWasm0(r0, r1); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(r0, r1); + } } async function load(module, imports) { - if (typeof Response === 'function' && module instanceof Response) { - if (typeof WebAssembly.instantiateStreaming === 'function') { - try { - return await WebAssembly.instantiateStreaming(module, imports); - } catch (e) { - if (module.headers.get('Content-Type') != 'application/wasm') { - console.warn( - '`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n', - e - ); - } else { - throw e; + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } } - } - } - const bytes = await module.arrayBuffer(); - return await WebAssembly.instantiate(bytes, imports); - } else { - const instance = await WebAssembly.instantiate(module, imports); + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); - if (instance instanceof WebAssembly.Instance) { - return { instance, module }; } else { - return instance; + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } } - } } -async function initNodejs(input) { - const imports = {}; - imports.wbg = {}; - imports.wbg.__wbindgen_is_object = function (arg0) { - const val = getObject(arg0); - var ret = typeof val === 'object' && val !== null; - return ret; - }; - imports.wbg.__wbindgen_object_drop_ref = function (arg0) { - takeObject(arg0); - }; - imports.wbg.__wbg_process_5729605ce9d34ea8 = function (arg0) { - var ret = getObject(arg0).process; - return addHeapObject(ret); - }; - imports.wbg.__wbg_versions_531e16e1a776ee97 = function (arg0) { - var ret = getObject(arg0).versions; - return addHeapObject(ret); - }; - imports.wbg.__wbg_node_18b58a160b60d170 = function (arg0) { - var ret = getObject(arg0).node; - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_is_string = function (arg0) { - var ret = typeof getObject(arg0) === 'string'; - return ret; - }; - imports.wbg.__wbg_require_edfaedd93e302925 = function () { - // console.warn('[ECDSA-SDK NodeJS] __wbg_require_edfaedd93e302925'); - return handleError(function (arg0, arg1, arg2) { - // const uint8Memory = getUint8Memory0().subarray(arg1, arg1 + arg2); - // console.log("uint8Memory:", uint8Memory); - // const decodedText = (new TextDecoder()).decode(uint8Memory); - // console.log("decodedText:", decodedText) - // the decoded string is "crypto" - // const moduleSpecifier = getStringFromWasm0(arg1, arg2); - // var ret = require(getStringFromWasm0(arg1, arg2)); - // var ret = require('crypto'); +function getImports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbg_get_27fe3dac1c4d0224 = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_e498fbc24f9c1d4f = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_new_abda76e883ba8a5f = function() { + const ret = new Error(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { + const ret = getObject(arg1).stack; + const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { + try { + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(arg0, arg1); + } + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; - let _crypto; + return imports; +} - try { - _crypto = require('crypto'); - // console.warn("ENV A X:", _crypto); - } catch (e) { - _crypto = globalThis.crypto; - // console.warn("ENV B X:", globalThis.crypto); - } - return addHeapObject(_crypto); - }, arguments); - }; - imports.wbg.__wbg_crypto_2bc4d5b05161de5b = function (arg0) { - var ret = getObject(arg0).crypto; - return addHeapObject(ret); - }; - imports.wbg.__wbg_msCrypto_d003eebe62c636a9 = function (arg0) { - var ret = getObject(arg0).msCrypto; - return addHeapObject(ret); - }; - imports.wbg.__wbg_getRandomValues_99bbe8a65f4aef87 = function () { - return handleError(function (arg0, arg1) { - getObject(arg0).getRandomValues(getObject(arg1)); - }, arguments); - }; - imports.wbg.__wbg_static_accessor_NODE_MODULE_bdc5ca9096c68aeb = function () { - var ret = module; - return addHeapObject(ret); - }; - imports.wbg.__wbg_randomFillSync_378e02b85af41ab6 = function () { - return handleError(function (arg0, arg1, arg2) { - getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2)); - }, arguments); - }; - imports.wbg.__wbg_new_693216e109162396 = function () { - var ret = new Error(); - return addHeapObject(ret); - }; - imports.wbg.__wbg_stack_0ddaca5d1abfb52f = function (arg0, arg1) { - var ret = getObject(arg1).stack; - var ptr0 = passStringToWasm0( - ret, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc - ); - var len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; - }; - imports.wbg.__wbg_error_09919627ac0992f5 = function (arg0, arg1) { - try { - console.error(getStringFromWasm0(arg0, arg1)); - } finally { - wasm.__wbindgen_free(arg0, arg1); - } - }; - imports.wbg.__wbg_newnoargs_f579424187aa1717 = function (arg0, arg1) { - var ret = new Function(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_self_e23d74ae45fb17d1 = function () { - return handleError(function () { - var ret = self.self; - return addHeapObject(ret); - }, arguments); - }; - imports.wbg.__wbg_window_b4be7f48b24ac56e = function () { - return handleError(function () { - var ret = window.window; - return addHeapObject(ret); - }, arguments); - }; - imports.wbg.__wbg_globalThis_d61b1f48a57191ae = function () { - return handleError(function () { - var ret = globalThis.globalThis; - return addHeapObject(ret); - }, arguments); - }; - imports.wbg.__wbg_global_e7669da72fd7f239 = function () { - return handleError(function () { - var ret = global.global; - return addHeapObject(ret); - }, arguments); - }; - imports.wbg.__wbindgen_is_undefined = function (arg0) { - var ret = getObject(arg0) === undefined; - return ret; - }; - imports.wbg.__wbg_call_89558c3e96703ca1 = function () { - return handleError(function (arg0, arg1) { - var ret = getObject(arg0).call(getObject(arg1)); - return addHeapObject(ret); - }, arguments); - }; - imports.wbg.__wbg_buffer_5e74a88a1424a2e0 = function (arg0) { - var ret = getObject(arg0).buffer; - return addHeapObject(ret); - }; - imports.wbg.__wbg_new_e3b800e570795b3c = function (arg0) { - var ret = new Uint8Array(getObject(arg0)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_newwithlength_5f4ce114a24dfe1e = function (arg0) { - var ret = new Uint8Array(arg0 >>> 0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_subarray_a68f835ca2af506f = function (arg0, arg1, arg2) { - var ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_length_30803400a8f15c59 = function (arg0) { - var ret = getObject(arg0).length; - return ret; - }; - imports.wbg.__wbg_set_5b8081e9d002f0df = function (arg0, arg1, arg2) { - getObject(arg0).set(getObject(arg1), arg2 >>> 0); - }; - imports.wbg.__wbindgen_object_clone_ref = function (arg0) { - var ret = getObject(arg0); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_throw = function (arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); - }; - imports.wbg.__wbindgen_memory = function () { - var ret = wasm.memory; - return addHeapObject(ret); - }; +function initMemory(imports, maybe_memory) { - const { instance, module } = await load(await input, imports); +} - wasm = instance.exports; - initNodejs.__wbindgen_wasm_module = module; +function finalizeInit(instance, module) { + wasm = instance.exports; + init.__wbindgen_wasm_module = module; + cachedInt32Memory0 = null; + cachedUint8Memory0 = null; - return wasm; + + return wasm; } -async function initBrowser(input) { - const imports = {}; - imports.wbg = {}; - imports.wbg.__wbindgen_is_object = function (arg0) { - const val = getObject(arg0); - var ret = typeof val === 'object' && val !== null; - return ret; - }; - imports.wbg.__wbindgen_object_drop_ref = function (arg0) { - takeObject(arg0); - }; - imports.wbg.__wbg_process_5729605ce9d34ea8 = function (arg0) { - var ret = getObject(arg0).process; - return addHeapObject(ret); - }; - imports.wbg.__wbg_versions_531e16e1a776ee97 = function (arg0) { - var ret = getObject(arg0).versions; - return addHeapObject(ret); - }; - imports.wbg.__wbg_node_18b58a160b60d170 = function (arg0) { - var ret = getObject(arg0).node; - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_is_string = function (arg0) { - var ret = typeof getObject(arg0) === 'string'; - return ret; - }; - imports.wbg.__wbg_require_edfaedd93e302925 = function () { - console.warn('[ECDSA-SDK Browser] __wbg_require_edfaedd93e302925'); - // return handleError(function (arg0, arg1, arg2) { - // var ret = require(getStringFromWasm0(arg1, arg2)); +function initSync(module) { + const imports = getImports(); - // Note: This function can probably be removed for browser - // try{ - // // this function probably not run on browser - // console.warn("[ECDSA-SDK] REPORT THIS ERROR TO DEVELOPER"); - // ret = getStringFromWasm0(arg1, arg2); - // }catch(e){ - // ret = require(getStringFromWasm0(arg1, arg2)); - // } - // console.warn("[ECDSA-SDK] ret:", ret); - // return addHeapObject(ret); - // return null; - // }, arguments); - return null; - }; - imports.wbg.__wbg_crypto_2bc4d5b05161de5b = function (arg0) { - var ret = getObject(arg0).crypto; - return addHeapObject(ret); - }; - imports.wbg.__wbg_msCrypto_d003eebe62c636a9 = function (arg0) { - var ret = getObject(arg0).msCrypto; - return addHeapObject(ret); - }; - imports.wbg.__wbg_getRandomValues_99bbe8a65f4aef87 = function () { - return handleError(function (arg0, arg1) { - getObject(arg0).getRandomValues(getObject(arg1)); - }, arguments); - }; - imports.wbg.__wbg_static_accessor_NODE_MODULE_bdc5ca9096c68aeb = function () { - var ret = module; - return addHeapObject(ret); - }; - imports.wbg.__wbg_randomFillSync_378e02b85af41ab6 = function () { - return handleError(function (arg0, arg1, arg2) { - getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2)); - }, arguments); - }; - imports.wbg.__wbg_new_693216e109162396 = function () { - var ret = new Error(); - return addHeapObject(ret); - }; - imports.wbg.__wbg_stack_0ddaca5d1abfb52f = function (arg0, arg1) { - var ret = getObject(arg1).stack; - var ptr0 = passStringToWasm0( - ret, - wasm.__wbindgen_malloc, - wasm.__wbindgen_realloc - ); - var len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; - }; - imports.wbg.__wbg_error_09919627ac0992f5 = function (arg0, arg1) { - try { - console.error(getStringFromWasm0(arg0, arg1)); - } finally { - wasm.__wbindgen_free(arg0, arg1); - } - }; - imports.wbg.__wbg_newnoargs_f579424187aa1717 = function (arg0, arg1) { - var ret = new Function(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_self_e23d74ae45fb17d1 = function () { - return handleError(function () { - var ret = self.self; - return addHeapObject(ret); - }, arguments); - }; - imports.wbg.__wbg_window_b4be7f48b24ac56e = function () { - return handleError(function () { - var ret = window.window; - return addHeapObject(ret); - }, arguments); - }; - imports.wbg.__wbg_globalThis_d61b1f48a57191ae = function () { - return handleError(function () { - var ret = globalThis.globalThis; - return addHeapObject(ret); - }, arguments); - }; - imports.wbg.__wbg_global_e7669da72fd7f239 = function () { - return handleError(function () { - var ret = global.global; - return addHeapObject(ret); - }, arguments); - }; - imports.wbg.__wbindgen_is_undefined = function (arg0) { - var ret = getObject(arg0) === undefined; - return ret; - }; - imports.wbg.__wbg_call_89558c3e96703ca1 = function () { - return handleError(function (arg0, arg1) { - var ret = getObject(arg0).call(getObject(arg1)); - return addHeapObject(ret); - }, arguments); - }; - imports.wbg.__wbg_buffer_5e74a88a1424a2e0 = function (arg0) { - var ret = getObject(arg0).buffer; - return addHeapObject(ret); - }; - imports.wbg.__wbg_new_e3b800e570795b3c = function (arg0) { - var ret = new Uint8Array(getObject(arg0)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_newwithlength_5f4ce114a24dfe1e = function (arg0) { - var ret = new Uint8Array(arg0 >>> 0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_subarray_a68f835ca2af506f = function (arg0, arg1, arg2) { - var ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_length_30803400a8f15c59 = function (arg0) { - var ret = getObject(arg0).length; - return ret; - }; - imports.wbg.__wbg_set_5b8081e9d002f0df = function (arg0, arg1, arg2) { - getObject(arg0).set(getObject(arg1), arg2 >>> 0); - }; - imports.wbg.__wbindgen_object_clone_ref = function (arg0) { - var ret = getObject(arg0); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_throw = function (arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); - }; - imports.wbg.__wbindgen_memory = function () { - var ret = wasm.memory; - return addHeapObject(ret); - }; + initMemory(imports); - const { instance, module } = await load(await input, imports); + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } - wasm = instance.exports; - initBrowser.__wbindgen_wasm_module = module; + const instance = new WebAssembly.Instance(module, imports); - return wasm; + return finalizeInit(instance, module); } -export async function initWasmEcdsaSdkBrowser() { - var b = ''; +async function init(input) { const imports = getImports(); - b += - 'eNrsvQ2cXEd1J3qr6n513+6eO5JsZI+wbrdkPAZ7PbKtGcl4wXcWySjCsbPx8rz89q3QxwjcY2S'; - b += - 'PNMgmjGbGWAhBnEQGJ1GCQ5Tg38/KYgeROEYQbxgTv31KIogJTlCCAYU4xEnYjQImEWDwO/9z6n'; - b += - '50T48kA5vs7u8ZNF23Pk+dUx+nTp1zytm8623KcRx17O7ZWWfZmx3nzY6aebOacegfB9T0m/UMf'; - b += - 'dIf+jYzCOMvfbgz/MU/9OnNyLf8UoQ/Y2NsgKKCmSwuC1FkRULT09NS2bTUMS117bF1TgkUnGeP'; - b += - 'tDuV/wC0af5RU2pK/8l+6s1yc+eWtyzZtOnOLbfu2PaWsR2bbt216fYt7bGtk45B0oWlJInftG3'; - b += - 'n7Xds2jm23dHIcBEyvGXTHTtv3zq2a9em1SNXrh0eWr11bO22q64e27xGalkumXaP7dx16+07KN'; - b += - 'dVq8ZWDY+t2jwyMjw2tnZEcg1Irh23bxvbtGrNltVrNq8aHtoyPLRt1ciQ5OgCdNfkzlt3vEWSL'; - b += - 'Bw7xybefuvOsU1j27ZvHtu2be1VY1cNXbn2ytVOiEwvl0xbd77jjsnbN125ZevV21ZvGVq9anjV'; - b += - 'trHVWzpgfduufye5tg0NXTU2tmVs+Mqtw1cNb14ruV4hud4yNvnvN+/Ydvvb3rj5treP7dq0du2'; - b += - 'WLWNrNg+v3n715rHta0YcD5mvlMy7JjdP3rp10+atwNTtOzf9+I2vW7fphhtf9x/esG7Tlm1bV2'; - b += - '/dvHZo7fDW4TWbx7Y4CgUvtp3iJtbfetttP/mOHVs3XTWyZmzoyi1rVm/efvWqzVuGnSCnFGFv7'; - b += - 'M5Nw2uvuhLoHVq7avjKq9YOS2XLcii2jm8a2rZt89bNq7dR+e1bVl+5XQC1WcZ27iTwhtauXbV2'; - b += - '+MqRzVspdOX21ZIlyZvZcfvmnW/ZtWn76pG1V1959ao1I5s3rxpZNeL4JVruGrtt+6axK6/aNkL'; - b += - '4uHr19i2rRratEnAsLe4kct5+56YtV28ZG9l+9ZotV169eevq4THJ07RYvu32LZtvu/mtRPJtw6'; - b += - 'u2rKJ8m1ePrFq7avNYR12Sb9PYyPDw2m2bR67cvm1kO/Vf8rysc+y8fce2se237hjb1jH2tm6+7'; - b += - 'bZNa9auXr1m61Vja4dHhq7aunmV9Mi2seXt27eP7dy0eox6tIZGKHV985VjQ6XZIjQYu2rLmqGh'; - b += - 'sdUjQyNrV2+5aqtkWJlnuPPWybfeNrbjLZNv3USDZevYqlVUz9Xbto+tGusYh7vevmXzzp2b37F'; - b += - 'p8/Ca7WuuokFy5ebtq4eGt3eMaFvTVUNrhq66emho85rtq1ZvXb22A6pdY5ObVhNQa1bR5Bwaun'; - b += - 'L70LbtMnQG5k/yrbfdvmOMZzlXEZdyTL515+13ymDoL0W/bextt+98B+H6yLtpXflNrxL5pl6JA'; - b += - 'r/iGx1Efhhe0Kj6OrwgrPhRJayEfsXp86Kgr+L3B34Q1YKK7y3uCwIVeH2e78c17Q0EgaG0iu+H'; - b += - 'iy/Uvu97Vfob6YqvAt83gecFgd/nLzJ+6HuBFywOKlHFo8oij5K8Cv0X0KcXen5ovCDyFgeLfYr'; - b += - 'zfR2EoReEvh8E1cD3CFovrAQBwUMtBkGlrgNNhagqLzqf4qk6yqupYkqlOgkUz9f0H0VTmPrlU1'; - b += - 'mNBILD8zTlI6iCShhSJYCAKgyMrlJNnk8ffp2+KWsUVQxDWQ+peoSoLIHvG4NkBgfd1NQbChHeP'; - b += - 'Z9Tq54fRQyFzyAY5PICrT0ChDBWITC0RxCGOtIEagV1ECjR+VFEUISeooiGX/WqEf6r1aLz8Lsk'; - b += - '8qpVdK1S0egY9QvdNBEjwXiaYjT/53M/0E10ueobUMCg99QbbZDLMHAoC7iocWCcQNWmgv6ZKmE'; - b += - 'nNMZDFaFvpGL8RdXAOOWiZPtfwCCEPgoRBY39z+dslKKUcQjH+G/ANUYZ47qOodhalSo3ru76z+'; - b += - 'F/Dgfc98zSqFV3qJ+m/3n38IfT77+XAzMqnZ2dc6LgIBiAwJehrp3+rbe/jYb/2KZdt75lx+bJt'; - b += - '+8cc/ar5aU5sXnbtk20hciSe8ftt+6YHNvpfM7tmDa04ty+1fmeXlSK3Dkmsb9n+kqx23eOjTm/'; - b += - '6JY3wbG7dlDtt1PDv+lW3v8uhjpV0fvUb3n36t/2Pqs/5v2SetT7vvs73vfc39CPed9Uh9XHvQP'; - b += - 'ez3k/633C+5D5pPeYe9T7FfO73k+be7x3eY97X3J/z/uCftbMeXvNp7xf8b7iPunOvEd/2vu22e'; - b += - 'c96f2+9x7zNfMVc9I8Zf7MPG3+yPyx+az5E3PcfN78gflD8xnzOfMl9afmC+ZJ8xn3veZj7r/5e'; - b += - 'e+/ubPqmPcH3u+4Uz+nv2qecv8f82V958PmAffj7n+e1X/kPaSPut9Xc+qv3O+pD+tn3RfUP5tf'; - b += - 'MPear7rvM4/q31e37deH9a736u+qF9Vfmg97D3q/ZfaqI+pL+hPu77lfVW847j6rftV90D2ljnt'; - b += - 'HvNPu8M+q9+k/du9Vd+vq3973HixIP7tKv2LGnV7hpHPV8Za70tHXnev/EnWpcVqvvKnuIBS2Xn'; - b += - 'VTXSEUty67qa6TVyaXTbUuT155c91Q+FV7kle+se4mJu3fUPcSdZlzYZN+rlBLmypxk1e+RruJm'; - b += - '4bt1EleOZrsf4j+0iibjW9u+QPD2qE0leokC9coX3pQxS+4F1LhV71GP0yVpIdVW2p4FdfwqoVq'; - b += - 'OJxl7qzmstfopzWlPKVtNZdxNZctVM1TWeaOatLTRoqnD9iY0btRfsScNol6ZHRo3+jQe5LLR2e'; - b += - 'm3rFn9NO//MRz7vTo7K995tCjegrNtfw0nkzjtzcDQbF8tcLUeT3h2U1UfMmFAn0WJAg4WFORbd'; - b += - '1JwnEpR9ER1xOkMz+G8pQW2LSWiptFVc2iqmZRVeKnL75oJiiKIga106xQ/MFKO3V3UsDd2aqmh'; - b += - '1T8HUZfZVgfrORjo4L8T+lWRKFo40Crlg5urNPgSmp1J3WatZobJbVUTTTr+Lm+riiyQf/6ahoJ'; - b += - 'g4kbf8N1EJyeaMY5VZq+BYCCeREDPE21W2ESEoytfoJ6qk0hxDSojXZrEShHgxPJixOf0xpJmPR'; - b += - 'vSBYl4YadlBM5GsniDRTb2LCz2aBKuDnFTSVx0pfqdqvv+roTEUqT+jpGJ4GChMkWjSa33fK57p'; - b += - 'af4RKR3JhKGrYNlfhoQ6GNiMFDTbX0ko31wFZYowpRMlUoQOhpN2uE/6QGDAOvp02rL6kl9I8wq'; - b += - '9JLb+SiwJC7s7nEDm4KnsdEap5PndCTTaWvMzymiAIzNBDUQNMHtqVRJbgF0SkYMkYJxTOC09B2'; - b += - '7HoC3d8w0PLXWTz4iYeBWQEQFdCdyVuhjZPiZto0fDCACEhF/U/NRNPnUW1urDujTvOVyflNVYu'; - b += - 'iJExfoIzBRDPMYkHURK3Wzmh1OnnlVItWCAIZSG4kjSyaZkyeEi6YUlsgBUFqjOYYKBzyEKo7BE'; - b += - '5E84WQENQWRel33/WEky5LD97zhBMf106UHqZQ+vL0WB5x4h7O8XwesXcvRQynj+/NIo4jYiTd+'; - b += - '+4s4n4KpZenT2YRGPHpvb9JX/+g6EsV47+SB4FswvqCeKEu2A75hPiWDwIlr3yopdYxfWh8YaGt'; - b += - '2LGV8NiqoJuVSGavg6F1WLX6QUsaLEk/07IfU7X/XGh5HtHSzKPlef+atDQRo7CE2/4fDUL7LUJ'; - b += - '5+ezvQGo/kNoPpPbzXhNl+IxkBcbOAZxG54LTJT1xuuRfG6f9HTiNfiicUpkMqxGwardV+ihjNQ'; - b += - 'JWI2A1AgKxbB3y7EaETY82I1VsRn3D+pBns9Dm2HyZLJu8xB3zuVgptz+sj2UpmnIvLeU+FfTIf'; - b += - 'SqwKYZyX3AOrBI2z1aMn1NB60LaTS7M98Ribxso9rZlOSPRfLntBgUvsjBScLkFgIIJM07NZr41'; - b += - 'N1sW/hX4PeQ1V+L3mN+8mKbzK4g2r2hewpvMGbYEqttuCee+HVDtPABSfWOd+cikRvGpos2Ut/o'; - b += - 'KNmvEpmo973nY2hHHWRJqrCnjutdmns7sOtN+zsk/3JZe4S2953Z+Qb6Vcztn3s2V3audNGzSyt'; - b += - '6MiZ1KH6DJkl4ocwYrvh0XcXIx/vFgoFXCORtZiPovmSxCkg1UeUx8l4leIl2W/y9Ml6UvhS46o'; - b += - 'wutJTRJok5OcyEK1ZKV+EcUqgiFKmemEE3VH4JCNWKdTNZpRn8FFKpZClWEQpVOCl30r02h2sIU'; - b += - 'etlLplBFKKTbQqHKwhSio8UK/CPaxKCNSeIz08Yyty+RNgV1KjyXMW0z6sTl+RMLdWJQp5ZT5+X'; - b += - '/0tSpnfv8yVByzhTyQaG4vB9fkpj19Uqik0uwYw+1r3EIA5aTrFOonh1RvOQSFHnFgoeRmhCJz6'; - b += - 'PnTKQaEylpJaWTaMznpNieQAcpNEhARNhtfSZnxIxthGNuBAJemp0kkSZEjEBEELaR0PBJlvFp8'; - b += - '1/kpFnpIt+lP9qTJrNYoa0w6jhpdrBYBzG5IvzLCBj+zzpG0oilQ6SWs6ROeC5XZXtkQmHSUWzB'; - b += - 'LYfglhvMLWfHRcpM7DMmaeN/naNk9MOdMWKQqoYB3cEJxyBTnE/EOtBVY3TVGV11oKt+BnSddwZ'; - b += - '0nfe/L7rqQFfDriD1DpTVgbI6UFbnI9kgcNZgnA0yzgaBs8Ez4GzJGXC25H9fnA0CZ1a8Rh9lnA'; - b += - '0CZ4PA2SDLOunMUpxbbpB5W8gpaO7+eD1mfokCLCZl8SSmu7IyKx9LUraaNM62mvwgm7WcPfp5V'; - b += - '0ITOnlFm7bhGarlEmmKqplZTwd3P+W6dVY3YaYBtF7uOOla2gAiSsJCimFAeEW04r3tEqK+bm+o'; - b += - '9xMJ6Ng2lPiQ8taoTZ2uogzUl0uAWU35KfUSpIJGrwBEDi3hQ6hF5Eu0IxKb8woUpuT02XdnB+r'; - b += - '4DExPSTgUdQR7C5AMVfx0j4oRLJWoFwn1joTBImFwoTYI+J5wSLdxxqUev1qF9POKYe3SjxZR+l'; - b += - 'y1vdLpK1fwgUv1RTMG9xFP+eMt78z3EXIDsSK/gViZ30BcjBuIFcnFU8kK3D+sSFbuSVbg/sHeO'; - b += - 'HjJitdoGqqQ1LOsfwXL+ld0yvq9XNYfUnhJSczvpUdUp5jfy8T8R1Qh5l/xg4n5AVYu05emFpbp'; - b += - 'e9KBTKxvxfdcqiy+9wb1EdWsUMJhEZtIvWUZvgfe+7CXGD7Gm7S6gSX2FZ7uzIgrIbLUQdOxhrz'; - b += - 'EFiuZwxj3PKtlRnUIt3wW9ms716WKJGzzAkWr6AoA7affl3XVp2UktAk8Z11wWESjfUlIS9zeFh'; - b += - 'Hq/r9/xsy2LuZlDqSWmOk9yKR6ZCplaa6gKu/Cyuin07IkWu4rEsE+M3lKGuS6bE2v0TzE72wTN'; - b += - '1m5gQYbYfWwhwVtQ91OCWXlYHaEgsNKj88+4bR5uULleRmRmCvegBQkggvhrg7cEXoeAeBotQt5'; - b += - 'F9OKmX4eC8VAaaGoF9gMpQjTjAsUSL24QOrFyYrZ1kpB6MV07F1RRmaRaJOaFy+IRPS7hMaL81q'; - b += - 'oDkYho4AzZhMZUSFtfMS+0g7Rl90W9TFy+oCcPiABJ097WxQxq6ORkA/MPnDt/dm0po7LSLWXRV'; - b += - 'yii4WvlVn4aEEWPiIU1jpZ+EhY+IjY66iLhe8H+0Fky1j4eF0+4us9WHiZ7iUOPprPwUdyVFnHW'; - b += - 'wjfFUl9fR0cfB+2FVpPPQhAaSb34TSRVAijvtwSZZMeSyCQRKEYm+Yk5M48iX27EfsDzRDYtQsJ'; - b += - 'dklpkYIRI61J/EQSoQuR3ZOvJ6SEtBmHmVQjlHNzIxvrDcaDQ+spLogapXGO/ZgmFfFbIZ+3rQB'; - b += - '8RRITP8CdtyxXlMUaXD75luFZMdVagbHpA7H1pJ5FM/tkU8IFU2oLpCBIjflguXwCgYZN1HlBVM'; - b += - '0viJ5/d9cF0d59XRdE9+/ruiB6cF/XBdGj+8qbfD6my7uuXyQ0SqtNEgoL2BsjBLztSghGJ2MbV'; - b += - 'zwkC1JDpO48DBsZD+jzMRW9bGA8NYhmNACbNbv1yH6Fo57dubBvBYlrdyHaz2nVGU8MjYZ6XeVz'; - b += - '1UtP8C1l0rnpnNA2BbL6JXavwsSYdbtzE1yzrk2BrP68Um67s3XmpmmQ7dbN820zFHyZrYOCS4t'; - b += - 'l4oJ87bjQRkLCP8CrU3NRsYkOEsjNZfiddZsvt+vZRdTL5QV3QuRY3qx2cSyLRIhYBWKX0xdmHo'; - b += - '3mMC9CFFF2evGsauLyx8X0w5Ia0RJ0Ef7RlE5QlZskZ569dsqGQt5znrzUlSam7400MBICCaSnp'; - b += - 'mgJblLSImoqEUFJgiUXwpNFnOUCaulCmZw8XaSNxXxeyURMcvPfbvVjiNlVsI+h4OSaLK39WFop'; - b += - 'M9+BJ30bKLZGCyExBiBPmC25DSCRFu1srW2uyxgoILflt2Wbs4eGgcQvC7uIz7AtELLRgo8WBD7'; - b += - 'q8zzeu54QT0SHSDC1Hr7W0zlAJ1Vw+vQ1nh0FvCSh+ZKGhMOkuQhEezn+EdEaQrTGmYk26/5ARC'; - b += - 'tW3EXNRi3Ad0MklTWW/zRblnYNoV0DtEty2i39l6Zd0kW71hlpd965044FlbJoJU1scs0aRSwq1'; - b += - 's6kCFaJcir+Jp98aNmat7gudDHQSJbhXzYRnbNNRFp3fjiaNpqJ3A0kGU2TMk17z8eX/WvPxzPT'; - b += - 'dMlLoanOJhbRlM7NTeA1WZhONLwq+EcU4lVX2+X2XBidl0ahgkY02+WGYFFGo0UZjRbz6s80WpT'; - b += - 'Nu8Wc5fyeNOrvSaO+Eo0anTTq30C8XplGjYXn3WLQaPF8Gi3uQaMMMedMJw90WiR0om2uiTlmIH'; - b += - 'TBSklxcknANHFlU2QuH5ij2IInhDy6VWOeMGP6+ETFMrjaS2AIa0ltAYZwgZTaAim9GcLoB2LAc'; - b += - 'vZrEdgvv5gjBfu1COhblGNzecInClaf80Wy8+S+jDFcdIaJUFr4FnVwk41OaU0XryIXniWlLtOp'; - b += - '1BXmPLsvslHLs2M2RWUR6YpCOOkViOEDKOXMogs0s3h0gZTaAikWv93KKloUgApGuVNW2gVOUxU'; - b += - 'kzmWlKzp1qGQ69NajYmb2iD3M4ipH8fLDZ31VEnhCVJLVpOScGp77hQnEOmoC52CPpQbET9Tqhk'; - b += - 'X+1KjBSge5JsssJ+oGeSrzRHd2PCiIB/cV8rq6yOt0UqeRB7lEomXFxC65njuh+MyPDKGgKQKrS'; - b += - 'oFCdkpbKZ9vC7FpHeXH6eMGXPSIbBRyDuaYdJSuYvl6jQWnEKOmQ9RInZdLDlpxat0WieQIMgsO'; - b += - 'nk4fQXYOeQNBWAcKFPFbihtm0T9fiRS7OwUh0irF5ALKeklA6aVP+e2VTvSxZboxoyGUPKTGW7q'; - b += - '3UJK6E0y0zLq6TU0cUM7N5pDLc8jFHDKQCT0ImRANQTp/Oxh5hrpQTC1PRGY0tQIq62VTqx9Ty8'; - b += - '+mlocYogwtBKtxLzSd9E+1+jGWjZUvZNE8TWxKuGBKbYEUBJv9lCEGmB6mlmenlksjyWRTK5Cp1'; - b += - 'RscKmnrCTBmAp5a/Q8xwqgaPoEiYKeVsbrW7aYL4rjDcioOaXtxS5hVJcwi4zljMgYhOjAZ56CP'; - b += - 'zn76C1dMJ/FUK+5CZpbCuIm78NkrsbZwIoJE/G6sGsFqabYujOMegFJVtuISmuOXiuaY0GwIqR7'; - b += - 'NOwx6mnIsl2HEB8LqBMJThenzNJJTzbhPgvhG2Sfw1TKUiRpqunKErWITMSDCDC4/qhRAqsf9cd'; - b += - 'fXcaynbF52O2Jw/PUF/xF1jBe/fLoF6Azm6F1oyH+kFY/Ozu79vj/NqJGRJ9nWc7YpZMMQlHRC0'; - b += - 'zd+5mfVdIkahKW6TnXToAMCA37LtAjSi3kPYMSlppllpIgkQAMV+p/ZMNCsJAQxrTpI1+1uenbU'; - b += - 'mFFXMBhmwguHNWEiXliSCblSymhRKS8xhB/Qw8gmU0lfAD1cqc0QPViNxpFBbIQeRIgQAlFzHS/'; - b += - 'czYA+DHMvhkYhaGFyIsig8tCS14MA+jqCajAJxlvVpJpC0aJqlZTAE0+2USPxkCDP3V/57UfCaR'; - b += - 'Y25+Sppvp6Hkwa4jQtwg4CgQnlWUJ98V2/8/d6ulTGSBmTlwnnlfkflU7SekRat+mdibQrQNqQ5'; - b += - 'mzigbpe07N5Q0YMtmkhMjY4EDmyBHY7CWy6SFopSBrlJJ1zzkzToIOm995NNA3ORtOqpWn1R0ZT'; - b += - 'OgQwTUOmqZxzOulVAQmFzFXhtYXWv3f4u9E089A53cJuulV70O3Zv/irf/SnS2VcKePmZWrzyvz'; - b += - '3j37oT+vlMp6U8fIy8bwyz3/zxT9olMv4UsbPyyyZV+aeD/2lM39UBWceVQlGVTVdakdVmI+q6l'; - b += - 'lGVfADjKpZ1TWqos5R1SiNqig9jFHVKEZVZcFRVfmRjCr8b/7Immk3jFbCfnaS2wAlpeFVK4bXC'; - b += - '08/r+cNrzLZTW+yv/e3vn/RQlQ3van+vX98+rRTLhNImSAvs3RemY8e+/wHdblMKGXCvMyyeWW+'; - b += - '/vef+lDHKK5ImUpeJplXZv/RDxyqlctUpUw1L7NyXpm/+MvHvhaVy0RSJsrLDM4r80vf/8zHquU'; - b += - 'yNSlTy8tcNn+2HH/hWMcMq0uZel5maF6Zz7rd84vGbBPHHFxxp7dgntCA2zhAMFItauFpd4FMu6'; - b += - 'vttOtbcNrlO7addo0zT7uo1/48qzHtwIWWpl49H/928g2UJl89PYnJN1BMvkbONgV28mGLbtBcc'; - b += - '0VXpS5sGysbuZBNwYCSJlyQhOvZspLPr55kZl0+NwnEaA/zqVWlOQpdUAgQfJ6G0Ti1FWAaNvtY'; - b += - 'mYT+bRjAKbWWVB5pxjhfpCenm4ERTeigzZwULQN88CR2yvJSQTp7zxO4uhTGv+PcoOWqOT3+ric'; - b += - 'c8AV0+NuZ9GUQt3Bbqmwle++RM1F3FcxlM5OshT3ENMK1JfUUVLNoxmmCqDDAjBf1ZYBQKWf2uj'; - b += - 'CiwrUtA9dmcMlqkgb9D8RvJFUeTt3jqER9ryOByVYvxkKDOWdNEXRgTJzocKLjGYUjYzzeUivzM'; - b += - '2H6LUWjID7sNTVWUjpo6zSM3+emS/iHTrPyO56efvGd7fTOiXRPu4UxJfHUi/GWm9Aw20hDB2dp'; - b += - 'AMJJqHBQH38sXcfX4x61pmlgUmvpcmbkcdThs33qo9Hdb2k547tTNUFVqMnx9DWEWswyPd40Flr'; - b += - 'w5+mJo1Z5weGdJfHi580kBhDvBS4PDSf+DS/+a5cWdT4a0A8WeFZ4CqmTmBchzw8Oy0Bf0hYBBw'; - b += - '3fBKPi5btTd4L6L21dP4CEASazwh2ZU8/PP0nQdFhHrK4xlml6JN5k/CHX9n8CkFJD8TH3rd0dM'; - b += - 'GCPoA2dQRwk+kZqSWMmmA0TLX8AswbXlwMANv7vpoWWExfiZ+xeg/rEJ9KWIx01kBSM38iK61Qh'; - b += - 'ouP3eQS0G+9mDBpLtw2sA6XjP+TK428ZTpuVgxRFTKI/JjW76VhrJtOnHiOQhQxo8dhjKS7IE3e'; - b += - 'y5fL+bnAd6cKuBBJYd+cwsiSmyZMygKzQxU8NdcuPizt3hTMejbl2/EWQIL7Xw7lQQf4iUohslL'; - b += - '2znTi0xsqw6hRzZPAQzgAu/Z/OQRPCczBubqgTn4ohyMQA0oMetHAF/3a0Eb6AaDnbOnkSaIIub'; - b += - 'GgFTA30CvTJydID7SWU00pBqRTdgfmMhC4kCS76EBYo95F68hNp0836SetpEk62IHjQEMaFzZBv'; - b += - 'YXgyz+zC/DGYoYZok554LBtqtETxog/VSkS23PU8XlyQwwVVQiFfkE4n+s4JpiDIg5qIPEwdWsg'; - b += - 'CbiqFmG75RMtgmIOGkxPAKO0p1Gwwv1nqq202WM/K/0HHKKDlRHpHbZty28CSILOF5dlMMhF4uG'; - b += - 'Zo08JfEtr80kjN0KbLQ4QODYk/2fKLIetLn+k8lQ9ZFmRrDFkfPzVaYYz8+KxywEIJqhqoGgYEG'; - b += - 'WZ8pHlJaGvymyG0UNFDqt+i2Zef0NYUZDUZrqnnfKiraL5sL+s85b2xzsh7RhYBiFNUeoyQQFg7'; - b += - 'TCNxnEaFLORdCzrUCmZnXQrGX9WiXGR4oTa1SpShD3ySAc6zQcytQWGG4WYgsM4jhlFBrRZjpRJ'; - b += - 'Z4mH02j7m+MOgI0LmVJYihDMFwngyJJ6jfPTttvx2i5p4DuUR/3XMF1k3Nw4M47PAy7OfSMH7nP'; - b += - 'rEE05TRFNO/Ec02jXYnhDTFDIt5Nz7yVSWZsqyoY6xTVn/xsXSGD/nJsy9O7bK+FFDi7W0zuUSL'; - b += - 'obW6RPrMw4n0miuOwE+C0cSVTQNIWVHI+tZG4XbKFVgMjYtcVldlXqAEI5DtibsNNj3KYVmnBC3'; - b += - 'VRlPb203GS8yfEKOT8Jxwh/L2Sz1cVkIjFdpbFZAIbAArUhW2Jqtrlm32XF/i/6ixj6psW+8FWN'; - b += - 'a9g0D8hTqZ36bmJdaUm+3k7g9jus4GpS4AiQGa1i7aKCW1bskq9c2ECMf1ZfEVEc9qY2321SE0D'; - b += - '07O6uG9SyhGID+IUVdqk8Rqvr5sI6v059IRwhP1aSffjAFh/ULDBFNtuez2XWKA9Vh5AZhUhedx'; - b += - 'tB4yIOA3TR536MtZyN21xBUAyPgjltsYoS+z4ufMLzOykaJuEkMWYd3nmL5cTo2JiyWky3Dqw6o'; - b += - 'x+xgyu3ZtcIBB+jIWpEvyU5pZQ6Y7g5vHSwi5ZpoPWkz8KCLTHMwC/jy5YurS5xxsJYyETGdZe+'; - b += - 'hBY5HBa1v7XEslHYUJuCK7QKAMHr5uFv3ZIthHsX234l3y+WyQ+cuUR3MFvxwPbNdvN75vN51Lf'; - b += - 'MBoSxf6WnvbjchBw54KNY8u8w+m813DCTNS8AzvHI4MqS457wppczO0DrFOdJs1rayzYPrAjZtw'; - b += - 'c5Vh5duwzOZecEScm1FGRB+O/5LGMCXtgG7DFr4Tgh8WNkscAYmC9Q5GTs6Hzs6nixl4R1Mn2EI'; - b += - '6cmWLoaQzoaQzoeQzoeQ7hpCvJvZpsChpi8uH9b7P5mecbIwHITNxxA+weFnHyviT3D4JIe/Xsp'; - b += - 'zksPPcfj5Up7nOHyKwy+U8pzi8GkO7/14kec0x89+HOF7P17kmeXwfo6//+NFnv0cPsDhB0p5Dp'; - b += - 'TiD3L4IIcfLIUPcfgQhx8uhQ9z+DCHHy2Fj3D4CIcfL4WPcvgoh58shec4PMfh46XwMQ4f4/DTp'; - b += - 'fBTHH6Kw89w+ASHny3Fn+DwSQ5/vZTnJIef4/DzpTzPCW45/EIpzynBLYf3Hi3ynBbcHmX8Hy3y'; - b += - 'zHJ4P8fff7TIs5/DBzj8QCnPAQ4f5PCDpTwHOXyIww+X8hzi8GEOP1rKc5jDRzj8eCnPEQ4f5fC'; - b += - 'TpTxHOTzH4eOlPHMcPsbhp0t5jpXinzqaYrNyZQ3NNtdmmG1WXrEbyqpLK2yrinXGyXZDrB4Q6C'; - b += - 'Qh7YbVdrYwYfkudsPuBvysARxADXZDMKFQYp23G2L3NyW+7wYs2T/EEsiXbJAUmOjwMh3J5fJTZ'; - b += - 'rzlr8QOgW3D41NPyIsZn3r4jmmg+zwmx0z0fYC2xKaImO7WN7IW6ZxpJyEriqjddJJ55qNzTvz/'; - b += - '4v79OJ1ZrGyIzjRPGkjFBvUcrDno95hp1mxptO6lX88Kcl5t87o2b53yrmknFZY2tRpt8WWi4t9'; - b += - 'TshcdNKKxdC0NYRtcA0bmgCEuJCQWpkIsSCOG0sUB044/BgCH6AQKq4D0BTR9j0GhIfy5Gn8OwA'; - b += - 'ES/R40xBW9E0rRkt2k0xPpvUfyEoP4cxm1IrkcgQWt4BQSf0RLZVIVZM28T5QAYR38IgvXkmSgP'; - b += - 'VA0lODPynlZgUF0j2qOfxzqEIQ1AHCIXXswvqw+16WE2BFzyNhChA8GJSsElBxZoNARw0zGJzW0'; - b += - 'QhpGu0aLjkGTr3DBkuMMDn0nC/jxAqesYMKbFiucxO+gklMia+NrTdE9rolt3XOODCfaN3eAyB4'; - b += - 'z5d7GAdoxjwMZXwScpygXVfpW/LktPoSokxQV0P94CI+3IHKlUm0KUHXpMyj6KeSbVVz0zfizTY'; - b += - 'qesG1W0q8j27uYfpLtFvz5T5LtKScbqy/kgBySbDfhz82S7ZiDZQL/o6x8CSGA8DRL7/1YBsgRK'; - b += - 'fp6/HmDFJ2zLYTpAx/LAJmTbNfhz+ssIGx2xTgAnPEnMQ9PciTDgzISeYo/JT91PP5lRM5CS9Tm'; - b += - 'P5JFHtBFnVRJ/E3unW5nqOA6v1mMEdyHo2IKXmqcESODxTyleLDwCEOuUBruyjVLuebsLJEapUT'; - b += - '8f+HUBdC6CpyUakOBuCvxSFbboXm10Zd0geMoPf4zxrN0VtCiuV9GIrqqPlW0e2Be4oEztpu3+L'; - b += - 'Ti8oTarvJ3LICEjQzMrJ6HNZ0DMzcPmLmXBMyheeUPLVR+I+g8H4mhRHeTX9ta8vJCgvhWkFXbm'; - b += - 'lMTf0XgODKvhiO9apizNZzKa9BZDXPzapjLapgt1XCAawgFiu7BxQXECcflznGDjeV6vkUQGKie'; - b += - '+G63VjIlo2z3mpahhdBRrC0FkPpsaxS43HGgF0a1X+F8xrza+a+mWFszCEpLLENwhM1Z4r0elth'; - b += - 'rnMdZcBLWFdQww7qXXUCUuhW/y+XlWGu+RqCirC1Xmp8yCcstzRk7P4uuPVfaLUw575Fst0DeEE'; - b += - '1Z8u/TOL2WenSGdg5l7Uj+eMzWZ4q6fFtX/PusL4WefYk1CqEDa7eTx4t9MMafJfhziL8P898j/'; - b += - 'Peoia2V51n24QVLlxmEpVnrDxetL8WfZR278E9k8H8p69SXbMvoh47OjfYdEw90OaTmoSoqZ5M5'; - b += - 'kA1wWqppkHbM3KdVPunyQrwczGXQzNpFumOVMeXZ8IImjq+YDSg2L/cRU+sUaGbTqGGUcYgaps4'; - b += - 'O5ky9Exez80bNrOmBC5r0BS7CYtiYqCNLaYbmSEF8NkmUdl7amM0Xm15j1hRjVsbbS5l1AOscZ1'; - b += - '3RoirmRlQsrTntby3IWd5+OxZGqnlW9o9TPAxbumOv67XynuSqi20fxvD9xWJtWotGqGDRFV5pu'; - b += - '/dJzT0KE1tw0bx2vNSbjD+myntMPlyJMZs/PLtK+7a0lDvQUXrhFb+rkpPObQvDwEju3jJ71RJY'; - b += - 'UOa6QemcHA2aGDIgceAtVon4N4rxZOn96yaSJUqs9nJEH8mGmRjyZgTpZ2Rj3ep/iNa9d5aXpGL'; - b += - '4PGXYK0J6/CNzTvqq9GGwm9Djv69fhzPn46Q41OWqWRwh1G5iFS12hVDPw3GrIeFa0phqNZLazf'; - b += - 'arvgdeZN/IX+yWuVxhY/RF+9/yN4rj4SvU0paCjrSb9AHNUAV/cxsG25nTBA9mxndQ9ykq2UcnG'; - b += - 'IqQRDgKt+l3SXrclU4HbZthSjKE8zJkLUxLBndeBmmDkrRNikdf+56H2GDFy5we+/Cw4Cbu6AxU'; - b += - 'Rvv3E0L67hkxkIc33liH9Nb2sYY+upCwc3INyTo9NJNkVdGR47b0yENeO/1s/LaWSj/niI6/O0k'; - b += - 'fz+17wuH5KHjsu6dVpyr6R197T6t/X6s2muxvLZpuLcbvEmBrf+u8ZNH0VHJeUssK1KZbnHD+VP'; - b += - 'NlyWIbC1n9NHSIk6ziKe5+CK8SzaWjiu/EVHoK7V+hnPZ4+tqJR1qNfa0LRmemmoupfF+SQdA33'; - b += - 'eov1Vs0zA0QKNOtWo9WLqSkvukmjR18DWQ6Gir9hm0Uqvx2GJ2XxEk8OvPu0dfut40um269nFqj'; - b += - 'H2j4tC7q7vNyxCbQBeru8fL5sLSaU6NqqrU8abBLjQOfdTbwbji3999u4AkJBekNRLcwreALThw'; - b += - '20BhpBpwiETRSWIOP96ZnUUNKB1wcdwOb91mHwlm2VKVVSqxuoE/6rWxkfcHUTfF16Gd8W4ZgwZ'; - b += - 'eUUlHqpziCzz7yVddmIBj5k3NEycuSpSD08mTxPU1c1bKxRBNGP0SwqWRgKrlwqjWwB93tR54+G'; - b += - 'GewIp63o1kpSYJY+Rb2H60qHZqH2q0I7G4/ZaRD923jLf+RhIYDYXWqFb+xHqOp62ngK/F0YyBF'; - b += - '2TjQ9EcV+0qo46qoidIKV3rxaHW6WefqiWpVGiBAPStyoRVrHNKPFHioXkwkvUUcQ8y0xTKFovf'; - b += - 'QYL/gTazRtDx52R4a50l9qrkUN1F7WosTKtFPg+KCm9m2lg5DM+1mhetMLiCo9zQpLVm8p0moor'; - b += - 'qai0ZZS4qXtAumqGOLb4ZRFS12VHtt6k1sh+fXFkNVFbpLAul5WAz7MzAWv6m+mJq/YE+TYCD0I'; - b += - '6HuUBmxsrr3A7n5PX09kH+pwn7E9tyjccFOVqo7aHSIttWp9z/hpBekJ96fWfsffD97fz72/sLa'; - b += - '/3NOevi+QkGc9p2luDyExMElVjc+fYb49MkX59jhwGyXe+n97+/yL3D6vi4PBM/d1+Wj4MR93W6'; - b += - 'u8wjr5+DofQXU0DSz7jtY16c/iUFAj0dY402ED9C31UeDllaNPlqBWhck8S00MwnbN9eVbElxsm'; - b += - 'QqOX+Kxj9RZVGybA+tgxftSZI9SXMPrVgXJbQaNKeSl081+0YdmicYujQKlo7qZAAOBvGxiAdAH'; - b += - 'aYQPHKcZGnSNwXKYgBwkWZM44B53Sq7XpZ5AQhgpUm5YbuPcYcCMaJjgIlFk/aGPbTe0TLzpjp0'; - b += - 'xBCAeRLXyixBPhDsNLwQ3XTEIw7qonlyITpM8XuozQv3vKkujiRH9c2cpX90auoWvm8GkR0xZuE'; - b += - 'QX5D5Jaskhxn9VyvWgao161mbS5M62mSbwjqmQi1ZijYpHm0uLdpcMp3U38i54tFbpqnr5ZaLEK'; - b += - 'tHqF4tYywOwTLqoZquzqjpzMuxGL16UDCUCD6eUBRUxfhKUrFTxSr9ihqiYgFlJH4l2J98FQZ+r'; - b += - 'hhNmaTCVmV0SGhVWGePvloR++JMIlqQUF485HN1hI4qEFaDuSqME5PquIDDNokEz95ftbMsZU1E'; - b += - 'NiZMvPWtygArTVK9A0mNvSDigp0ahepWBnZYAjvoAjs8O9gby2AHnWCHnWCH44yyM4MdnA3spNr'; - b += - '0xUk/LjbCja1ogNZHV1zr4LaEvq2pXiS+nvws1TDYST3+tivjyU3q4y3a7OA60kywhyg2s7L2VH'; - b += - '1Q5YG0wE2nJpq1LMZcN4pt2LRXOc4+DuoiqPIgfpO+vfQfFbMGszVY7NRoFfYj4D+0eK+IbiNhv'; - b += - 'wLnPdCWddkOLBuDiT9OZcH0VZgesFHclbhtyHurNu88ClWZQlUZWFUotTN1KrbRkCjEKq/QIKYC'; - b += - '3rjAwxax1OX7M/LgBiF9sJtYkHeH61tVEKsCvQgmVgV6DxHbYHf1Lyj3r3Gu/QvO3r+NZ+hfgP4'; - b += - '1BNzgR9w/mG2LZo3L486DCvc4WxaEmUdWDJnCKysNsZp1oNU9yDidBlnlRzDIKhhkFXFmyNqHpY'; - b += - 'ycS8lQnOGhCH1DGeXQMcg9H+ZB/shcSeSxfMe/RpbSIayt1ziNhLqDA4aTXtvmxZZCV7ezVbbWT'; - b += - 'u/WtMzKgovIPtRYgUJszTrXWgBU2dmsd0ZeX2aIunVC9QxU7bphUdLgtW02/esAYtAaoTvpynYS'; - b += - 'SijJU5flYC9ts/0Ja/RC4wchYlDq+YbRN0LcwuORqszQyfWkGm+Z4uiaaKhXuYXRLLTRWMOQrUh'; - b += - 'osD1Dp99Uxb9r+LUF2k40sWDyZs2vgzc7RkGJgOFJfL+SL5agSHIh7zEQVxxTI+awYixDuPO0ir'; - b += - '/sWkTbbA6yHVYENkjt0LGfc+P47/GWiJazGDfKXZjpTnlWXpALcNH4CV0qSOCtwQEaWt0JO9RLT'; - b += - '+KsP8teM/23tIL417iLTht3wPwxqG9qaeSn0Ou5COFqID2Vl4MOEm5PDa6lNA4RlJ/vYlnN8s2C'; - b += - 'hKERcwuU29t01HE4EeS8QxIHR8xbmZ/SfJl8rMDmCacbm7eMEEIlE+SyJj3IuXNc5ig/iFyPMrH'; - b += - 'WcH2sAqnzPGtG8IiTwYg8jBVMEyPT4iXDpEcVMCaEjV9kVHKkgKXKTa0ZMUdVPiwoD83CP88A/I'; - b += - 'BmuICiQX0UPqPo93HFBhLLJ2C0ZNhoka9bp8RgVYlvxeUTbFmnoTRche6RK75NaT3bneCCH0qxU'; - b += - '9CqcpNokvhMzEDN9Gqz+ToOHk0oi07zMYuocyP37bQj3UiLPrx1xNxFKUnbDpB09reIuk9ryY2y'; - b += - 'CXySIrASZg3x+3Ux6KNO1N/Fg708TUKZI/sle7VE4G6S7VdCTzsEuUz8D7D+opYPETON34MKSm5'; - b += - 'YBRhYLz0gwPJWxTmW4s+y+JgSrwWsB40VgocTFTiEAn/KuIrxZwn+UNtVzOd3su1HVveRIivTsM'; - b += - 'YvYv0EJ8vwe47RyWXzvuynvrxVugJRG5FBtO0xrGhCRvNzH4avkmyIlROPKjve9+f4lKH1X3RSj'; - b += - 'P5Wx5A8qIo5IqiEgFn1miIYNVH6OJa8Rnocc/pjhn240vr7FGZwZVgfxy9eLFF2gAsAn2B9NGku'; - b += - 'W8MIWkKRIwg8WO4ML9bdHQTygCCB8UvsqeAk7Fmij1ZUMGOdHLxY2ciuHb3dhSqKtXBidbnMctC'; - b += - 'qVouJN0XSBDDpJRvFT0vdZT3IVpAOQijg8WQSlwtTyO7ix81KzTATATtoeN/i04nLJrTE7AhX1m'; - b += - 'maE9rNSafsOGIjNGM0ayTzW23SWSMRcR4hOsvs5lUiPIlYmkf4ErEsjwgkIskjQolYmUdUJGIwj'; - b += - '6hKxGV5RCQRQ3lETSKuziPqErEmj2hIxLV5RJ9EzDl5TCwxTxYx/RJzrIhZJDHHi5jFEvNUEbNE'; - b += - 'Yp4uYs6TmBNFzPkS80wR8zKJOVnELJWYZ4uYCyTmuSLmQon5ehEzIDGniphlEvN8EfNyiTldxFw'; - b += - 'kMS8UMcslBsoONiaRmL1FTFNi9hcxLYm5t4hZITEHipiVEnN/EXOxxBwsYl4hMQ8UMZdIzKEiZh'; - b += - 'CnwsFu27PiK33sN1keUzj1YW11TbOEZyVtXz7PPuHj+iJ7/razDpy3qLlZzw/MXsHf9nhL7WYrI'; - b += - 'M5+iThr7uEfIhSv3AsCKNwc2I1AjiWAqWmZG4c9zxq2ZZxuy5yH8jc8NDIrA15P7d4puGD9o0CA'; - b += - '53Os2MUISC1mgujgMSmsWmj7m86UofnbivLAbp5y+KZE9Loz3dwenlvuZju5Wc1mc85lzqxOPwX'; - b += - 'vyrRl0WpEES8qG/F9G/H9LOJ7qskOr9QGdgwBYSpOB8THLBGVYDzU4rGQTg4vLrSA8zSP0v6YDl'; - b += - 'RN36YsE7uVpZB9bmx5dRYybqwLT2SsHTUYEYdjYE6IzWQ923EBUe3L6OB33evxDpFp8pMq1OkEp'; - b += - 'qJS4EbrnZzpr2FfyApkWCU3wCEXVLrW8zDwcMeOVXpc8AK+J0Ttn5p5Q2YJyl0yaF+MfIlmupxl'; - b += - '2mYJiizTXVn2zM+ypyvLVEcWinhnGwhjS16W3IvfHaBK7PLgq4jV+ClHVhGbGlGCW2xbbLtF6S0'; - b += - 'lzrT15Y5KXzvRtMMXVymbxOkTjVNnp3AO2HuIlRkm7gsSRRaYUTKV1VR2J1vxqPSOGwWHaW1yJ+'; - b += - 'uP57kMclHCIjgwOuVM7CTub3b2SWe9PK+ibcXQXVd8GyHhGGGaNQjPuhsGmjyWaFwPCqfVHtaXs'; - b += - 'VwOW5gnExdr6XccCT9bCmMXoFzftZ9Y3l+Q8Kg3oq+mqKO/BtXcIQo9Sb9vYIEzlRpmvg6y52H9'; - b += - 'Vg7FbZwqEBqk0C0cWkmhmziUUOj1AtVJqjH+J83Cwx6wfKcEy5M2LH1xBTBXAHvy0FkBe3MOmIB'; - b += - 'Ty8EJC3CePZSBA2Lj2syNfxncFrMmiTfAiLUgmAVBteFRI9Cd/tWzQndLDt1NOdosTAdymAzDA1'; - b += - 'FCeuAXn8A18POH8pVfLh4svB8O6WRt7RENrbMTdCSiVY8XDWZrmF1LDC2E4iiG5XeeGIGz1y3m2'; - b += - '4x1kcRrBHv5Y6kLuwBzZPwaSF3CLIadqNlJ+mNtXlFKH7r8YfIPHskujknFAxaZT6NSbdbhF2Ur'; - b += - 'eTHCZOW55a2zm9TURL5M/Bg7UePDhY96lNSDSJ1HahuJEah3QxOXfa7BQAlnwXW8K80p/rNhoCW'; - b += - 'I4h1Mbtgo+IKaaMEjBUzCUosXn/Y3FtfSsZFN4DL7HAUD0YDOh6m/e2d697v2hhO5xU7vNHfhtI'; - b += - 'USdJv+awor26KzqvDKflKBYZqBRZVhc+/0xbtfCCZgB47fdnr3rHtbGu9O2DGkJ37lxNlGE6sWu'; - b += - '8+i/Tfzo8U7hgJGjN3q7fBgFKjMkxYsGnUJBYGFOOiBgt5p7sJpCyWUUdDM3M5buaN1fIXHGabE'; - b += - 'd8IZqmmKPT3XMWPrOAvy+qLMh38f0ED40ZanmMlnUCgomhL0YLyFYCHs/HDKM8cpzxynPHPCArS'; - b += - 'pHDSZOaXaOJtCNhY5aM4WRocqKgI/dECxNwKqg87TTvxBbGVQnaYD6xr8uTb9xjN0+KzEFxfyOH'; - b += - '5eA/w+RCeQYHzJgTS5iTtj4p8R6yLfrOL98stOJnm2R71eBgt6XcbHJK41z8KGXQUjpfMNuyKfI'; - b += - 'BbLr8N06WS69O2tCjZrw45lpjsSquB7iCfE3i1m2pRlT0eWKMvSNyE8bUDoBMDBBLbniHdwIRik'; - b += - 'Ubuucf5v+n2RHSl6cDVFmaqSyX5Vsi/OBkWgvCSoztI78eZPP6/DtSntBuBNQt71rxenijY3/f5'; - b += - 'neDuZYW4ttBzAdBOCKeEA9qRTXBIcADuywLAlfkG8jXn8xrdOT5+Yc2Q7Y9Ix3e4VYoUF3Qzoth'; - b += - '+XUUI/OUs874ij1/VM+DmWPrpsiU+Lf/zvgLTuaEXRPMZp07sukisMGT3X8UMQg/p1tJRUiNWUj'; - b += - 'UPsO3T69S8TmJ9TWearbeYhEOSmNguMqhvqXPOglHhBSiDXIP5cln4XIzaM/5zXb80upXCrwM2w'; - b += - 'rUaY3vuVjmZW2maSec2EbO5HxxOhtcpsH5Tom2IlfQB1/ZYqJs5S/FkWv4ufCcK7M/R5M88O1pC'; - b += - 'FDcXD3WVi/FnSXSbg1jEjDPtA5Rma36wK7DXa3l1x0elanl9xoRLbn9XiWgtFDKijNCDSofS5E1'; - b += - 'aZzG6wNfH1zgZJT4nszClEQrTRX6qdEXNTYmGPv8FDxm0y/vj2Jl2SuvFDrnUMABv7uLDhDyGps'; - b += - 'bJNjQMPBt8B9pGi+6L4Dz0u/XVic56oKH+GOvwzXpPNbWH4qmCeqjNePf6aK+aYjt2CnPgPXGH2'; - b += - 'wTDAhOunYSEmprSYVpogpRUZbsd0ynceYjQPUf0Ths6MbLhPBce5Et5A44dpL9SFObwzznbwfVH'; - b += - 'JY8c8Q1w339P45ORlBqFeD38LJUNcWQHjT7rC0AhYZV12bY3K1mf+NaRjMD3rsobF5px3L/4WOs'; - b += - 'eZOkx6JZPYxanMLM1Wa8eSBt4Fo9aBiXRZZ13WeZe17bIWhSO3OGCfocsWvKQgU0GZmhj8W78F1'; - b += - 'usBG+vDHp3OrQp+c3h0nN1njtPpMweLsrNxYJ04JmGfBYodNogFoMpsAjPHC+z5zBppw+bP46VO'; - b += - 'wbab6r6BiSxcMvEVE2IbCJcCqodLAZW7FFA9XAow3yguCux4FAynanf8iGctkKnxDZmTBeZhCIu'; - b += - 'P4kpMsadh1CVl0R7yywXBePwRrsFKZqWicbFttOPbjFs/D9zPZoaeptg3slMD8VAEW0fdYXTJV0'; - b += - 'rt8XljCnjVGRaXZDacFq8+w/4+D4prGC49PA+w1AL3UnvGrxd6PSMAUuINiEhnOCMzXBieiuucl'; - b += - 'E7B0HqGbcMpBLdB8Z4L+yJhzjpMvlXZ5NuUTb5VyeTb5CbfCmApWcS02HrzyK2JekwY3V3R4Yya'; - b += - 'WgFBbMctZ36zyTedib41FVfK8c+Zo010tYprzeh1Ex9+R+XGD1Sv+/AHW9HrHP7vVLo1ycKOs50'; - b += - 'BNEn0EfGJRgiPv61xeQRdJsc+QZYr7PDlZKLfQhmWs2QlTdLloKN3h11wvHifyi41fw6eR9KL2o'; - b += - 'm3Iz6NnXRmF5+fiJciBizxJhERiuuSivVFhhsyLZqI8BOewP2cZe+4zr/SkXUJQqymwbjUsEU01'; - b += - 'kdgADO8tnB3ddn9WrYs2FcsJXKY0ePEY1ZY4jmZqJ18PkzamKC4lEs8OwaScIKatEtnIgffYHdT'; - b += - 'gTfh0u5ukZp4uF2ACaDsgMTDEWtd4c3w0Adoo1ybPv7Lc8VzDwkR6Wj8gHcGwnjyuupHrFsm9qd'; - b += - 'LWAM35g1wzpN0QvqHdNsAkMsXYPYGG7el8SEWa9bE620oz8YwTnGBltqjfMzvzQGww+wbF6pTHm'; - b += - '4kNTu8ErvGHTT19W3jhAcasR73DhfCYvDHdVCoUr57ikfMUHbfSHxZFReEIUd03X4lnJF4LsJ/g'; - b += - 'NZxGBdXr+VsQyMmrumoNA6wte3AliFwiQu5xGXCFCi/N0N5FvFwFsFwi8EOhKmCWhZfngG154BA'; - b += - 'LVe67BUH03BHy0urFkY7MjLcuTnuwoVxJwrFwJ97Zvx5aQWN2zv2ML/+KuNPCAqgVAYUJkUzp2u'; - b += - 'OFgSIH1/pRH8U0hIUTPd6JhEWAUm9rNavsC8Y6LSLcr+o89dL6vwK6vyISvYldWjU1zvV+fEAHK'; - b += - 'fHXemZOj/OqpwhnJcha2FaMrjzMlh1/jrU+W1Stzp/Lx18neng5+rofknQP18xvw++6TMV9TqUy'; - b += - 'mPoxSf7RS+/AWeEUE3OFflFL38qyXXnqYYFdfKnWvX0ui6V/JZipfx4/0OtINNZDzKd9aBDZz0o'; - b += - '6ayHvXXWg5LOepDprIc9dNYDq7MeQGc9zHTWg1xnPeypsx4UOuthl876qErifXh7BifVxB8ve+S'; - b += - 'v5C+D+W9g/cFF0P7tv6eJd18hUGpWoVlWPBdWgV4bnguDBhM/nw4+J4B2uy9iexiQ+1BhbwaigO'; - b += - '7bl0RqSIUpN6uolzWx/UwT2y9rYj94fyFJxXqBBcwlAldnobpMQ3lR/GN9UbdGvMcOcEG55mJRj'; - b += - 'meN48X7bxK3VaKl5QmkddGTb4giPHebQe5LYlaXB9hZCxDYCSQJa9vhCZ2kDhAyneunPpApYZ+k'; - b += - 'ULoy3Xt/b9Xx9GGkN9P783RsMI/en1+Nl1oJuKuNqY4+46L+ySz7L1WUmhFrI33mh1hLa41DW3l'; - b += - 'jkaO0cT0/CCvVqFZv9MX9/KIuJaprHGKfcP/Numd6VI/oZRRx9K/nWLtd05zG9RgWO8jIB8VFZh'; - b += - 'vHSuz6S9vxP6qmww/u8qmLrb56VvlAXuXnzqnK+KVU+SfnVGVfVuWrjLO2d5WzeZWfP6cqG1KlK'; - b += - 'ztLzypPPptV+fQ5VVnPquTDfmeVSqo8nld5/rnUWIukEquG8fWvovRgUd3jtrpymegsZQ73KFM9'; - b += - 'S5n7e5SpnKXMbI8y4VnKPPdX88sEZylzokcZ/yxljvco452lzFyPMu5Zyjzco4w5G657lNFnKfP'; - b += - 'CV+eXYdGrHeCZXCU+bZossxoS97qPBywtGtRx5qy2UESiU1amZYanYiP5ZY0rcJ2Z51mfvS8GxE'; - b += - 'yxGNgZFDBYv4fSiRnvDx12FpZlg6S9xZfjcsQwl7Fcma+ojcgKlTgxf7Po9ulS1B0SZSQqMXJZD'; - b += - 'PmxkTtn3BMjLLfDbNJf3BDb+2EjXp5DXISb8cS6Qc5fKgr54h7NATIjV9omfbM4BbqDXfMW7Yal'; - b += - 'dsOsXdOz3dx4O8jvM/DBTnDFjXEzlLt5JSw6sSI4KiZBSSoZMhYNX+InZqCpZWsdkAeDrWyvBw3'; - b += - '6okwk0vTs0S62Sg/xpRksurho0aWbzPIlTCIycuhpTvDdJ8fw9YnJr1xM+TLGlC9jTOdljPV2zy'; - b += - '+2+eVrzFJtnE2xNkt+jcmWF+ENFm8UHG8FGYcKkcvlTsK+8c36AeqH9WLBRiKBgB+kandTnO4j5'; - b += - 'EdZGxZpIkVmbR9Cp0iirCLdOj4lh3AhFPf7DvNEqg/WB8ZeRqy352iNPEC+uCiVB/MSfr7BT/wN'; - b += - 'fUWjndVxQ5JhQWKa6FSg+mbENbZZCfMgN9MFX0oHsBZRaJlMUaq4FVDV9rJIFUR2IKKsJPI6Ab9'; - b += - 'lYn2AVq3dQBVTQMvkrIrfd3aQJG9BVa2eB7FlkG/08VjZtJFfV6ap0dhJzFsV87eK3A2+9MnUOx'; - b += - 'qcmedzg7JDvQOZTVdmmU99JS2Pej6Lq/wcDrizOq4S422F/SZLVBuu0oq9M7Ci6+VOrc0io4gfH'; - b += - 'uSrr1BuBEJReAlF4YUlOWE259zsIW4WYHC+KOFXwxiBUX7P5oLxQ0FUP84eoZj03DLhiEUScQaf'; - b += - '2+q3F1cY7rrZRwTU6TOZKUdfw3Vd5bAxCfDdlxoWETXS7znNXPeKsvmBa6iXAZ1DKBHlsdYaCn8'; - b += - 'LJDWsbJNq+v6uNR6DPmc8QBFoPolTPQn/5enQThrsMaa6g+QYvaFRKUOStrqoB5gZqJ4yjncmUB'; - b += - 'lQz6VZGJSAcbsANaVOaBHp9nfBPJR+gS0kGeo+vJ5HxzG5fe8Je93UxDIIqtT1XBVII5yrAtXtR'; - b += - 'SD2WSIodoYoqY0n1Ta/uli5nr17oBbxug4RGYRZfDWI4VNezzvHkinGEsaIzseIKo8RqAq0GF52'; - b += - 'Pi5O7dy+rCllm/qbUHszPlwXnApFI0/9V6tToRK1mXvGw7KSCSiCe1rVTBQQ7qV4tW/0+5JER+7'; - b += - 'K6NV0jnqxDw7bW3QQvYdOjEa2B3jLJqy7lMcWP/2iQ8f2m1rBQFIvxf3EAKOQYqs3DeAVEhd+H5'; - b += - 'iSnvh8+MydoE7toVTtanp05msQhFkFSULN7kvy7/AnWuFAMxol1gZmOo2sWPpHd6bH76QofloUs'; - b += - 'sfw1eo5eBhojJiT9EuskDmB72jEPIVf7xrn78LM/z7MJ1l1MLCqFnav++bPPyEJ1E3nJ+EnvzL6'; - b += - '2v0PidSaE5+nP1kiRlGXW2tWzaPVFp7e6NjNdis0yo3oZ5lhfRCWft/+eXY8iaB+tToQygXPk9a'; - b += - '//FzICkwHwP8fg3GkhxWoKP1PL7U0TavJFBemIjrwUuf1A3Tip8CnvudsZAsgyg6f6vw3hk2Auz'; - b += - 's9D/4GcY1HswHXTbOzesNAy4svp2SuyTIO7qA+ELI6yFxnLcQ4xQnrZiIl5egDYUl8R4Beag6EI'; - b += - '2YuZGbl36hjIZ61egPXhvyD3J9B9I69AHN5N/4PvfpMyym6jIDYFWL0Z0jCIitmtFC8tZj8Vo7J'; - b += - 'hTEIpt5ND4W51q7zavUA495WcupcKjEdwCTMM/zwtdKa+AIG5cXpg7+QyTJeeg/Rv+OhvOiSWDL'; - b += - 'G13E1p0IsPF70dJBbKsAY+VWyVVjlKcXvO7AUybLhnjhZ4EtllV7eFHf7kCBO5MpN2UMOfA2aGO'; - b += - 'I5fZmHhrOIAix4zorNWfCcPu07Kledq2Yx7LZB5ZylKvOcqsxzqjLP6WdPlFbBc1aZ56xkr86qj'; - b += - 'mwsAcNTrda20ed9JspPSDy+wOkxKx7/jhaX6UvZPLOLXysfrnK/02BgWdSThhN1l1UCfbCyFdhI'; - b += - 'CxPrwyTTMrGG19WuJt0Fm2TevGKvbcDkKn5hFaEwd7WQsbsVYXd9YXerVvED2lsYunjtpzKP3WX'; - b += - 'XIDm72xMJg3pZzgbhQ9pZ2nREadKI0JO9b4WiBJzB1dkiw9LkM224QbrE8OJQM8QX8IQs2r0YOV'; - b += - 'D/ScoQOWXUmmx7m4/g7JRgFkCb+RGjzemJKUcwpWydeDdMTh9JZX1d2VdyuW5VrtuOVVxxM2NaE'; - b += - 'yREfC8MQWz0yzjul7QiKqLkreN/39I4ofRF0Axg3UPWVDmrdoCa/6KO2jiAV2FVGvPZrvQUisme'; - b += - 'QnFFPwXXWQp6Eh70U/z55gSil+KxMXbi5zocOvFzZQs6OcafdOGWVV6h8fg1tQ112Ea74zhN882'; - b += - '2S+m7samiPV7oEOvzIdIlKDdIO+N0iqBzgW+1AJRc0vrjsK9gtRZYUyxvc2r8UQ9PF9DKF/8XDx'; - b += - 'fSPntPbsF4wcfLE3e0YZbpxg9B10KxN+NELK4IMZNt+mQDrEKFwEsCeLwvvReBFxugHMbvFLGf9'; - b += - '+IdCRz7Ycgg70jUWMfPHW95+bMtLqs2A7MceBBqul728zp+CkzUWQRnN/QugDpd0UcQ5/HPZH7X'; - b += - 'n7WaJqI4kyFeVIq4mF88vsFX5A8aqyztiWwKbVEhX96csU3i+1t0LI9/l98q87KnRnxRbdHiXkj'; - b += - 'Wzwo742USiW5yBVoEFX7x5Ax++1mOVLwnZDvtFRCE2c/rBFCAjvehcUEYt0BrlYhdHoZTelc6xW'; - b += - 'N1AFa0TJL4Oy4/0vCqxIjkmkU0yiZdiJQIiltc7EL6e68X/bWvDA7zCd8SsFyY8j1gb+Evd+L6A'; - b += - 'lcHSOyn8fZ+Yr3DQCkVqkrVET2rD1Gc51GczzKFFpYPk14hErBnaAFiwWIdYmdpMv5FLeJglbbi'; - b += - 'v8MhjgW9ijJnn7x1XJF9BfyccPbl46uWfWG+pdXsC09sp/Xsi1fSSvbFYLCi3n0q69UVKqyXDNy'; - b += - 'vUFXq5OxpM0HjcfaI4Qd50tmjhjXU0sXdfWBRs8Wh4M9nTFFPrsdVf8+0b1Gal6Xdp9BqXPczAB'; - b += - 'ahZRgH4uINoIhAcPapLKo6CZCO2c+dfIsHoI+YXRR+nBia2QOPz2xgImT7Jm7OXku1qZ3XOIv5a'; - b += - '9Hu9BS+WP8v9XfnyYs4olZE9NMZywqUF+h/d2yAYTB75FMzu3JQWK0wzrTUlO1TvKELtrzxkz1h'; - b += - '66dzo9AxMZScWgl0uYb+rMwc10D8Mft+sth+1M3GTA+wXTbHrmWdPb87XfeMVVxqiUi8E5F4f98'; - b += - 'Xi7aTTqbBjdbpD9/ZOFZfFJdX9tuqbiLFh1WZSg/8IwvbRdJ4ufNuPBXniArU3GMpeA2I5SlYky'; - b += - 'dynnyM1cCA5ifx5MU64flCUTcWboWP+GCs9TXOGjmbSo2P0/LF53joxcRzRlgQ9xrn2kScL8APB'; - b += - 'WtHs74GOmIsuMdED1UVLh0VqzCMmNdb7nxNOz1OnZG88b9lna3LnWtTfvuHQ0bUqufkXSzNmkPE'; - b += - '79BvP79GiY+Wiz9e5m5CrJDD+Am+HKnR4e0Jl9dRW5/zQ9QHRWhbZWaU0AtJfJNMWK1E4ickzMh'; - b += - 'gRJsTZBAzFREUOqwkxYXYMUb8uBZONLfFZe3v9MDX5uQLBH4DRT5+GhGvFzsAweI/sREna9ARVM'; - b += - 'Y+SpOFoT7OD4KsYQZrDWyW0v0UkypLsQPfmHPSWfoTvzrKc1/GuS/7wYgt+tslEG8CLZKUn1LjX'; - b += - 'KxQI70VFXs2eD5h+6qlr6dOZX39Av1em8N/C4eG2DZLsYZ3AeUsjS4xxFKwYl7pRH/vZWZWOtPJ'; - b += - 'xBwQ6wd+I8bqQ9GhSExOnv4lfofbCHPMrrH6InsEDLL9ge2eIBkq7YtBGm6wdpBs0AXu32Edkbv'; - b += - 'EZQ+vJnibyIEfHT6SVPnmgd38wMQcojpIvVswN6/Z2wnYfFVx1cNZ+AqBctJcrspdkI3UiNQSqb'; - b += - 'NIg0gjkSaLdBHpSqSbRXqI9CTSyyJ9RPoS6UPd0RP5IrrUqmzkCyYxZCGQMbIjODWK0vfdf/gpZ'; - b += - '1f64ve+e2d7gsXmSKwisdqZSJvW3e/ae9cEjmvQ0nKSyg3WbCzgwyoQFv+jOOQRu324OWKVf3lq'; - b += - 'tWpByJGo+PVhILEtcmQgFXJ7XC+AZYalDR5hEsmAL0yZmL/wO7we5jIn3QCGn9lpv5C6855BPDf'; - b += - 'rs/g3MrSeqHJq3OvoJpdluT9vd7A0yyS3YHqdrsGVWe+JeQB2aWZeCKSsTSOfTb6XGRfzIDljMb'; - b += - 'enbf3/zc/EtbPq/xfXqrtEWnuHCGvfKrLaN4uo9qfmSWoxloKFJbWhldQGvSS1EIMG0UuQ0g7mQ'; - b += - 'tqVIrNLRHB2szx7WBjh3sICVlMq9k/nXoxN/xNIRfGSh5v2tdP+eGUmU014ueMXOMrpy0Wgaq1K'; - b += - '3A51SJan0up9UyTy0Jvwhxq/Qt3CwtMkk512wcTFb8GvKypquawyKWz9hqzyCssqLxNR5WAuqVy'; - b += - '5UE/FPaGVSQ7mIskF86NzzzglaSTsY0QaOatEGnnEU+FMydpcjfMDkqKKwFqn4r9Bp31sI5BRSC'; - b += - '6o2VIXxvdh9vAtyrHurLG+HVzeb7BiWJ1aP7EeE3zc4Y63KjAI9sb5RUj6CdhGHkqsqTyQF0BJA'; - b += - 'Na4ZpKG2dIJscyFjSusJbkQYg37yOF25cYbmmKTImagc4d4blBcxvoQxLWT1K7oZKvYAYQqimce'; - b += - 'cjrL6CjzI2Hx4YrdPAXHgQvTZkcEYs4Aq0M2MXThtlsedRAnaHBYAdQIJvDWixlvcbcqbXvXrMT'; - b += - '7jCChkqrXs+olIcEXJASCBFeQ4JeRgCaBaL3bilkIE7b/9gVu18oU5PlJrh2PFisuWPS8Ozc0ON'; - b += - 'iAlLaqCssMNXg9l/VWuJ/K9tPK8kr9ZHRXgCOW34VJgAFGJcabntzKy7vhMmiKemYYhqx5J/qCp'; - b += - '82MN209tbHrjPQ4+4qQKQWm6nG0fHovuKqjCEbDelI8XtzBs+MU7N2PIQUellYn88re/+7usnqB'; - b += - 'snLjHLZ8mdmJ+OPH86g457QCdtINDz3sT2opR4Z5JDulSjiyIu68zaVUWXXELEXIaWKureHCtqY'; - b += - '1XCjMP6hBW5JW/DX0Q2WvY8dp7Px58Lb0Fn6nWR5ZwvH4Fsa7eB5DDYMsOEHQxnrxt0F11MCMWb'; - b += - 'ZmrmnHf5z1+8+ACnZyZyM+rQU3Eh3/pP39C9em5wEuCZ9dulzSZoFNzcdVBl/RSgYuARJ/2lgHw'; - b += - '/x1H6+5S5p8lIl5aoUZEPe5rBQipxy+y8p9fF3P1JJKM3ipf7/ulhBhMQNLWfscJ/v5QWwL6Cmj'; - b += - 'z8PZ/KZypw9mAUCJruGPslFK/Ofj7HqEhhorsz7iiQPCOFdmlZdujfistZcRmJyJ6byPEK+5KrN'; - b += - '7Y5m8HAwxMrHc127DqtOhf7O0GbJkiO1KTGk/v0I5DePozGOOx7Za6ROiBM6iArlaSE988AkYEi'; - b += - 'VOxt9RoyzCug7i6znHrpe45zLZrdVrxTUXiuYsHzSvOAbqWBm7aLg6L8paYWsuJQbDIQOFP2FRQ'; - b += - 'GUqBNQBzQJ74VNxygTTUn47QPrIVxLypVtQRofOAjTOHdZ5H2BPvXz4cGB8q1mBHR6iOIk1PxzR'; - b += - 'lnJgaiR8P7jkpMpKSchD7LmXeeBmOVw1W9+Jb8ej5Faaky17VvccNhUObCrSoZ3UC+byRSw3Lcs'; - b += - 'kzhDs9cBFVjrv3CE5eeFlL0p5YXZmskMk5QTBeuxKXA3b7LJSnkBW4FJoCZYV3mFobb1ebAFdkf'; - b += - 'xhzY2+7Im4JxlveWAlMJT0TrmuceB8+IxK2EHDVY72NI8O9k+j5Q4Ul9PsNhgLcgUbP/GhNTEjI'; - b += - 'Lxo0ekJcMoc1Ac+meLMCGs7Cops4P5Ppq1QHqVOgvg9Cu9bUBy6GYpfBcUSiQCaV75Isqkwxx7A'; - b += - 'q8L8HHziWy8M2OnWD4jjNwfSOY8fr6UfMC7DusZqhhU+TF3uxOvqFYEWg7PFjkJtuxUrCanI4oP'; - b += - '0+FfYuh/dIuJSuSh9FDIKmlOuKMd7uSs3z4pIlibeKDvN89JD35xj/WqPVzwRBnh8Zr7GQboRO0'; - b += - 'DPPhIT93tO8Wiwx1f8DhegYcThEOj12GcBg47DpuQPBYgAuAnB2lZgew7hWgCt2J/C23lMPekkL'; - b += - 'w/czYD7WMGZwp4eE1n60JuUsJmeQuDk83CbSEsODbO/+RuK+DLNs+co7rM0ccx18ahFrnARfL0T'; - b += - 'su0RDbqHCQ3xP8O24Pe/xs+RPP7NzCiLicB8aSd8GXSWCBYr9uYTIQL1864KZtj2gp8TZDGHJoZ'; - b += - 'jPA0mcALYwG99jFs9TsOH68zXthiaG7CRxCoRMsdxNhVF2OrlPEtpF7qeGbuZNjgh9qMdwvExO7'; - b += - 'kGBbozTvfMuGd+xj09M07NzzjVM+M752d8Z8+MPzU/40/1zPgOQkRXxneUM/IdUwWWWkHuroste'; - b += - 'EIpwt5PbsO6iakvl/u4tryrLYIJMH93sTK2uwvzbBdVZgUycMxlEzwkeF3CmHX2KGI21o0Yr1nf'; - b += - 'WVZY5vNmGsibzX6mzQxdV3TIy3xjByUX+IHY2QQYEyLO8TmIPeAXPVW1BitmJXvnayfKenu8xhl'; - b += - 'MjJz+Xdg4GMhTE6y64vt2qfzEnZ6JPTa8twrj68SlAG7kNbghdr3dZgEumB7aYXA2EPURcWLDtt'; - b += - 'd4HZT5CrbtXGmZCtd68DMit+cCrPXH4qumCPT5xl3Uu3mvz4zvRRSfepPs7kVgeC1AgFWr6LI4X'; - b += - 'bA4nbA4ZViM+JtiidYyeSBvkLkgtggZTd4LhMERpigOcOdxu587+mDdEMZSw9DGw/oHZpKtuALa'; - b += - '+WiPq8EVw/fY2UmNOSuqyJKWvZougSMRvgehHZBXiU6dk6xenNFYh6DCRqxZnRVbZ4A6+dWOAHc'; - b += - 'eBkoESyk3EqkkdbDAOZUGwnWG6ZDfdm35MuocfogeYv0NcqRi3LFc30VN4JgG2NEr85EldFJmQO'; - b += - 'GI7Shf3tzrmWBGT7NtePF2U2JgU5zoo79u7YgPvfbXP9iqlwyM6/MMjOsf4SkM8opdAhjydAaaB'; - b += - 'bAzrpeMYcWxc/ZoCAQuIV4ywivuh0wmu3Ht0Uocw/AJC6JAmvZ3tNhGfyA9eJAW/M/jGHFZW0Y/'; - b += - '5R4kItDPSjg8JsTw+VSLAxY2UaWxfhvLJjCp5S3ZsnX1/oPZJsKHjSD+Cy2NVyAijZ/pbENJG9U'; - b += - 'kfARemDM1i/xMWE1YxoC/GwfSB37BwiuGylxRVSrypCIfP0sxPXHoxwEUiua6LauZOMKw8iqGr0'; - b += - 'tuFY+YJJGm46PaPoXRJ10hpP8FN70UtMFEYSZETzaDUadZM4URhdiue+vYuyDLbjRw5jPOtBVly'; - b += - 'AkRtdkTWJC5c2RFEcCo4nfK9aVeTQBG03jYp/YaZsGmeAUXf2v8WFONzYb3eUp3LJN8gb3PnMWy'; - b += - 'z1zuMMclluqAAYfr+MvK2rNUiFtuQdzvppevxxtb6dfg0pB+/4cD+0w3fd6BbaSbfhEX+PT7Xfq'; - b += - 'FoWiHCx4DmYC4Kg3b8c9rYpXZ0pmXSRX/JU+1kBUBBu2hX+6NMntsgYs1V/4KjDb07NMquCmuBP'; - b += - 'G/iXhcssUfdXmFabnxI0bKgTv8jzzbraeClaW8FgwnA2Nd3YvEcN9lb5OcB75e30XD3I0/pfAOO'; - b += - 'HW97kt3fo13G7ww1gmLVyp7CGVNqaxXKjur5xd2S4U/3F3YLRUO5iOBbcej+fHsIPvc8KvEynSQ'; - b += - '8xHrbFJvXn18vo/3e6IkPiRnnFOubNdxl30pX6cJC5kZ/hje+opDuPgTUpnTHWHFs62OOQXxC9+'; - b += - 'SBw6gYleYxVi1RVrx8fw5+zKoir29iq8REaw1XvG7JQH2vAo1vXQIOnSsw8dKelrcUmuW9VOrzN'; - b += - 'r641DTY/thNtZ2Zc2qEbvVWyjA8kCWMgIiTzqYKZx6qYYFeSsqnaYje5r2RXyNFyCqmTl4JKdpP'; - b += - '+JzJkuHrdyQdkJXrJGyV8PEIgkPdMNFXNP6SIVdy0TDpbO8w/qFLvseYH9caje7exP9QjfKHgzP'; - b += - 'pCBWCZCFpez8HpsD3iArVP/slZpmpCsb5LO9cIcuc4BYczfIHYRtorOWiOvnPHy1J8qDcDxlBfr'; - b += - '5qdqL/toVXaU5p/sBRQO/xC15+wa0fFX8Mwq8H/rI76Bk/o03ivdcayGhxNMkm0couQ0UV/9cAX'; - b += - 'UZMo7DtNmly9NjBzN/7sp6Jj9xMHPShlGI5wE80QDA404idaJcX3EEFog0WYT3Z3ZXH5TtaClNS'; - b += - 'dNTvwqLtfU1Y2V6tF5/0OUdi7cTFu4RP/Aa1hqAmzyfFuOWly3HeLP2V2dkdb5wA8weKeJTRQQ4'; - b += - 'YAS/QkyYD+mUn25oy0s52Gh5741/lXgn64JGZ/JDCwcWTt6hQ8j1M+80+g57jQNpOY2Jo0pkOHn'; - b += - 'ELyqrH+EwjwokDI3Yl1NYbJjt1mjnb40A9hvYYzEkLAvyXM6CcHfF8lE0UO3rK1lx195+eXBnk8'; - b += - 'nehc/h/dnmZ+sB1hV40FO+Fd448w3nM9GK00O0oqxoRUG0oqxoxapzaitaYaM2NV+0guHGnmzhk'; - b += - 'w4afale39IDrPHDYwEqDi19uePyckprGOsCQnnHIGxYu4yYBVeeWOqloMJ3pNTRyx0FfTN5pgW+'; - b += - 'kwwLccy6OhZ+fT300rJ1O3tTBasjpwXiNmYBBRgXkDG9HZbN5b3PZB9atgbFsg+nS+LBzv/PLvT'; - b += - 'oesEmV5BxRu2TCaIgIz43uVLWj4FkB9IfcauXzqLaV0mbDyM8923bZkf9mWgpr/y5b2eVA9hvZ6'; - b += - 'omZ4Pp0He6YEoPf8cKZ87c3vF/LrV372nb3idcvWhGTYsbpEDGTY2FKbjqhMFkiBQWCOPfxoFWD'; - b += - 'Q+T1dl1Ihx5YIHv46W4GbPSTvMCebmKCjQSf6DVj4eFk3DjQLu5iIINSOuSxsYBSsP0WZx7Oepr'; - b += - 'LcH7XH3i5sxhLyHoQ03eVk8uICj78JLT/lF1z00scVrSbp6XLIY1pq2jwe9EJBFSGsmiZn9Sb56'; - b += - 'fVJvnZZo2lKefL1H7gB0fq3M9Ss7HtGngAUOT9AOq/uR8/JxPTTbazZcl58HZ6dLkPMz78/iFLK'; - b += - 'p+afIyil7PCv7JkoRYGKmU+Nm42WBFVFwMJwhBWrj/hL2HQFPpwfxrceJBSbyPmpL3Mc9Do/1QO'; - b += - 'AAIDUDSSM6HOKS/3GA4Thmw4dhmXUL6krbENfuwNTWo1ee+kLUD9HIb6ek8LkMEv2noNRuIaQBm'; - b += - 'xftyn7gHpPV6CdgZhQwOMjjRP7vKnbGO3P7PdtA43z2jjv6lXTNeL6t9p1/Evn8NX40qJ1Ikfo8'; - b += - 'zfMP93r+Ei70vuapmjwx8LcLvFLrteJ+8FcMXlDO7IHJA/XKThfdYMSar4rIUbCydw9PSM8W8NF'; - b += - 'RBg7rcNdTgW9XgSTjN78qyKQB9Z8ZYIjFzkZI+/97C0y6P8zr4qEb69Mk5VgVr1ZlJDVF9H3jDO'; - b += - 'KndwCbctXX2JW5W56+JP1cckGxD170+u9mLrZfkJp7rxbGqXXfF8zh/lLS7pDQVqI3Hj/Lxzsa4'; - b += - 'EoOdwhV9kVikFtKPUB7aTZ/NetODn6yLqr4Kw1CHxrc3mHWrrF+pVHBLcN/75rB81yEK8OgHWut'; - b += - 'h+nMciwvHn5aQG6XvlRAxyO+REJ0w3i0hGhY/wyGA30g1usLWes/83RN3m2GAT9F9E+mTFsnXOB'; - b += - '5HubtLUS6e9kx97jWoSyMgBolqSR9b/0XpU/tp0x5Mn36vZQV/wRXG7aSTiUaubWenTJEj87t5N'; - b += - 'OegW62vpnnl7bazjxhccTJnFZ6s47jy4XkInnTZVZtki5+3fvUH22xcM9SOfx7MMBZx4vM/rfLa'; - b += - 'Wm7pfbBBqSZhGWT8EVdyiYAS8or4Izp7kYtrxC2+vLjFDhYwawb1Mn457OFSYXl8Sx4Tm7NKW2W'; - b += - '3dDeNmOtkVcFjM/JmAPeTMscfcEVVo4ZrVnllAJ4a4SlfjQtHCXd9/JCa+DjkdUvOeViR17FEB6'; - b += - 'jx4hOaz1bC+IV4IsbbKfz8lNwguCKvDXZbHQqcb468Z87qd5ZIMDfvwbrrgDxLpvgxLZ4iN4hsf'; - b += - 'Eg6RXRzd8ZfZFGFKP9+0hVPWEfobBzAY0V6DHoFvw3x4Rp+xSZ+TLa8YFCvYbUqMSMOoJBsmw+S'; - b += - '4FJ9LUTpgbz7R8fSOOUrPo5JT6HOg9A9Ou7kGjcBtGaupbj9++ZY/TqAfOxBherwgBA0mwOuZFg'; - b += - 'fEnji1dICa3JwC4O2hYP7pIXuuo+cue7BrroPKNu5pSXsons4ix5QUlhyDHbnoMFrq5KKJDMjLF'; - b += - '4LqzfaY+IvIIeDlwClkCOFMqgOlCuI36v4lZyA36SD4jOh+UElXlA9uYsW3ZOAlUU4QI39iZbfP'; - b += - '8fvEVEZkYvMa9Hb9EN7mbmXvjyDj5Pvzrh7joz/3IUUdoHMc/ts5m8Z7RKbLZtWSehg5VNsjQtF'; - b += - 'LBbXpVW2/LyWJV2F1bojO2YNxoaUtKS4XfLl+tW3TlRZ71j8FeH4tJQz89IRsdo9X0ON4z5OsXt'; - b += - 'JNPYZ9huCuwB5vYkSdd4I1W9y54lS3h8XjWoARA3z05RQ0kER2pGCtn07mo/6Hid/RuHIGIrmPi'; - b += - '4iWuFDLDhwrxfn7kvacPbiwJepBdwv3sFOwhEJoXIGmW3RZB/jVgN+/QbX19k50M3PgcdPWUKkh'; - b += - '/C5Ir3373IX6LgR1aWuGahMGnkDK0eOaPrUejZsBLPMzvBBPGRJCy0ZX8jJDhXqTvmmsjpsE7zc'; - b += - 'JKyzToMcphTx7WI1hO+mT2X5JYdZ1RaWWpxKM4kdkd3Sns2eRfyHaI/om4AD0w0DiQcPg5DWjMY'; - b += - '3cyPTsOfijPxEKWU7pJCPdsy2yFGmcenoj87qmyFiGw33w3viOr4MYX+r7SYfM+9WN1phV/otGD'; - b += - 'jgrggGE3CNHV8pUL004EfOEfaR/+mgszwBn9ZOoBTWVqfXiY4a5c1069sk4S08D8M9CCmO8vckv'; - b += - 'sT6o2ofJdDfNzFHB77NplCJlhTKX3zv6xXAA108Z41cg6v8eV331aqUAXqt8sQ6MdORtb5mWwbr'; - b += - 'BClChpq8E1xvRvy2MRaOtXy0rEOtgpguxCjGLpXGI7JyPo7AmAyxI8z4BffCTCwKRwirxPuRSld'; - b += - 'RqXSoiYdFoVTFQSXljC0XiXPQzFeom7npeANbNmkcgytJlVtnL1N8G8HzjzW9iiCLrrXM1zMgxu'; - b += - 'b+khHp71DunBvGk7WWa+8aLFdniytrSweJG1wPq24HKgplvQZVyuIq4d1dy7L3ehDYi/d6zdyPc'; - b += - 'HYmE85Es7FenHkN7mA6BS7cu2QPpyb84Kidy9S7fVpeKv59I7DqKG+lR0VFKz1A6G5F7HT0FU79'; - b += - '1U6dMNOHUn1tq0DsdNXiSC2iEE/dBXzXODUYDP8owfqiEu/I6Hl2oRT9jVFBcZ2Uynt3LAt100u'; - b += - 'oQXuRE7c89iiWiGJSereOt/FJGWIeP2sbF6d8jVFog7itzEcav1bVxIuXTShSFo+zOw03oOEQRC'; - b += - 'IXZ8ssPzVNBYdSJs/kV9ihVAU6jj4cShlxKKXgUIpO4HzhkLqUhhbEoRRuq0zmUCoYoDRezUO+X'; - b += - 'GaHUoZXT5O5m4OC3gD0K3Ax6NkbF83OsLphB9zWZ9fCcAvkJZ9dFjrTBbku9aoMLjtiCUo+uxYG'; - b += - 'k5V+jPAQl3Bk0+S3OCZ62mhfttakdIOt4g/q0k21PAcot9JD12evp0BfF+oaNwr/gicOO9+AsU6'; - b += - 'y9KgTv0+Jg2U3vVGSxetE2hBnp+x7+xc0X3nJogNekI/crFjsZ+35EJ2ypsZN7UdGX/z/2HsTOK'; - b += - '/m/X/8bJ9l5jNTpwwNM3HmIwxappqtkM60l5SkRGSappqlqWZJuWkmQvcKRQghWbKUrksJoQhdu'; - b += - 'tdOyBU3ewjZU//3a3m/zzmfmamQ7/f3e/x/HqbzeZ/zPu/tvJfX+nzpF2clcfAUU54eKJSKqsbE'; - b += - '6aALs0acAPmSoEHozhXC4I0cyNJJKrrhwY82wd+hcFz6ksPQjCsE3nXidvIsx8LqZ2YlIfOrY1h'; - b += - 'emww+klzdXq1LiDc7laO4m8eb6d1MWucYsV6iICC/lCb6G2MqmxSoZBlg8ZAQc+sfr2sbjVcMV7'; - b += - 'RYvg+busW7c6gdxfuUrpI+W7EwhWyqL0fkBfDRolDdYQwohyQk0ud6Oak9SQct8my7X1B97xgUz'; - b += - 'S0MEiFQPaGYSNzcSy3mvmtBGUrY3UlVsBceFg7eIWjiHWHbeLGH6DLI5R40OgZpPkWKB2dBUnPa'; - b += - 'SEjbfzfgZRtvgBAgnE1qb/s0tPSEzoVl3GQnJA1TMK4q7JKPGKwlI9mJXY7vJhYaRZpe1OYVGt1'; - b += - 'XoQZqZkK07y40jeR6YxYytBjsWUUsosixYRrzCAM1JmH4kiiFjwAbWECqQ9yWUF+0ErSQTCFgJl'; - b += - 'wnKcjxC2pFR5GZIE/cbPgbkAHeFi2clBVZLYu0LBt3yYjIblL8BKR+WiCanei5jQYyM51kMJNpO'; - b += - 'Wtm3AYjGRvMYmxpJMP+MATPKEijmeXxFKjQEjftZYA1Q+7V9TWOYC8C0W8FYWWBYT5H0AXJB8f9'; - b += - 'ChMijx6Inas7MYBcSQJV9oAMsSOkUsx4GCBXRlcMYcspEKLOIkwYiRi0Ea1gEbDHV0qMI88nxV5'; - b += - 'pROwo1oP5Ts2d9+h6xPIRlEwmylXEDMxEsYGYqBYYcVgEqE7xtiE7r2rc4ZBfRN8hg7QdKLvUSc'; - b += - '9ngZ6M8GqBKzLZScfwEAtMEh/giStv8WmfzvJsMciLwM8fsqKbP+3pKcA3wspZJx6uKHIuLTLmF'; - b += - 'Kgt6FgjpYBayZwavoEO/CbxeZ7ZnvLfxw7hIa/1kWcDuvGT/z7sidJ/nzAwkedDvwIAy1EaVg1G'; - b += - 'UGeO25SWYaYv3ne2p9kzCQbZZG1juhSopZO20X3zW8GwHu3esZO1lveahmA9ZikjQtLqy3CgCNM'; - b += - 'iuKPFK0T2Z2GnyyR7R7Z3kwZpOrn0EKdKsU7d5fDOc2yqHaLsXDwUjKvVsxiwvwTDbbCoi5NpXt'; - b += - 'yowCDCOti54Nu4F8Rx5uJrIOwrUnhQFCRPh5UIi/JCJ2lmPKkHDk99eZbpLUcU9CUVOZdRcBaex'; - b += - 'ElDJewe4CftMIvqycAvhSqPEkAXDAjiQYDwF5Y+VeEvNJm9ju2z2MA2uUgbloq7pdix0BOElOro'; - b += - 'pEiaLRmG0SRCZa0YOTfX3bFCGneQOWDselh/gRjTQD4wfA8GdMbpascJ5pSjI+kIZGUikBXGhtk'; - b += - 'XkJXZGMhKzAJwNMUgVTqqxANoVhqjWcW9EkX37HicwsBiADYVwRLQmqais6XOqCgodK6YCtkM2W'; - b += - 'oTw7Whhzo5lkMbYGMCF/MKpMNZFSg+CWAUAUvFl97KLwCfEs4UOMaSZAVeY7QtNXhW+WD8rAh/Z'; - b += - 'Ej4I+SHKuIa/6aCCatoHiJZIWSRFnuIN8b5ugQsykZXODRUmCIoP6vAnEhxhcDow4AI9SBBN2C6'; - b += - 'm2wD7hCYkonGo8puFJ5MoXE0cCqLAlMohOhmEuObVB5K9PmQNcSeZ04sMM8Uj1gsvBliK0Kzbue'; - b += - 'U/Tq0DyNJgizzY504kqHivHEonLfYSh203BJ03Js6bcNcdjqVjZsvoGjcZMkqYGEC0Iz9EM4bf4'; - b += - 'POBD93yv8a1+1XCMhG92e/K1/Jn1DJUQS+sT/UJY8I3V4+G0xzEf+FqMS1s9cxNLyqqZB7m81Xj'; - b += - 'BYYu4uZO/KHQkM3Dn4GVBg42EQJkI+Ie8igzjtxVgNdfUa54NUNsmMDvCdgRuBskmSi4h8IxSNK'; - b += - 'PkdJzBzEI+ilJvIyPRti+p9wJGHzicY80pbtz+hcSaKWRiFQktghpSLSUz6i+jHaF60Xoj6OJJ7'; - b += - 'ELEAY/YAj4MV8RB2ESmuYXoO8nzYQogf1r8lA9GTcqr3hiLjACGjofUw/AUEqyY0MAmmT6FAl+B'; - b += - 'lHyMgYPWkSS++vSpdsiOlE7Wv0FN1Lh+2HdOl6FFtt6np9QqBXtCxzOw9AdsQaINHzGeQ1Qu7RI'; - b += - 'SQcgHWEzRfMr0xywUOBkE430+mSAiQ3+WY55eTdbZAXV2Y5R0KHRBrjACCl+w0682vAooICfAjC'; - b += - '3kFYMRB+q8I1LBwAA6BwAgywZIOoNq8iVTbI1NHSFEsXxQ5Opdh2YvvUB6OhVKScDHVlFQ5XATy'; - b += - 'WyIjaLZB+q5Y4qvGZqvHAa3OElx9lhBd37rV4Y/m18sZauBF3t8obVGc7h5xqoZUWzH/lUQPcW2'; - b += - 'wery+2CUe9phXUa3qCKUWtKcGUksxIjSbsFXjUkncETHhBm3i6zSd0WWI87FNtRqV5MdAXpMcEw'; - b += - 'zvpKwgFoN7yakNJksIJEbZspaOU1upk+rjuH6AHMAjKjzWRSUjLwVmPOlGNrHLRCjNM0cCBE7O3'; - b += - 'IKoSwU+IdkRrnXA1fZuZGMcMjebAT3EaW+zLwTIDzgOeATUNp+ClPPWjbu8xlShr+Z8tqQSHq9Q'; - b += - 'DKI4j0tvwt8pQrUoxmhWJHkhZKMlBrT9JDuoJHHFb56hr+LVuNMlXF6yKtXaabSPMqnjrPtNv0u'; - b += - '6oIJzt8o0T7VaYKx1yEWyqQRbTQGCeWG7PsWTUTgNyt8bctsydRrntZnIflEXHLueOknt7ii83I'; - b += - 'TtaGflGe4SNRbSUfmBTrAGHYlUD4d6HiVTY6tqTLsL3nB+ciGBwup2G0VZkBXAUfvKIII1jdst8'; - b += - 'I9d1aExAyQzzIxcMGMVJ/w+DrPItOUjk2Qbb1IleWyEnXnPhSpxd4BYw6DFQQ4jPTnWjIa6jx1a'; - b += - 'aRoRkhX5G2GSGz1I+/CijI1gSsB4iPC5EVo4CDxGhY1mcx9tfJvMS5HnVYctHaGgA+ltY4ByD5C'; - b += - 'zMgp9ZjpiEwJXgihnvq94m3rhV4xfIggODAYhPs1zUar+IKJ3AXIH9BhBtXhmwsnJxx2tMhLAzY'; - b += - 'x9mgFWhm/yFsvVHoFCOTQmhO8XWDJ4PxC2pNZ7MjLapylzLZZqgAkz2laUVaYHXfNwxCIgWv8xW'; - b += - 'ifeanok+kefRclaY2pt0uRWSeFf8SELq1wCSzCQExWsNQlKmIQCiwtt/xAvJYhNtTxI4y31Xij8'; - b += - 's9FyL7L0Y8C/AXqAYFl4CfmklY3JS8xCVk1ciCUilLJRisXbQWiF70EFrTV424qTde62ImwjWTC'; - b += - 'SLBkH0uxB7A/xS99Vt2bKLmWGwWd6I98UiZngN0jLyHh5stc73fFJdKJXs3B8wySxmh4ZmMQBbD'; - b += - 'bZ6EagepwP4dUaAVLN9GOKw+wN0F0pQ71wElE26y2CYEfd23w3091zMNyKgxI2AUWAmAQAQJF5h'; - b += - 'OdB5DWTPgvB/8jewXOKRSZYuVoExGqxobliPCFIR92cEA4xgEfnGRPxlK5OXKMICSsOaQipOkAL'; - b += - 'fU7Odcgo+oIRZET5JQh55JLYRPklUWyxq2WsiNVuXpinNtF+2eNuivbUYkKiG/oa2L2m0vDBa6i'; - b += - 'bdj8pr0wxthYsCrJgdireLk0yhk+qxhPmm+5ZZa/cdnKQIx5mO0Ye6a+lI9u9BZA7DbZNQcEJps'; - b += - 'MZocSFz9ndeZsRagkRPn2rP12UFoKxOx7LoPLd9tnfIrCLdBfLvy3WAqs6RWj2HwmNTO8Du602L'; - b += - 'UVvbZVkEtglRx8DN0eDbiqV1ZCWq1XIpmeTkIz7u3ReJje1k1mYhCKpYj3NDid31FtU3hlhUcDd'; - b += - 'by4wLxr4WRgCU5bsiU6vh9zS3Ybc5FXj+adXVXEK2lr4/eS3Km7Y/eaOU196fvCmUN2V/8tqUN7'; - b += - 'o/edMor7U/edMpL8R5SAfLQy+vrvLqnDcTQ5vP1uO6vVxMIOJavVXROKAlqGtNLRB5EeRyur0MB'; - b += - 'cYW0maulq0t/6FnPuvFXe1Y7Y4fehZgUvxeTL+NooUQ3NYoQJMiDuGYjbuAQaKQduXu6yQVKTIL'; - b += - 'BOFluIt2cNw89w3Y/zDoIq1tA2WlsJJkIEYKppdNwfRw6wb/dZMWDoiH1lMooA4ameec6A/1CJW'; - b += - '99qms7E20wIY+OzWAhmzUxjV318/r2KQxEx/t2iXT6aoNhaqFUX9ryMCG8QhkpHqxJH+wsqS83n'; - b += - 'uG8laL3PyyvEPHAWcfGPntlhb7zhBcK6AI+GQNoDCpxaAe+M3Ft2d7GDx52CYGomxkpYBgWAxDX'; - b += - 'PxOJTZJA20KwcsmAWZFKqiBQO/kRCmUEsZ8BQdLcbEGob1KcjnLmw3aRihEM1gTJEuT8GQnxhg/'; - b += - 'EaAiGpUK9smpgtL61kIbHICzQksXtO4DYAYMF4Fhc3XqLrpVgkGPFFdpuEbc9Lp4qosSn2RS1Iq'; - b += - 'qgdpMdfdoYixqIasOxD34koIrlw5iCh1eATtIHW3nsbUgD3fnX78eMF8WLZWyBJFlauwhpYeABc'; - b += - 'PyOFoqFmFEhxBpkCCHCJ4HA6qA2C4K8bjfBfur98Q/okAUrmVQ/OIMQS8mOtzSKyhsivqicniF3'; - b += - 'U3GXP6HIKZCjQBMHvaejdDJ4723Gd4zE2skUJ4kcqZFBNc24pJb7q5F0oFEPuKfNiRlAvCKdCB/'; - b += - 'jzXSwbZXXIFSFhc7C4N5ddCc7loh/BLTGRZNCLDkssUlGY4kgtkBq3KprLbzUxnwiTqGaVDSpJf'; - b += - 'LLhG4To77DvVc/M7leJXhGCmSwQ42DCbwIblsYitMBSmFAOL21SG7IRRHkg2qNexbQ3A0pge0Fo'; - b += - 'JBfcrqw6J7k7Nk4qNMeIRKBvFrt0kxB0zbghyCLrVDwBcCbbrblHmowN0mx+Z0514tTsfZQMy5u'; - b += - 'xYIbjFsh2HxIOeMVH+qlCaImskZDglwaR5u2bcg+Syr0Ypmw+YK/9SzRpBrBHeZiCgkCwOB2lHo'; - b += - 'iQEnDCodqARgay02B+VeQ9ANikSHd0HaA53WuaYdDVyTaoGFdYH5Lg9JCNsl0m6DYV8TUuZpBnV'; - b += - 'HMVT8SgxRrwUdsA3pAAo+sx/nn8Y75v7QAZpFefeHDkCEdzSb2o+8KZR3f+gAzaa8+0MHaGl8Gu'; - b += - 'xP3nTKC+DoIq/my6upvBrnzYy9YZqG2MpCM73z/vG4WeTMXSY2RYhBjzY/RdrpOM/37HlyTwR3f'; - b += - 'Y70nmW6s6ejplLk3QOg8wqxJQvfG4YiFKB7JVLynj3axXBfkzgvTwIxsvR2UBNDPeJM5SdDey19'; - b += - 'PG6pmhwLmiUOgBfORzcp94MnjgKLA4T+uWX9jXvMctCFO+acJ1XRS+IocuL01pOXLo2HbnscJ92'; - b += - 'Ui5+Mh8UDp7TfwT+cvDQOJuNp0xyj/OF4dEk8CUQeTtJtS2Afuc0J3eYrRuu55Pa4huEANXgvsp'; - b += - 'RrufXZ6S8l3fj0yUt7r5x+Zdtnpm46ecnS3tbP199www1viZ8MWa717j2sx3utv35K5PuP+cJ14'; - b += - '/o+B/lGXRNf2G7AK/DzmjPgvw/FzyXi/7jmtRJas6S3tvSrjrtCH58kHi9B016MN6jdpsb+9tg/'; - b += - 'TcOo12e5OeILGRLNICgUbZEdDfN/uhkOG+Em/rPgn5A4ucHUDZHm+6aGwY1pJ5i3ies3bLz3JZn'; - b += - 'CgZ1wgzUV8BLjZLcqbqDHm3sM8QBklgghE0jdOh73VlevnuAa09xIzQr8OC9pc7IAb92TXZC3XQ'; - b += - 'NFfhE/okNQ//jcMnECHOfedDfAOOruO/eI62rTHpPKws+7xcntZrs/wmWJICTvFNeVhj2mjzRl+'; - b += - 'eriQgKN3L0HKIRbdiQT2v9WTG79FyefW1BX7kao8pc+qC13p9JbDfPF760TONEgEjfXcmJ3v3L3'; - b += - 'hTuGDyAL/710EOAQ0eOUTXgttUeGQFB0KVAbuqQ2lDwcAz2z/G6AMudjhCa7nNQQ6QShuvwGccz'; - b += - 'cisA16STqz8wKkzCM8+9g9BfwjgqjtYMnE/sI3B7Fr9w4vpoTjxCqB4kM0e0K7BrjoXJybcqG8H'; - b += - 'KhIgwhaiJeHUDsRsDaIYTWDtGZ8SiYIkiwM9AfRBD5QzQuCoYJUVYjRKn9a6H9O1hSF0UrO/tqy'; - b += - '4kuIw0H2HpsgixfYwaNtBo/AuyEbp+m1BGA1NykoBs48JUGD7my5EV1CtpkEGO6wxD0g8gUq6VI'; - b += - 'W64j1pZDa8uUKBo67CBx0Iu7O+9fj4yBeAGsLilUlY4hfBg1Bi2bYqSHMzFYFJth8BMV7+sIQt0'; - b += - 'wakWNT4cYMvsIivH9o6zmYIAhIbdOBuEg0/AQ6MiR4PW1CbbhqRx5WhSy0ysEkAZqytnltwKRHp'; - b += - '4O4T9k3IJYTS6qimAMEelIPN65cj3KhRFndBB+cbDcigOkJnhX41agT22JIV3ctSukIZhonbtFp'; - b += - 'aB77iaZ/NnQo/XBec9sDuPWZRMgCCr8xTdvn2/k0q9ssA/NYbgMhNkFeqOQ5ji6Bd5gsY8gGDMg'; - b += - 'ulk7cDmbhsARW/8mJtMjplooZD3ExqIhUWkFMng7OBvzPCaZFcHCYUMf8QCk52FwbcWP5kSHoN8'; - b += - 'DmMoBhxRC5C6DoA7BVisZABbYcNCSIBvgjw645PMvX6fGiT0s7ZssabQqqA76arhGxExn4BDNvo'; - b += - 't1NfazIbpuN/0PcHqjHDrsNsgqLg8KyoLm5NuALUqRNuVgTkbx77wQ9NIIBBlod7cGlKaBZuaC2'; - b += - 'ESNiZ/zNojz3nn9euK8UYAF38uS7PNJUheDknBmjVNaWVrR5ds+vvabNVe9uaZ+mL/KPX+8ylSy'; - b += - 'zEnJIhEzSCg2sLWGSKWoFIRXYhGEySIIA4WVadQcWwk4zIBUY+1e6iaDb2JdzNjFpoox9pv0oQm'; - b += - 'q0D/gstG0BpEVKuBgUuq5YwAncKlBmF5P8zkcxX2hyRJEnZ+YSk8ZcLlFJSXqHblM9Ds37NkWhe'; - b += - 'Y2aJvGrsN95XBBA2Eq8SQ7YEjVfPNdgVKW6P46lYH2F4b0aNub9WHD/WRJmGB9qMwOI36zw/n3k'; - b += - '6liotlh1G9suMP0DBEj0hCRAcfxaN6bIaIdNERMl4aIUb8hIiLn6YGjuUlDRO9oNthWHGyOluEZ'; - b += - '49kLmvtjL/ja/Wwv6C4Rv9wsd8P9HiIiapU/MGjOB9HRgLDCoxTN1WALarCHoH2zruKVpWJKxit'; - b += - 'LcY0s5kFoZ5JiNlo5pr2M+DACYTelug7JCDHoZJPupz79VbXElAz8liIrlo9b4A1f4LdU15KWhH'; - b += - 'rjXFubLCQV/EsIzAPbTfF90BbDrHD0IdQNMcHv0gnH0oyp5hNqHEHwI4QI66/Ak8TVYp8ZPt9cU'; - b += - 'odoaM3rDTT9stWvxmMQCYyBldj8cOIYhHAMzOAYhANj0KgQIJVJAeF7JxT4zpZrqKGFlI4BJBjp'; - b += - 'VMOZLEaiP+tPBd+IzrgGKHal7I6MpCVSiqIklZG0GQxyZiYEOTOVhbQgbQsMD85c1NUvtt7gWCh'; - b += - 'edA8zGN3DougeBLcC7Baix5mJ0T1giopZ7IvuYVXEMV5HlB1NgWYujydxdI8oRfdI8kX3SGoiuo'; - b += - 'fVXHQPq6noHqaM7hEl87WkvUb3MKmtEYrukQToSqSWZ/qd4nuYifE9gj3VYu8YysMNXGSU2zEgH'; - b += - 'kal7YKOKIcy9m7g+AtL8issHY2SUfoac5OQZ8MRRsW/36cII674vYo0J+aGIdosQuYi6J34AYaN'; - b += - 'JgbGwpBfqg5ynUKfcs4t7SWSkAlGHPxAu5xq90MK8SlNDC0wOUTruRY4uOJcvtbAkAusQguzptx'; - b += - '7YTgxlkleTBhEnzbBDyqZ/aDMFAJNR4ftVwzJZpKliGDY2SqlaP6/tbNwTiJazjFE+rtJ5TDLwA'; - b += - 'YMhA+QqSEehcusC5eJiYaBBrZpVWDgWOv+cINgDzpp2gkIvTIL/XvE08oKypeQg4EutKI969/sN'; - b += - 'AKYQnGAhAiwURw4otL/onk3NQIcpMXihvuAZSfrDTVbPoeeQKDIYBmhhJxEMWCGes6QU47OP7D1'; - b += - 'ANKlK0sod48RC9HuguQSI3x+xWcYuMBT0EoN2BIIQ2hmU6g98IsRlOTD4vS7yaQgSWgLPBGFCOJ'; - b += - 'RA1gRJaNhCvCpKXHNZgQyg1ZAO5A3DyU57inw/SnYX7qMGviNSfkyQd7bkzKcSLfSKeKfTVEGwd'; - b += - 'BFRywW9FiQ5jDQiL9BIwxK7iD7bYOeKEIKAxJmQ5QwnUisHRqXyLbThj/jFIxv6Guh9EixW1Bb3'; - b += - 'rPwxGtHcFYoQmnguCZbxGC5BdySHWsAmWINYxxs8A34vjEH8owg5gBa4YM5GLBuYOq/R2N0AQ0c'; - b += - 'TC10MLXILZzoI3F/EExU15oGhFsqsmainXHytteDzvYmGDeAaafpQQU0U2fBn1Tlfrn432Fqe8d'; - b += - 'CbkKcCB1pkQ5qYisUjkSTkmMpqS1a2q1aH5R28CFt0OMLtZ18uto/mi1J4SnG/1yEznp7i/iS6f'; - b += - 'RAd5+EVIZM3Qmpw2RqHqQOlakGSKXI1BfviNRBMvV2IPVcIPUIpFrI1H2B1GJItZSpKwPPGgKpL'; - b += - '972l/nq2/52XgupHjI1G1JpMvXuWyLVTqZefMtf5tq3/GUugVSmTM19i0cptipAIDNB/NtIt99H'; - b += - 'vpq/nXxNJN2aItEl6ZaCpJtUn5pM9JqK6NWY6DURdk0SvVqM6DEtgejVHIkayjTv0yDGI/xxid/'; - b += - 'mHoE8DuBwkuw2jDYTEwQ3Bc7aqFGvcHugsA4VcDYZmmYic+VuXgNYb+AEdE/IL2oH4LdNq10QKw'; - b += - 'HwW3iqJBoB69zeaYIWWrwCrkNoOhoiVyjUeAuSaxMEu3U89NB0tqqpxb0C+NO201xrKqIChhHcj'; - b += - 'ky29Vpg3LAOVTg64Yhk3CAWyCLDBsLIJqs1i1wK0IAnHaVBmvJSTkfrb8oMr8ZWGoZZb87ywfnD'; - b += - '+UO4V8gUa+gbFA9RkBLR0XL7E8WrasSrhiow7romKCdmTkNoYlHOYO8QqFMMN6v70boAo5iiG2s'; - b += - 'IPdoiPQgQthw1+hYBMCO7GQHHVnTtIG7XiSinOXCdEdvhDrNIJ4T9FKo/yrGnRIkYRkSQO0iDJV'; - b += - 'GVVJm/+CRxQe3UiFSKZIbHfnSZOKPeuoawdq5nrvZpEh4Dg68rvMjrRWuJ40hDP7W08jgBymZwq'; - b += - 'C2QM5vkJ7coBCCO4pW4Kb4jfDCg8u5hAEe0RAHxRQa6zhrESIjFI4u02PiVxJR2Fsp9NA52g/67'; - b += - 'eh9PfpeppjUuOYfMRF3bTSPaQOubQdg/jsnRAmRKIzDFTQimCCUBmKJItWTX2HSqwI5bRPpbIB7'; - b += - 'Dt9NjMoYGPwN8IYuCDpg4JWN/N8hMiXc8Oju9851cy7GFqF2P+fZEtr0k2YHGYdI12BNBNg6j59'; - b += - '/OtMB2piVuZxTN3NFor+Lo6Vpgc9MCm5smP5F/49UCG6+WuPFqiRsvA2enQLCCTlkSlwnNvhS2B'; - b += - '5h76B7fGXvWUEjMihxyaeRamTKOihfKOZWUIKhgMAkp00eZ3WkQ4rHFJli4GYNp6hXgMQXFZqDI'; - b += - 'KL3c/hmVgRqhriNHRgoq8D3B7UtDkyyYfvAVDPxnQEZct59Bo1mDHGgg9Ix9B1eboqqNxiMkZMW'; - b += - 'anAjaKCL4lm7fapDeQiOw9zCV8QuyOvYzIXfdfLEwn2WXwU/A5mLzAglrxlndudAfksA6JIC9yz'; - b += - 'AMsvghBzzPxT/EdutzVpIoL8SI/WHCVkAQAZSREyCCRX7xjkk+xCEwQjARkABEdyxGZGAGEt2Zu'; - b += - 'LeRPAdkeiswkgbJ7ygwi+A+TdwTUY4XmcUivChsUVHp08+SPDhOme8Lu3yURIdCKX0wJHSU9zoW'; - b += - 'As4s9wR4VF5KIM7WQtFr9yh37Ur20N5sUGgNtrHBFYqACQhdLRU4LUySLusKtFlXoM06gTbr7mu'; - b += - 'M9gzchLvlZwUSDfjdBhn5kLhcMPAGSqFwRUNT6XT3H8OJONtQQgdNJ+tWvQZ1LPIOLrPuZMvhQ7'; - b += - 'nWFcr19p/VhMFYN3sJZK+A2qVZS8tgr9MTYtOnqNj00PEISarRGd6bgY2kz+48n8e7ilCDIVPQ9'; - b += - 'QsmFzqViMkWnH54Gpt0Gmt0Gpveaazx9NPoNIbpJ2Ze2DuNTQjtgDOPJk3YdxpLqS/ONycMcydM'; - b += - 'kmMnrE5iCF6Ix3AkcAybUrUIVUSoCircXxzgijU6fWP38Qxs4oxoTn48AJkmdRT8RsrW9EuWxQK'; - b += - 'XYuWFpidW9gmTyQOKvUISSenmyeI/RrKjEwNRxQ9ZPvnv84aeWk8r5MdH3Dhi07l7jsg35j7qQl'; - b += - 'h0d8cj6zXWdvO+HSdCiUNQE+2NrsaEVW3R9ufq0+wVKCS17I+B9gg7YXteKB4hD/ZIRXk8IkjTr'; - b += - 'Kh9dyieRF70yezon6XQAFKciL3WImC5cgx7EYJgR7FyJ6W8opwj4jE4M8S0h4CA0xjQOYgWHZPt'; - b += - 'E9uyvTxERdq1CvwZgLRDBKQt8ZdDIJY0yGxdKutNgO9DyGYxSvjPoAwcLMeI3c8TD/zqEZTJflx'; - b += - 'nrsV+1SLNs0EheiX6RxANxG4SCiRKIKziy70IxUEMXJN+NlAIW8avxUz8HB/drssINoD0ejpfX7'; - b += - 'f4Mf7YIe9spR8aqcezIfCvtOsnIN3scg6EY0hkJLhle9b/CO+L/ANZsbifsGu7SVIiGAMeCPJov'; - b += - 'yOwUP/fCm16hf6/UdqfUVoHohBXs+dbsFmJCzEx9f3Ez2pOpgeTacEkmHfOGsA3yEbWre8LDwW7'; - b += - 'ZU2VD+BAYgPPjx557PW/wBuiMb4c9Co+HNTc62Dz+di6pT9f0Nzr+LDZ18EMdN7j/9zdbO34sNH'; - b += - 'rBPe37qK3Zl/Y6FlsPjD0+ixf5BykW3TPqUkPYEhQFBKSBSFOCuHE6KTYUYZLSRTOAk4OXWG7JQ'; - b += - '2CcGAripJnxeEgX+YiLEMYxPcW63tMf5iZuMHW+E0UFFKx4DEoMems6ZUYyxdNMqcDKgxFjgZ1i'; - b += - '3+xvTg9AoqN07HbeOW9pDzFCht7ihWSp1g36SkW5TDIfk+xE/fuKdbdjVM4l5UW2kAL/n6FKbFQ'; - b += - 'THuUtPbDqsjvihxOyL8Kj1v7bZ1dXPGaQraY6P1yYsAFU3o/Rj3vR7AYSyGiFyX1a9hhi5RJ4Ks'; - b += - 'Fvj46LT7p//gSWsTd4LeIMNqx1o/thCy2ScwiFza0v3M16WljRpWzTBrxYjbFGuTjz2BwLMs7EQ'; - b += - 'VxSOBYyKe5Gz9cR9nskw4jq46Qz7LPjBZQS9MJbAZzKN1kikSjOhY5NSS9QeccRugtVOMuszAYE'; - b += - 'fwETxsYHoCSMSgwqTJT0dzXvl+n+aBXDSJD7zT8eBKejELUQkonUM/YCw2yP7M4wGYmGWemK+NM'; - b += - '+xKTzMoiCpoQnZyJ/ySaB/seFaTPJ2QeGU+C0pJAq4gyUAxRb1+H+kH8Le5facWTUg37+VBKKCb'; - b += - '+dSKEziGzQgTsGGmKgMdKUliGHozXpsfIS8rD8ForMbzEkG9Yy/yaOxt5aQqAR8MUpQJwmOayhZ'; - b += - '/tM2wiYLcjpmZZbr1j1EI8ixDFywg7BP93lQlw345RZf9oSCNRjBMbcbeTpavriKdkiyfGA63jC'; - b += - 'HAPKL4GkM0d6m65gWVzKqJmkpNMPpsRdxc8vBuFtUgDJknhBYrXwCnewDDeoan2fyGumzUNRQ06'; - b += - 'x8TySywNzmRAJoMNWzn4RBIsGIT2WmmgwXZAVuM6gg4WE5GQqYAsFVwY+l3YRDKmEQqLKzjXOat'; - b += - 'dYHxh7xI/SToVEeQqhyA51ty4yo1bRfWnwYbsWEX6zAK4JX6Bjb4Mbr3hUx4TFzdMLEmxq4Zi0g'; - b += - '3iVQ13+afr2INPrPCHPpVMulmE61RwlmKh+4sicYpgLKBn22XYeonRTstVMsSqEskQG8AQG5Ihn'; - b += - 's/CwK3S+VoGZXzZIBj7dgBJcyL9duIGeQKnY1gAlScTdKe96Xc6hFXsiZ7EGNFA5kkDW9Lh9NsG'; - b += - '7f1QiiiAyFvIA4fsfuIWkNd3Arj+Ovmj0LtB5sdNxwPoiT7L/OJNFhXl39AwIwZuiHA935iI82+'; - b += - 'y7/VW3o7pxJK+zYhxeNMctIJ+CGObkQsybprvGXGTQvkx9aU+47pL1oHK9UqZQdxaj7fAMNF/9y'; - b += - 'lx1w3ZL+l8K528k+O6Pc8KVkIPxSwdaj9HYS3I7hyEiappNjnyq4ZZ5NGsimGjRyIoWPqpuTcm9'; - b += - 'E++ETSgnKekJ3ZC5MO94eKKA6tjXzSdfkbrixhMYJehx4rI3Y+sV7IiYuckuUiRSF4YjxTpo1K1'; - b += - 'IiMrjMFsHiV3E/yv/hIZ7BvNNASpOhxPEtooLBStqtM6kK+K82mN84H4HayYQCwYlpDpxKRFChi'; - b += - '7Fk42DjYsJsqlQSkdaIAlWYPUFWFC6MhOGOyxzBgL5FKGAl2mYiCrIShSwpIwAFwC3ju4iff8LA'; - b += - 'OC4OvBe3S0UmOg2GjcoKYkMYpWsg/+QSf4B38VaCWQWDG7xRLJY2/VpSTO0WI/603oExKVBpLRO'; - b += - 'hAclk/Buf8a0QPGMuUjPc2age+9vhOEdKDThuIuqdOG7DRQpl6FGJZWdRpSCZ2WFrvUaYOB7H2d'; - b += - '5ndUpwk+y5elJaa8TidUotrg7zRbToFZtjgPnjWzDD5xHSP2bfCb///jY/+qewhN1Ot0wWcUMaV'; - b += - 'tC/pY/oZjin/jRYI52+co3AqnHE9RCS7BWCCWPw1nlx98QiPQL4S6uI2Zr9kQn0Bmj2tF/tLiui'; - b += - '8pmhqmZAgja8AvC8MtkpwsLGsq0gjjwkAcNB9Oy27dY+VwspN836RDz6QI8SYAX9oorpJKfDRzc'; - b += - '8iO3D4LSfVUdhUxKDQaRpTCW2kSX1eM1f0EU4RiQzSlcrMrAQ7UkJaRYiNux24pkBF3v3SiDCF+'; - b += - '1dJG8BhkjP4KzWP7LYMhyAHWQ4FuUPhXIL+JbOBAUKL/X+qKyjaCWMhRtK9gMKhBFALZRY0ruXh'; - b += - 'ZiNyus/Yp6pIzORA+RC5Y+exkQLhxEpdYg08ryOMTdAQkixCSM4gvQuW01SNYJeG9b3+VA8UlMS'; - b += - 'K4DHPsWrWAzxgm/xc3NV+BLcEAbpGISRya8DOl94x9pCsodR88/jUUsjzLooDlIbT1l6HBwIkpJ'; - b += - 'P3eNBkkDLV19r0W+b+1i1vEroUrMAMMDvFrqEsD+90wfXALp5AMb0/AeQjUN5Uc6Ou5f2SYCbk5'; - b += - 'jBcCLl8MQp2LDM+ZQ7mkSTcP5p726EDVzPQsYs1HiVFU0xdiHR9RFw8LAqAmHnZXGbCpRZSfaDG'; - b += - 'Gqa8fiIGJHzIQxa/3ko2fX/Ltpvfrb2dkzDDEM5z7uPhIx5tkSoGvoAj9dqRnKALM0rgseEd9MT'; - b += - 'yWqT1jIaxAyG3JnRD08nUG44M2vovukLRFIMBx5EbHyOiGyPuSi5TR+2If6EaIzFA4EoJOAIlZp'; - b += - 'LYmeEJjBU1cOSQoJAFxFYqbIk4YvYbBPXGOYBWjDfHkHl6stSQAJp114TIFbGiXN+vLYtPqfIB5'; - b += - 'UktFaifgw3hUUWMW45MVSOPdFHYyAZXLcuRONy9nTmwbT2YHCVcKTYyGfYAMilHQWcUOAZJrxao'; - b += - '1KeA6rGzQl+Ev0JOZUx2zL6H/mwhIL0V9MqaBhQpnEMhYbMdtxyhGaDrIGhCnDJaKfZPuheVCPZ'; - b += - 'DhQRfDHsdMf0hGwVLeLRaJlUIkCDBljGqcysrDifE0XBkgGRFu8+EXsbIdtEWPun0ofvJijP9Mw'; - b += - 'd+R9xWPQD8jhnTxoy5FlyA4ELFCB1HkU2ASED81jWBIbSjo71hP/SnIHSOkbiQfbpJ+aY14anCV'; - b += - 'DwlGO0JqfzC4CHGYAFTVRAjEAuChxAMuNysSwzIBDlkkwSAbWmIJRoI2L/tBcVi96u1Z/JlJRSo'; - b += - '+cqV7RLkbmkaooRadVhj5XEwo25vZLLcNpVL0QNhRRXsAqxO5lRBMmRCBbVqE6/k2cLjgh3SeeF'; - b += - 'IxDVGBG0X3VnkpCjgJ5fywntgUhvXEkOFrDKmMfVcP4AqhcCxhUzN48eQ4DDTVYOJV7M2jvdgzO'; - b += - 'amaD9wKAxTGmyhEnP72bUZcZ0uAuE60AMl/86XsjguidxXqW24C6lvg+EXK5U1QOdhLLEVXfKor'; - b += - 'PsqD6nOXXI5s8WJT2cVCzN/+FHGHvAEFL7IdckXJlXAnOF2edxgbCdkbDOq0BsBFxCSDWBtaYpN'; - b += - 'HYRoVlUlFbYCiUklQ8xAVRQ9ehgd0KrpbAnWoZtwJWVIoC79LMhl7M8EjMav0ja6MTZvxQLRnW4'; - b += - '2QV5t0OQzDhZB3lLOhYeq/07MP3SLYSxEJ1fcTAkOZPjdErBMzeFCmdHOdEQioxKeL6nPIRzax/'; - b += - '3EYgIgcRA5CKi6KPs9Q1ocGxd0NU9xdU2GIghg9wuFVpDtRmMFuUP6u2RsNwtJm8yECsyXLVnSR'; - b += - 'AsmtmarZ60NKCiKWrdFTwp/CLowwS1JcL2YroR1HFKpAOHCC/r4+bv8DfXxhP/v4/AHqozhBwQg'; - b += - 'O55TnKIv+EcAGqTvoBgHMUKIzbTwk4YVhqaP7HXFH+JLkTqDIeIR/04XiGhYQMAP/sohhoWiL/I'; - b += - 'tL44J+VxmxNwNEPnu+wX4+DTxC3flzxeJ+2CT1EKL5R4E2Qvtoii9uuks4D3kauFoWbz5higUWU'; - b += - 'TwRerVbYBaKTJATHkKWcOzVDlowCEkZT2J/LkFWUbQ0nWyCoHik6sWr7rq5kpA3pFgcqNK/y9v7'; - b += - '6Ni8a0W+R/fescWc53+2Y2uvbbJjy+Xt9z3KjmlXjV2uWCKJ0tQwHtgS2SNs17GMhLyIQ+6uRYT'; - b += - 'tYRHLwpgdddJrG7LMY/gMPQifYSKK/2IPOMMi62ANeSPG6gJiVpwrOtQb84HMIUHQhOO5ihSNZN'; - b += - '0rXheZ8wS4O0PCsHpvZ9JqVOk0WosqneJ3a3c5HAdpcElq0aQ0Iz1BmkFaPE1p8UyVkBIMtsoji'; - b += - 'g7smFjvCV+ZDsPYi3zq5zRDkBPdhtFxBD1uUADGAD0esr8yAvFaDCScxNDMNzz3cL61mIltm4jt'; - b += - 'NNTxh4jYNhOJbcwh3kQZgP0PK2Cm1QTtjVTaUz4qTVkWgur3aW6Xgb9lMN40NBukjubshR7Mwdm'; - b += - 'eU05E4RIdr2xRpV50El90Ai/a/KKNvheG/Y7FSOfQNEhZTIq94JFiTX8Uj0MKIVwzfRHEeAZfeR'; - b += - '8vZDAvFGCEQHrJd9PR1kD/E5mh/73OLD7wnVnndcZkRxEDvQcH8C6AbDL0Bb34HUP0RSxOWKBgC'; - b += - 'W1whHTZF5NQlcleXfXFpL6g2Qhx4Y/oTFPIQO1Ih7OeHTwpUPvImx5tRhzA09u+Wsbs7wzsgenf'; - b += - 'xJBJEp+iqR6YDATRdA9MIr8tpuBVD1BYbBKCKPTAUD0wuAeGvweGrwfMHfh7QCgj/h68oHtA1Ur'; - b += - 'q3ZMMMQo9vYcMsONufx3dUR0ZmKbanmsS2+TDQHH8GCisxaWqkSwCR1f0YignMNVnRMZ2GF4Ilb'; - b += - 'qL32WlLtYoAVwdBeAalQCuoEXdDrXvYBzHf+nKJE6xIu7Z5e45bBCKpydpzOGcak9HGtlG4LnhA'; - b += - 'grsTwZ8d1am46Rl9Nkcifgg7esNcgE1gKH2+2Mqw3qp9PexLIpJYSZTVHo3wFEd4W66UQbKYi7j'; - b += - 'OY/x95hI+3LmAVMkfyVtaKAz9nM0/SmsQRSPa91vKKOz6agSxsvPAvY27dCtA4WdOOySJbZf0Nl'; - b += - '6BUGaPK3/5gcTtP4vPejT+jc8zFr/VTpH/NpfgANy+ZdhjhtBGlgAUmCUS7y4/oRAqE91Z180J1'; - b += - 'qJhhghGY7GjzJgIcpAk/ACjevSYk+K6TQLjnh0iheE/ZO/3rUb7qDVudmDNoWib59aPdvCu9ZMB'; - b += - 'wAS8RnOm6INT757SQifRX3Povjshmc33EvvpfieAWC0uCWYcHnT6EFehSIBT9LwTprvTjreSSeF'; - b += - 'aSbeXiY+YKboQGPLEfTmwmmAcQ0NhVqEMbgCcwW0HvBRlrlGX2liZiYgh2sSS99ehkCixRDjnOa'; - b += - 'fIqi4eEInkZg6tJJlDqxLluPJFjbw7pSjtDOo8cDtTEFQuxFSsGQygpNJk9F05/6HJqPpPos7DA'; - b += - 'HZ0WlgwgRH7c2DrB9GE6ZnmUTNZMhps8igsja/K8t6jsvSsIRgkdlekTKKA21LkpPWUYJp+BCBk'; - b += - 'fyidIicQNPd7eCjHcFmKPhdPOMoyKOGkMGU9SPIGm4iK1RDcStbSrf7luXkZG8iIC+smQ8Q55dg'; - b += - 'dKG0DyFN9mayKJSBoUON1JOu1lUInmYt+3S1K1n7sOzTG1v2NbFhNWvZZzW27PMb3pk+w7vVOhq'; - b += - 'y+rU/DsaXVcBP5EWMW6LO9n8K68+SWIGqwjBZWrXnTRRuwMSASeiL+yTWxAiEmHKshKBHOmvppO'; - b += - 'RfhQdP0OXc451qoMmRIdmsQKReiulGRCDvb0RQEXwJeMykIJ6IUd5eTKCe/cEJEkCeyD+XcgFKK'; - b += - '+UyMdeT9QMxxJqCDrnRRLk0xeWy0MzNKPfJU14LiD2bc7GSrlEgAYcojfUsTycnUZSpw31Y5eKn'; - b += - 'lKyDj7AYt4dWs+8Gv8IAzITEQ0IlilPKcHeIuiNJHi22d6O1hu99x9cd3/PxtboJSZhjDmVJfSC'; - b += - 'mtcWaURkvx5TwMggpBOh+waDarMxSajf5o8HTbJFvN0aUtSQ+TGPdGCKFJujAHtMVrLUkhzi2D2'; - b += - 'qHmGAntZeuvHXobASNDtBIV1rxSKoOAjdd0PZmDMV++NC+0fIZgkaUIWimMgRd+x7bfcoNeflWu'; - b += - 'YmCTeBW5bgnmQMfgR27DYgfai/ZeEK8aMTSCQXGlgBbAFpHweTEo/6w5U4UTLUg3A6YagFYYhMQ'; - b += - 'Oi39yapAajg45nn4PAzACJ/hpkQdhr3HUooMw6+DIEOHHBk3MwcWcF8ZeVJsQkvpzAO2Fa9cjkN'; - b += - 'np/24wYoPeHaXxdJ3ym3zNYevEtP8jkTWHeEP5Yqx2CTSFTtVlb1Fl3x33Nwr5w0U+4nMEUKNv5'; - b += - 'A0omken6QApPNhIElpYPujdH6/DzaMBL0ASph1pE60/sSVRfuQlFnMBXAmSAWxrokwglKwTPimK'; - b += - 'VZMYm+RtJjEzzpQLywvFl9pGbCkjYTGVkBorMcCcLto3f6P36HpUFoOQ9PpLIU8IdJ3GDHaQaSi'; - b += - 'wedS0SgcnE+D0az2ItZYU3G9HoC9OTBINohnK4Fl2G1egcXsDWTGhyRz3X42rOB/uF23+yyCCJj'; - b += - 'JKWcJoaA75C+kbTgBlyjy/uKuY19lxaUkVBCE7pIG9hHOLnc3we85s6WPMCEq0VsyGizmW6iCwV'; - b += - 'IgSvcO9pjT2WznxsYzUUd9PxOJOqv14wTxgTHX4yFUYoOsB3X9lvLnIRcJsdV9yKywISOXWfZHL'; - b += - 'PcFKh9VPOT0gLIDFdlHbtw44xbxxuOdOqZf6GQy0KZmP2YAMRtFEsSkeGUmhfyisiCErEE2JOIx'; - b += - 'BiRh806/IhpF6m5y4mtkYJWSpUA6BeG6WBGAts/8R/PFVTEQBdD0oQCazaMAKjtlhQJoBFEAjQQ'; - b += - 'UQKMRCqDpQwG8zuN19oPbB17/Z2PvJDOTyvcGmPf2Ccx7NlE/mYp5Jztpd81DfDzf1Fio4p9ryj'; - b += - 'ySDUm8+WbZHxtEZACEjZEqjV/EGHyiJpoZs58L8XQy8dmn/hmn4S0UZzU52a5v9pP+L3/NKxTrb'; - b += - 'TfHejNtYFFIBYbdWRY3iULS+6aysGuXGKMFITyRJGetexYJ8FIPlJZBQT2QjMWXpI0nyP9i8w5c'; - b += - 'c/4jmnPmb2zNf4KtWRqYUhLcxQNIkqLTFuLQpHisSKpnafKYxjAjvG4tknURzhN5EjE2kunO/WE'; - b += - 'dnMo3EDlwk6CVCSJbC+Ta+X0TueZ5lAlgRutT46b7Xw0MIQ1UoAHxTlQKAiu5r1y0jqEBpc+cuA'; - b += - '9ggyaDDepTE7IRUjkGrHAsIgsRDgIi71jMX8ETID1mYWMYSYkpBJOCDxsI6kQ2aTqC7Tpk3mb2R'; - b += - 'HUmQlmYZNWmk6QYSAia9EAfM5aHhOaFGM0Ax6tz/AjR8thfWRLpW2Qu7jQSAcadJ6NbktIK917s'; - b += - 'IfANJm8anqdXyFvDLcEGCohqlKO6yX3j4Qzsik+GSpGeQkB0X9bIcMiBw+RF3UdO32BI2aXNodd'; - b += - 'zCCTZi76+wJB4+B20HAZ8BTI9B8TeKFnebUi8HIq+7nDUdRk/dY6uR+qlYjPLINcHUzo2amRIqr'; - b += - 'FzGjzTFeSElB9bCIeF8dqBs4ljnHExOPYeFssRODMFURY8FmDuR7M0sjfEfTB2MVgwsNaHzXYZq'; - b += - 'oN0OiBWNcklELY7Nr+gCE5iEqApmHt+edxw2wxKRQVDrXsNB+pwJM6qZDsxcJLOHrOgYy13IjBl'; - b += - 'G3SenlLjIYclHqpwzCEoiggpa0K0YMPAnSlE/UicKdHEwZ6XDeoWKQanRUJ1pFIwhDkwaKAu0Lg'; - b += - 'csT4sz0aQTe0AeBOYNsGqPqGTsITiZMejPpHGkRSoHGEryTQEeFkwAIwCTRFiu03Nj1OpgRIYJT'; - b += - 'cc2/2CxnOSrEgcT7blsLgr3buVHRR/wV4cZUN1mG4368ww2leabCMvKMUJ4PtpKEuzOQnHMx1ta'; - b += - 'C2toURQcxdLRyjY+sRYRpFOjqL3FMogXRTw+aghNpxeYATy0cvyVpZ34lliAGQjSE0sRVQWiahQ'; - b += - 'lR1ScqmAZIplTiGWTLHMCW2JUNXMMiddyZxCLHNil6UZICeA/fs50vGJP9R5IqitjKUXjaNWgyB'; - b += - 'qSOmGc4mCWiGZAfnJEdZg4z/6JfFxySib1wFIYmIX+v1kPAcpNiDKLA+aD6WVBw0iUso9gZ8oWs'; - b += - 'n82B4EIY9Beis5CNNtWY5xl8SHAfZhpvSwZhtDYDRlPAK/HXI85NlBxsMk0g8vAy2PfZfBdoTkn'; - b += - 'LDFYFhsyy+4QIdSMrW71JCWDrN9uzCuOAcphpAESPHZ0Iqa2rM0PQRRFiiIawgE65niznKMHQcA'; - b += - 'fxAXIRejvuWgYjCEiw+cM/2R4CDUG9KlfwmOPpOluscCgWFlkMcB7V4CjwO3EngcnUMo7oXH+Z1'; - b += - '1b29c9xe/ue5LYMET2JXOeoM+UgGWZYBZClUrLUx1pTAATDj3W2KB9YDCQEHGSQ1AwmM2dAGBHx'; - b += - 'IyWr/Y+X4OVBoUkQzUXbhKEAMrTebA2LgoHuLIqfkSJBPpAbms0Y6H4NAMUkCyfJMSUdn9mX7uU'; - b += - 'gZeERPYdonWt0mzJ361EqeG+/NsgGsFKzdYRfMukrw3h0nJLPcFlTDSyFgPkCHs06VhsEk4ODjt'; - b += - 'pzf+7ui4L/4Z4H3oJiJIaBw+QsWZaCLckATrXyKGn2xa3jUTJpzjk+VZAQlWlIZUgQ1YElPMUgJ'; - b += - 'ZsP1xd11NkgSLZLKWe8dClMmioYc4MHdds472b3eXeGDvFGNVrfjSMG1zYqq/tlaMZo69FUNxsl'; - b += - 'GQNEWzW8XAqJ70y+GAcDAM1oloEB6mh+KU+xrOtjCarMNrqPK42Ed8axxHBrkBdjGVgyxWy+XIE'; - b += - 'OiKn0M9jiHfwdysG1DpOBUBjNzl+PE0j5WDRBolJiljLlNur0oJ1NRXDip9FupyjtkBrZGpdlSS'; - b += - '40ktz2/o8qI/1OVFe+nyTDpLNQDkMgiQyxCni/23EPBeHBE139gC+Fmw1W97xCWDS4igDIBd9FK'; - b += - 'WKQG7LAnYhV4RohxEmQD9UXk5il3FiQYHQsOjbqzGbxDIUYXgpampCseSiFrAr/OrcQBsPaDGWX'; - b += - 'Pdej6HCGHEPkmZFdpTA+iN9aYuDlF9ZmBRe6jVHIxdO95EUwrXRPGjE+pmEgAsiBPQSoruA6YBS'; - b += - 'pHlfcO7L6W09+tZcit3tFiZ335I9dKkXjI8is1UWUBTGm1O7BOl8cVeZ+myp3qsMlEqB4/6KcAR'; - b += - 'IEs1D24M65JpWRGnRUWa3K7sq6TPZvIJtK3iPlmu9kkiDgwiDnTap+Awt2+3YCal0y5r0/5vKSu'; - b += - 'lKNHY7AYFToeuAUa9DIOJ1AXtjFV+p10pjLIvCZFAXky+S5VhDwC3IFvD/AuetpdYMhYIBP7yGM'; - b += - 'RbdGWbCyb18mAuS+iZRT3DJnO/skwCI8EmW/4+BnZo2cEobvvgZRjsWIXYD1zCyMTJTAwPMY9F2'; - b += - 'mnQj2VkAeMD5TLs+QzKxRGx6DBlpCPpUA+QF1FRijNXnPyCoI1N9BviSa/IzyUbr5wj2Y6jibPL'; - b += - 'lr6Suv2SQSCc6OiJmEI+rd6fURHxogkVVQeFqazWcXjHyFQRxdsrOzWy9DDcu29ezzrgDWSXpoz'; - b += - 'PZERxjMslDaTcNSI/EqS/v8rtv7HKXX+8ys2Lf1uVc2WVkxMscvSAKE3ZzXhVKhOahuvXs/Z3Q1'; - b += - 'PmONl4gyK2E4mE9Y0LOFIl7JC6t0M23hw1/+ao8eaoe5ujz4cpWImmKtEo7JasZH93YK3JHfh3j'; - b += - 'JxJI7fplt8zcjP2QlCI3Padf4iMuGIvZMREddao7d+i7Z/Dd9tEF/HAhXgsTW8sQwjARWMZcu94'; - b += - 'eB2Z8slfwKPaZ2sHvKK1j8mK+JesqEpVRPKd/3xKFkZqrf2mCQKyU3ftx+so9pT8BQv7R0Fznw1'; - b += - '7f5DJufvbdUGRdaPqzMbVmb7qxByCSmCWyF84TxrXlTAtqSKjcUVNAZJiRfMWreeK+JfIv7BhPf'; - b += - 'arJKFf6SSwDQKdpvurClQN9ZCrNEqGZom/V4kwljiqYucv/ROOGGX/rWqphRDkmlQcSWwYNkoEA'; - b += - '4aGKFEcBPUFFEcmXdIhtHlURYpI8c53EAC1jEnArTu+kYBbWBQQHyXBWchm4tZv3p9w1v34Ic+6'; - b += - '4C51QOvY+j9Qx8am6/hf+UCT/OcxeaS/tMolEVumP8AoHMELv1uXcASLS/uEk7i9ssR2134nDab'; - b += - 'YoPGADuO6m9Y3NYzn+k1XifgkYnkBngMpNHw6B3Yl2Q1YV8yEVZUq49j3YdV1fblUJZA16Z9dfK'; - b += - 'liKXWfaya6cpqeUYf0CmNoGY0QZKSk1ghgG/uxj9kt7H+oFiAfiCsmdTvoEyn4Bum1MtiHBKwj7'; - b += - 'b+bCkYt6v54HwQjc5c/KObPvSCHegAthUz0maZNTzVDbYex8xJn1++eWq990OQKPXAVNLPNHLgK'; - b += - 'fvyzK2hm9Y3zSDhS8aUqD0dcE+SF4uhVpPVz9MoKV+tXrmBlPWZTGrGJ7Wv+arTB27mKt68GXUu'; - b += - 'M2NVB01pEOGIXGiptv1q8Y8tIU1sCqU2B1GOQaiVTK672R6+6CVKtVayuqzmSltgFQvUKEAHJzD'; - b += - '6e/NogEGYUIZMRB8HwULyMEDO4oPm2fwFtIapaSdoCJHE0FjsnQU9DjP9LOsC4+rVeAE4o9V06g'; - b += - 'TLYz8tcAdWX7hl7xEYFJoHymPqtHAN+/MuM4PRKCHNLk8D0OYwhNQs+owZHoybqBgh2+zbEipIa'; - b += - 'd8LnZeEKoyGVBAzLKainO+dvEjaRHfPR5dfuQ4a2HbQoacuVfAba4X+L1LUqeOTIgJ5ACUZ8jkr'; - b += - 'yC0TjbEdPzkgWSZSlLgD1tfY3Eq8tVqwsEjicSBRJtfkP06GqIV6yrIDuagTgn8IQuQYxPSnl9h'; - b += - 'UGAQTiT3V47PfwX2L+vuEf1RgjRLOX87ekvdtT6DWFjEIeMzBiQKn6Zk6TJX/+f3bJ5zSnTWVtq'; - b += - 'Qd1tVdt6S1zPG3ppjlKWzoygYGjtWnfo/ssRRLlf5p84gfaMljzz4pQmN7y1KQJYBHUABg5YLAZ'; - b += - 'NGdF86mQMiDggGQUeYewdHDD0mBpoMHP2QlYhMjFPGZIo+MoHQQOOh8mu3hJylDw5VY5h0VKdFP'; - b += - 'HeTc6MXCANBzRWY9F6G1sBPA5l0nhd70w2BL7DfEOPIS1s0TDZSQvMjCT1iIUwUvnwFI2bsLrLQ'; - b += - 'pfXU9bCm3+SMcBX0cmj4gILDLGRgTitxj2klDcJCbctA+Bnyn4sw0tMbGY51gKE8JewaoAvGfxl'; - b += - 'XeoAMMoJuZlIYnOZZCejTcLKOcWQ7kAkyEZcr3I8BKvu/MRca5+J6bcsCY1lfbfDcdkR2SjGb/Q'; - b += - 'OJ/ZBmhiMxCQkGbbGUF0Vg8TlVFRycaWcVGbwFo1mHJAu1hd2sWOSBSho/USuWLqap/T/GtZ87z'; - b += - '4wN5Wd5Tsx4OWPIOMgtgKpelwjYYM12g0Fa4RSpexGtHmw1UL2faQMXBV2Ul0ON9nSjj0qKKVYA'; - b += - '0QtMUtIXZo85FGfJ54g2CpcsVkImd2Wawli1UedhYXa/LmrrT1bJ0yCFxI2SzPWIFhkiyzXhqdL'; - b += - 'ENPE/AndcxZjjUzbvVAmyayxKM4SWBISf4mw7wBPVCj+ScUObTxTgtRip9JsMkDc3xQRruab9Pt'; - b += - 'wtCk9qemdzCcHjAWNZsF2SMd+ycmu9OpHVuuML8+fTBs23DrOVN6PHmmQiaaCoEXSAiBElmhjlZ'; - b += - '4gNAYh3jTJOQlAnNwQrhVJJtkBHJTOl2hgsf+J8dh0AlbLBqAEsO2DcSIJVmmMpcyiSKHXiP0dD'; - b += - '8UWCCuTCAWRp9UeZaEKmBCmqJhepP4OPZSXeKnpcTZEwx3YMYQiCoMAakCA3uUAWh4IocJqtRxp'; - b += - 'AxT2oDjNk7ABHqsJRuwRMk61WCTTmjiKY0+KcI/PaHEc0jlp9By4kiPxPyTRaBj+CxC/qxmeXvL'; - b += - 'wVm63F2kTQs5F4J3az+mC4DfyJCArKJZp3oWUirAt00BvqMyCHfUD6gA9+wdOgAqoEjzOPy+0p9'; - b += - 'rBLrQN2G4niCsV6wi0qp9pD0l0aZSUh+VYvvYcDyuJcJxwwaA6kazZlB9AEXiDyCJgTMx9CgECW'; - b += - '0Zo0wGkuw+eyHfOMppx67lCbQgLECJZmr6KSzlNt7utxV28YEsbOWBLOyBfReG4h10DfcJd2S4Q'; - b += - 'pL4SLA8zAEfAoynke/BdAxgssUnwi1EknUGsy1DyNxS4qnj5AbiDf1GfRa9FunGxVcdAHTdAKbn'; - b += - 'RCv95FvK/pNv6TzVBjRlPIUbf3QwoTGAHyTZQF2ts4mcvGWIW8qprX+jgSeJYQITIt5eYNHhpUI'; - b += - 'KbNT96NeuQrGm+NfWYJSniA3U/oZDu4if35L7CXCu7FWOJzrS6Xvp1JDETi1p3KklXqcGq06hKN'; - b += - 'S1KNSMQZB+yg3GICmy7uGT6NKWTgeKkplXN4H4JIg9+2hJZ2aW+85HI62Az337baXh+L0lvKNKG'; - b += - 'Mx7C+4s4oSpEXMjdbBPhAVeQoY7dz5FLcIP89JVnEik02J9g6j02Jh7yPObiALkum+VfnSNjn8e'; - b += - '5iKNEJMGKN9PT0aWgkbnFZL3Mdn0UCyye0CEeqRjocDsABQxwLMapcEgqpUB1JZZTKmL33db7Al'; - b += - 'FwI5GglWoPGbUtPGF8BXvPBNy5zxKYW0pSuljIrH4MWkFCVntzCxNgjv8voY932TDDlxJ/RNmYp'; - b += - 'ryMCfLL5s8zBkYJJOUl6gbFycq83GoOBmQQJqmKZUMRXly5yxaz/rcnwlElUoiPzvCWNWxpP5Bw'; - b += - 'kqM3857UQq62KSXQMEzB764hayoO/c+Rl+V6Kk83j1+9w6E208/XGLIey1T0Jhpcq8wyQDbJONs'; - b += - 'k7g2Q8o8fRR0rGeCEpgxswwC1EKTXWXNSCFmTLbY5LV+MhNhUTe7sglPF0LGtOcY5Lygu2cSh5N'; - b += - 'dTu4ssZN/w5riBUWB1OWaDLBvEmdP491YMHIXmdIZAfHL/HQ3s2r7LOLifRbhJkTOaFohL82Bv4'; - b += - 'VC3zUDjMlAGEedPYpYY4lL486QxuFVRLHiA+8y4gH8NTFODz3sjzeGjZGBG/fHRkwP2IgBY9PDf'; - b += - 'yRhMJj5hiQrtD4KbU4RmSAwX2/F/GfQH22AnoB84vLWLz77kwwWC7MxpD4HDknoQDWgH38Oixy8'; - b += - 'kCvD4ecgcFFfEDgPeFF8i22B2G+xkw29Xp9J0PNgpg8mpZpEzbGJUtLJyZ/kZHZnhJ0wkS8qiJ3'; - b += - 'g/xIUxJqwj1AWr3vmTXAC7zaylBRbEIN99nVCyMDneEIkBD5XB8OJiccvEDF+htv0S0kTDt1uoI'; - b += - 'wXe960nmhVxfp0NINpaJg5FeFV40YGOQLgW7UOJDWcAU1/wgWJn7CJ6KOxAtyWcOMUlAaYkErFA'; - b += - 'xVJSiQpxiDHSHivexMLWaIwm3IPMIN7APe1mVf1/Xg1+JUJn4UYAoyqwDBOmv2g5RPi8VdutsXP'; - b += - '//4W7/vV5j/Pwv35PCc0IeUm87J9i0ma7fALv7/D+37V9RssiO3uxpD7EOAE/RXBIu0bQvZcjrV'; - b += - 'KIT81366g2zeLrSIftoJZACqXPStuLssyXHLkAbC3ZQCQ9BwQQXoiEVRAI80oQyiWM9CF4GuiDZ'; - b += - 'QjDW/FkkH5I+81EtE06bOCTnqGt9QDMpQOEKBI/GM/im7TuNS+MgM47P6vQmhifMhoNJVgN1xqo'; - b += - 'timOVsFj3zR2H5Txr3ZtZt8AzTyDdDc5XukghAwiPawSc3JCZShjvHi4AOkeaD4r6EBa4ryOCCc'; - b += - 'KPtL8X4XYn5xqlfjDMd/U/BfG/9Nw3/T8d/M6j6xApwHibNfzN83EIo46tsoHdMnKMj3JDYc9Y3'; - b += - 'MmFIFOx5C13M4q/qgrIZkXXhCNVvdE3uvLq+JJdpYg01rfr3+BxvZCdXz7sxBpP4HmAmSkLsXDg'; - b += - 'Dh3zIG9wKJ5MIQbJhiJSEOge5RwVoCFYx2W2Dpohd4OAVQF/KOEE7UJELVwVB+Yj7WokwQPeeqW'; - b += - 'T9nxPIITobsw3Qu0YdKLWdcQO0Z65LIKJCWCvVGPy6QViXT/SxBByaFWX4gKJ2vJflvKlgAU67T'; - b += - '35Y7V1OkuRjyJy1CibPXWfyN/mXx11jLkFj2Y7qYAkAEgQ4D9iozgPbRV25YiQoQfIspFZ96UYV'; - b += - 'RRMUhng7SGwNjLv+uBuYHKRwHwxRKcIE5bwiCpoCIm7s3i99z32TiJqcJ6TjCBUh9hCg9xy8u+l'; - b += - '2N69zUAtryMcTfQG6RI2r4qmnyjU3fBt5YqQcbxr5Sw9h0xt24er1m30+eofYVIfufBFUHxJ+9y'; - b += - 'zpM/BQzB5eGRnZm8petfkX5F9D9Y2PH+0565OnRhidUixMDh4Wt8iZUxDo1p3a41g/BsFaCgjSf'; - b += - '/4595fcgX/BkudaPY79WMVWd0BaUqUB7s58ANP3Un1ToNNueO/3teXLf7bnT354nzQA5jDNJV0i'; - b += - 'gTQElknUfatdJix7r4J/prAD2I0oqvax9u+nP7e+HfYm/F4+rXjSTe9W++kym9yY5Qhnkd6eTIT'; - b += - '4ZO9jfm7TzgP+cA9a18J9VIIkrnxMYH82Z5MwTyyGnZbJtC0Kc0r4RkuikzGd1kJEEnkQoUliaO'; - b += - 'vZiualWpFqjzedWC9mfu2NzlNQ3vOF6ZBQ0pRPhgTcgzgF8K7PW3XLjOo2PTlw+sw13270c8+G4'; - b += - 'xlE3lTk+yQtGyPnTESklEhJobAkIaFBEaJMtHM1o0HNh9gAb72MW0TTKlUQ5It8cI0X5glN19Gr'; - b += - 'XqOaOlcflfbgTOzZhLmrkVGYxVWivVsLofeV8WOU8Tu0yGukZEDYFNrxfTcIrAnGQSMRi2b4NST'; - b += - 'wbJDlojvyHkhs49vZZuyc0ZxB6k3kYNZDMilv2NzqQNnCuddB2rUJMUpiF4ics34bVbpZB4KTiZ'; - b += - '4L4OktjK8MVwM7VLC/SZyJfF9cysBWTY0c1sbbBJolXBbfxGNVtS9rXGLVKLYPWUahtOcqH/6og'; - b += - 'mjTCTmFbOstfWlTB1uOkYQhMs0IM6Cs6Draf+yf9a9BXxL7ebKJ5mgdPj3OPtEa+zjaii+iAuyt'; - b += - '0mBY72qMhyESBvjNu4ODNO4jUXUcnyiZY3CmxRkUf/iU+QbsmNAiX4eKyF+lybeEcMBEEiekpXt'; - b += - '4+mWTsSDhG7zQJ1wjCpGs0XsvszUaRRsrk/Spo/2oD1aBGUCUJk/Mnqw/qYvFz436jdPkkd2XCm'; - b += - 'jX4+5dLKrKQDieDO0KC1QUNgXS3oB72r6j2WhNx+fq09ELy0XLBYH0wqmhIaLmzpnL3aauhiD1y'; - b += - '5HWf0KmpGJixeHAhAcQzYloAr8mr6GjJX/iBDDSCBHJCFL9PfMQjEAD+WBOskI2iky+LmzMd8xL'; - b += - 'xs/4MXLJZgS9DEnwUjttPW/Rd4t56YClJhaMPkZ/QvtoEZ4UmP6/3bdvtrbHY1CTt/9JMyQcs03'; - b += - '5Vl/5/6zi12c+S9jHdrhXTrfk5+7ZJ822fE/JwJmiaIQyOYhgqYsPuuA+DHrLR/yJIpYDRv9Pop'; - b += - 'JBHtjjBFoojoq10AeCHgrN3MbiQZuuxWLz54cDBiGj7k0U2goHL/O2gc+rIQF8WL14PfelEXYGE'; - b += - 'ZXeKHRZoqCiKacYNeixLU6Is0uA00tI09/IzIAFspv06meN477rKPHUFwfaJwfOYHE+NZZ8mBm+'; - b += - 'lEWvbzNjrNPCJk0gfzKUvMvf29Ibg04SSbxQlZ/qNg1M95EdgcGIHawp12yTvDvsTPZahOZpfDy'; - b += - 'e9mux/67FD+A2SbqghzYDGfGYyaRykyvHZ5808IzZRh2NqOcR1dd8SdWW0CgnGqzV4UB0K58i0C'; - b += - 'vHvEX0zuPZGJ9Rh3sjTAKEg0H5cfLxMxmBad52YOS2CHE3sUE3aXBkJ5lTytS/vh9mX8NrBifPH'; - b += - '/kV8BnU3sGYa5/1133n3UcK7ooR0OVE33Udgx6iSFbPwUGRUZNROtnuBCOvc20bzcyN8VCZI/eR'; - b += - 'oc+1po0ljwCC13UbzpJn7cz9D9oB9Ozd8z85RohPpwWde72xsXblbD1pJvWJq7CBNoqoSlQIbSD'; - b += - 'rNL/fmOQkOMk1lPohnINLnXbMsMLI7SGIuMY1pzzZjB3sUjqNhhI8O4ukhWpPTuhXVwOvE3mY0l'; - b += - '7GpFrVmbA0l3c5ouuH+e8yBNJXvN9TcTNY0OXGI8oOggRZuHYE1Zz8rOLWWGH6xNk5hhqohl+6D'; - b += - 'e4bMYvduRTxlXLOfDYHZqyn67J/k9n/EPGtFFYpMc0DNc4mBH1+OCXhtqIZhFWAnADt0K1/DxNe'; - b += - '/woq1oL3yCcSU7ROz+Yvbfw2JNWK09G5cYdINXGj1NYIZt+db2CeFXSm2R1tLmMlN3siWIA6GnS'; - b += - 'EaSuBNDRhJQ0f2lcr1aeZsjaBVVDH+ngDYorUfVbdQM6/cvsb0WiKa8ZDlek3jMnMSK/mBhos+c'; - b += - '8VhLkyUxrp1GCCwijWmis1ZdYSZiBjTDq4pnvaLparhs7Oxft3xzwUqSiysqa41TaWcqW5oWixF'; - b += - 'Ts7rQi0xAXopMUZ9/YVuNFWKupjq6/OhCc9aaPI0x7mSTPPU0abGYtwlU8yQFB+xFfPZqVvlMnW'; - b += - 'YWQ8MZyp5EiCnM9lr7ioz2Ip8TAmehjNCXUeCkfGR2CLd/Xy29MuEMtSEx4RcIph4HBL3U4/djf'; - b += - 'CWY0+gR6/AS28ZVODGi9aBB4AssMkyAolkWiNfWGqgAZ1S3l9hf6oHS0qi/G01ziF6Odj35gcmd'; - b += - 'pISlb7fNZgfZsf0qeqnLn+mBH5Ok636zJLV2J97P7d4Pz/1fn5rqp/bdfXzC+/nl97P77zXvvd+'; - b += - '7vR+fuX93OH9/JJ+0vnayde5AfgbB2OF4Q3MJO9noZfjPh0GESbEK5b8tRl/aUW6vYaG3r41JP7'; - b += - 'nIdHsrTAn3NdWrYdH/4VP6K6hxMdmLAIgk1pFLEq7Ckxjdws9/ZA+GBRxGNWl2UsNzAkaDPEqHq'; - b += - 't8rcCr2HvpOr08FoZsUxIuEc1Opsa528AB658GPNHsdHFByhvehrmCd4/HpPiufI0mXOl+B82m7'; - b += - 'CViihddvu3ja79Zc9Wba+pjFqjp+B/7cF8yRSt6864nf3j4nWeethPeMcWRD3+W5kbgn6h8zW3q'; - b += - 'H11U7DY0WFDirjc+mfPze088XRwDmOQD/X/sg1WzGzRDQ2jZ2MOrdF3TNPlniD/Tl7bEX0lxZWX'; - b += - 'pOOe8YaU1dZW13bvXVZ1fXTwl+9jznMlVTnGVc16f6urznGnFlXWlWojfgb+w+KupLulUUlc9rV'; - b += - 'NpZWXZlNoySpXWdKopLZnSJS9/TEXnjtU1mjZa7KxHi/yXib9czUvPE3954q+6uGrc5Ene/fvF3'; - b += - '1Hib3z15EljxpZNGFNWVbsn+N/uR+/f8tHK/ktOePKVc+e9lO+6xePGnU61VnQ+XXSquLpvcRn0'; - b += - 'rKzKqSmtHlfqq7ed6HwncS2uFE/qSusqKzUtwqGaYFyi4i/Jl06GvKKUqXWlVSWlOTk5nXO65HT'; - b += - 'Nyc3Jy8nPKcgpzOnWOadz585dOnftnNs5r3N+54LOhZ27dcnp0rlLly5du+R2yeuS36WgS2GXbl'; - b += - '1zunbu2qVr1665XfO65nct6FrYtVtuTm7n3C65XXNzc/Ny83MLcgtzu+Xl5HXO65LXNS83Ly8vP'; - b += - '68grzCvW35Ofuf8Lvld83Pz8/Lz8wvyC/O7FeQUdC7oUtC1ILcgryC/oKCgsKBbYU5h58IuhV0L'; - b += - 'cwvzCvMLCwoLC7t1E03sJqrvJoruJl7rJm5d+Jf23X/L19e0lIS5k+qbDy3EX+VkUd6Y6U53J1m'; - b += - 'rNGwct2niqqtnM8QzTZub8AzmUWXZWJwrd/CzCeLPhrlRU11aUjZOa+n7HnC/lfhrrXn5+4u/br'; - b += - '70APHXUfwNGzMdqhQT38b5K+uU+QZpNBeGjZmB+bKbyXe6+MuCvGeIOVPTqWRidVlNp44lxdUTJ'; - b += - 'neqLp1QVlNbPaMTdGRCWe3EurEdSyZP6tC5tKQkv0u3buPGdistKezStVNV3aQOYj6L6dwhp2OX'; - b += - 'jl3wheLKCZOrxUuTamAAhor6x0C/xWI9GOqrrqupLenUNWd818L8nMKCvHyYK8VjCwuLu3Ut6Va'; - b += - 'YW9IlP69Lt5zirp3zCnPGwjhWF4umlEyuLsXiayrLSko7TZo8DodXWyfKHyyuzxigFQ6mO/jSGx'; - b += - 'OeQ/p4cRVtL62uKq50SqurJ1d3d0ohLaZQXVV1aXHJxOKxlaVOyeRxpX9onHDBjimvmVzVoXPHn'; - b += - 'I5du1FPSqupD9MtWxsF4dXCNAdkOjcKkRi8dA+RLhDX+Oja0dWjq0aPHz129OjR8QM6pAeFguPp'; - b += - 'T3fwpTcmPJfj2QeGsa6qomry+VVjYOAgj29dpfnGHJ+PK60pqYbddnLVwbxXQb5DxN/kmjH4Vdr'; - b += - '43k8Xf6eK1zqW1zju0AFOSfWMKbWTO9KW27essvL0GVUlTlmN+IDF08SOCR9Q5qe8juhonfiqwT'; - b += - 'xQgNhw66pLuzsjpo+cXF1R4ww7tZ8vc9XkWrH5ltWWFVeWXVA6bmTpWH8DJpTWDsM2jIDNpSahd'; - b += - 'Mjci2qHd4IPh/Ue5p7au7soXEymuhIYCayspm7KlMnVtaXjZIbxdAJMEltb2RTRqNqySaU13Z1e'; - b += - 'Q88QJdbUlTqVZRWllTOG1Vb2K62i1nR3RpaJ6/k1Ts2MmtrSSc74uiqqAQoTvRV9ppy9Jk+ZUTS'; - b += - 'jFgosG3K6g2NRVjvDGV9dPKn0fDEe8g3xSaomd3fGlY3DVlaX1tZVi83VmTK5RgzOtFLaXsV4VH'; - b += - 'MLaieK/taKFVNaK8dRdU07RnzPo3kv7KLRHOvEe1NbTsv/OsNZJ/5yxN/dEVu7KGLj/aHieqT42'; - b += - 'xm2tVfF32rx99ewrd47U/zOFX+W+CsproIGFJeUlNbUiFYPnyjW+TjnFNjOndNrJ1cXT+AeOOPE'; - b += - 'AFRNcCZXO8XjxYR1xEyV3+f3Lrma2nG44mqx1k54iNAecGnU1oaI651ikz5MXA/1nQ+QzgDaBme'; - b += - 'QpmXCWkiyteHnlxZXDKmrHTJefMIJpQOqRLvLxg2omlJXe0pp1YTaiXxnsOhqsXo+rLRk8rTS6h'; - b += - 'kDxvEN8anFRxxUOoPTQ+vGig3BS59eNqGqWHxkWMpaca2YRVNqHTGTx5VNKxtX6oyd4VxQWj2Z2'; - b += - '+t7LvpWUldZXCsm6sRSMU8mFYupKMbxfLFTipGH12vE4E4ej+8X14j9UM3M0nHdnUlihp14kqBT'; - b += - 'Ksd3rCytyj4Wyi+ZKDYXsZTpM04sFvNNkDJiQcpyIFOyTWfbAT5r2ifTXpdjEj0l03Kv9Kc7+NI'; - b += - 'bE57LvfIAta+slg+STaL8U0W514eI3vyzz/b2MTrbR/EcPfD1iRt14o6obLGoa7SoY7ZGYynT65'; - b += - 'huk+mnuC3DYcoVjyubLrbLmlpnbClOO0E8d+nYsWPXfJX/PaaNZfoDXnsyHdaJPtN993aJRKEv/'; - b += - 'atIH+dL79aDZVwqvne2L30Zf3+Z/qtB61uml4SDfbyD6QKZvi9M9KJMfx6m81Kmv054/m3C+8Ac'; - b += - 'pPjSLUU6pDX/34KM115M86WvrXmqP4y5Zj85G8q5fvE7dbGE/EBjas/feAKM7fGTLp9H/Mdth8L'; - b += - '5nmXfmgNXbf33I+E6+6anFkV970/tU5cO/EvD2gvbwfUv4/vlIT/Tc9ApcG1bdVYFPn9/+UK4Tr'; - b += - 'j46+eJ3xkXAz7utIFXtIBrz/vLWsN1wII2bcLY3kcy4XpD/9oj8fndNcfD1T3ho9ywr/71J/58C'; - b += - 'j7ffNBouB66asGkMPcXrv/c+sUifN7j/Afh+vKGx16m99vtxPpe/TgM47kk5/kIXB87/ukojm/l'; - b += - 'a0lw/XX5nmS4bn2ibwpcv7r0vlQa/5yWcP26+xs2XJ0xS1rD9b/3zk/D57X3HALXo7K/SIfreYP'; - b += - 'PzYDr9RftaYvPG1514HpDm3ePxPrzjjgGrrH3Fx+Hz08c1RGug+eM7IL1H3RTPlxPLj7mBP/3d2'; - b += - '/L7oP1p905EK5d+84Yis973zMCrnXdup2D9Vd3GAfXj8/6WwXVP7wGrp9eNf8vWP9ZvebA9exXp'; - b += - 'l6Bz1OyYGvSbj55xG1Y/8ZDlsP1qmMmPkz1D306xPMH6y/7eQtcL/5142f4PK3vT3B9YE6mCbSg'; - b += - 'fV8RXrPal+NVs6/B6/vnPk7Psz7F69fnHmLh86w+eH15ch1e7eHL8Dr7jbfpuWaHMP1WX7zalfV'; - b += - '4fXndI3jV3v8Or1+/3jWMz++pwev7JavCVP9PeM16uEcEn5dcitcH2r6EV+3rjChcW31chlc7+V'; - b += - 'G8uuNSkqj+Yryu//hhvNpHt0qG64JnKvGqvfw8XjuffnwMn4+8Eq+3ffxtjOofnQLX4neexat9R'; - b += - 'm4qXKfOvQOv2uw2LSxeH/h8R6glXPVZs1tavu+vXzTbxud2uBXmX31FK3o/vTWWN/MuvNqrCg7C'; - b += - '+go2HUT1j0vD9gzag1f7h5sPxvYe0fMQav+HeF1w6FVt8Hn4xHTs7+3b0y3eH3A8skcdhs+POzg'; - b += - 'Dx+ug1zNo/BZl4ni+fF5bfP50+8NxvF/ddTjV//IR+D0uu8fB5wMuzcLvVTwhTt/vlCPxe76W3w'; - b += - '6fn3LUUfi9z0g/mr//MZg+KyUbn9emHov5zz7oOJo/hx+P5b3SoT0+n13UAevrProj1f+XThbvb'; - b += - '/h80MbO2N6Xvu+Czx84Lhf7s6skD58/tTQf+3vQxwVUf+duOB6LGrrj8y9fPwHHy+58Ej5vdXUP'; - b += - 'HE/tp5Px+VelLo73l5uLqP5hvfF7jHu5Dz7/dUQ//F6ff9Afn7t1A/F7tmxxCj6fuGIwfv9zTh/'; - b += - 'C3/80TJc8OAyfL5o0HPM/0HGExfs1lvfWM6Pweeris7G+qhnnUP3njsH2WAOL8fmYk0qwvV0KS/'; - b += - 'H5gu4TsD9X9i7D5z1GVGB//zF5EtW/YDKOR7dHp+Lz6s9rcLyeaDcNn3cePx3H8z8rL8Dn7+gX4'; - b += - 'nh3H11v8f6M32PKcXPw+dRbLsXv1S7jr/j8tiWX4/f8qeOV+Lz3s/Pxey8cfw1//+ssPo/w+cxZ'; - b += - 'N2H+1b1uwefFrW/D8q767HZ8PmrTXVjfyw/fQ/WvWI7tOXb5SnzeddU/sL29Nq7C51M/XIP9eTl'; - b += - 'lLT6/oMeT2N+LLniK6l//DI5HUut/4vPVkzZZvB/i89P6vIrjOWn9G/j8sv5v43ivevtdqn/6+/'; - b += - 'g9Vjgf4vM7X/sEv1eLhdvxuT5mB37PhXk78fnWNj/i994V2uVf/5IuiCQTHza0uLqmtKhswoCqW'; - b += - 'mTvKwQd39bHkx8OZx7xCr0FBVfbRzAAM/aDnpfSuiHI/SdK65zzTp1cVSqldX82LfvjwUTL9mZZ'; - b += - 'sNaYn2nE78h3JP0r0xckpP/C6V7EtNTUjRW8cYkgSh2QCIueji0tKa6rEUUDf1wJnHK14JmKxSB'; - b += - '0lGVcrhGNJtO3J9RxB6cbD3vxmIllHctqxkA3ZiATJd+5O6HM+xLSD7IcVKYfSkj/SyNeVHyN6h'; - b += - 'kOMJXjKyefL/lmFlOUlRRDc7J8772e0PYvuByZztWDz/MS0r11kinJdJ+E9NCE9Bid6GuZHpuQn'; - b += - 'inS7X3pCxPSsxLSsxPSFyWkL05Iv62T7LZ0OgxHWa0zpbiqrMR7/rVOPIjueycmeIIjfOm2BslD'; - b += - 'ZLq7QbIwNQYG8SAyPcgIjsEpCWklj/0Tebahh9I+0j1CdZcUTykuAZmSnCri3lqRp9Uf4IXFFjK'; - b += - '5BOudViquU0pLxqCaBZjiMVWlNbWlxLxvFvWcq5E8tfUBq49EA/0Ps7VTgLyOkHzqQPP1dxxGfP'; - b += - '3SEH0zbX/2pwM4oKXTa0urWAZybIatDddIDg084BE+ma3Dcru472w4kmV2Ms9RLO9L4TTI/4A3P'; - b += - 'hZ1Ur3LaqZUFs9wyiZNqSydVFpVi3sHyxjFUSG2RJQIO3VVYjGVloivWznjj/dUTHaxY2EHD8q0'; - b += - 'UYfyQBLtdcf55HDAsycnn15bXFLRPVn894fWTnlNh5oZNWLddO2Yl9/JrzLCvYPFqiA71eaJNp0'; - b += - 'BOptDqB3/p8owB7YNyjA7JMgwO/rmRacDsgari88fI6apqH54dZmYH2IV1IivUVUBv4rlUSr3nf'; - b += - 'TDbZyLm9rSer2X992Sysk1ddWlTlnVtMkVopRqkH3XlE0rrZwBI4djNnkGTL9K6PIMb/XtOJmu7'; - b += - 'XrSdRRde15F17lP07X8R7w2zOnowvWl1iV4nfPm9Xgt/de/XGL3jSJx/WRa/wK4Ll142CRx7fnh'; - b += - '4pyl4jr/8A1r3xDX3KO/q0jppTVsLZjxtNtLW7L5kpG503ppG0+dMGn9fb20kxact+3M93v1nLd'; - b += - 'qetuVB/ce+tUHb2w7bFDvq18fHH5xR0Pv7we+/5zRYVXvh25+a0av6Z/1XmBktz/ucqdPntnl4Z'; - b += - '0rhvcx5uzeNvWtv/aZ3fqITh8fs65P1psf/by1884+n81b0m1Uj2P7tvt7dO5XV4zp26YqtGrVm'; - b += - 'mv6Lv5n3/h/79rY15y5+bObXtrd96LBz1UXF3Xt919nxos/tZ7YL6NsZK81bW7p98Bthxz36r9f'; - b += - '6dd24OKdl10U6X/n6Ke/PrbkpP4fH3pYwc/nVPcvXrJ1w/Tv7uo/Y2P692/8Y0v/Uy58cdSzX7U'; - b += - 'acMvoXjserug74Nmuw7ffGZ45YPSShx48Zs4DA2o23rak84cfDriq+/PRWedmDLxx3KxnWmScNn'; - b += - 'Ddr+9Oe6X4koE5F16b1u/RRwf2qHq3svKhHQP//c+0uZe9326Qu+vQ8k8PPWvQPScN/aDz0PmDD'; - b += - 'hq87awe4zYMGnnezV8PvvCnQZPWWFW3bel0Su9vn9q27dOSUw7++7dtz9226JSMxVPurGv74ikL'; - b += - 'isdfVlZtDv7up5M/NYcUDq7+8ar/bhhbNbjfL91aPPbr0sGHXrDx5WMff3PwrYu6961dnnrquFu'; - b += - '33bfx8qJTT3ru3Tce7Xj+qSndrp1X9vPyU5f1eveH2ZkfnLpg4Wt1S28/ZMiqRwYcdPkppwxpld'; - b += - 'Zi+xsrZw855IZWyzZlrB5y9p7XX3py6edDbnjykg8e7pM1tL7TMe8cdf0ZQ8f8suO0r3b9bWjGz'; - b += - 'fnXHPyfdUPH9rZ+vPHg74b+5YzQav3s406bdMbTrd6fft5pG4/LHXHo9QtPuyBv/X3vrf3naZXr'; - b += - 'z3whdog27LmvOz5xZUbusG73PzqpOl427LlRxya1rLh1WNvNj5R+uvTVYe1OzX7y9sujp68o/ub'; - b += - '+eff3OD3lwpFftOlQc/qQ0Ss+OefHZaeXPLh5bN33755++JTnzkl6tPXwo07pturyif2Gd7z1sq'; - b += - 'X3F104/MKnFx61YsA/ho/e+VNV+paPhtdMXfO3w6/JPOOTvg8e8u07p52xNP28LV8Nu/SM5w+f/'; - b += - 'up9Hz92xskHHT/uhSlfn9Fic95JuzcdNaL1qRdvOqnn2SNesF+59ejoghG7Fz7bL2fgMyNO6r5m'; - b += - '1NrFP48Y3+6gNd/dljOy4Ys2R9c8P27k1k9u/qrlrzeMnPfAU98d2+OlkV+d07XmocHWmRV52vy'; - b += - 's4m5nPlOk7Sx7ZPKZjx3bUPjBq7efeVzukmff3rj5zDy3//RWv7QYtT67w+efje416uvqH+88Kn'; - b += - 'f6qBVXTWvZyb1/1KZD7y17/JMPRp28JG3D9qVtzhqy8dDvll0++KwubXN+6n/+RWfNajezIOPgh'; - b += - '8+6pcPZobFvbz/rol1n9rowGj/79hM6LVz8txFnz0s+4ZFeHeadff1HG04fuHj92Sc5qz8ZbX5/'; - b += - '9uC7/xvPnXP86JwB/752SZfi0TPfcR/rX3/t6LOHtf7ssPeeHz2jZtArU17Qzhk59D/hwbtzz5m'; - b += - '07dr+W08qP2fD/ed0WD5+yTl1h60qHNnw2jmtiz8IT1qSdO59Mwe36231PPeNd87rcEao9txNrR'; - b += - '+Zfm/4nnPrR358yBn93zt35XVDO+ZdcdCYs9dum3HRlP5jqj8/J/32ebPGHPNg968+bPPgmK/HJ'; - b += - 'FW89+7HY754+IU+I19ve97OYbdePuLOYec9cMxlHZefeplYHdndR8YfP8+4ftScaXnfnPf0rslH'; - b += - 'vfbU0cU7f3mh419rRhdPv/Dkx/M2Lih+Y/RV7Xt1f7Y4JffBH17d+EvxZdpLF8w5p/PYe7Q5N3z'; - b += - '4UOnY17QP9xwev2nsHOerMad/99LYOz/5rODuLqGSF5d+2GdYffeS9ZesrLjmqiklXSbc1Hf6g3'; - b += - 'eU7O5ZdOaIrW+V3Drx2B/y2tvjnn3q29peBb3HTX8wZ1hanxnjRmxdO37UdSvH5afkb/3h8f+O6'; - b += - '3VVr811K9JL02qGn/rq5lNLtz+3057T7+LST37qfHDpoWtKi6fPOuuJI74sPSl21Y9vvBofn/Lv'; - b += - 'f6zeNHfk+Ktmj9m2p/yK8T/9/bEv3xv71PjCm8s/u/6X78df2jv04YWPtp/w2sAjV165s3jCX9t'; - b += - 'uP+sfU6+b8Hm7ZV8f3mLThIPOj458da4+8c2Fz7ePfp43MbX7rwXPl1ZM7N9799hbjrht4lmvP/'; - b += - '7LJRNen/jAwBUXTFifXLby1OXLt67p+f9x9x7wcRTXA7B291TdCdU00W1wmd2dbbJsbGMbG9zAN'; - b += - 'k7AcJ5qHZZ0Qie5YIxlY3ovoffQMS0hhFATOgk1ISEQgoFASEICJBBCAra/N7N70qlLxvy/fJ/8'; - b += - 'O9/N7s7slDevvzeZo+nrr+/8YVPmH1UvDtpYeUfmt1Ourzl7/juZgUc9N/nuzPbHn7/0xF/vsn7'; - b += - 'G8bmS702v/GDN8WU3BaPxJz86vuLcU0Pjoz8fP/PTW077+X57LkVHjfj88uXzlj681LHXLDhj6R'; - b += - '0laza9ffxjSw/k2eN+aX621Bs/wD/5yQNq1w0878lj7z+29tVnwysfuuCi2mf+88zEv+Bna4MHv'; - b += - '7xgH3NT7T65q6qO2sup+2jO5OfvvF3W/emPFz284/yr6xpeGuedd/+rdQOfOOuJ+/YqqT+/cbS7'; - b += - 'xx3j6q9Y8vXGIw87oX7N2q8u+/Dqm+s3kv+u3iv1+/pRqx/5+JL3hmaXXb30wKpdp2YvOaXkx2X'; - b += - '0xOz47fY9Yerqe7Mv7Fj34qVXv59ds+i5lkee3KXh5Wj1KwuGz2045Iyrp3xUub5h/h1P7rD/yJ'; - b += - '82/OUSfFU290nDsD8U/Xy/2/Y54ajtJ9ljL/ruCUu/d+Gmhx4474Q/vn7i29h58oS3zt1lxyc2/'; - b += - '/uEef+47qrGzaMbX/vikBtKH6eNZ35+yZnP11/WeKf9349WHfZi44D0SblzZ5u5F5cd8wp6z8+t'; - b += - 'nd+YevTK2twrTc/u/cA7N+RSR66884/f/W3utFsWXrrbJwOatn/uiz+c0DypaecTmxa89Kvmpms'; - b += - 'vf/Wvaw+9s4ltecK5b+C7TdWP59b8Yc4OzQPumbvxtR8c1ryk7qIB4paW5p+VLZ+9+eX7m//xi+'; - b += - '3f22T9tfm3m2fedfLkymXnTLj+u3vMm79s7OznPv5gyZnLHiYnHr/x548v22H1OTce9MZny46+e'; - b += - 'uzZy14esbzhlK9Gz7fSy/d3Hr16e3rx8ntP/tuTV1Q9t3zRtR/iiTM2L//PE0P3eu7vzooHP5s/'; - b += - 'sur2JStuRnf86IyLr1mx5LjDGryTfrXC+GLRC5N3LV25zm1a8533qlfa1982duagxpXjn7to3HU'; - b += - 'X3LJy1onLK57Fb61s2HCW/Pr6YSees3B0y7jyaSdm7woXn3X2qhNF7T4n+cF9J645dNSuqVM/OP'; - b += - 'G47/17r6l/Gr7q95dVeR+9PHfVr8afaf7JOnXVtHMPOmXjlIdWzQy/um/A0k9XpUtOvPalU/c96'; - b += - 'YvTd542+dbvnfTf+S8vPbPsgpPCA5985s6Kp0569vPcg0cN+s9JX/7jArlh7tjV4y4b/rOlF7HV'; - b += - 'FeP3urdk+eWrZ54zctFzl7y0+t5/XxFt2s06+ermojOq3w9Oti4uuuPwP9Sd/N4xEw+bc8eNJ7/'; - b += - 'Z+Mpuf5z/+skXnJ96f9cDB6156I119UdUTV4z8oJ9fvHBc8vWuE0bqvdctWHN9c99dOpnL7y75l'; - b += - 'vw21E8oGZ40YihRUcDo3aWEfu15Mv3JPqHfPkxI/ZZyJfvN2J5J19+0Ij9CPPlA8xYTjJ6+Ys56'; - b += - '6372/qa/3d/W/r5lxwJVFpWnlyoGDBw0OAh3Vfo7f7/y3/TC+Rk5f932P+QnDzuoPZy8jfXeTQ1'; - b += - 'jm1Q2ozGevWCyw+KZck/Fsd7q7C8V0H5kw73P0nuH95Bbu+sF9V66EwuzWpIY5pmm+s59GdEvVi'; - b += - 'erhX1I/Pj25SK9Rz59hugvJOWz7WMCO3VZuoyTZViBROCC9424ZWiniunlBqxolLkQAZVHlGZWi'; - b += - 'WOq1cSeKYx13YpW1dHarP1orIW0Iu6AiJpY3aJcp/J1Bc0slSsbHVpIJXxirBsPUiotW3tVo5Y1'; - b += - 'Izgb7T6sqeNrJRqfJXLa2DolQ0EOg4vyNfOxKp7gJWMcsjT7o6VDdlMfVN9cx2FxrLNTWogjcrJ'; - b += - 'KP9wfCtfirvWOvK43daiVkW0ljJc+VjmS4tXLVYy9uJjFrddGhVfWt350rEFl6oWT50zrdOQ9Lu'; - b += - '6uhH3qYs79ZVZejy02VWlWqATlaQJvmFhYGJqm+vqK7UNZMQofbGqclRyuapy5CljhmrbwZnwrf'; - b += - 'RdF46JfW2vGhP73uZnq2llg67YOhalB4Vn1D76BXwP6PRsfXNtbfvn/wzP7f5N9bdd0zeNOdQeH'; - b += - 'Dp2aNEx8I4fGrGNJ19+INGb5MuPdrj/jBHr9fLlXyT07v9a31OGYn3PI2Pb63uQ7bjY84MwIpRx'; - b += - 'IZuTPwoALxubO/3FGs2t+1v0/wE6O7NAL6f805SuWeG6WFUIW6oxQ+qbiopq7RhGm5qV92nr5aL'; - b += - '1cF3hSMCdClxb71wN15WfOyCW1lbuh2uKpglAIM/Bb/XOOtJQ9Br8VrEc+aiEd+x4D+XbjPtSVP'; - b += - 'Rp0ofYZhhv9zInbjN5j3bu382J9x5dCQiUNDaSlbDuybUYFVQWTYFyqfYpzKPNxYvnO/H+Szvxn'; - b += - 'pW1WaCt8LRGiJWLG+D60IL7ypdZwdxi+H0BXCsvuEezWUDm9frehg73ji6Y82MSODm2w3Vlr1C2'; - b += - 'msUdrhPVtuq3jvnQKslKmoVdu1zwbWx21e/N01Hez/gaUaD3lx3GsKRDuUbZwbVCO/Ygz2mHzlw'; - b += - 'Tr6qKFc1VVUBwG4F0jBiZ9yJuyOZyGeWgH+u2lZdp/OwBuUqtlq7kpIlU1pAcEEtR36bI7UaVnX'; - b += - 'f0nIpj3HqzGdsvEr9rQDFLRL1oVCQZQA3gNHld5YwpVZU005QDtCMAS9eQZmV3KmqCdpSdJN+ec'; - b += - 'pIZVlBWzi4Haj+B2Fe5qrKoY88y2bG0WUoVkjBW0ZvljcoqlKvJ1EFPN0I7o7WcEOPX5noGfVNW'; - b += - '7RMV+6HmMQuT0pj8jKl4najLNq7szKZIGGNzfatjdrZBDVTBkfbWb2xugIuAXpsVtxnTxaZsFqa'; - b += - '5jX9QLdSTOqGu15H6lYpALs2xRlil0VwsyzChryhC3qgf5DB3sE5LxQpgppp0qIVqo5I251Y2il'; - b += - 'y2uZHFBX1Vv04heFVKvNlPaM7CAud5r5wQSxUYwjDgV2t79UAkEqOIXiE9h9pGphzouWJv8kNQ8'; - b += - 'JL/nVF+1IoXUENSrBqB9upFU+wLr3pUQ+p5bWF3arPZBjW8TD3PAIPY1MYejhBjloypzK2s0zOg'; - b += - 'nhupIGd0tr52ZWVBC1A531foWqa5Lm4IVkxDvLbhZ3Laezq5ri1BbcW2dVueba7llVRPcH2TMrv'; - b += - 'mcYVYAcuXo41ZuFHZkGkQ+VHx7PJ6wnmjMivpdvMhCvmLwInCzlS3gOWs1/CT/FBvJFSDTr61gh'; - b += - 'CamizAS0G5oBK0K5ralSW8gsMw6jI5zWADvwi0PhmDenfMzI7I5hIhZ2TBHioPY/y9fZjEaXXeU'; - b += - 'PAzk1UbHcEzyg/gLTOWIZJ93gDUQaN82PBFi+AZJcu/BXtNxRvm63yZ+IBDYwA/QAcKZLXj4bNU'; - b += - 'vVu1mW2s01JN3Neie8OYJiqbZ2GdOkXrVMxLF33OraxnY7NAFKHT70N95Ssx24jlrkIc2qB8feB'; - b += - 'T+IzdtewDAqNIA/imAYs1izFqfQGv7l85b/6k+VPTsybNO7xy/PjKIxfMnj1j9qFz4NU6OoWoHw'; - b += - 'qdNjTCfs425wB4NWYF4ghMJKC8oqZoqMZpZkE/tiR8V7480IzjJOfqWhrfKygFmGoG3NLqR5JRw'; - b += - 'ADLDnJHE4g8IDN0nhgQ30BwUsZMoZ/Q+HsT9EHpT27Nx/F1Xy1G4OlMvczGNkxcNVTjUuVP7ap1'; - b += - '0eiyUrOg8b4CXFmpuIpcMpsVRQ1QR9nlT60a2uX7dGVo/ia4r3w2puXtjrEdF8hORq7U5Es7hlT'; - b += - 'WZLNL865B+spSDY26qy9AG7iLd7Q+B+8pGxfP8+rEtz1fnpb4lOTLh5ox395YAIe5BKbydFvxd8'; - b += - '1JjKIqL4PP8g7PrICPMoq24Z5csyblsrkWdjYH1q9yOQEs2D70p+he6Mfwrtdn7HKSqxs7ZszYA'; - b += - 'pKkTM1LQdSJW4Rxvgb1lR/+TkXt5rPQfEvYCc2AGmPw2a16qPZR6N/72uBqCtT3C97XO1wB9Vgq'; - b += - 'GsdqtiGjQKDoHGjDTfwe9tf8I4wnB/hYkVX1eLw3i16B59R78s97yXvbHlHSPgjZvJ2Op6ho/FC'; - b += - '9xvl6ThJb2u49cX2FzOtVe+H4GB7ydWoTH5l8+cTEz2NwAgdqbyh4H5D8HpT8/k5y/9v85ONk8+'; - b += - 'XvJOVBSf92SGB5QPJbfYYk976TzHmYxHjslDxbnsRED02u7ZI8PyiJVyxL4q9+4A0tuhg+q+FTA'; - b += - '59j4XMofKrgMxY+u8HnP8G3+/kzfH4Ln2fg8wB8fgCfC+GzHj7L4EPgswA+h8HHg08lfIbBx4LP'; - b += - 'p/7Qol/A5yL4rIQPhc9R8JkFn0Pg48JnN/hY8PkXjOXP8HkNPi/A5z749CSPd+XbdfnBsW/XSQf'; - b += - 'H8FVixv6FnekRkPdaYOQmjK9EnRSDICiO5ZmVaS2J6X347sFxfNfMZO3y5dlFbX50FYm88mdLeX'; - b += - 'UXFV1/mlE0cfKQopZLL9d+/Co2xUzW9znlkwGCYCU0MHGQVdSyHrDiaNsoeuKjAUWXeDCUn2f/e'; - b += - 'do+mr9Y+8mGU4+ZVDf64wKHWWPP4x/nfw/r/37ZrW9+rv0Cdu6sb5/w/THlV2y0NoU7DBn7ftM+'; - b += - 'f/vXy78ueyv11Jv3vvjILmvcW6z99/zLbLMPevuTxlx+zOm/fqzxujd+d/rYHbZ7Zu7bSxvqD3t'; - b += - '5yO++/5v6E364/73ymbv29XfY/ehfT64ePH8L+1luwQs7ffIf8c8Rjyz497Nvtbz19/rPX/rkrf'; - b += - 'S/5xUXdTnVsrbJ4ULrY5UwsXIsB240q3SynZeNj6lTtHlCJSqaOWmo9ulpLupujeHhTH1zTj9d1'; - b += - 'Pr8sh6eb6iNH88/u7yntqEjY1iNAGaXp4GdGRFXH6k0vLlsnVCOr/l2VvS1nVwzHZF0u7ChfDsr'; - b += - 'u20HZLZY1lYgPWvSd9PzZhyanjLj0Bnz5xWM/cSkfr788wR+8+X/JjgoX64w2j8/oEN5YIfyoA7'; - b += - 'lwR3Kwmjf/glGWyzuxqnDx1svD//Tz796YbMO5Xrmymd32txw51tfvabLc9565LGv71u+5Yuv3t'; - b += - 'Llgb9dOumTC496bNjX7+ty9ddrLrhrz1fOHfX133T5lCsX2CMWHfHraV9/rss/fv6Wu87fcMI15'; - b += - 'OuvdfmXZ3+8z/K9r/7rqq9TW1S5bt6KiRfOeOHuS78eqMsLX3rg2JXbVa+77+vtdTk46qtZ/iVD'; - b += - 'n/jl17vp8pzLp4fZv156wZ++3leXn61at98vT216vWjTKF3+/LLHL3vx5dOu33UT1uUPNhy40+U'; - b += - 'V+BNvU7Uun/dD78CvloQ/nLtpii6PO/iZX2187bn1SzfN1OWHXvz18AOm/OHpUzfN1+VLn9/v4Z'; - b += - 'euW3rx9ZsW6fL6m+nqfWs3/P6hTVyXv3gzPei78s4f/GZTrS7v/48n3774y/c++2RTky4/2LLlj'; - b += - 'tvu+vGPKzafpMtnH3ZSbXGanr7f5vW6PA/9HC/e8sjzB28+R5cX7P/QheecOvvSozdfosuPnjyy'; - b += - 'Yd/l/9nYtPlqXT7/wQ8evO7Rjbecv/kmXb5kddMZL6dv//L2zRt0+eWrbjv/4oYpP31q8/26vHS'; - b += - 'HIY9/+WnZWRs3P6LLD9i2WLDfvS/+Z/NTurxhzapXnnnv4Cu23/KCLpeMO+jAp4Yuen/Mltd0+d'; - b += - 'cX5TJX7LvvHTO2vKXLg39RdMo/f3z6JrblfV3+aPiwi3jZB4+cvOVvuvzCGXOz5S88cs4VWz7X5'; - b += - 'VFil/e+u9NPXv3Rlq+3tGG3iVe/tKUNsar4hT9vGZiU6IanP1pxl1UURyKuL7/kyxXRwWv30JSl'; - b += - 'qOhHO5Q+v+qly34Wao0v8EmL/rrqJefk8+dpb8qiopqWv9x5U/ir39Rp7rmoaOreV+60/wFzrju'; - b += - 'jqFqXD/jqqdfsG9nfb9QRAEVFt9313DmhePveRzWVKSr6vbhz+Hllz57yO+39WlR05e4nTP7P7s'; - b += - 'c+9c9Ew/vdD3e9ZVRm1kWDDK7Lfz23YTj/2HjzAKNWlw9b/smVV/yg7sbJRpMun7p09f2rVpT/c'; - b += - '5Fxki4v3/kPK294f/79y431uvzE01cdc9Fpx5x2kXGOLo8/9tLnnp7nPbfBuCQe7/WX/XfR/Qd+'; - b += - '/1njal3+Y/r6Kx69btrb7xo36fJ+50S/x09cdfPXxoZYD33d5T9ovPKZL3Y079fllx77y/x5j7/'; - b += - '1E9t8RJffm7T3P3f67OszZppP6fLNKxb9+qqXKl+Q5gsxPpi316rPjt7x8rXma7GuCu152Vs/vv'; - b += - '69q8y3dPnSH/1x0bxX37jtAfN9Xa6ecutNb5x01VevmH+L13LKTbfOnLns4Y/Mz3V5+NUTH/jkv'; - b += - 'DvPLrG+1uVR6xfeMvSTPV+ptFLaND3SvvAvH9w09Kpx1kBdvmbg1Td8ddXQDxdY28f3Px9H36gc'; - b += - 'saHB2k2XT3351hOPO3xKy9nWvro8+g8brInv7/X4zdYoXT5/y5Tjxl695LyfWViXJz14ztXX7OS'; - b += - '+9qZVrcu37/rH+y/6/S7X/suaostvLN/4UP3jl340JDVTl/tGK5c0ZnLNmkdZMX2o9nddnfCg+f'; - b += - 'LtCc7Pl+/oUL6zQ3lDh/JdHcp390LLKg/KE9LqyhF2ZXV1pW+PLKh/T4f2FE0Z1sf4l3ydwYk8m'; - b += - 'y8fkpQ792kvRRjbxaLk67xj9DKOgu7n67xrtO/7ex3Kyo9iWEH5QLN9Pxeb7eW4Ltc2UQrPP2yo'; - b += - '1gU/0hPNPwYdC/wKXXQAWqTku3ydR7utA9JXU66NU8BtdR5L6qAxY0YfhDL1cjaZ3QufUUdWwO+'; - b += - 'C964xY/o+csyYIu/wWH81WdsJZjXHkVwqIcOKvH1X28BzVVoRAQ0pLTu8oEmX4wfhyuzDYxm6Hr'; - b += - '63K7AH9MGYUPXUwbGO7uHDY91c/ntdgY3hFC3jKl2GcmNoqjzggFGVnybP/ePw2EaUb2ddge5rv'; - b += - 'bYjNQHnlttr/Pjxnadq8YhaIZsqKxszS2qaRi6uqKxUZbi+eFRFfFH91jmTDpg5VMuAE2fGYzxy'; - b += - 'ZmxfOm5m/P7FPTyzfmbcV9VQvp+3zYznfl2BnuVUlRcgySFWqf5WVYyqGAVflWPGVKweBf9XrtY'; - b += - 'F+FqNVvz/JUlXuzU7Q9nKlf+UgvNv+NfU2CykToCmlCJKw9HYlEBtO/+FSqlU7Cq+Rl2q1WlSdN'; - b += - 'zK7HgdXfjeuyuckMTkqBYVPqiZHetZcLJP48aVLSV+6eWzYzthvr388zOS5+MuxM/qzuYUtOv9B'; - b += - 'o3oQtFzUEfpV96eHdtX820syrcRW0jippKhACrgWRGr7/V+0FavTH2il2v36MA5sd5yL/hWPjL4'; - b += - '8PY68+58c/icuB/DS2Lali9P71CekZS7bC/Gq8eMGTPmWG2jTdYKUEw7dKR+qf322pxYr79xTjw'; - b += - 'n+X12/5xYH780kZ2oWJKpV/ZOtRQj1I+RlctrRDx0pUaFxirnxnraMXNj+7MzN16rjm1mk3nOl1'; - b += - 'cnMS15+yPRDjeVed+hcZUZneAoU59TdLJyRKwlHqmHkO//+rlxzr475sb27R/OjX1GOr57TfLuT'; - b += - 'nOXeOmM1VYKZUuJ9dafzo113kqf6mtkahUXl5SYpSVlpeXDKnYbsMvA4YOGDh40JDXU2m6775Tv'; - b += - 'aOyU2tnYxRpeuquxm7nnjpXWQdboAWMMZNmmY9xq3m7ekbqz7L/mV8WbzM3WlvK7Vqw8+9wb0cL'; - b += - 'vnn3OBbv9YfCQw2d+9fWYsQcvOjb93vpzz7vwotvve+jhp595/hdvv//BlqLUsO1G2jioGjd+xm'; - b += - 'HHrj8Pbt7/0MPP/OKll9//oCg1aLC+WzVu6rQZhx3HxfoLr7rm+ZdeHjRsJFyasfCYRceluTj3w'; - b += - 'tuhytPPb3z/g08HDZs6g4uW9T985LHHf/P6p/845dSzb7rlsceffvall9/8/fTLH33xmZdenjF7'; - b += - 'zsLvHZc+87zz73vgJ4///JlnXx+2407HLPri35u3tNSd8PbGwXvWZ3fbPb365LvvWfPwIzvutMe'; - b += - 'e0w6dPee7Ry867uQ1P376td+89ek//tWYO7+p+dL9x4y99Z6fPP7sy69vvHLiZZej8/f81WsvbZ'; - b += - 'k95+hjSsuGDD1g7Mef1GeD8QdPnnrBhfOWND/3/Cuv/u6NDzdvKapM771uY2rdlLJdUyXD1m4Y3'; - b += - 'HJn8Z7la3e1dikzUmNTOFVqGaUlpcMq5g7ZrnRBqZXaraLcKrNKLdOyrIGpYmtAiTF4h+LZpbuW'; - b += - 'Liw1S3YcNDd1iDXaMlLDSoYMrErtvl+6si51/H4tzxWvu9caXrJuk/W90h3Ldy7ffuD2A48vqSg'; - b += - 'ZXvK90oOKp1WMSg1MGZY9YFRqeMkAq2UD3Bprz7JabiqrtoZY1aVh2UHF67YM27ls7LDR1l5D9h'; - b += - 'rSck5q3WW7DNjhjEuKxxaPKzUH71ze8tjeTQNbfjt8YHHLluKWjQP/eY0VlK9dtH3Lg2Utvyyu2'; - b += - 'HmcVVESlk0rG1jSNGAP6+jU98pbTtl5t4ody2emWs4qufOmgTul7BtSa9/cv3RgcXHLLUPX/qvU'; - b += - 'qDywBO6em2p5zNrVGjKoqMQwYHBmcWmpWVZWblYUDzAHp4Yaw8ztir8zbHtjB3Mnc5dBuxXvXra'; - b += - 'vcXxqqXmP9Yj5svmq+drA35T/1nzdfNN4p/hd88PUn82PKz9NfWkCoBoDDxg3Yfac86+99rpVZ1'; - b += - '986Y0/fOi0+0pKy/3xE4767JVXU9vv7AdHLVxzx933POq9s93pZ553bSskKkCcPYeLRQ/8ZNfdS'; - b += - 'ssqBmy/kx9V3Xb7794oDy648LbSinETZOb8i7Lpxz/+5Gj6+ddbrrxqzNgDRiy45vobfnDTrbfd'; - b += - '9dAjT5UMGLjD7lUHTz3illtfePH60l2G773fhIM//NsnW55+JlW5z377j3DDqumHzZw7b8FRCug'; - b += - 'WMyGX5lasXnPWTXfcc+/PXrn7nvrsxcftvarYSo22pGWMHdOybnfLHrJbat/yPYoPKp6SGnxgyx'; - b += - '0l+6b2TY0owwNmH7I2KN+xomzncVMji5WVox2L97J2LTYmhqnDi8emKkrLSydWHpAaWO5bVcXDS'; - b += - '1MDS+fOCNxBbumYsoq1+x85e0TZgTsO33+37Xcqnw0vmDJol9KKkullB5Q3Dzh40oEl44orSo4o'; - b += - 'MYqHWsUtZ9M9ppdVtNxy3N5TB1SUDPpOVUmFPyq1U8tPq/m8gdPLK6ZN3XV62bxBM9aWTqvY3Tp'; - b += - '0RmANLqsoiUor1vq7tPzEGOIMOuUq2Tyg5amzZrJB68ee/+q6Q2/46bqo9MDUopL9K6ZVjCj+zr'; - b += - 'p7jxGHp6LSYRMVDFz2Zdn63x5YfuOHa93R1rBU2dpzzkwtLR5klZcOvWjxoeVN1S1fVOTKGnaY1'; - b += - 'nLl9gMXlu/ScvraQ61TJw/ZYf3cPVvePajlN6Ot4Slz7cQ9h1UVG+vfafn3yJmpipR5yrApM8e3'; - b += - 'PFFdYqQWFO+KzbWDR6X4wKMqWu4Odx80KlUOcF/ScuUpv4NBD7KaBn6vFHbRkIGpEAYzomzv2Wv'; - b += - 'nD9zBKrZKy3e3BhSXVFSUlAFWbfnlfhXrS7pF0Ml3WvkUxDj6wqOGarvv4Yn9N19emNhR8uUjVa'; - b += - '7H7uQSmlkCX7rBv8Hzyn63IfEE78z01mdjv6AupCqVqEEJhRh1vhl7jUyoRFpI0El2T0lVFl1Yv'; - b += - 'Ljo2O9cX7TdTpV7DqxcvOcno64/6EBUOSp7yzujzNsWj97jq8VjijZX+tduWexvMt71jYq9gn0H'; - b += - 'vRvcOZhEY3e+IUK7vXvoZ3vsNfPT49+dMye719xrHrlhbtHL5Ajx6g1HFL2515FF77w7D71LFtz'; - b += - '93g1HvfLnd4+qLKpf+KmxZWFRQ1Fp0WjDMEz4Z0wfgHYYaghAkqZppPYx9tj1mAFV5eXGzimjHH'; - b += - 'BK8UFWddmBOxuVAVRIlQEyLK0wdzeqVPVUGTxSYQ43TDMC5JMyAfkae5iWMUCVi+EBY3tzR0BNV'; - b += - 'epd8HSpVWHuYYyDugOh5ghoHloFQDBSpeYA3arqErzUVOXdzMhse8vuxnQjZUDjRplxhGGWDiyj'; - b += - 'hlk+oOQwc1ftvR8MNuCNxQOMfcsNmTJKoFPmLmbKGpoaBD9LjCEGzLu1u7kH/JtoGqVlhjmg3AC'; - b += - 'SYDSbexvLrJRZbpRYv4dJgN6WqhbNspIK00B72ikE5WJjRPlAsxIGaVihoTtiVZWZ5uWWMcgoVS'; - b += - '+0zGcmFhlP7lVknWssriwqyZhFKaOi0pxrFinkbOxiFhuXmcO3G2TsX7bLgDEWMtSUHWAcAjNvm'; - b += - 'gNhXGMNF1o1zWIY94FmmfGxmjYDgHHoUCXyGO8Z3y8usmCUqRFWyrgZ2i8yrxhgp1YZ/pCRMMoK'; - b += - 'y4YWS43x1r7FRtkEY6CJy2G3GmlLTWSJcb1hle2gZ9UwdjQGl1rFT5apgeykZrRELZJagI+gXyX'; - b += - 'wvau5oExdOd7QlQ1hwYIWF5Ub5r9gPQAajAvgbSmjsmJEiV6lEtMaA5NdVAqTYRy5I3QEWjmxxF'; - b += - 'KtwgxOV68yYBxAF4uMg1NHqN9jzJ2KYMyp4rIys3SP1CVWUZByyozBxo7FxhBoaZhupRgg1hifK'; - b += - 'iqtKy1a3PJpUZx8fMDOZndhGLeddkpLUUp5RRnXqJ8vFhd5yiadpsAYLxEgWafTy5Pf6UwuHfss'; - b += - 'V1XVEBHKgHGHIN93XBwY47qtFtdJ88ZsQ7pRSKgMkhoPPU8G2EWC0dA8si1vZ1WmrqGq6tDaLCW'; - b += - '1VVUNjVll0Y/bW5JOimkvcEBG9JiIuIsFCaHNCL48j8A/P7IFcqwFHducm29rmdAu9K2t5stpz7'; - b += - 'WF7QubBIEvRBRAs4xLQZDjCe5jIrFMze7Y7FGtrdUD3s23qX6n7ZB6IbF9RH3E7QBBe47DsO2EE'; - b += - 'Q9sLl1HFvc43bHLqKomEGNE2gzmHVHPKzmqYzdUttlZOmtsVVWj0O4H+b4kxbTgkgjOI1e4yIkc'; - b += - 'D9q1Q9+lgtggUXMuXFk6t7uViLOA5puMS2mHMsw9ipQigAuPQouuVNK+h7EPcrgjnLIF3bVYl0u'; - b += - '3b7QuFyerTXOEXCGo8B3muz6JFLwhW3Lm+h6I+kwKv3xpx2YnA8EBinJI0iTcTsf301oN1LraHV'; - b += - 'LmpqOIUhES35OYCBmqRfcDSuwwCAIYmoxoUFHTabbnTJmanjVnyoKZU+FKfaYp37rycciwdJwkI'; - b += - 'duYLngwTTnzGIlQ5DM/JELNFon8yAmIS30W+pSFA2RX65ofUzIemamtTSvvrNYFbpeGOO0GIWwA'; - b += - 'GnoAsDahPrxHcIoEDYXkLsHSowPnKb+MbK2IUx2nte4rrTyAqqo09QVoFstbgVksT/uR66i9Aas'; - b += - 'KGz5SjXJbMI6VvoUgT1I5aGGvjeZ0Fou2uWJL04hzwojHoaeSeo7CD6GLCYXZdxxuM8bCwXO7bz'; - b += - 'hOoJ20GN9GUWRHPkwrg1+OVHCOcBiKwI8YcxFHzB9y5PGwu1YCUExLMhPrAcO2TZPGJbmCgddn1'; - b += - 'YW09IIIOxigghA7sBWUUO5Sz6cODICHJCJDWb7NJQmEKxiMf7cizkMLbinf6Na5gN9p4bg8ACjE'; - b += - 'MJt2wG21cA6FtwQkIJFHQ+kMW9LPlyzXiZjzr4lLaYqpCCQOqYMJ83yhEJ1gAXJCSagdCYzc7Rr'; - b += - '6+aLklkod0rrV9KX5cCXNfZva8EbiBTbAi3qjF7DIxxRhP2Q+peg7S7bqje1floZV9iNOAkfyQA'; - b += - 'KgwoswCbgnhE0D5HsOFduHPeHc5nouZKYeGFJAj64DWNGnPqGCA5zvcGhnsFGqaNSKF6GQDiPPC'; - b += - '5krIj9ALiNqGUMBPwgJcBAFOPLwjgvyDS0UdBJwwnW0dmVV1Szt9ldVFTtf5xuNS2lPAGyEQE8A'; - b += - 'DgkQBNVs5MK2JJK4IqTIZztNyze7IFPfFE5SAQiddrJwaYiQ8AIUAEy5TIOy9IFKwRtsxuHWzou'; - b += - '6aSet0tmmY01eQZvqanwxDWiUCduGHmIgnbZaaEAbPLIDQHk8cKhv7zK3q9ZzzZTEv5IdkZTTxA'; - b += - '9l6ALmhIF6yFcIglPB/AigmIlAMM8dPrOrFtt3M+mfi0LkYoRIKG2PeQo+nFCEHlB+ikMn8pi9a'; - b += - '5ezmBNtSB6AD3YjCm1gQBByJOKqVzZGwsXcDZ0gEJ7wdqvujSdiKvQuzxRF2PY4Ch3bga3iy93t'; - b += - 'bms31TSqLV0jgXogQMmw+oCZKdnD6bZKXQJZNVISL4wcwFkMiUg4e05Xch4sbjNQnMT6pPB0bFq'; - b += - 'sqor9cOCW9ihO52qUk2JOsYCYM+JKBijDU27wqHJqv1oSK4jmJCPsU2C3Qo4lIYCu95rct2bqmm'; - b += - 'vTDdnlttoHLoA0oDTb9QiBxYz2ruK1ddpfrKrg15TkV/WkCVA9uVgTOggzB0VC+MIJuLNPCG9Ox'; - b += - '/nFYCfGacWqqtry9qm6zFVvpcABRwA2kS88xux9D++559pM22km09kGNQ0OjgLKIy90ie/DXt4v'; - b += - 'iBuD6sAGx1rwqqp5TY3zBGlkNSJPoWt8JjnxWcSjkDm2zfYf12v/eWYZAF2d4j/cSEZRwF3gRhF'; - b += - 'z6QFhwRBimR84q8wS11mBUeucOwp7M9vxBaA0wHbEY2iEXdBfrfBPqLGS7tONaohBRAGZAiPNPU'; - b += - '6AwI90C6poL2zoWjatf+n42Jwani04RkGgQ+eASz0QtYUPtlL/OrI0eZ2q4ToBMBIwLTwQPJQHh'; - b += - 'b0Cg2wUQoNi5BPPi3CIYAM77ii3y6kEDlXn+E4rXrtGYl9RUcawSx03DEdP7w8U6F2QgACiEuDJ'; - b += - 'E7aHQolxMGZqtR4rdBs+C9piZ0iuMn6HrIN6SVT2hKRYA1MsYFGRHYbMo5E/dlTBw9PygQEKqBS'; - b += - 'JAzbdlwjYDM8F8igEsquhrx1fIWjzktYX2MAy2IhiYFYcQHnCnlzwqPaXTL7SipcXLFOnD91QHs'; - b += - 'qtuz4AjMFCDexIAg53vG47mdbBbo2K0tfYwI4rqQK+meMz2x2UTjdygC+hFxPbhcARx2+psFoAD'; - b += - 'h0qrCYZwMkB6LMpixzkBd5IHe2Vyao14uorrW0cisp4PLRhSXDgIRtwkz+vuqCTtDlTy4WC0bmE'; - b += - 'T+KkQUVbtJ+2hSrkB6ZNh/6kNZjXeAiBRMGAEHLsAs4OpvZ98gqQr6QMmETY8NSB6RB+6MAzDZl'; - b += - 'a4BNUx5oySiCtU3sc/qvLLlNDByYS2OwAoMLjvpKTI+DfcyStiIbagHVALKCb+XMX0vkDU9Ss2T'; - b += - 'YC8dN1XQd2PWJVE7pernik+egT7YnepHYxsC1UAFsJBBYBwUTjsJ71WIhRMSZVVXP0/5qBytTXq'; - b += - '8ZqHFhsYA+Rx1ng+RxXj00QhkIvemSsplF/N+ofIK1jgWByASixZzty/D4F3dR9UysgUQA4GwaC'; - b += - 'EWWITKjucpfrfI7xPo+1lmmqaysxigHOpLYNGyA8eGohyKmNOkXAlfi4lsbqI2H5G4RYmk7iu9I'; - b += - '6shqIJ2Az7jgewb6NbduZWN09/HeeTuJ4wvEiYNcUzRRo0vyuxwCYW7EwCizVfRX2r+rPbq6bkA'; - b += - 'wQgDIepEIFHrA/LvOAwRReFOHJ+7YLhFQ++5rewMZFLnHsUMnJ7JCJXRGq+cuzC8nKQlq1oilNt'; - b += - 'fAHW9CHEatAaJB5AzeYMqlXBM0Bx2VhG+tzODSqxAEwl04YwVqHTjj14MJVyKk35hGs3vhcD1Ql'; - b += - 'LBD1egYRExKQDkUei5T0P633GYyHmW3Iqdtwa15NbXWzOgNkAnQwV6O2iUMQdnzpBL60Hex6h6I'; - b += - 'ed5hCaLYfObCX/cABdpTx6TOrO+KjeTrWa6YKVYJetN5tj1xgqhRw+p4EXkpKH9sqnn3GoQVQpQ'; - b += - 'lStcrd0Qm1a/eEZh+3ongBzbh+GAB3EBAQFg777lYStSRYdmW6UZmrFXUiisQ6HNGIesRHh8/qO'; - b += - 'PH5eZ/RadqJYmBgQprpBC0vaFVNqAgBSBjQT0nQTKdaW8d7ol+ABUNgDJATgFRmYzFrUu9bWBOR'; - b += - 'JOpa4bOAAcvn+/BOl2Mvml3dK9MF/dUrrzrtMIQBbDkQP4fbcs7UXrmuGAXFv/Po0aXcBtZVAqe'; - b += - 'CQhAD5s6o3r9r4OkBcOIpAQLnkRAHgBJJQEV4RNiX8Sg+EDsgZQNHh8MA5D3mHIl6Y7hBFsduEH'; - b += - 'gYeb4PUvK824zqdtukuXEZcHbJYYhxWanv2o5DhGG1P6RQja8vTeQR4NRD4nrVuXw7usn4PKIJC'; - b += - 'W5UDGHEotAFmdgVHOS6YP7kPkIKsGog2WkuAsYIFFdw6fGAe463IOxqKyUkJqb5CavggpBmO1FI'; - b += - 'I8lhhtFRB/e6KMnFdIyOlFhrcxGAUGS7mPkL+7/XJnEOgyKcx8ICD4AJAJTNeMid7+I+KGxqBA0'; - b += - 'COwJqxSkFMMHfm1fdmUkDueZIFdKu4LTTTXWndWbjqZEOB+6N2bD9fccO3KMXVXdcmXnihDiyH5'; - b += - 'altd0OtyYkhEnE6YxAsI/VPthxQLp1HEm464jgmEQWa412hBnR1st0bLps3ZEggQoEhMUmNpGSi'; - b += - '0Wiev862H69QE2H7hXeVbSvrQgdPEG9xqN+5Ht2hIOA2RE91iuA45yGbBhk8q2UFdRVWxV4beC6'; - b += - 'MUjJGCoF4ripbbQmEZ60mrYX+ULC3vWFz5HLQpB5UNqJH04sz8pok/gIwcZTIS2KMcOhcKRKt0I'; - b += - 'iDEh3cVWXnLTG0/N0zg24lxG1ajUQsK2ORC4WvgvijEfsjjry1nI6VsXXIGCKQ0GRC3wrhxrU72'; - b += - 'GCtDo9niHkusA2IuCNgyhgII5Vd8VVE7UxajMUXl+bXeLk/6/xQEjwbaXHl8ImIH8maF0RJMWlN'; - b += - 'tVkea6VBMNFmNKYPYFNDwNXGa8V0mESZF47UEYuikHaqa/evx+8SRuR7JGjmdBGQm1MZRhIL4xA'; - b += - 'ppeBPLTDeha6FChSTxpqYLsk+bnV6LNLmxsUfHEHWGLhKNuDK1y8ZFJnnKx7B1OhsHJh9xKES4A'; - b += - 'fo7B2COAkYDKqObK6YOslXzpuWold8HsG/OxNHobdKB1Jg9ChhAdR5vit4Tg6rUFBpba5VGY0AD'; - b += - '7bjWxgbSN6/Lg+0dFGsUxBX4S5ZB5ziEtJSIOlh1UnNDNvB5wXp5DpScqMga1GKeWoZ3NMODBHm'; - b += - 'NSO7VijQ4WAAysRSU8ZN2xhe3V2DwIla9CqROBzQTADsVJlNvJlfV/5qESsVdyDENIRknoCoM/l'; - b += - 'fnZsR4ZVb3AopoE91YYsDm90cRTZxOEYNdjdm4aS/5n0QFCT2AkIZsLHJ/SLKXadNr2HEA7IlyE'; - b += - 'VbuA51G6cWd2FLkqj0ENUMrOewTJ0fJcI6UrOQ19GKNfbCknJCMGCAoYhwN9HTdN6FZtg0RSV0v'; - b += - 'lLWmUnCjyvC0QTRNAokAFtruoVRtMqtlEjSN/BYegCSg184Drpst770Fyvko906oMA2uWFgggHd'; - b += - 'gxfjrtk2zvuZGCgYK4CEHmJMjmuCNsJqDr5TlWVTkgPfFz1fLUp9P6tiRwWUu5IPwy50rOvHN8X'; - b += - 'JW/MdSvMHoGsSUInYsC5hyE58bBEfZGPvM93Igm9VyRJx94rLBVfiGPeFboF7IYYc0PPC9xIolW'; - b += - '9s9rJ5DscQJk5CKMAYTd0ThoXcxcL+4QQgHeLUMhtlYoNNuvqw3tduUZgiwhs1+Z6lRoFeI8ldY'; - b += - 'n0DJws4FKEuB/4BFD+ybf+77HwMc/qUIcArDEPxBPfx/6abYhTW4xt2Nhao7oHHkXzUel8kLsil'; - b += - 'JRSIqLIk7ZPADjXGUcUiBWFCE0zzPlZmwZkFvpYiNoSLZBClAEIpWpfc9dDgkanGNucfdXviQIS'; - b += - 'eFFAQwrLgghdb9TEjGgBf60d6vPYXCc8akwo/lyysjZLCpTgCWswObtilljQAG9sUtYAmlUqLaJ'; - b += - 'GREFADpkIQ1ueavjJiiU5BEC6IMuPEqx6/qhJWo2j0vppBYgfOqFNgbTZoYP4aUZ1d7YAmmlanl'; - b += - 'FULRbhtFHA5bBBWRCBgI99QcnpxkHtUNX85Ds24QSKqNkgLyDHAzrFzjCGddIVnWnUFG6PdH6Rk'; - b += - '4nXKq95+YnW61v4eOthukeqY+An6OfjRxVGAv6a+tLxbYocZPtnGRP7SMjjdJyxPGYT3/EdB7AL'; - b += - 'kuJsY1yvTQDzmMgz2Pa5HwGGAt5RRmFwjtEfzAYTKZn0A6xddkR0ruEVQH4yS00KFOOIl3RCE0B'; - b += - 'Coy5DHrC/iEvunWf0RoERZioiSrmRBAhGeb4xpivsk8yOVo4ggTiRsEtB7uH+BcblRqFNR/Ut12'; - b += - 'ElO8yVXsoEZjW8amCd0H5j6atHZXKZpmwj3OywIZMbUGWZ+pVMukQw09IlBDjViDL/QuPYrgRzp'; - b += - 'WrvVTQHhk4JCDViRZuhBfseshHmnHHsuQRfZDT2W8U6OdM0qZ73LP6oqYCHidYuUgEkUgigbyAy'; - b += - 'ssi72OhdYyN9HB/e1Kpdx54tpATeLHB9isUlxqS+mlRbOQafRwRTh0qsuA6Hf9+Y0CPiWdKYXZ4'; - b += - 'mddnGJpVFT7EcYRQyrBhNGA6l/qVG0BFHqrymCYrUbhkJv+vbnuMDPqEhA14niC4zpnVv4AAco5'; - b += - 'W1XSExkJw9Kh3PpQAeyBGXG6M7TqZuQxMXvaFszO1QYKQcK3x5hTG1ukBU70nF0E4/y0HyBRYzA'; - b += - 'D5TYkKiK42lPUlf31Bkc5EMHAawAqTPpQJfZYzpuFIyU5/J1aSXxF4XDqbKE5ECBy2EF/hX91bB'; - b += - 'U0Ys7lFA7o5wPO8ag3TJtbQNBGQaIPXQWehptnu+YIJm8ZVnIJAQJCICM8cVLsfsWsNtZyuLUcw'; - b += - 'x84/VfJ3yeFUrTAMsgaklgWtTlZX2uj7VEpGE1wGuV7GXhPjXG/XV/VdQTOJ92NgxE4cCkN5hlT'; - b += - 'wWMN8NyA2KYejbBM5vXKl4np7nsKlxZTqv8WUhFy6wJSG2OUX4xv7uW6BAYURt6gXIFcBy/sC40'; - b += - 'ui7GiSe8J6fz/Ny2ts3q+lDj9MIokxWJ6fRJmAKGJ8FQciIDYLUTf0dnoSJgXF5tgcwENj05v42'; - b += - 'EDlA4bEkwI0xoNjsFmN2jw2oRI2NynzNs+nkt84gGDOFqke264fMxb7rUUGxc6sxsS8NKqtquqE'; - b += - '5pziBkAfYDyQWPvZgUOI2Y1q3kn2PmAuoBSMOinAUeCCqebcb47vjGlsNr+lkY8WKZw6CLXE9H3'; - b += - 'MZEf8Og1Z3ov0wCtWJwusF5+UBXENhqv4Nz87QiK7wdg0hriuJ4/tB6NhY2HcaPal6tNtbjaNc5'; - b += - 'pBtu1I6AD9sg4F7kFYaBW9W6KMGmMEwxEjyyMWKmt5lTO9KYq8lJwLTNBP+h008Q+nSteyulLmt'; - b += - 'TGrgeQrX0FDYjgTO/G5jTo9rVMD/6Gu6vXYmeNd1gNkmPgkDBkyKd49xWF+U0hqz12tXFp1xN6N'; - b += - '9KzziId91XW4jJ6SuuNdg21SmWaKXgdiMUOIj5GOXyNC9zziy77rM7ozWgFsjpbnFAA4oCMUPjd'; - b += - 'rexFrdng6dViQKvqoLruuYdLXp4Cv/rgmtj4No5NoRlgiF8C6guT9KRKOCiVImi4SZCYCmMccWQ'; - b += - 'Kc8zh3/fuPwfprg2knNjAhbIkCBkWJ7gx/3VRz0bNuJXOV5JJgLGP4BY1ofu6FSFRcYjiOPcYox'; - b += - 'iDpCZTNwfmLc9C2RB+CdZ8GUNjTXxkH4faAT2h1RgwnImhLbysdFhoL5Hn3QmNA9E9kV80hA7A1'; - b += - 'BsMUgZinj/E9745KIytkgXRdYx8jjEXpoa7i+rpiKDlxfTAhthyPXRYGPiGRMOg+32/xda4VnZp'; - b += - 'eLxulihZ7KTIFimAhBgSGSLKQydDB5pA+NLWho6K4xx0NYcIARaUc+f9S4+39PuaZcwfN8fU2II'; - b += - 'oEjJITkgbLwPWaM63FXJVltlT+FdulzsOMG1PE5trHnPG4c3Fd3DB5b2JVLINCmUIVPeBGzf2ZU'; - b += - '9UV9ECujwsDlwM1KQWF7OxT93GjoTHK7JrgdT/yNSa9iN2fAxdn6Wp4Etz6rPb19W4LMHfohhRf'; - b += - 'LJ/o1Xy5xcBRJkLKk47hMPGl8r7q9b0c7147EMzEZQy+TEQSccpA2KRB76kbBU1tPr2FPIeFGvi'; - b += - 'cAiqkTPr31TREQ5x3sKVsuTFlkP2Mc0ifSumpVcsTq6tVKH+EyTBiNHIAW6nrus8YBmaYsAdSQB'; - b += - 'FvEzktKKgLKSqWHQqrCNkT4nNG7tYDVNaQToamG2SBNBQFCgRAuctHzxqQeFCvaRyqjUHQ6K9N5'; - b += - 'KskJdyJCsIMlFxGivzBWbAsk0KW2sIM60CbEdoAXBkkIWAIsfwnSVgw3MfySGKK0iaQBxBDSUD1'; - b += - 'j1LQC8Iofy+MSVSJNijebkfxS2yGrTfuY+gBnggSOCLEXOS8YU/q495fXQLs6r77mTkPpiQAWVR'; - b += - 'IeUf9FY1brjsifY6B/xecY6CXX4N9YvbDQgy7N4m5FKPQCRu1Q2qENIudLRh9iApprXR0U4TDsR'; - b += - 'Gr9XcBn3sv/i9hbK601V6L2vHIR8iXQeT8KQfJ4xTiuupMz5SEgICgHvuqFyUp3CUgACoWwlF6q'; - b += - 'dKE1xAMwYsBMSJ9hP7JfbcOw35i/1LJ9Zx6TSw94RhvkTJ/Djke/MnBXYhRMohaK8hphJtxQBBg'; - b += - 'TEXIUReTXBo7f25gcOxIfPwJ1p07I5xzTvL+MgtAnUcBtHNrotf5w5QnjMqu5tlpxARM0JGmPae'; - b += - 'HZIKM5IDchyuhvjDHt+xK/PvFAUtsWSZAaVR4u7AnfJ7/tF1UJEPc8F6lwQBdIafR6v2oLJICfB'; - b += - 'nRHAhewlfidMa6volQcR0p87MhIBDBkz3mjlVXssFocALxeEwSXMd8mEaMhwth90zjpm+6xREfe'; - b += - 'm+Y8tl9FRDBkY4cGSFDP/z2Iolul/2rlRqUXiAABwmcgExCK3jKcbvVw2oSu1NTUsyOHSwJYBtv'; - b += - 'Ux38wDm4f/tWqBEvIoN5T6qxxNw3ckbbaEC8IAptp84uUbxuJx1KDGqcO2FdUtRawbLey9gTN0C'; - b += - 'iNAqZh5DIVX7xxKzbAlMyy/AbgGeUNE7hRSBAPYJEDiqjzzlZ2zqYe4HMReQjELUbQu0Z1H/wmM'; - b += - 'ir+okG7u6t4BeHYtlBLg98zDutW2J3BV0zoWT9EGMbItcOQUmlT9kdjfEd6N1eRt8bZiWGtg8pC'; - b += - 'qfUZ9QlRziOI+O8bTvX+83vxmoiAhklfOTv7EWee/KCd7qaj1aqVi/FBBAyYUuAAf48D/Kdu2YA'; - b += - 'TMzBRR2caqieNmtyJDej82AyAZf3ohLz9E3shEtzXwf5M+vRD4+pvSSg+JN4SorFP4nA2RnwAQh'; - b += - 'IJpJwKkU8EZn/+9qYC9o9SRtmBHWGfseAvxrw+4pbW3R7TRB8X+DEHJOIodBXedG1PhH81DuzMk'; - b += - 'ebj50IJjCtADBYS9p/0P+rpYRzigDMMYoMLU8S8vxmT22GuhCInAYH1PGZwVTBuYWCgTwIWYIQk'; - b += - '5cqt5O/GxO4biRvIQocKYwuRLX1pB0CJHZDpPfGxMaX7JrQduMuehETjQs8Wnm8DbvzE8Du5/sZ'; - b += - 'SRpwnMJ13cPUCrhyGOUdMUizlp8aUwoieSckRVrnefGsjgDHJ3IC5EZNY/iNPCLoJtIo3OHF8z/'; - b += - 'cYFtgPuG//05jdPfXINsS2jvw+V+Ovy+R00kY9EVojSB3X4WHEQQwRPPhsG9GFzw27Z0dqbR9wm'; - b += - 'RMAefcCB2S94F99qMOF9JiUQeAQNQHhF32oIzwJ7D32HATYNPLZv/tQR4LkyF3pur6vrA3syz7U'; - b += - 'cUAwAbZaybDIIYL8x7h/mwgE3ei+vmHLbQqyEBOf+NrO4ym3w//2hAWA2WaK5baJyvSKg6+M6QX'; - b += - '9k625EqbVF0T5qbC/VauWxdkk1dlyWkxHTLlQwxbwoijCMvy6b8qceCc4Lg8JBWznuNjxkb2pP5'; - b += - 'UpDYCPItym1A0cHG3uT2VJaBT5IfNA7KMRCbYY03qKcFQXlAVKXWivpqDUtiOYSKFiJjjCLWZs9'; - b += - '88zLICUgf1P62Li85qoyoFdAuSHVHANsPKeWGv2o/8+cJ2R5wQS9k/g+e46s6onsqOSHQEuSjQG'; - b += - 'MnBshIVtUwGDR8Ep36TyenN6L8ZdDVQKCwH+hP8n5As1rheCFIO9SIIk54T8VHNW94bfPrQnAJ1'; - b += - 'LPyQuIGMmGTnNHNc9W9uqC08GW+MGIRYOZ4xF1AGm7XRzTHf+RYnfg6BI2FDBZoES5s7orYIDe5'; - b += - 'SHwsaEY86EPLO3ChQqyBCEW4QiOwyis3qrEIUAy1JGngTG0XHo2WbdNtcFKek9XZMoI0Sgcmo4S'; - b += - 'jMPJDU6x5xauIJ9NsSCyBzZLnEQbIZIOtG55jqjup1eN5Elp6ivVptqz/CgCoc2k0bex+drAkZA'; - b += - 'GnYiR0WPMxycZ7KtVa3EQnM77Uo+PkaEyoGU+mGofI1oeH5/9j2gGOoDlOLAp5Tz8AKzZ3t+chp'; - b += - 'qWz4RoRwmIkQDrvJ1hfJC0+9DKK4CLcAzDvaoyiJOXRRdZH4Ltm5JEQk9BzBzIBHA/cXmEd8UCm'; - b += - 'pC5MO2CCnwXCA5M3lJf6cMxD/OAx5i4DKxEPz75oS+xZDnya2gwOICuaU0RDwK8aVm1Lu3ZVLXp'; - b += - 'iAMA5ONMQgz0NBlZk+iAMibtg3r5ML/oSMuN/ukEAt95YAmQCKQIWIRucL8X5HnarR6kBIWSO4C'; - b += - 'rQ+DQFJ2pfmtabgFA+rh2FyKyA1dGl1l9p4vQIckKpdTkHLS6gx2HZsfcJcEIRUgxkmErjZR52X'; - b += - 'TFaGOyEqtH3JBJlHpflSYXiSuMe282lUzJZMamba1aH4+FxvIPZUKB/kc2CciBcbXmn5XuZAUoG'; - b += - 'tJAqa0Id7NIvAoBbaYMpC+SHCdOaarikmlOIGFTZinzE3StQN6vRn1Slvzqgnp20BPmQDQAi6Ro'; - b += - 'huAR+qDt7ESVyMbU0pcWI6IIWTf2H7nFNIXpaBckc7bZrSXsqOSbYQEM8DlDvmB2Q8zIwXxRAYI'; - b += - 'OTYwWREhN5mH9D+BYY3SMQfCC2COI4d78mbz4P7lC6wJ3YDazEaKzQ0IZ7eYE3qPUNP8UjrWSwM'; - b += - '75CHsA8PmEgYQfWt/ZiEUhFHbYSoOx/UZu83cdrZLagOptW0PBVEAO9u/3ZzZR81Jl5K4jVyi7E'; - b += - 'AsDEEe5fgOc2uUvIWpClxA1sLxJPKU54eN7vw2CB5nhAc0UgEc0gkdZ4Oa4a306tY0p2ADcMH80'; - b += - 'HYC5euPCbbvMnuMEVTQWMMATH1fsMCOAHk5/t1mv73zuAxIgCICSImoAIF7vol0ca/p5pFgZ+VI'; - b += - 'q8JPpRQhDicOE6EUjrzvm7zyh+aB3WYNrEEUmEMcIexwlUtV/Mic0V+3Ntaca4qDZ31Hqw0jH7g'; - b += - 'eFpL7zaO7V9v0vuv0rj6mOTxWQVkNQC0T0KzjBRiEB/5j85C+ZGyK221oFDJOMRM4QCiI9OyIMh'; - b += - 'mKB0zcy8RqragdBCr4LsKEcgJyy0+2rtqDW1ftp1tX7SHz8C6tICoWp1sjYKv9T8L0eI7kPhM0t'; - b += - 'In9sDm+74yDTtYQStcD+AVSEXqB80gfqD93AwJiM1EBU46M+KNmrl+h51sXs0EClSszkhHBnmtz'; - b += - '8Zg5va8qb4Vi5jQqXBVjGxVS57kRsRnIkABlj5ukF8/EtsbaK4o1hoxNzwo3FNiWI+UZgW0peOQ'; - b += - 'jG9s/M7NbE5/fD/d3GdlIeF7kCxEA/UQ/Nxf0K91TJj7FPqNYiDn1im5m67X3v0Bc6YuAwAklJj'; - b += - '9h9i2NVKs344z4R+JhLmuzsUmAKy9SIrVB3LXxk99Os0+ZTufgknzKsjQHYVMrPGxBbR66NkAXw'; - b += - 'uHT5viet3KhZ3Zcn7pOJIHsRcKN3GfMsFvVOvAPmaY0yLmxcRXIFsgYUeQBVKvsrM/mZacequrg'; - b += - 'SBf5RFKPBK7kQfhcK8FKvvIZcGMNoGpEKz4DxEjgSxpgH7DQ82afQ6NVMi5bSsDuGNAEdn6xVS/'; - b += - '85VbVesEc2bV5RbtnM8IIUBwfRPeAyBdNuxtTDI9ZNz3nfigjJ4woB/rt4pfMw9qBnjauxiJF7z'; - b += - 'ok240cYPShm8KOgKi//C0gE9fBvpAgiAPmdXFIXjHd7uURQNxNJK4VeSIKkWAwmYjJV82TurH86'; - b += - '360Rhh281AeTxwppLIdLoSnJtFMfGSZjpsE6h3bjAjNaG8FR5LIQS71KcUe+hUg7O4Y2d50KU5E'; - b += - 'hAviXIgDhD38675tEuypjEyRy4mwMXKd18zZfelBO4+iGYXrYLvA4jvAM/kgMdt+8BtAsf1scFZ'; - b += - 'zU0GbCRIAMqoy7SOEiVQJbH5rztoa16BWroAjl4PUJXwXhYCb2Otmj2EG7cMLqgv731PUNHeErd'; - b += - 'LFwxuUDZr8zhzdtUNOwqHbkjpSIKq8JADXsjdAVuqBy+8DXPjEhb3nOTikhEZMvNlLD0BKk66DY'; - b += - 'PlUdoMI/d5c2NVGLPTC7goiNMzH0JaHDOAlJPEAPjC0zzz7rX725A/m0r4Fgsxraux/fLsIuZAS'; - b += - 'pCvk+gAV8m3z8M7pRDunN4kRph6tLMj652EZRD6PQHRhykCw0fR6UPfVkQalkdRivYiAfjixk65'; - b += - 'H3+k79fE8DoJdGAY8YCA1Be9uHTfVVbRnN+mObEKxABEcSAojxPbeA+zV5gakxbR5K3NNok69qe'; - b += - '3GpNjhTUtc+Ux2QsWbS8chAgXIZ8Efe4ENSj3OQTIAllz5B5P3zZO+kQZg//mj2kO5FsBmxCqTz'; - b += - 'rqBENA2BcmWRSpGjZEPABl1RbTbpri7sROdSJW7hBAXQE/5aQFC+hMwelvdXlqd7qst5iTiHo5s'; - b += - 'X/k9BjKSH5qdIkdipmKJssUoehQGoc0pUBGihoj+vI3H9ZdvZ1x/7QVaPBbZgUqNwCUO/dD7CLq'; - b += - 'x1aqcNi0Okn4gbOLbvs8DwunftvFs/f3bma2PzWE63j3Gnc316iSLT/L4KWkRcFpWkd2ZyXdynk'; - b += - 'ANCglIl4QEEVcKY/bptmYX/vEtsQv/NGu7MUzokwNgng7R34p0bY37PRCpENA9cZH0XMY+M7ci5'; - b += - 'Ep5LvcSchXzLogrt2pbmYUoQYJ/buadsuPT4pQ1Z3n15CSmPZ1dHp/B4SmNtcBR4HvYj4j3r9Zq'; - b += - 'reiAkQbCMk0rC0P9bBiTG/iOiLgtMUJfmKO7ER8SW7qNpO24vmNzlbfC/7fZU1LFTE5DqhoVksC'; - b += - 'PyQAjArSYkS/Nzq7mCblL5/upFWEkEEB+XAFcBZLyPyZqv2nEClajRIt0a95UlRWOOQGVhIcqPO'; - b += - 'e/ZtQ1/mj3rthBmzgwtNCLqB35buT5XwHf2N8op/bhTV0FNnGJJGa+7/pcuQ7ZX/d/UJvMYYWnV'; - b += - 'ujHNptjuxeKMjr7geNSO/B4IIC4eYJsMWU3+0Zn2jtSLNvKHeNj5HARBRgQs3Q4a7GCPmjllmur'; - b += - 'MchLJKBAewPHs8O1ltNTGss4n6jnREjZyMKQwiZlcp21rdhaD2EHM0SQD4Iyks4p1nH9bjlGYR0'; - b += - 'bT1CZ7yAK0O3C1COfOmS9hbpwVW4ncDuR8t5RCSyYMm/jU62+oXdOcADSCmM+Fm4k/dOsiX2zp7'; - b += - 'eZVyOY3IADqmFRQF3mnN57byW3faki9aMwoIjzM6yebOPx2Q06qUrk+Oo4dBH4OHTJmdYhfUoi1'; - b += - 'jGFNZWujymwBl7geeysvswulcCl25EHcpqLvbOtWdVdcelxZtw+ZGmRWJ2ARZCnEuKL8BxrTnWB'; - b += - 'y1tDNqNnf67+1s11tuN16KGwIwaoPkDKWx+hc63t4tMdYnYvZg3Os+we8HKcxlV6ANwiogDX1Ec'; - b += - 'RPt/yetb60Ux8SgGWvq2izT0hXZtEF1j9NlZ5Uag4bOCHMIh/nriw/02o1QE+HcShMBS+519kfc'; - b += - 'MMGS5FNjAVANdeKGF7XWz934od2FUnPQrhMRTywL6k/1OitAqE+whxAHvXdr//TacERdRXGZp5y'; - b += - 'CiQQ/tSq65nU1n3QF1wGzCfQo6z1FfsKDZipJ6QGpehALgsZFMZBIyFl1kzOmWQVKcjAAFg+txG'; - b += - 'zevqDGnqzI90wb0aFvAIhG075CBqg+RzuTW+D0kMlKuG1KH9IK6GgYdJAPwrEQ67op/1JbAsEeI'; - b += - 'RQLiQnu9faY3p4egffe6PDxQsgo3N1WE57lVWNyfSJAcaEYWjkO0zn+LA5Vdb3ZwNEydNziXhZD'; - b += - 'WYUu4wJ3K59HmE3Wus/iR6LQzBh12njnvDOKIhooxfa22rlLHXWd9Q8qCCc+DaYTfAfAJjcL3ld'; - b += - '4naYu8RlV6GklwspsWHBYTIYz6syA3Wgv7b9rrIHkIcEAA5p8ChBG6Egxutab2MUIsuieQyobVY'; - b += - '42DXR9AMcSXQFeb8wBrXo2azvdu0L3wQaz1PiXceQM1NVtBVlNchcf5ZlWAko7Ka6vObgP0WoQf'; - b += - '/HMFscrO1cKuta0cDiYIhJaIBwZJhm2IV94oi4d/yrbV8q3WW0S3+yi9iLP/P0d/VXbIqHRnSI+'; - b += - 'uXzMs2NzIxqps0bjFyA+HCUX5fEmQoBpT3tm8K5K4IMcPAYEnpA7tEbv/WJu4Oa1zfQ2VqkCtsI'; - b += - 'O0hddX5ZT6706rqeOCetqco/WwtUQh8BRPJvAOcCdf2Iy9kgFYoCjdYs7vMdd2jtrYQSwXAfnKY'; - b += - 'HRIqD9eI3WV1EzbLaoV2CWA280VIAKX6IiKC3219czV94CNbug4DcsAwu8ca1ZUUkZjKalwHpA7'; - b += - 'hS8aY9JHP77XGdt1jgMskNakTAtdAmesixTfL+6wxPSKFmijyo9DB2OXq6B3i/zAv13RH2PuTn2'; - b += - 'mCFpxYaAP7YLNAZZQXP7Iq2vIw3m95XWGdeXHmZJWRvFadAFDDCIlsikgQUNg7hP3Y6k45kRwa5'; - b += - 'gnhAz8okSc8wLcPWAd1mYkxOTfEiwR3JZBHkKNArvnJtpbtQg+4ZJcFLgo9ACT0oPVtBCn+9Nvu'; - b += - '9kPbXOZVixoI7ktgHFhkPwy08JhJx3YyC2tnFa24nUsaVZ6TqSdU6xhQcUKzTosfMeBzA8/3AGc'; - b += - 'IAJBHLLvjRo0BNN3K6dbAngojhzrqXB0Ou+DRrajzmJK4WrUvyaF6j29FQz+zJnXcXTE8J8c8Jv'; - b += - 'oz7XgEW0ebghBIktSRLiJqt/vuz63JvZBwdWxjnPq0IU/NXY86gFqQ58Lm4oHzhFVf/a2ak0Lq+'; - b += - '74kmKtkt9iNnrQW9GLh7RulkjbI9QKBxMaoiDB6yuprdD9OoNFBkthYBnbAJLDF6OmtIjgF5kEZ'; - b += - 'OurIK2K7gGVdLJ+xgu6N9e1SLYOsRXyPYn1KMeLOsxbqFvEnECWUh7JPPRfbwAcw+7mt3Usuhjm'; - b += - 'MbD+kgK0jyp63+psmASkdsscR57AWdkB+0e8WnAADLgahBGCTwSz8sv8tRFHgAmpxA8wD5NAX+t'; - b += - '0CcMiOQzmzHR56gcte7HcLoW07sMMd5V8jWOi+1P8WQgDrSIVdQCdIaL/c7xaUcg6kz4DhkHMnD'; - b += - 'F/pfwuBjZVmhSHbpRSzV7eiBS/03VAKzBmmAftV/1sgNvAQkjhuxAC0gl/3uwUWRiD/04i5KhTA'; - b += - 'c1/rdwvc4xgxTx3AEfrcdn/T7xYE7GSf2sILQEz2qfht/1uQkjqRAAEMMdcJ0Ov9bkEiO1KnmVA'; - b += - 'R+II40e96xyyYKfdQZosAAUfOxBt9RmNuKCRgESZAEID/vDe3FidxjD2PKZ8Zj/IoJL/vldRp+q'; - b += - 'Z1WK2kjskoor5SJwUowGH4ljWjHeUp8HM7HOazZ183wI8M2CKMoEFANX/4xqJBEAIzxx3qhhgjG'; - b += - 'Ofb1hH9k1DzPvNz9EFyWtDkPvEFQth2ImC9Xbaxz+DiJOASMV9F5BIqQUogAX6n3y1wEE6JS5gH'; - b += - 'zCqFht61XjF6ljASgbmQzLZng7tU/08oTPxPsyuULXRydkU1X1lfWdisXt+D4mbrkrNm5ol63vH'; - b += - 'SynrWxmvHr2jN0wBYUIqQEdehQtiEvmfhaprN1vaWWAYDPULIdQMURohEf7SqujIowB5qygAY5z'; - b += - '1/4lS2IMv4HvAlDlNWfizft47bVp5s8QuYxwWjYcCQi13Xph/0p3euytOKGCJ2RCgJ0Z/6DCd2A'; - b += - 'ifKlR37HmM6txrzPuzP6z3bc5TvncoprDIU/9latXVc7KScOkCkT7xsmuSS40k9hCmR0mU2UjKq'; - b += - '/Ms3RgZYMFtSlzIeugEP7b9aftdYuqOuOQBJkDpM57dyHYE/6mtFOwDqxGGzcxY5gUv+9o3H4HJ'; - b += - 'huwHzfE6A6lP779bErnD2fJBJErxdK2RTXTanQjIycTAoSAhcBVrDNlNpnD62JvTNAJ1kDKrBQO'; - b += - 'lhQMRmCj4w/sTaKm+5rlw2OoFEEobiOxLg0OWeF2IZ+p9a9V3YfgpxW/uxsGxtrTZ8qpMM8sPRq'; - b += - 'C0OL0pkaFi3xIcghPcIW7DAoyx0uPsPqxsvB11JI8ZW/ZzwmYMRAa6Cg8CB8D/7UZcGJHAdrCxC'; - b += - 'LrAj/mdWmdbrZLN1n1sHd7XSanlzNRnZpC1VTUoWzSswJbVDD/YPCF7MBxTyL2tOL/RdJ0FoI+8'; - b += - 'qFaiWbvMHprHI9TgJXUBo0qcu+cJKEhPBUADycxmmJ7teKR2Xkdp0TsTTDmAbUSkkCQRlfhSif1'; - b += - 'vTE3rLhDJ9T9a+N7Oa++AQ75KIEea4rlCHlnPypdVjcqJYGeX7jCseBaTk0GYI/8eaUJgYqQ92Z'; - b += - 'pA6AsGwB2OIZCj/ax3TCyPRQas9YuSo9rj7sNxRKqBWsxQ2EtAzEEVCR6lc8FfW5G5b77oVfT5F'; - b += - '6PgOpQA+gHWY/bV1bP94na6CePXxDnEnXUIdGlHHc2RAkfQ2bYtObt4WjWzpYaRdOHf1hnNqCHJ'; - b += - 'cJ2RKiyYxdllLyulywuYXphsAkdYGLloxFDwSjK9NzeyTk303hig3gEl2qaM8oCNKnHWpbRaPdk'; - b += - 'rK7hohNTU21yf+lOo8PUC0wGAKlX6Nrk9txTq5nHiI+cJxONDOAJ2aGts+7LWGqLRlGg/GGj3lZ'; - b += - 'qoOo49C6gLOEKelpnbtQSVgLhQaVxGo+Z/VM9r8nNQpLSCNEN/xlLvB6Sm72+OeW/P/qaRfMuJY'; - b += - 'BgBbYXBGX1YdE8QwYEPGmXRh757Zl0rUBpZQHdEM3A30j5yVGtsVYia1wAml9aG2EWAv1+dURWw'; - b += - 'DN8fOTs3pv3srFwUOszKQBGAbJF5AaZzRc1KTOmVMKUCmMRMcH6cdZwLQ6e6wEyJHBIKHKjvPud'; - b += - 'u8V+elBideCIka+PzUAQVoquBnjTK2E8E8z+OwICS6ILUv8JNNytGCApguTWIVHMQEAa5YHR/tB'; - b += - 'xG+MHV4n8KGRKOQiijA14TWogoH9CKKQPb1gaOK+EWpqh5T/LYz5AmlxrNdGXKYAx7gi1NH9rcr'; - b += - 'QDHzvcmrImApXKTOKPV85vPwkm2+Jt8HxNaly2zfpixQ+BE2pycd5hEqLt3mHbwsNaTAfqAYmMu'; - b += - '3+Tuu2CZrRXEkXEFJpI7ZJu6V27ybV30j6CYC9gnscJCVHOkFwdWpqX3zEuwgogvPJ8KnXEUkqZ'; - b += - 'Cua1Jb73fk+OpQCs/1EcgDVNJrU6g7tjidONRJZeC0PXW+giMJia5L9SFfre9KgFPbU4efg+wtr'; - b += - '0/xPmWf7OTn2S3d0ayGMjfCRg0iKkCs4v4NqeP6zVd2m/xygtY1eeosPMdBni0FRTemart9wTdN'; - b += - '26itM5yrY7SpLQHRRvQHqTk9JJ+drxZa8CM1Do9dPmdnD8kKnZEwMb67KnsTZ37oEJXaUdyU6tX'; - b += - 'J1KWuOjgxAoopfBS6N6cO6Z0/bNVtqWhTbWMHGMNBAJKni7Ak3i2pWf3hwFqVrlrjqj3mIuCDgO'; - b += - 'ggWyj25tbUwATSdR9uS32nsJg4mt6eOrg6T8YOqckC4ejKI2p2VqGW+qzWhwEOsF0ifeD1AOzpH'; - b += - 'alxfcgSnGeCiNJKAqxgEoVCSPfO7mor9xJYQPi/gO1SZ6DQIASmCEeA2sSG1KT/p7nrirHrqqIJ'; - b += - '3BOCCD+IL34IHxiIZHN6GdkJTpEV4cQhTviBaHTqjKVpsT2AP5BM772F3hJ6eu+9J/Tee+8tdNj'; - b += - '73DfjN+N57903mUgoVjwa+dx33737nL3WPvus1bW0sHSUZNokIaQGVC9oAOipLmyOW0vDqXUEU/'; - b += - 'g9USGawcSGZHpR88S+pT+/aA74H9zAxc3W0dJMflm1wrCMinBRGa+D1vKSRq4evjuf28ZrX3M9R'; - b += - 'YoJBB5Wp6KikJd2WWeAwqps8ead4hCwlzV661mDWhXO6m9UqGfL0SfZw+oszeUDBlbzxrP7TBoT'; - b += - 'DxRmJ9dWW+Cd7IpxMEswAPaAH2UuDPB4d2UzhvCSTyHHLIQTWTnF2FWjp7IH3hKZzswFx7nIV3d'; - b += - '5phFpanYo36vRw/OaZhwnXyAewBwcTHmTEuXp2qZs9NnZtr4KUYs2dgU9IrQK+rpGDqnPxKUdFw'; - b += - 'NZz0nI8oxbNAy8vpkYNgzbrg5t16CjCEUVD0kZdZze0Ighg5dGWQNTgtLEUYHTinJj47op6+LtS'; - b += - 'kalQCHnIIDc5Zu6vEFAxDzllBUHRsi8v7mxw7pvZ9ATqyerpwRlQgF1BfIOr9HdMnzoIjpg9YYC'; - b += - 'T6UcmIyOvBgVxK3L7KMHsm5rxJpkt7aStOSoKiCVrEqgrrhsnVK3N885fGNuxUbMinyx9XknntP'; - b += - 'r7dl+zlLywLZ5B6uhMxbth/gdzanrcH3v6Z8JlWF6ZCYjUzrpO5tnrrnCLoalsy2Ze1gGcQZSEz'; - b += - 'xPd23gp9/d7Gi3k/o0peoxlZxGTXPlbPAqhEjRfVvcMwgK+mVDOUhLWaM9ojOBOevvbdSQ8J+d9'; - b += - 'RAdVT8bUpFWmI4UcPDk72vOGL+U2v6wVEuVImbtIdOG7HB74f61Z+Jy115rBJF5tIKhxiFFXCof'; - b += - 'GGMmRsWMS9FbVBLJxj/YrKMVp7+v3JiUs3OKFiUTd+GzzZaVxY/2vFGfRDo3WOCMeIzClmw/14w'; - b += - 'l20fREApQlE5SUvf5dd1+v9AA4KQAuQVWJYHFti80T+4DDz6lyarDg7WDhfmq6fPF5hG3eGkfWZ'; - b += - '1S0wUtfYArFyPwkJP+0hKcWpODrOGyVDlcCjEwT4Pm3qbw5eZZo7DwMgxYtG051FEKSNgreFYQq'; - b += - 'OIrzakDLzFC/LQ6Gysto0YBHsvsV5sL/v+cqc6ti7gtDOIDzRRUdvxrzYs7P7cNkL+f1jQ7yiA0'; - b += - 'PZcAqdPXm/OO3NoXMRjky5I6fb/vw7X9e/d952srwe+zWoPf9sKvdzRuZFwCsbPRoBNqRL2c8I2'; - b += - 'HH1Pf3MCY+tYGXuvbzZNWsLKe1n0L+b7TgYoCGvGsoF9DRMvp73ZF6XjQVkc8BKgCsN/wvSEF+L'; - b += - 'VbN6rSFcx9yHkmCICLkn+/OW4lftk/jc7Yvfbu5AvA5gSRHwyL9AdNVxs8P3dgcq7nFTRdlMMmq'; - b += - 'mi0ipQG+sPRD0k7jeL0gPSSgrjKPxoLryttneZBs+isiFL9eKzRWqdA0XOhSB5skT9p+LDM3hPX'; - b += - 'FI4DzYuaJmsZZT8dityXwTcQNWEKvNekBDpE/KxxQ1M+gErkYHuruZmwSuQSjC8WXWZ+PmIs1tb'; - b += - 'KjJ/aV3fusgPkKAH5aK8s+0XTcdu2oCEXMNMobALsY385Du4PPCYTOTryCGrZr5ptK2ubvfbtvn'; - b += - 'k1MbF3/7K8ONrIUYxemwMQRvHrRoweP02FKgb7q3gyArL7b5qjYf5O4Qb6b8e4eYgpLgqaWxfAK'; - b += - 'yX+bpyxBRtXIBojBYYX2e/HeWjoIq+BWpukvMziD0sZv6uBUO1gdypbDlMZUDst8Y/NCeOYIdUS'; - b += - 'DAojc9RXzqxk+admW3cnpLZxKGgAVY4WG7KRf+4ab9wmmWhgykK4ep//0nUg0CKULJTJQs4UnP2'; - b += - '1c4QbyO5YMc8MdSPUQ43AAuAI5sFLLhCcSdiIr0n/bfQaB8+UI+OQkUYIDfb35qhWnvgf7Q8LB/'; - b += - '7ZPAZ+mJ1/Qf5X/RWwiH8DVz5rteBujxwtX1laF2KMElAijd7l/3QaBBzClRgzjS5kof/brPPwD'; - b += - 'NN9NSnGYkySe2BLhjEtD5JtqxrWgIohaz6p/g1TAY2rcpXqrQoaJqjAjHSOekhG8iXkjMN2l3dj'; - b += - 'r1pccYp/2B4GFr0BAgfnnRdAVV5Kth3W57Dr5FMmT9t18tk7T5mYmHzu9p24BQH/qD2nLJyzOkY'; - b += - 'lpKaAyF5G9GEHFE/fMbl719lnnnRK/0AVvPZJKoOmJTGKl5NxhXhPz1O1tjhVa4taJVSs1BINOe'; - b += - 'MryIA9fMwZswtV3QUoDbYjGKsluifxVxK+xPOnerqYO3buOnHV940AfnyhXheNxbNXkc1rFQdgt'; - b += - 'Ziq3ciFZwBLtLic4fGG9GoyWvZilaR9CSxxhv5XArVs7WvI4/oUF15L3LDcOrO4D7h1acvBTujs'; - b += - 'AEAkA6uHzfZ1ZFhpbBbzct9gVQBMFRMkl7CcxNeTYUkdqGHVGJ/GLrgks/NUJzwK+QaihwyrxdR'; - b += - '2oDRFKBmLl5aiF84bCR2QJ9ocgSAgpxg5YFMnfeEsvImYAUNOww3GmlnarUavgkgsMw+5AV6UeT'; - b += - 'NZvzcWj3gSsEBAJucTfQuRQ2cU2ljWDbWEBrWUQj41nKq3kqesjkZYDIJwMhQDaIdmLd9G1jR+Q'; - b += - 'N/3euBqOQqTNA5wtubO+eBoejtRa52JbV9GTVOLe2th0wmaguIQLxGF9t9B1oGyi5A0AwykKPgP'; - b += - 'E/Wd5PFt/Paqhu9aOyL6ejRRMrteSChOjUHOZ6PQ540cuFCVhKYpmu8BRhI5aclpeTc5fkXluS1'; - b += - 'U75kr870O5lPrj7N53z4/1Tv2zoDuMAqTpiSe30NO6HKBuu/ck+WP3FpdhIY78Jar95LtXa4Q/Z'; - b += - 'KMWnW6ArSpOMQI5Tyo+D7SzMxP8fcT1s+ZgG1MTGyfw2yMhqSTe6pQW8oMDyJQQH4yafYB0nEbR'; - b += - 'ZdkEi8wRgkfovgg6UjQtGNasYKNqUGLqD9EnrYy5A6ZE4kCIZlDgJcKIRE+3PUj4HUwEWCe8ZAp'; - b += - 'ROpHun6pDK8T2BSHzMWz4OWjHZ4gzT4mB6lXGFhDRTq/wxh41sYoB58hDQx2F5BN7U7J3nncG4N'; - b += - 'RYb46WkadUAsHEDWn8KDjx8gTerS6BbE1Oj5Otg5bOTOsRgvYyDxdd9Gn4YEqKxmKuHE0XP8Esc'; - b += - 'MW+zx7aKlPQO69RPX/mBgr6pPEjJhoyx2wqmCkALCFecaT/RQZW7dzb65+PtMuocJHQNG2UOCbf'; - b += - 'JrsHPdStTkXOHi7wkPOVtZzbFT11n+G7FjP5arDBnyxDP9RgDxWyQvJ7nGvhNN6b8bK+/L9BcD0'; - b += - 'gIE5TdzKEvxF5Mx1KZ76/bk9tltbOyDAbfCy2ipLky4e/xkuwAo42eP1VBjqk4G1N0abXb6kwxz'; - b += - 'IhTk8WsFxO09Idik5eWAKGSRgUY+QRYWOB5nlAM8nXTbkMgO86OrhpOAZPAcPk9JLl8LlpFstbL'; - b += - 'Umea3RYeUzApWMnCmf/BXkwSOH98A8gqXJjaipIojWTqWgM4pN6ivJvkeqF+ZQ4XQa1sUQrC+GF'; - b += - 'UCVIV21ga/kavLsIe1Cc/vmZ5ZUkHp71a1JJ/y/FjvRoAWb8jVXVrN8zRICXeNqreYHLOQWrUAK'; - b += - 'yyVnVcS1Q4Ys9oYwZiPkWFkcD1Lq6wgbOGRTK/U+nSzDIxAOSG32sFpcT3YOP942WD6uFtNNkcF'; - b += - '4CxAdvZTYDUNewaYhpxfrMTVdJMBezSUsj4KzG8m6dedZzMxKmXVWTFjLbiLPX49MyKpTaZuWGp'; - b += - 'hcMkx67wGuQ3oU4uYOD14IEZymCgigioanW4gYPKYVYcKJpZ1JmRaULAUwZW7tClSYT6Xu36L+C'; - b += - 'Lyi28i2Ee1vh85r1K+oqOVC+CioU5br2zvdLqMR+yRdQmmCENkdDy+6pHAZGAAsKQBEjIp3dv32'; - b += - 'NgQmRYqwIkUG6Puu9YcS0I9EEZZEaj3Q6Lu73kMSaCZnAcFxEVT294z5BnxS6PgUjDaomiXuJTs'; - b += - 'GvwGsyg+kUYxxZgHxAhSCPOjFfV2/gilaOMjB1AgbC4/3kz3Db6GD7dRa21bHVwbuabC42R0inv'; - b += - 'Z4gMwP/qwBosnzC3uqaHL9e+sgEcOlT4xe2uRjRBsXmqQ+4qGDBw8e8ViA2GkxwgUfdfSMn5taB'; - b += - 'BRzZHMmIOojjumh75w2hwOPJoiy41PZFs230M1ze6am988cOPbpqEtsAd2ZYwHG8s1UwZ9nHPVC'; - b += 'PwP//Ci6hbkt9BhMfpt7dAZ+x7cY9z9z2wK4'; + initMemory(imports); - var input = pako.inflate(base64ToUint8Array(b)); + const { instance, module } = await load(await input, imports); - return initBrowser(input); + return finalizeInit(instance, module); } -export async function initWasmEcdsaSdkNodejs() { - var b = ''; - b += - 'eNrsvQ2cXEd1J3qr6n513+6eO5JsZI+wbrdkPAZ7PbKtGcl4wXcWySjCsbPx8rz89q3QxwjcY2S'; - b += - 'PNMgmjGbGWAhBnEQGJ1GCQ5Tg38/KYgeROEYQbxgTv31KIogJTlCCAYU4xEnYjQImEWDwO/9z6n'; - b += - '50T48kA5vs7u8ZNF23Pk+dUx+nTp1zytm8623KcRx17O7ZWWfZmx3nzY6aebOacegfB9T0m/UMf'; - b += - 'dIf+jYzCOMvfbgz/MU/9OnNyLf8UoQ/Y2NsgKKCmSwuC1FkRULT09NS2bTUMS117bF1TgkUnGeP'; - b += - 'tDuV/wC0af5RU2pK/8l+6s1yc+eWtyzZtOnOLbfu2PaWsR2bbt216fYt7bGtk45B0oWlJInftG3'; - b += - 'n7Xds2jm23dHIcBEyvGXTHTtv3zq2a9em1SNXrh0eWr11bO22q64e27xGalkumXaP7dx16+07KN'; - b += - 'dVq8ZWDY+t2jwyMjw2tnZEcg1Irh23bxvbtGrNltVrNq8aHtoyPLRt1ciQ5OgCdNfkzlt3vEWSL'; - b += - 'Bw7xybefuvOsU1j27ZvHtu2be1VY1cNXbn2ytVOiEwvl0xbd77jjsnbN125ZevV21ZvGVq9anjV'; - b += - 'trHVWzpgfduufye5tg0NXTU2tmVs+Mqtw1cNb14ruV4hud4yNvnvN+/Ydvvb3rj5treP7dq0du2'; - b += - 'WLWNrNg+v3n715rHta0YcD5mvlMy7JjdP3rp10+atwNTtOzf9+I2vW7fphhtf9x/esG7Tlm1bV2'; - b += - '/dvHZo7fDW4TWbx7Y4CgUvtp3iJtbfetttP/mOHVs3XTWyZmzoyi1rVm/efvWqzVuGnSCnFGFv7'; - b += - 'M5Nw2uvuhLoHVq7avjKq9YOS2XLcii2jm8a2rZt89bNq7dR+e1bVl+5XQC1WcZ27iTwhtauXbV2'; - b += - '+MqRzVspdOX21ZIlyZvZcfvmnW/ZtWn76pG1V1959ao1I5s3rxpZNeL4JVruGrtt+6axK6/aNkL'; - b += - '4uHr19i2rRratEnAsLe4kct5+56YtV28ZG9l+9ZotV169eevq4THJ07RYvu32LZtvu/mtRPJtw6'; - b += - 'u2rKJ8m1ePrFq7avNYR12Sb9PYyPDw2m2bR67cvm1kO/Vf8rysc+y8fce2se237hjb1jH2tm6+7'; - b += - 'bZNa9auXr1m61Vja4dHhq7aunmV9Mi2seXt27eP7dy0eox6tIZGKHV985VjQ6XZIjQYu2rLmqGh'; - b += - 'sdUjQyNrV2+5aqtkWJlnuPPWybfeNrbjLZNv3USDZevYqlVUz9Xbto+tGusYh7vevmXzzp2b37F'; - b += - 'p8/Ca7WuuokFy5ebtq4eGt3eMaFvTVUNrhq66emho85rtq1ZvXb22A6pdY5ObVhNQa1bR5Bwaun'; - b += - 'L70LbtMnQG5k/yrbfdvmOMZzlXEZdyTL515+13ymDoL0W/bextt+98B+H6yLtpXflNrxL5pl6JA'; - b += - 'r/iGx1Efhhe0Kj6OrwgrPhRJayEfsXp86Kgr+L3B34Q1YKK7y3uCwIVeH2e78c17Q0EgaG0iu+H'; - b += - 'iy/Uvu97Vfob6YqvAt83gecFgd/nLzJ+6HuBFywOKlHFo8oij5K8Cv0X0KcXen5ovCDyFgeLfYr'; - b += - 'zfR2EoReEvh8E1cD3CFovrAQBwUMtBkGlrgNNhagqLzqf4qk6yqupYkqlOgkUz9f0H0VTmPrlU1'; - b += - 'mNBILD8zTlI6iCShhSJYCAKgyMrlJNnk8ffp2+KWsUVQxDWQ+peoSoLIHvG4NkBgfd1NQbChHeP'; - b += - 'Z9Tq54fRQyFzyAY5PICrT0ChDBWITC0RxCGOtIEagV1ECjR+VFEUISeooiGX/WqEf6r1aLz8Lsk'; - b += - '8qpVdK1S0egY9QvdNBEjwXiaYjT/53M/0E10ueobUMCg99QbbZDLMHAoC7iocWCcQNWmgv6ZKmE'; - b += - 'nNMZDFaFvpGL8RdXAOOWiZPtfwCCEPgoRBY39z+dslKKUcQjH+G/ANUYZ47qOodhalSo3ru76z+'; - b += - 'F/Dgfc98zSqFV3qJ+m/3n38IfT77+XAzMqnZ2dc6LgIBiAwJehrp3+rbe/jYb/2KZdt75lx+bJt'; - b += - '+8cc/ar5aU5sXnbtk20hciSe8ftt+6YHNvpfM7tmDa04ty+1fmeXlSK3Dkmsb9n+kqx23eOjTm/'; - b += - '6JY3wbG7dlDtt1PDv+lW3v8uhjpV0fvUb3n36t/2Pqs/5v2SetT7vvs73vfc39CPed9Uh9XHvQP'; - b += - 'ez3k/633C+5D5pPeYe9T7FfO73k+be7x3eY97X3J/z/uCftbMeXvNp7xf8b7iPunOvEd/2vu22e'; - b += - 'c96f2+9x7zNfMVc9I8Zf7MPG3+yPyx+az5E3PcfN78gflD8xnzOfMl9afmC+ZJ8xn3veZj7r/5e'; - b += - 'e+/ubPqmPcH3u+4Uz+nv2qecv8f82V958PmAffj7n+e1X/kPaSPut9Xc+qv3O+pD+tn3RfUP5tf'; - b += - 'MPear7rvM4/q31e37deH9a736u+qF9Vfmg97D3q/ZfaqI+pL+hPu77lfVW847j6rftV90D2ljnt'; - b += - 'HvNPu8M+q9+k/du9Vd+vq3973HixIP7tKv2LGnV7hpHPV8Za70tHXnev/EnWpcVqvvKnuIBS2Xn'; - b += - 'VTXSEUty67qa6TVyaXTbUuT155c91Q+FV7kle+se4mJu3fUPcSdZlzYZN+rlBLmypxk1e+RruJm'; - b += - '4bt1EleOZrsf4j+0iibjW9u+QPD2qE0leokC9coX3pQxS+4F1LhV71GP0yVpIdVW2p4FdfwqoVq'; - b += - 'OJxl7qzmstfopzWlPKVtNZdxNZctVM1TWeaOatLTRoqnD9iY0btRfsScNol6ZHRo3+jQe5LLR2e'; - b += - 'm3rFn9NO//MRz7vTo7K995tCjegrNtfw0nkzjtzcDQbF8tcLUeT3h2U1UfMmFAn0WJAg4WFORbd'; - b += - '1JwnEpR9ER1xOkMz+G8pQW2LSWiptFVc2iqmZRVeKnL75oJiiKIga106xQ/MFKO3V3UsDd2aqmh'; - b += - '1T8HUZfZVgfrORjo4L8T+lWRKFo40Crlg5urNPgSmp1J3WatZobJbVUTTTr+Lm+riiyQf/6ahoJ'; - b += - 'g4kbf8N1EJyeaMY5VZq+BYCCeREDPE21W2ESEoytfoJ6qk0hxDSojXZrEShHgxPJixOf0xpJmPR'; - b += - 'vSBYl4YadlBM5GsniDRTb2LCz2aBKuDnFTSVx0pfqdqvv+roTEUqT+jpGJ4GChMkWjSa33fK57p'; - b += - 'af4RKR3JhKGrYNlfhoQ6GNiMFDTbX0ko31wFZYowpRMlUoQOhpN2uE/6QGDAOvp02rL6kl9I8wq'; - b += - '9JLb+SiwJC7s7nEDm4KnsdEap5PndCTTaWvMzymiAIzNBDUQNMHtqVRJbgF0SkYMkYJxTOC09B2'; - b += - '7HoC3d8w0PLXWTz4iYeBWQEQFdCdyVuhjZPiZto0fDCACEhF/U/NRNPnUW1urDujTvOVyflNVYu'; - b += - 'iJExfoIzBRDPMYkHURK3Wzmh1OnnlVItWCAIZSG4kjSyaZkyeEi6YUlsgBUFqjOYYKBzyEKo7BE'; - b += - '5E84WQENQWRel33/WEky5LD97zhBMf106UHqZQ+vL0WB5x4h7O8XwesXcvRQynj+/NIo4jYiTd+'; - b += - '+4s4n4KpZenT2YRGPHpvb9JX/+g6EsV47+SB4FswvqCeKEu2A75hPiWDwIlr3yopdYxfWh8YaGt'; - b += - '2LGV8NiqoJuVSGavg6F1WLX6QUsaLEk/07IfU7X/XGh5HtHSzKPlef+atDQRo7CE2/4fDUL7LUJ'; - b += - '5+ezvQGo/kNoPpPbzXhNl+IxkBcbOAZxG54LTJT1xuuRfG6f9HTiNfiicUpkMqxGwardV+ihjNQ'; - b += - 'JWI2A1AgKxbB3y7EaETY82I1VsRn3D+pBns9Dm2HyZLJu8xB3zuVgptz+sj2UpmnIvLeU+FfTIf'; - b += - 'SqwKYZyX3AOrBI2z1aMn1NB60LaTS7M98Ribxso9rZlOSPRfLntBgUvsjBScLkFgIIJM07NZr41'; - b += - 'N1sW/hX4PeQ1V+L3mN+8mKbzK4g2r2hewpvMGbYEqttuCee+HVDtPABSfWOd+cikRvGpos2Ut/o'; - b += - 'KNmvEpmo973nY2hHHWRJqrCnjutdmns7sOtN+zsk/3JZe4S2953Z+Qb6Vcztn3s2V3audNGzSyt'; - b += - '6MiZ1KH6DJkl4ocwYrvh0XcXIx/vFgoFXCORtZiPovmSxCkg1UeUx8l4leIl2W/y9Ml6UvhS46o'; - b += - 'wutJTRJok5OcyEK1ZKV+EcUqgiFKmemEE3VH4JCNWKdTNZpRn8FFKpZClWEQpVOCl30r02h2sIU'; - b += - 'etlLplBFKKTbQqHKwhSio8UK/CPaxKCNSeIz08Yyty+RNgV1KjyXMW0z6sTl+RMLdWJQp5ZT5+X'; - b += - '/0tSpnfv8yVByzhTyQaG4vB9fkpj19Uqik0uwYw+1r3EIA5aTrFOonh1RvOQSFHnFgoeRmhCJz6'; - b += - 'PnTKQaEylpJaWTaMznpNieQAcpNEhARNhtfSZnxIxthGNuBAJemp0kkSZEjEBEELaR0PBJlvFp8'; - b += - '1/kpFnpIt+lP9qTJrNYoa0w6jhpdrBYBzG5IvzLCBj+zzpG0oilQ6SWs6ROeC5XZXtkQmHSUWzB'; - b += - 'LYfglhvMLWfHRcpM7DMmaeN/naNk9MOdMWKQqoYB3cEJxyBTnE/EOtBVY3TVGV11oKt+BnSddwZ'; - b += - '0nfe/L7rqQFfDriD1DpTVgbI6UFbnI9kgcNZgnA0yzgaBs8Ez4GzJGXC25H9fnA0CZ1a8Rh9lnA'; - b += - '0CZ4PA2SDLOunMUpxbbpB5W8gpaO7+eD1mfokCLCZl8SSmu7IyKx9LUraaNM62mvwgm7WcPfp5V'; - b += - '0ITOnlFm7bhGarlEmmKqplZTwd3P+W6dVY3YaYBtF7uOOla2gAiSsJCimFAeEW04r3tEqK+bm+o'; - b += - '9xMJ6Ng2lPiQ8taoTZ2uogzUl0uAWU35KfUSpIJGrwBEDi3hQ6hF5Eu0IxKb8woUpuT02XdnB+r'; - b += - '4DExPSTgUdQR7C5AMVfx0j4oRLJWoFwn1joTBImFwoTYI+J5wSLdxxqUev1qF9POKYe3SjxZR+l'; - b += - 'y1vdLpK1fwgUv1RTMG9xFP+eMt78z3EXIDsSK/gViZ30BcjBuIFcnFU8kK3D+sSFbuSVbg/sHeO'; - b += - 'HjJitdoGqqQ1LOsfwXL+ld0yvq9XNYfUnhJSczvpUdUp5jfy8T8R1Qh5l/xg4n5AVYu05emFpbp'; - b += - 'e9KBTKxvxfdcqiy+9wb1EdWsUMJhEZtIvWUZvgfe+7CXGD7Gm7S6gSX2FZ7uzIgrIbLUQdOxhrz'; - b += - 'EFiuZwxj3PKtlRnUIt3wW9ms716WKJGzzAkWr6AoA7affl3XVp2UktAk8Z11wWESjfUlIS9zeFh'; - b += - 'Hq/r9/xsy2LuZlDqSWmOk9yKR6ZCplaa6gKu/Cyuin07IkWu4rEsE+M3lKGuS6bE2v0TzE72wTN'; - b += - '1m5gQYbYfWwhwVtQ91OCWXlYHaEgsNKj88+4bR5uULleRmRmCvegBQkggvhrg7cEXoeAeBotQt5'; - b += - 'F9OKmX4eC8VAaaGoF9gMpQjTjAsUSL24QOrFyYrZ1kpB6MV07F1RRmaRaJOaFy+IRPS7hMaL81q'; - b += - 'oDkYho4AzZhMZUSFtfMS+0g7Rl90W9TFy+oCcPiABJ097WxQxq6ORkA/MPnDt/dm0po7LSLWXRV'; - b += - 'yii4WvlVn4aEEWPiIU1jpZ+EhY+IjY66iLhe8H+0Fky1j4eF0+4us9WHiZ7iUOPprPwUdyVFnHW'; - b += - 'wjfFUl9fR0cfB+2FVpPPQhAaSb34TSRVAijvtwSZZMeSyCQRKEYm+Yk5M48iX27EfsDzRDYtQsJ'; - b += - 'dklpkYIRI61J/EQSoQuR3ZOvJ6SEtBmHmVQjlHNzIxvrDcaDQ+spLogapXGO/ZgmFfFbIZ+3rQB'; - b += - '8RRITP8CdtyxXlMUaXD75luFZMdVagbHpA7H1pJ5FM/tkU8IFU2oLpCBIjflguXwCgYZN1HlBVM'; - b += - '0viJ5/d9cF0d59XRdE9+/ruiB6cF/XBdGj+8qbfD6my7uuXyQ0SqtNEgoL2BsjBLztSghGJ2MbV'; - b += - 'zwkC1JDpO48DBsZD+jzMRW9bGA8NYhmNACbNbv1yH6Fo57dubBvBYlrdyHaz2nVGU8MjYZ6XeVz'; - b += - '1UtP8C1l0rnpnNA2BbL6JXavwsSYdbtzE1yzrk2BrP68Um67s3XmpmmQ7dbN820zFHyZrYOCS4t'; - b += - 'l4oJ87bjQRkLCP8CrU3NRsYkOEsjNZfiddZsvt+vZRdTL5QV3QuRY3qx2cSyLRIhYBWKX0xdmHo'; - b += - '3mMC9CFFF2evGsauLyx8X0w5Ia0RJ0Ef7RlE5QlZskZ569dsqGQt5znrzUlSam7400MBICCaSnp'; - b += - 'mgJblLSImoqEUFJgiUXwpNFnOUCaulCmZw8XaSNxXxeyURMcvPfbvVjiNlVsI+h4OSaLK39WFop'; - b += - 'M9+BJ30bKLZGCyExBiBPmC25DSCRFu1srW2uyxgoILflt2Wbs4eGgcQvC7uIz7AtELLRgo8WBD7'; - b += - 'q8zzeu54QT0SHSDC1Hr7W0zlAJ1Vw+vQ1nh0FvCSh+ZKGhMOkuQhEezn+EdEaQrTGmYk26/5ARC'; - b += - 'tW3EXNRi3Ad0MklTWW/zRblnYNoV0DtEty2i39l6Zd0kW71hlpd965044FlbJoJU1scs0aRSwq1'; - b += - 's6kCFaJcir+Jp98aNmat7gudDHQSJbhXzYRnbNNRFp3fjiaNpqJ3A0kGU2TMk17z8eX/WvPxzPT'; - b += - 'dMlLoanOJhbRlM7NTeA1WZhONLwq+EcU4lVX2+X2XBidl0ahgkY02+WGYFFGo0UZjRbz6s80WpT'; - b += - 'Nu8Wc5fyeNOrvSaO+Eo0anTTq30C8XplGjYXn3WLQaPF8Gi3uQaMMMedMJw90WiR0om2uiTlmIH'; - b += - 'TBSklxcknANHFlU2QuH5ij2IInhDy6VWOeMGP6+ETFMrjaS2AIa0ltAYZwgZTaAim9GcLoB2LAc'; - b += - 'vZrEdgvv5gjBfu1COhblGNzecInClaf80Wy8+S+jDFcdIaJUFr4FnVwk41OaU0XryIXniWlLtOp'; - b += - '1BXmPLsvslHLs2M2RWUR6YpCOOkViOEDKOXMogs0s3h0gZTaAikWv93KKloUgApGuVNW2gVOUxU'; - b += - 'kzmWlKzp1qGQ69NajYmb2iD3M4ipH8fLDZ31VEnhCVJLVpOScGp77hQnEOmoC52CPpQbET9Tqhk'; - b += - 'X+1KjBSge5JsssJ+oGeSrzRHd2PCiIB/cV8rq6yOt0UqeRB7lEomXFxC65njuh+MyPDKGgKQKrS'; - b += - 'oFCdkpbKZ9vC7FpHeXH6eMGXPSIbBRyDuaYdJSuYvl6jQWnEKOmQ9RInZdLDlpxat0WieQIMgsO'; - b += - 'nk4fQXYOeQNBWAcKFPFbihtm0T9fiRS7OwUh0irF5ALKeklA6aVP+e2VTvSxZboxoyGUPKTGW7q'; - b += - '3UJK6E0y0zLq6TU0cUM7N5pDLc8jFHDKQCT0ImRANQTp/Oxh5hrpQTC1PRGY0tQIq62VTqx9Ty8'; - b += - '+mlocYogwtBKtxLzSd9E+1+jGWjZUvZNE8TWxKuGBKbYEUBJv9lCEGmB6mlmenlksjyWRTK5Cp1'; - b += - 'RscKmnrCTBmAp5a/Q8xwqgaPoEiYKeVsbrW7aYL4rjDcioOaXtxS5hVJcwi4zljMgYhOjAZ56CP'; - b += - 'zn76C1dMJ/FUK+5CZpbCuIm78NkrsbZwIoJE/G6sGsFqabYujOMegFJVtuISmuOXiuaY0GwIqR7'; - b += - 'NOwx6mnIsl2HEB8LqBMJThenzNJJTzbhPgvhG2Sfw1TKUiRpqunKErWITMSDCDC4/qhRAqsf9cd'; - b += - 'fXcaynbF52O2Jw/PUF/xF1jBe/fLoF6Azm6F1oyH+kFY/Ozu79vj/NqJGRJ9nWc7YpZMMQlHRC0'; - b += - 'zd+5mfVdIkahKW6TnXToAMCA37LtAjSi3kPYMSlppllpIgkQAMV+p/ZMNCsJAQxrTpI1+1uenbU'; - b += - 'mFFXMBhmwguHNWEiXliSCblSymhRKS8xhB/Qw8gmU0lfAD1cqc0QPViNxpFBbIQeRIgQAlFzHS/'; - b += - 'czYA+DHMvhkYhaGFyIsig8tCS14MA+jqCajAJxlvVpJpC0aJqlZTAE0+2USPxkCDP3V/57UfCaR'; - b += - 'Y25+Sppvp6Hkwa4jQtwg4CgQnlWUJ98V2/8/d6ulTGSBmTlwnnlfkflU7SekRat+mdibQrQNqQ5'; - b += - 'mzigbpe07N5Q0YMtmkhMjY4EDmyBHY7CWy6SFopSBrlJJ1zzkzToIOm995NNA3ORtOqpWn1R0ZT'; - b += - 'OgQwTUOmqZxzOulVAQmFzFXhtYXWv3f4u9E089A53cJuulV70O3Zv/irf/SnS2VcKePmZWrzyvz'; - b += - '3j37oT+vlMp6U8fIy8bwyz3/zxT9olMv4UsbPyyyZV+aeD/2lM39UBWceVQlGVTVdakdVmI+q6l'; - b += - 'lGVfADjKpZ1TWqos5R1SiNqig9jFHVKEZVZcFRVfmRjCr8b/7Immk3jFbCfnaS2wAlpeFVK4bXC'; - b += - '08/r+cNrzLZTW+yv/e3vn/RQlQ3van+vX98+rRTLhNImSAvs3RemY8e+/wHdblMKGXCvMyyeWW+'; - b += - '/vef+lDHKK5ImUpeJplXZv/RDxyqlctUpUw1L7NyXpm/+MvHvhaVy0RSJsrLDM4r80vf/8zHquU'; - b += - 'yNSlTy8tcNn+2HH/hWMcMq0uZel5maF6Zz7rd84vGbBPHHFxxp7dgntCA2zhAMFItauFpd4FMu6'; - b += - 'vttOtbcNrlO7addo0zT7uo1/48qzHtwIWWpl49H/928g2UJl89PYnJN1BMvkbONgV28mGLbtBcc'; - b += - '0VXpS5sGysbuZBNwYCSJlyQhOvZspLPr55kZl0+NwnEaA/zqVWlOQpdUAgQfJ6G0Ti1FWAaNvtY'; - b += - 'mYT+bRjAKbWWVB5pxjhfpCenm4ERTeigzZwULQN88CR2yvJSQTp7zxO4uhTGv+PcoOWqOT3+ric'; - b += - 'c8AV0+NuZ9GUQt3Bbqmwle++RM1F3FcxlM5OshT3ENMK1JfUUVLNoxmmCqDDAjBf1ZYBQKWf2uj'; - b += - 'CiwrUtA9dmcMlqkgb9D8RvJFUeTt3jqER9ryOByVYvxkKDOWdNEXRgTJzocKLjGYUjYzzeUivzM'; - b += - '2H6LUWjID7sNTVWUjpo6zSM3+emS/iHTrPyO56efvGd7fTOiXRPu4UxJfHUi/GWm9Aw20hDB2dp'; - b += - 'AMJJqHBQH38sXcfX4x61pmlgUmvpcmbkcdThs33qo9Hdb2k547tTNUFVqMnx9DWEWswyPd40Flr'; - b += - 'w5+mJo1Z5weGdJfHi580kBhDvBS4PDSf+DS/+a5cWdT4a0A8WeFZ4CqmTmBchzw8Oy0Bf0hYBBw'; - b += - '3fBKPi5btTd4L6L21dP4CEASazwh2ZU8/PP0nQdFhHrK4xlml6JN5k/CHX9n8CkFJD8TH3rd0dM'; - b += - 'GCPoA2dQRwk+kZqSWMmmA0TLX8AswbXlwMANv7vpoWWExfiZ+xeg/rEJ9KWIx01kBSM38iK61Qh'; - b += - 'ouP3eQS0G+9mDBpLtw2sA6XjP+TK428ZTpuVgxRFTKI/JjW76VhrJtOnHiOQhQxo8dhjKS7IE3e'; - b += - 'y5fL+bnAd6cKuBBJYd+cwsiSmyZMygKzQxU8NdcuPizt3hTMejbl2/EWQIL7Xw7lQQf4iUohslL'; - b += - '2znTi0xsqw6hRzZPAQzgAu/Z/OQRPCczBubqgTn4ohyMQA0oMetHAF/3a0Eb6AaDnbOnkSaIIub'; - b += - 'GgFTA30CvTJydID7SWU00pBqRTdgfmMhC4kCS76EBYo95F68hNp0836SetpEk62IHjQEMaFzZBv'; - b += - 'YXgyz+zC/DGYoYZok554LBtqtETxog/VSkS23PU8XlyQwwVVQiFfkE4n+s4JpiDIg5qIPEwdWsg'; - b += - 'CbiqFmG75RMtgmIOGkxPAKO0p1Gwwv1nqq202WM/K/0HHKKDlRHpHbZty28CSILOF5dlMMhF4uG'; - b += - 'Zo08JfEtr80kjN0KbLQ4QODYk/2fKLIetLn+k8lQ9ZFmRrDFkfPzVaYYz8+KxywEIJqhqoGgYEG'; - b += - 'WZ8pHlJaGvymyG0UNFDqt+i2Zef0NYUZDUZrqnnfKiraL5sL+s85b2xzsh7RhYBiFNUeoyQQFg7'; - b += - 'TCNxnEaFLORdCzrUCmZnXQrGX9WiXGR4oTa1SpShD3ySAc6zQcytQWGG4WYgsM4jhlFBrRZjpRJ'; - b += - 'Z4mH02j7m+MOgI0LmVJYihDMFwngyJJ6jfPTttvx2i5p4DuUR/3XMF1k3Nw4M47PAy7OfSMH7nP'; - b += - 'rEE05TRFNO/Ec02jXYnhDTFDIt5Nz7yVSWZsqyoY6xTVn/xsXSGD/nJsy9O7bK+FFDi7W0zuUSL'; - b += - 'obW6RPrMw4n0miuOwE+C0cSVTQNIWVHI+tZG4XbKFVgMjYtcVldlXqAEI5DtibsNNj3KYVmnBC3'; - b += - 'VRlPb203GS8yfEKOT8Jxwh/L2Sz1cVkIjFdpbFZAIbAArUhW2Jqtrlm32XF/i/6ixj6psW+8FWN'; - b += - 'a9g0D8hTqZ36bmJdaUm+3k7g9jus4GpS4AiQGa1i7aKCW1bskq9c2ECMf1ZfEVEc9qY2321SE0D'; - b += - '07O6uG9SyhGID+IUVdqk8Rqvr5sI6v059IRwhP1aSffjAFh/ULDBFNtuez2XWKA9Vh5AZhUhedx'; - b += - 'tB4yIOA3TR536MtZyN21xBUAyPgjltsYoS+z4ufMLzOykaJuEkMWYd3nmL5cTo2JiyWky3Dqw6o'; - b += - 'x+xgyu3ZtcIBB+jIWpEvyU5pZQ6Y7g5vHSwi5ZpoPWkz8KCLTHMwC/jy5YurS5xxsJYyETGdZe+'; - b += - 'hBY5HBa1v7XEslHYUJuCK7QKAMHr5uFv3ZIthHsX234l3y+WyQ+cuUR3MFvxwPbNdvN75vN51Lf'; - b += - 'MBoSxf6WnvbjchBw54KNY8u8w+m813DCTNS8AzvHI4MqS457wppczO0DrFOdJs1rayzYPrAjZtw'; - b += - 'c5Vh5duwzOZecEScm1FGRB+O/5LGMCXtgG7DFr4Tgh8WNkscAYmC9Q5GTs6Hzs6nixl4R1Mn2EI'; - b += - '6cmWLoaQzoaQzoeQzoeQ7hpCvJvZpsChpi8uH9b7P5mecbIwHITNxxA+weFnHyviT3D4JIe/Xsp'; - b += - 'zksPPcfj5Up7nOHyKwy+U8pzi8GkO7/14kec0x89+HOF7P17kmeXwfo6//+NFnv0cPsDhB0p5Dp'; - b += - 'TiD3L4IIcfLIUPcfgQhx8uhQ9z+DCHHy2Fj3D4CIcfL4WPcvgoh58shec4PMfh46XwMQ4f4/DTp'; - b += - 'fBTHH6Kw89w+ASHny3Fn+DwSQ5/vZTnJIef4/DzpTzPCW45/EIpzynBLYf3Hi3ynBbcHmX8Hy3y'; - b += - 'zHJ4P8fff7TIs5/DBzj8QCnPAQ4f5PCDpTwHOXyIww+X8hzi8GEOP1rKc5jDRzj8eCnPEQ4f5fC'; - b += - 'TpTxHOTzH4eOlPHMcPsbhp0t5jpXinzqaYrNyZQ3NNtdmmG1WXrEbyqpLK2yrinXGyXZDrB4Q6C'; - b += - 'Qh7YbVdrYwYfkudsPuBvysARxADXZDMKFQYp23G2L3NyW+7wYs2T/EEsiXbJAUmOjwMh3J5fJTZ'; - b += - 'rzlr8QOgW3D41NPyIsZn3r4jmmg+zwmx0z0fYC2xKaImO7WN7IW6ZxpJyEriqjddJJ55qNzTvz/'; - b += - '4v79OJ1ZrGyIzjRPGkjFBvUcrDno95hp1mxptO6lX88Kcl5t87o2b53yrmknFZY2tRpt8WWi4t9'; - b += - 'TshcdNKKxdC0NYRtcA0bmgCEuJCQWpkIsSCOG0sUB044/BgCH6AQKq4D0BTR9j0GhIfy5Gn8OwA'; - b += - 'ES/R40xBW9E0rRkt2k0xPpvUfyEoP4cxm1IrkcgQWt4BQSf0RLZVIVZM28T5QAYR38IgvXkmSgP'; - b += - 'VA0lODPynlZgUF0j2qOfxzqEIQ1AHCIXXswvqw+16WE2BFzyNhChA8GJSsElBxZoNARw0zGJzW0'; - b += - 'QhpGu0aLjkGTr3DBkuMMDn0nC/jxAqesYMKbFiucxO+gklMia+NrTdE9rolt3XOODCfaN3eAyB4'; - b += - 'z5d7GAdoxjwMZXwScpygXVfpW/LktPoSokxQV0P94CI+3IHKlUm0KUHXpMyj6KeSbVVz0zfizTY'; - b += - 'qesG1W0q8j27uYfpLtFvz5T5LtKScbqy/kgBySbDfhz82S7ZiDZQL/o6x8CSGA8DRL7/1YBsgRK'; - b += - 'fp6/HmDFJ2zLYTpAx/LAJmTbNfhz+ssIGx2xTgAnPEnMQ9PciTDgzISeYo/JT91PP5lRM5CS9Tm'; - b += - 'P5JFHtBFnVRJ/E3unW5nqOA6v1mMEdyHo2IKXmqcESODxTyleLDwCEOuUBruyjVLuebsLJEapUT'; - b += - '8f+HUBdC6CpyUakOBuCvxSFbboXm10Zd0geMoPf4zxrN0VtCiuV9GIrqqPlW0e2Be4oEztpu3+L'; - b += - 'Ti8oTarvJ3LICEjQzMrJ6HNZ0DMzcPmLmXBMyheeUPLVR+I+g8H4mhRHeTX9ta8vJCgvhWkFXbm'; - b += - 'lMTf0XgODKvhiO9apizNZzKa9BZDXPzapjLapgt1XCAawgFiu7BxQXECcflznGDjeV6vkUQGKie'; - b += - '+G63VjIlo2z3mpahhdBRrC0FkPpsaxS43HGgF0a1X+F8xrza+a+mWFszCEpLLENwhM1Z4r0elth'; - b += - 'rnMdZcBLWFdQww7qXXUCUuhW/y+XlWGu+RqCirC1Xmp8yCcstzRk7P4uuPVfaLUw575Fst0DeEE'; - b += - '1Z8u/TOL2WenSGdg5l7Uj+eMzWZ4q6fFtX/PusL4WefYk1CqEDa7eTx4t9MMafJfhziL8P898j/'; - b += - 'Peoia2V51n24QVLlxmEpVnrDxetL8WfZR278E9k8H8p69SXbMvoh47OjfYdEw90OaTmoSoqZ5M5'; - b += - 'kA1wWqppkHbM3KdVPunyQrwczGXQzNpFumOVMeXZ8IImjq+YDSg2L/cRU+sUaGbTqGGUcYgaps4'; - b += - 'O5ky9Exez80bNrOmBC5r0BS7CYtiYqCNLaYbmSEF8NkmUdl7amM0Xm15j1hRjVsbbS5l1AOscZ1'; - b += - '3RoirmRlQsrTntby3IWd5+OxZGqnlW9o9TPAxbumOv67XynuSqi20fxvD9xWJtWotGqGDRFV5pu'; - b += - '/dJzT0KE1tw0bx2vNSbjD+myntMPlyJMZs/PLtK+7a0lDvQUXrhFb+rkpPObQvDwEju3jJ71RJY'; - b += - 'UOa6QemcHA2aGDIgceAtVon4N4rxZOn96yaSJUqs9nJEH8mGmRjyZgTpZ2Rj3ep/iNa9d5aXpGL'; - b += - '4PGXYK0J6/CNzTvqq9GGwm9Djv69fhzPn46Q41OWqWRwh1G5iFS12hVDPw3GrIeFa0phqNZLazf'; - b += - 'arvgdeZN/IX+yWuVxhY/RF+9/yN4rj4SvU0paCjrSb9AHNUAV/cxsG25nTBA9mxndQ9ykq2UcnG'; - b += - 'IqQRDgKt+l3SXrclU4HbZthSjKE8zJkLUxLBndeBmmDkrRNikdf+56H2GDFy5we+/Cw4Cbu6AxU'; - b += - 'Rvv3E0L67hkxkIc33liH9Nb2sYY+upCwc3INyTo9NJNkVdGR47b0yENeO/1s/LaWSj/niI6/O0k'; - b += - 'fz+17wuH5KHjsu6dVpyr6R197T6t/X6s2muxvLZpuLcbvEmBrf+u8ZNH0VHJeUssK1KZbnHD+VP'; - b += - 'NlyWIbC1n9NHSIk6ziKe5+CK8SzaWjiu/EVHoK7V+hnPZ4+tqJR1qNfa0LRmemmoupfF+SQdA33'; - b += - 'eov1Vs0zA0QKNOtWo9WLqSkvukmjR18DWQ6Gir9hm0Uqvx2GJ2XxEk8OvPu0dfut40um269nFqj'; - b += - 'H2j4tC7q7vNyxCbQBeru8fL5sLSaU6NqqrU8abBLjQOfdTbwbji3999u4AkJBekNRLcwreALThw'; - b += - '20BhpBpwiETRSWIOP96ZnUUNKB1wcdwOb91mHwlm2VKVVSqxuoE/6rWxkfcHUTfF16Gd8W4ZgwZ'; - b += - 'eUUlHqpziCzz7yVddmIBj5k3NEycuSpSD08mTxPU1c1bKxRBNGP0SwqWRgKrlwqjWwB93tR54+G'; - b += - 'GewIp63o1kpSYJY+Rb2H60qHZqH2q0I7G4/ZaRD923jLf+RhIYDYXWqFb+xHqOp62ngK/F0YyBF'; - b += - '2TjQ9EcV+0qo46qoidIKV3rxaHW6WefqiWpVGiBAPStyoRVrHNKPFHioXkwkvUUcQ8y0xTKFovf'; - b += - 'QYL/gTazRtDx52R4a50l9qrkUN1F7WosTKtFPg+KCm9m2lg5DM+1mhetMLiCo9zQpLVm8p0moor'; - b += - 'qai0ZZS4qXtAumqGOLb4ZRFS12VHtt6k1sh+fXFkNVFbpLAul5WAz7MzAWv6m+mJq/YE+TYCD0I'; - b += - '6HuUBmxsrr3A7n5PX09kH+pwn7E9tyjccFOVqo7aHSIttWp9z/hpBekJ96fWfsffD97fz72/sLa'; - b += - '/3NOevi+QkGc9p2luDyExMElVjc+fYb49MkX59jhwGyXe+n97+/yL3D6vi4PBM/d1+Wj4MR93W6'; - b += - 'u8wjr5+DofQXU0DSz7jtY16c/iUFAj0dY402ED9C31UeDllaNPlqBWhck8S00MwnbN9eVbElxsm'; - b += - 'QqOX+Kxj9RZVGybA+tgxftSZI9SXMPrVgXJbQaNKeSl081+0YdmicYujQKlo7qZAAOBvGxiAdAH'; - b += - 'aYQPHKcZGnSNwXKYgBwkWZM44B53Sq7XpZ5AQhgpUm5YbuPcYcCMaJjgIlFk/aGPbTe0TLzpjp0'; - b += - 'xBCAeRLXyixBPhDsNLwQ3XTEIw7qonlyITpM8XuozQv3vKkujiRH9c2cpX90auoWvm8GkR0xZuE'; - b += - 'QX5D5Jaskhxn9VyvWgao161mbS5M62mSbwjqmQi1ZijYpHm0uLdpcMp3U38i54tFbpqnr5ZaLEK'; - b += - 'tHqF4tYywOwTLqoZquzqjpzMuxGL16UDCUCD6eUBRUxfhKUrFTxSr9ihqiYgFlJH4l2J98FQZ+r'; - b += - 'hhNmaTCVmV0SGhVWGePvloR++JMIlqQUF485HN1hI4qEFaDuSqME5PquIDDNokEz95ftbMsZU1E'; - b += - 'NiZMvPWtygArTVK9A0mNvSDigp0ahepWBnZYAjvoAjs8O9gby2AHnWCHnWCH44yyM4MdnA3spNr'; - b += - '0xUk/LjbCja1ogNZHV1zr4LaEvq2pXiS+nvws1TDYST3+tivjyU3q4y3a7OA60kywhyg2s7L2VH'; - b += - '1Q5YG0wE2nJpq1LMZcN4pt2LRXOc4+DuoiqPIgfpO+vfQfFbMGszVY7NRoFfYj4D+0eK+IbiNhv'; - b += - 'wLnPdCWddkOLBuDiT9OZcH0VZgesFHclbhtyHurNu88ClWZQlUZWFUotTN1KrbRkCjEKq/QIKYC'; - b += - '3rjAwxax1OX7M/LgBiF9sJtYkHeH61tVEKsCvQgmVgV6DxHbYHf1Lyj3r3Gu/QvO3r+NZ+hfgP4'; - b += - '1BNzgR9w/mG2LZo3L486DCvc4WxaEmUdWDJnCKysNsZp1oNU9yDidBlnlRzDIKhhkFXFmyNqHpY'; - b += - 'ycS8lQnOGhCH1DGeXQMcg9H+ZB/shcSeSxfMe/RpbSIayt1ziNhLqDA4aTXtvmxZZCV7ezVbbWT'; - b += - 'u/WtMzKgovIPtRYgUJszTrXWgBU2dmsd0ZeX2aIunVC9QxU7bphUdLgtW02/esAYtAaoTvpynYS'; - b += - 'SijJU5flYC9ts/0Ja/RC4wchYlDq+YbRN0LcwuORqszQyfWkGm+Z4uiaaKhXuYXRLLTRWMOQrUh'; - b += - 'osD1Dp99Uxb9r+LUF2k40sWDyZs2vgzc7RkGJgOFJfL+SL5agSHIh7zEQVxxTI+awYixDuPO0ir'; - b += - '/sWkTbbA6yHVYENkjt0LGfc+P47/GWiJazGDfKXZjpTnlWXpALcNH4CV0qSOCtwQEaWt0JO9RLT'; - b += - '+KsP8teM/23tIL417iLTht3wPwxqG9qaeSn0Ou5COFqID2Vl4MOEm5PDa6lNA4RlJ/vYlnN8s2C'; - b += - 'hKERcwuU29t01HE4EeS8QxIHR8xbmZ/SfJl8rMDmCacbm7eMEEIlE+SyJj3IuXNc5ig/iFyPMrH'; - b += - 'WcH2sAqnzPGtG8IiTwYg8jBVMEyPT4iXDpEcVMCaEjV9kVHKkgKXKTa0ZMUdVPiwoD83CP88A/I'; - b += - 'BmuICiQX0UPqPo93HFBhLLJ2C0ZNhoka9bp8RgVYlvxeUTbFmnoTRche6RK75NaT3bneCCH0qxU'; - b += - '9CqcpNokvhMzEDN9Gqz+ToOHk0oi07zMYuocyP37bQj3UiLPrx1xNxFKUnbDpB09reIuk9ryY2y'; - b += - 'CXySIrASZg3x+3Ux6KNO1N/Fg708TUKZI/sle7VE4G6S7VdCTzsEuUz8D7D+opYPETON34MKSm5'; - b += - 'YBRhYLz0gwPJWxTmW4s+y+JgSrwWsB40VgocTFTiEAn/KuIrxZwn+UNtVzOd3su1HVveRIivTsM'; - b += - 'YvYv0EJ8vwe47RyWXzvuynvrxVugJRG5FBtO0xrGhCRvNzH4avkmyIlROPKjve9+f4lKH1X3RSj'; - b += - 'P5Wx5A8qIo5IqiEgFn1miIYNVH6OJa8Rnocc/pjhn240vr7FGZwZVgfxy9eLFF2gAsAn2B9NGku'; - b += - 'W8MIWkKRIwg8WO4ML9bdHQTygCCB8UvsqeAk7Fmij1ZUMGOdHLxY2ciuHb3dhSqKtXBidbnMctC'; - b += - 'qVouJN0XSBDDpJRvFT0vdZT3IVpAOQijg8WQSlwtTyO7ix81KzTATATtoeN/i04nLJrTE7AhX1m'; - b += - 'maE9rNSafsOGIjNGM0ayTzW23SWSMRcR4hOsvs5lUiPIlYmkf4ErEsjwgkIskjQolYmUdUJGIwj'; - b += - '6hKxGV5RCQRQ3lETSKuziPqErEmj2hIxLV5RJ9EzDl5TCwxTxYx/RJzrIhZJDHHi5jFEvNUEbNE'; - b += - 'Yp4uYs6TmBNFzPkS80wR8zKJOVnELJWYZ4uYCyTmuSLmQon5ehEzIDGniphlEvN8EfNyiTldxFw'; - b += - 'kMS8UMcslBsoONiaRmL1FTFNi9hcxLYm5t4hZITEHipiVEnN/EXOxxBwsYl4hMQ8UMZdIzKEiZh'; - b += - 'CnwsFu27PiK33sN1keUzj1YW11TbOEZyVtXz7PPuHj+iJ7/razDpy3qLlZzw/MXsHf9nhL7WYrI'; - b += - 'M5+iThr7uEfIhSv3AsCKNwc2I1AjiWAqWmZG4c9zxq2ZZxuy5yH8jc8NDIrA15P7d4puGD9o0CA'; - b += - '53Os2MUISC1mgujgMSmsWmj7m86UofnbivLAbp5y+KZE9Loz3dwenlvuZju5Wc1mc85lzqxOPwX'; - b += - 'vyrRl0WpEES8qG/F9G/H9LOJ7qskOr9QGdgwBYSpOB8THLBGVYDzU4rGQTg4vLrSA8zSP0v6YDl'; - b += - 'RN36YsE7uVpZB9bmx5dRYybqwLT2SsHTUYEYdjYE6IzWQ923EBUe3L6OB33evxDpFp8pMq1OkEp'; - b += - 'qJS4EbrnZzpr2FfyApkWCU3wCEXVLrW8zDwcMeOVXpc8AK+J0Ttn5p5Q2YJyl0yaF+MfIlmupxl'; - b += - '2mYJiizTXVn2zM+ypyvLVEcWinhnGwhjS16W3IvfHaBK7PLgq4jV+ClHVhGbGlGCW2xbbLtF6S0'; - b += - 'lzrT15Y5KXzvRtMMXVymbxOkTjVNnp3AO2HuIlRkm7gsSRRaYUTKV1VR2J1vxqPSOGwWHaW1yJ+'; - b += - 'uP57kMclHCIjgwOuVM7CTub3b2SWe9PK+ibcXQXVd8GyHhGGGaNQjPuhsGmjyWaFwPCqfVHtaXs'; - b += - 'VwOW5gnExdr6XccCT9bCmMXoFzftZ9Y3l+Q8Kg3oq+mqKO/BtXcIQo9Sb9vYIEzlRpmvg6y52H9'; - b += - 'Vg7FbZwqEBqk0C0cWkmhmziUUOj1AtVJqjH+J83Cwx6wfKcEy5M2LH1xBTBXAHvy0FkBe3MOmIB'; - b += - 'Ty8EJC3CePZSBA2Lj2syNfxncFrMmiTfAiLUgmAVBteFRI9Cd/tWzQndLDt1NOdosTAdymAzDA1'; - b += - 'FCeuAXn8A18POH8pVfLh4svB8O6WRt7RENrbMTdCSiVY8XDWZrmF1LDC2E4iiG5XeeGIGz1y3m2'; - b += - '4x1kcRrBHv5Y6kLuwBzZPwaSF3CLIadqNlJ+mNtXlFKH7r8YfIPHskujknFAxaZT6NSbdbhF2Ur'; - b += - 'eTHCZOW55a2zm9TURL5M/Bg7UePDhY96lNSDSJ1HahuJEah3QxOXfa7BQAlnwXW8K80p/rNhoCW'; - b += - 'I4h1Mbtgo+IKaaMEjBUzCUosXn/Y3FtfSsZFN4DL7HAUD0YDOh6m/e2d697v2hhO5xU7vNHfhtI'; - b += - 'USdJv+awor26KzqvDKflKBYZqBRZVhc+/0xbtfCCZgB47fdnr3rHtbGu9O2DGkJ37lxNlGE6sWu'; - b += - '8+i/Tfzo8U7hgJGjN3q7fBgFKjMkxYsGnUJBYGFOOiBgt5p7sJpCyWUUdDM3M5buaN1fIXHGabE'; - b += - 'd8IZqmmKPT3XMWPrOAvy+qLMh38f0ED40ZanmMlnUCgomhL0YLyFYCHs/HDKM8cpzxynPHPCArS'; - b += - 'pHDSZOaXaOJtCNhY5aM4WRocqKgI/dECxNwKqg87TTvxBbGVQnaYD6xr8uTb9xjN0+KzEFxfyOH'; - b += - '5eA/w+RCeQYHzJgTS5iTtj4p8R6yLfrOL98stOJnm2R71eBgt6XcbHJK41z8KGXQUjpfMNuyKfI'; - b += - 'BbLr8N06WS69O2tCjZrw45lpjsSquB7iCfE3i1m2pRlT0eWKMvSNyE8bUDoBMDBBLbniHdwIRik'; - b += - 'Ubuucf5v+n2RHSl6cDVFmaqSyX5Vsi/OBkWgvCSoztI78eZPP6/DtSntBuBNQt71rxenijY3/f5'; - b += - 'neDuZYW4ttBzAdBOCKeEA9qRTXBIcADuywLAlfkG8jXn8xrdOT5+Yc2Q7Y9Ix3e4VYoUF3Qzoth'; - b += - '+XUUI/OUs874ij1/VM+DmWPrpsiU+Lf/zvgLTuaEXRPMZp07sukisMGT3X8UMQg/p1tJRUiNWUj'; - b += - 'UPsO3T69S8TmJ9TWearbeYhEOSmNguMqhvqXPOglHhBSiDXIP5cln4XIzaM/5zXb80upXCrwM2w'; - b += - 'rUaY3vuVjmZW2maSec2EbO5HxxOhtcpsH5Tom2IlfQB1/ZYqJs5S/FkWv4ufCcK7M/R5M88O1pC'; - b += - 'FDcXD3WVi/FnSXSbg1jEjDPtA5Rma36wK7DXa3l1x0elanl9xoRLbn9XiWgtFDKijNCDSofS5E1'; - b += - 'aZzG6wNfH1zgZJT4nszClEQrTRX6qdEXNTYmGPv8FDxm0y/vj2Jl2SuvFDrnUMABv7uLDhDyGps'; - b += - 'bJNjQMPBt8B9pGi+6L4Dz0u/XVic56oKH+GOvwzXpPNbWH4qmCeqjNePf6aK+aYjt2CnPgPXGH2'; - b += - 'wTDAhOunYSEmprSYVpogpRUZbsd0ynceYjQPUf0Ths6MbLhPBce5Et5A44dpL9SFObwzznbwfVH'; - b += - 'JY8c8Q1w339P45ORlBqFeD38LJUNcWQHjT7rC0AhYZV12bY3K1mf+NaRjMD3rsobF5px3L/4WOs'; - b += - 'eZOkx6JZPYxanMLM1Wa8eSBt4Fo9aBiXRZZ13WeZe17bIWhSO3OGCfocsWvKQgU0GZmhj8W78F1'; - b += - 'usBG+vDHp3OrQp+c3h0nN1njtPpMweLsrNxYJ04JmGfBYodNogFoMpsAjPHC+z5zBppw+bP46VO'; - b += - 'wbab6r6BiSxcMvEVE2IbCJcCqodLAZW7FFA9XAow3yguCux4FAynanf8iGctkKnxDZmTBeZhCIu'; - b += - 'P4kpMsadh1CVl0R7yywXBePwRrsFKZqWicbFttOPbjFs/D9zPZoaeptg3slMD8VAEW0fdYXTJV0'; - b += - 'rt8XljCnjVGRaXZDacFq8+w/4+D4prGC49PA+w1AL3UnvGrxd6PSMAUuINiEhnOCMzXBieiuucl'; - b += - 'E7B0HqGbcMpBLdB8Z4L+yJhzjpMvlXZ5NuUTb5VyeTb5CbfCmApWcS02HrzyK2JekwY3V3R4Yya'; - b += - 'WgFBbMctZ36zyTedib41FVfK8c+Zo010tYprzeh1Ex9+R+XGD1Sv+/AHW9HrHP7vVLo1ycKOs50'; - b += - 'BNEn0EfGJRgiPv61xeQRdJsc+QZYr7PDlZKLfQhmWs2QlTdLloKN3h11wvHifyi41fw6eR9KL2o'; - b += - 'm3Iz6NnXRmF5+fiJciBizxJhERiuuSivVFhhsyLZqI8BOewP2cZe+4zr/SkXUJQqymwbjUsEU01'; - b += - 'kdgADO8tnB3ddn9WrYs2FcsJXKY0ePEY1ZY4jmZqJ18PkzamKC4lEs8OwaScIKatEtnIgffYHdT'; - b += - 'gTfh0u5ukZp4uF2ACaDsgMTDEWtd4c3w0Adoo1ybPv7Lc8VzDwkR6Wj8gHcGwnjyuupHrFsm9qd'; - b += - 'LWAM35g1wzpN0QvqHdNsAkMsXYPYGG7el8SEWa9bE620oz8YwTnGBltqjfMzvzQGww+wbF6pTHm'; - b += - '4kNTu8ErvGHTT19W3jhAcasR73DhfCYvDHdVCoUr57ikfMUHbfSHxZFReEIUd03X4lnJF4LsJ/g'; - b += - 'NZxGBdXr+VsQyMmrumoNA6wte3AliFwiQu5xGXCFCi/N0N5FvFwFsFwi8EOhKmCWhZfngG154BA'; - b += - 'LVe67BUH03BHy0urFkY7MjLcuTnuwoVxJwrFwJ97Zvx5aQWN2zv2ML/+KuNPCAqgVAYUJkUzp2u'; - b += - 'OFgSIH1/pRH8U0hIUTPd6JhEWAUm9rNavsC8Y6LSLcr+o89dL6vwK6vyISvYldWjU1zvV+fEAHK'; - b += - 'fHXemZOj/OqpwhnJcha2FaMrjzMlh1/jrU+W1Stzp/Lx18neng5+rofknQP18xvw++6TMV9TqUy'; - b += - 'mPoxSf7RS+/AWeEUE3OFflFL38qyXXnqYYFdfKnWvX0ui6V/JZipfx4/0OtINNZDzKd9aBDZz0o'; - b += - '6ayHvXXWg5LOepDprIc9dNYDq7MeQGc9zHTWg1xnPeypsx4UOuthl876qErifXh7BifVxB8ve+S'; - b += - 'v5C+D+W9g/cFF0P7tv6eJd18hUGpWoVlWPBdWgV4bnguDBhM/nw4+J4B2uy9iexiQ+1BhbwaigO'; - b += - '7bl0RqSIUpN6uolzWx/UwT2y9rYj94fyFJxXqBBcwlAldnobpMQ3lR/GN9UbdGvMcOcEG55mJRj'; - b += - 'meN48X7bxK3VaKl5QmkddGTb4giPHebQe5LYlaXB9hZCxDYCSQJa9vhCZ2kDhAyneunPpApYZ+k'; - b += - 'ULoy3Xt/b9Xx9GGkN9P783RsMI/en1+Nl1oJuKuNqY4+46L+ySz7L1WUmhFrI33mh1hLa41DW3l'; - b += - 'jkaO0cT0/CCvVqFZv9MX9/KIuJaprHGKfcP/Numd6VI/oZRRx9K/nWLtd05zG9RgWO8jIB8VFZh'; - b += - 'vHSuz6S9vxP6qmww/u8qmLrb56VvlAXuXnzqnK+KVU+SfnVGVfVuWrjLO2d5WzeZWfP6cqG1KlK'; - b += - 'ztLzypPPptV+fQ5VVnPquTDfmeVSqo8nld5/rnUWIukEquG8fWvovRgUd3jtrpymegsZQ73KFM9'; - b += - 'S5n7e5SpnKXMbI8y4VnKPPdX88sEZylzokcZ/yxljvco452lzFyPMu5Zyjzco4w5G657lNFnKfP'; - b += - 'CV+eXYdGrHeCZXCU+bZossxoS97qPBywtGtRx5qy2UESiU1amZYanYiP5ZY0rcJ2Z51mfvS8GxE'; - b += - 'yxGNgZFDBYv4fSiRnvDx12FpZlg6S9xZfjcsQwl7Fcma+ojcgKlTgxf7Po9ulS1B0SZSQqMXJZD'; - b += - 'PmxkTtn3BMjLLfDbNJf3BDb+2EjXp5DXISb8cS6Qc5fKgr54h7NATIjV9omfbM4BbqDXfMW7Yal'; - b += - 'dsOsXdOz3dx4O8jvM/DBTnDFjXEzlLt5JSw6sSI4KiZBSSoZMhYNX+InZqCpZWsdkAeDrWyvBw3'; - b += - '6okwk0vTs0S62Sg/xpRksurho0aWbzPIlTCIycuhpTvDdJ8fw9YnJr1xM+TLGlC9jTOdljPV2zy'; - b += - '+2+eVrzFJtnE2xNkt+jcmWF+ENFm8UHG8FGYcKkcvlTsK+8c36AeqH9WLBRiKBgB+kandTnO4j5'; - b += - 'EdZGxZpIkVmbR9Cp0iirCLdOj4lh3AhFPf7DvNEqg/WB8ZeRqy352iNPEC+uCiVB/MSfr7BT/wN'; - b += - 'fUWjndVxQ5JhQWKa6FSg+mbENbZZCfMgN9MFX0oHsBZRaJlMUaq4FVDV9rJIFUR2IKKsJPI6Ab9'; - b += - 'lYn2AVq3dQBVTQMvkrIrfd3aQJG9BVa2eB7FlkG/08VjZtJFfV6ap0dhJzFsV87eK3A2+9MnUOx'; - b += - 'qcmedzg7JDvQOZTVdmmU99JS2Pej6Lq/wcDrizOq4S422F/SZLVBuu0oq9M7Ci6+VOrc0io4gfH'; - b += - 'uSrr1BuBEJReAlF4YUlOWE259zsIW4WYHC+KOFXwxiBUX7P5oLxQ0FUP84eoZj03DLhiEUScQaf'; - b += - '2+q3F1cY7rrZRwTU6TOZKUdfw3Vd5bAxCfDdlxoWETXS7znNXPeKsvmBa6iXAZ1DKBHlsdYaCn8'; - b += - 'LJDWsbJNq+v6uNR6DPmc8QBFoPolTPQn/5enQThrsMaa6g+QYvaFRKUOStrqoB5gZqJ4yjncmUB'; - b += - 'lQz6VZGJSAcbsANaVOaBHp9nfBPJR+gS0kGeo+vJ5HxzG5fe8Je93UxDIIqtT1XBVII5yrAtXtR'; - b += - 'SD2WSIodoYoqY0n1Ta/uli5nr17oBbxug4RGYRZfDWI4VNezzvHkinGEsaIzseIKo8RqAq0GF52'; - b += - 'Pi5O7dy+rCllm/qbUHszPlwXnApFI0/9V6tToRK1mXvGw7KSCSiCe1rVTBQQ7qV4tW/0+5JER+7'; - b += - 'K6NV0jnqxDw7bW3QQvYdOjEa2B3jLJqy7lMcWP/2iQ8f2m1rBQFIvxf3EAKOQYqs3DeAVEhd+H5'; - b += - 'iSnvh8+MydoE7toVTtanp05msQhFkFSULN7kvy7/AnWuFAMxol1gZmOo2sWPpHd6bH76QofloUs'; - b += - 'sfw1eo5eBhojJiT9EuskDmB72jEPIVf7xrn78LM/z7MJ1l1MLCqFnav++bPPyEJ1E3nJ+EnvzL6'; - b += - '2v0PidSaE5+nP1kiRlGXW2tWzaPVFp7e6NjNdis0yo3oZ5lhfRCWft/+eXY8iaB+tToQygXPk9a'; - b += - '//FzICkwHwP8fg3GkhxWoKP1PL7U0TavJFBemIjrwUuf1A3Tip8CnvudsZAsgyg6f6vw3hk2Auz'; - b += - 's9D/4GcY1HswHXTbOzesNAy4svp2SuyTIO7qA+ELI6yFxnLcQ4xQnrZiIl5egDYUl8R4Beag6EI'; - b += - '2YuZGbl36hjIZ61egPXhvyD3J9B9I69AHN5N/4PvfpMyym6jIDYFWL0Z0jCIitmtFC8tZj8Vo7J'; - b += - 'hTEIpt5ND4W51q7zavUA495WcupcKjEdwCTMM/zwtdKa+AIG5cXpg7+QyTJeeg/Rv+OhvOiSWDL'; - b += - 'G13E1p0IsPF70dJBbKsAY+VWyVVjlKcXvO7AUybLhnjhZ4EtllV7eFHf7kCBO5MpN2UMOfA2aGO'; - b += - 'I5fZmHhrOIAix4zorNWfCcPu07Kledq2Yx7LZB5ZylKvOcqsxzqjLP6WdPlFbBc1aZ56xkr86qj'; - b += - 'mwsAcNTrda20ed9JspPSDy+wOkxKx7/jhaX6UvZPLOLXysfrnK/02BgWdSThhN1l1UCfbCyFdhI'; - b += - 'CxPrwyTTMrGG19WuJt0Fm2TevGKvbcDkKn5hFaEwd7WQsbsVYXd9YXerVvED2lsYunjtpzKP3WX'; - b += - 'XIDm72xMJg3pZzgbhQ9pZ2nREadKI0JO9b4WiBJzB1dkiw9LkM224QbrE8OJQM8QX8IQs2r0YOV'; - b += - 'D/ScoQOWXUmmx7m4/g7JRgFkCb+RGjzemJKUcwpWydeDdMTh9JZX1d2VdyuW5VrtuOVVxxM2NaE'; - b += - 'yREfC8MQWz0yzjul7QiKqLkreN/39I4ofRF0Axg3UPWVDmrdoCa/6KO2jiAV2FVGvPZrvQUisme'; - b += - 'QnFFPwXXWQp6Eh70U/z55gSil+KxMXbi5zocOvFzZQs6OcafdOGWVV6h8fg1tQ112Ea74zhN882'; - b += - '2S+m7samiPV7oEOvzIdIlKDdIO+N0iqBzgW+1AJRc0vrjsK9gtRZYUyxvc2r8UQ9PF9DKF/8XDx'; - b += - 'fSPntPbsF4wcfLE3e0YZbpxg9B10KxN+NELK4IMZNt+mQDrEKFwEsCeLwvvReBFxugHMbvFLGf9'; - b += - '+IdCRz7Ycgg70jUWMfPHW95+bMtLqs2A7MceBBqul728zp+CkzUWQRnN/QugDpd0UcQ5/HPZH7X'; - b += - 'n7WaJqI4kyFeVIq4mF88vsFX5A8aqyztiWwKbVEhX96csU3i+1t0LI9/l98q87KnRnxRbdHiXkj'; - b += - 'Wzwo742USiW5yBVoEFX7x5Ax++1mOVLwnZDvtFRCE2c/rBFCAjvehcUEYt0BrlYhdHoZTelc6xW'; - b += - 'N1AFa0TJL4Oy4/0vCqxIjkmkU0yiZdiJQIiltc7EL6e68X/bWvDA7zCd8SsFyY8j1gb+Evd+L6A'; - b += - 'lcHSOyn8fZ+Yr3DQCkVqkrVET2rD1Gc51GczzKFFpYPk14hErBnaAFiwWIdYmdpMv5FLeJglbbi'; - b += - 'v8MhjgW9ijJnn7x1XJF9BfyccPbl46uWfWG+pdXsC09sp/Xsi1fSSvbFYLCi3n0q69UVKqyXDNy'; - b += - 'vUFXq5OxpM0HjcfaI4Qd50tmjhjXU0sXdfWBRs8Wh4M9nTFFPrsdVf8+0b1Gal6Xdp9BqXPczAB'; - b += - 'ahZRgH4uINoIhAcPapLKo6CZCO2c+dfIsHoI+YXRR+nBia2QOPz2xgImT7Jm7OXku1qZ3XOIv5a'; - b += - '9Hu9BS+WP8v9XfnyYs4olZE9NMZywqUF+h/d2yAYTB75FMzu3JQWK0wzrTUlO1TvKELtrzxkz1h'; - b += - '66dzo9AxMZScWgl0uYb+rMwc10D8Mft+sth+1M3GTA+wXTbHrmWdPb87XfeMVVxqiUi8E5F4f98'; - b += - 'Xi7aTTqbBjdbpD9/ZOFZfFJdX9tuqbiLFh1WZSg/8IwvbRdJ4ufNuPBXniArU3GMpeA2I5SlYky'; - b += - 'dynnyM1cCA5ifx5MU64flCUTcWboWP+GCs9TXOGjmbSo2P0/LF53joxcRzRlgQ9xrn2kScL8APB'; - b += - 'WtHs74GOmIsuMdED1UVLh0VqzCMmNdb7nxNOz1OnZG88b9lna3LnWtTfvuHQ0bUqufkXSzNmkPE'; - b += - '79BvP79GiY+Wiz9e5m5CrJDD+Am+HKnR4e0Jl9dRW5/zQ9QHRWhbZWaU0AtJfJNMWK1E4ickzMh'; - b += - 'gRJsTZBAzFREUOqwkxYXYMUb8uBZONLfFZe3v9MDX5uQLBH4DRT5+GhGvFzsAweI/sREna9ARVM'; - b += - 'Y+SpOFoT7OD4KsYQZrDWyW0v0UkypLsQPfmHPSWfoTvzrKc1/GuS/7wYgt+tslEG8CLZKUn1LjX'; - b += - 'KxQI70VFXs2eD5h+6qlr6dOZX39Av1em8N/C4eG2DZLsYZ3AeUsjS4xxFKwYl7pRH/vZWZWOtPJ'; - b += - 'xBwQ6wd+I8bqQ9GhSExOnv4lfofbCHPMrrH6InsEDLL9ge2eIBkq7YtBGm6wdpBs0AXu32Edkbv'; - b += - 'EZQ+vJnibyIEfHT6SVPnmgd38wMQcojpIvVswN6/Z2wnYfFVx1cNZ+AqBctJcrspdkI3UiNQSqb'; - b += - 'NIg0gjkSaLdBHpSqSbRXqI9CTSyyJ9RPoS6UPd0RP5IrrUqmzkCyYxZCGQMbIjODWK0vfdf/gpZ'; - b += - '1f64ve+e2d7gsXmSKwisdqZSJvW3e/ae9cEjmvQ0nKSyg3WbCzgwyoQFv+jOOQRu324OWKVf3lq'; - b += - 'tWpByJGo+PVhILEtcmQgFXJ7XC+AZYalDR5hEsmAL0yZmL/wO7we5jIn3QCGn9lpv5C6855BPDf'; - b += - 'rs/g3MrSeqHJq3OvoJpdluT9vd7A0yyS3YHqdrsGVWe+JeQB2aWZeCKSsTSOfTb6XGRfzIDljMb'; - b += - 'enbf3/zc/EtbPq/xfXqrtEWnuHCGvfKrLaN4uo9qfmSWoxloKFJbWhldQGvSS1EIMG0UuQ0g7mQ'; - b += - 'tqVIrNLRHB2szx7WBjh3sICVlMq9k/nXoxN/xNIRfGSh5v2tdP+eGUmU014ueMXOMrpy0Wgaq1K'; - b += - '3A51SJan0up9UyTy0Jvwhxq/Qt3CwtMkk512wcTFb8GvKypquawyKWz9hqzyCssqLxNR5WAuqVy'; - b += - '5UE/FPaGVSQ7mIskF86NzzzglaSTsY0QaOatEGnnEU+FMydpcjfMDkqKKwFqn4r9Bp31sI5BRSC'; - b += - '6o2VIXxvdh9vAtyrHurLG+HVzeb7BiWJ1aP7EeE3zc4Y63KjAI9sb5RUj6CdhGHkqsqTyQF0BJA'; - b += - 'Na4ZpKG2dIJscyFjSusJbkQYg37yOF25cYbmmKTImagc4d4blBcxvoQxLWT1K7oZKvYAYQqimce'; - b += - 'cjrL6CjzI2Hx4YrdPAXHgQvTZkcEYs4Aq0M2MXThtlsedRAnaHBYAdQIJvDWixlvcbcqbXvXrMT'; - b += - '7jCChkqrXs+olIcEXJASCBFeQ4JeRgCaBaL3bilkIE7b/9gVu18oU5PlJrh2PFisuWPS8Ozc0ON'; - b += - 'iAlLaqCssMNXg9l/VWuJ/K9tPK8kr9ZHRXgCOW34VJgAFGJcabntzKy7vhMmiKemYYhqx5J/qCp'; - b += - '82MN209tbHrjPQ4+4qQKQWm6nG0fHovuKqjCEbDelI8XtzBs+MU7N2PIQUellYn88re/+7usnqB'; - b += - 'snLjHLZ8mdmJ+OPH86g457QCdtINDz3sT2opR4Z5JDulSjiyIu68zaVUWXXELEXIaWKureHCtqY'; - b += - '1XCjMP6hBW5JW/DX0Q2WvY8dp7Px58Lb0Fn6nWR5ZwvH4Fsa7eB5DDYMsOEHQxnrxt0F11MCMWb'; - b += - 'ZmrmnHf5z1+8+ACnZyZyM+rQU3Eh3/pP39C9em5wEuCZ9dulzSZoFNzcdVBl/RSgYuARJ/2lgHw'; - b += - '/x1H6+5S5p8lIl5aoUZEPe5rBQipxy+y8p9fF3P1JJKM3ipf7/ulhBhMQNLWfscJ/v5QWwL6Cmj'; - b += - 'z8PZ/KZypw9mAUCJruGPslFK/Ofj7HqEhhorsz7iiQPCOFdmlZdujfistZcRmJyJ6byPEK+5KrN'; - b += - '7Y5m8HAwxMrHc127DqtOhf7O0GbJkiO1KTGk/v0I5DePozGOOx7Za6ROiBM6iArlaSE988AkYEi'; - b += - 'VOxt9RoyzCug7i6znHrpe45zLZrdVrxTUXiuYsHzSvOAbqWBm7aLg6L8paYWsuJQbDIQOFP2FRQ'; - b += - 'GUqBNQBzQJ74VNxygTTUn47QPrIVxLypVtQRofOAjTOHdZ5H2BPvXz4cGB8q1mBHR6iOIk1PxzR'; - b += - 'lnJgaiR8P7jkpMpKSchD7LmXeeBmOVw1W9+Jb8ej5Faaky17VvccNhUObCrSoZ3UC+byRSw3Lcs'; - b += - 'kzhDs9cBFVjrv3CE5eeFlL0p5YXZmskMk5QTBeuxKXA3b7LJSnkBW4FJoCZYV3mFobb1ebAFdkf'; - b += - 'xhzY2+7Im4JxlveWAlMJT0TrmuceB8+IxK2EHDVY72NI8O9k+j5Q4Ul9PsNhgLcgUbP/GhNTEjI'; - b += - 'Lxo0ekJcMoc1Ac+meLMCGs7Cops4P5Ppq1QHqVOgvg9Cu9bUBy6GYpfBcUSiQCaV75Isqkwxx7A'; - b += - 'q8L8HHziWy8M2OnWD4jjNwfSOY8fr6UfMC7DusZqhhU+TF3uxOvqFYEWg7PFjkJtuxUrCanI4oP'; - b += - '0+FfYuh/dIuJSuSh9FDIKmlOuKMd7uSs3z4pIlibeKDvN89JD35xj/WqPVzwRBnh8Zr7GQboRO0'; - b += - 'DPPhIT93tO8Wiwx1f8DhegYcThEOj12GcBg47DpuQPBYgAuAnB2lZgew7hWgCt2J/C23lMPekkL'; - b += - 'w/czYD7WMGZwp4eE1n60JuUsJmeQuDk83CbSEsODbO/+RuK+DLNs+co7rM0ccx18ahFrnARfL0T'; - b += - 'su0RDbqHCQ3xP8O24Pe/xs+RPP7NzCiLicB8aSd8GXSWCBYr9uYTIQL1864KZtj2gp8TZDGHJoZ'; - b += - 'jPA0mcALYwG99jFs9TsOH68zXthiaG7CRxCoRMsdxNhVF2OrlPEtpF7qeGbuZNjgh9qMdwvExO7'; - b += - 'kGBbozTvfMuGd+xj09M07NzzjVM+M752d8Z8+MPzU/40/1zPgOQkRXxneUM/IdUwWWWkHuroste'; - b += - 'EIpwt5PbsO6iakvl/u4tryrLYIJMH93sTK2uwvzbBdVZgUycMxlEzwkeF3CmHX2KGI21o0Yr1nf'; - b += - 'WVZY5vNmGsibzX6mzQxdV3TIy3xjByUX+IHY2QQYEyLO8TmIPeAXPVW1BitmJXvnayfKenu8xhl'; - b += - 'MjJz+Xdg4GMhTE6y64vt2qfzEnZ6JPTa8twrj68SlAG7kNbghdr3dZgEumB7aYXA2EPURcWLDtt'; - b += - 'd4HZT5CrbtXGmZCtd68DMit+cCrPXH4qumCPT5xl3Uu3mvz4zvRRSfepPs7kVgeC1AgFWr6LI4X'; - b += - 'bA4nbA4ZViM+JtiidYyeSBvkLkgtggZTd4LhMERpigOcOdxu587+mDdEMZSw9DGw/oHZpKtuALa'; - b += - '+WiPq8EVw/fY2UmNOSuqyJKWvZougSMRvgehHZBXiU6dk6xenNFYh6DCRqxZnRVbZ4A6+dWOAHc'; - b += - 'eBkoESyk3EqkkdbDAOZUGwnWG6ZDfdm35MuocfogeYv0NcqRi3LFc30VN4JgG2NEr85EldFJmQO'; - b += - 'GI7Shf3tzrmWBGT7NtePF2U2JgU5zoo79u7YgPvfbXP9iqlwyM6/MMjOsf4SkM8opdAhjydAaaB'; - b += - 'bAzrpeMYcWxc/ZoCAQuIV4ywivuh0wmu3Ht0Uocw/AJC6JAmvZ3tNhGfyA9eJAW/M/jGHFZW0Y/'; - b += - '5R4kItDPSjg8JsTw+VSLAxY2UaWxfhvLJjCp5S3ZsnX1/oPZJsKHjSD+Cy2NVyAijZ/pbENJG9U'; - b += - 'kfARemDM1i/xMWE1YxoC/GwfSB37BwiuGylxRVSrypCIfP0sxPXHoxwEUiua6LauZOMKw8iqGr0'; - b += - 'tuFY+YJJGm46PaPoXRJ10hpP8FN70UtMFEYSZETzaDUadZM4URhdiue+vYuyDLbjRw5jPOtBVly'; - b += - 'AkRtdkTWJC5c2RFEcCo4nfK9aVeTQBG03jYp/YaZsGmeAUXf2v8WFONzYb3eUp3LJN8gb3PnMWy'; - b += - 'z1zuMMclluqAAYfr+MvK2rNUiFtuQdzvppevxxtb6dfg0pB+/4cD+0w3fd6BbaSbfhEX+PT7Xfq'; - b += - 'FoWiHCx4DmYC4Kg3b8c9rYpXZ0pmXSRX/JU+1kBUBBu2hX+6NMntsgYs1V/4KjDb07NMquCmuBP'; - b += - 'G/iXhcssUfdXmFabnxI0bKgTv8jzzbraeClaW8FgwnA2Nd3YvEcN9lb5OcB75e30XD3I0/pfAOO'; - b += - 'HW97kt3fo13G7ww1gmLVyp7CGVNqaxXKjur5xd2S4U/3F3YLRUO5iOBbcej+fHsIPvc8KvEynSQ'; - b += - '8xHrbFJvXn18vo/3e6IkPiRnnFOubNdxl30pX6cJC5kZ/hje+opDuPgTUpnTHWHFs62OOQXxC9+'; - b += - 'SBw6gYleYxVi1RVrx8fw5+zKoir29iq8REaw1XvG7JQH2vAo1vXQIOnSsw8dKelrcUmuW9VOrzN'; - b += - 'r641DTY/thNtZ2Zc2qEbvVWyjA8kCWMgIiTzqYKZx6qYYFeSsqnaYje5r2RXyNFyCqmTl4JKdpP'; - b += - '+JzJkuHrdyQdkJXrJGyV8PEIgkPdMNFXNP6SIVdy0TDpbO8w/qFLvseYH9caje7exP9QjfKHgzP'; - b += - 'pCBWCZCFpez8HpsD3iArVP/slZpmpCsb5LO9cIcuc4BYczfIHYRtorOWiOvnPHy1J8qDcDxlBfr'; - b += - '5qdqL/toVXaU5p/sBRQO/xC15+wa0fFX8Mwq8H/rI76Bk/o03ivdcayGhxNMkm0couQ0UV/9cAX'; - b += - 'UZMo7DtNmly9NjBzN/7sp6Jj9xMHPShlGI5wE80QDA404idaJcX3EEFog0WYT3Z3ZXH5TtaClNS'; - b += - 'dNTvwqLtfU1Y2V6tF5/0OUdi7cTFu4RP/Aa1hqAmzyfFuOWly3HeLP2V2dkdb5wA8weKeJTRQQ4'; - b += - 'YAS/QkyYD+mUn25oy0s52Gh5741/lXgn64JGZ/JDCwcWTt6hQ8j1M+80+g57jQNpOY2Jo0pkOHn'; - b += - 'ELyqrH+EwjwokDI3Yl1NYbJjt1mjnb40A9hvYYzEkLAvyXM6CcHfF8lE0UO3rK1lx195+eXBnk8'; - b += - 'nehc/h/dnmZ+sB1hV40FO+Fd448w3nM9GK00O0oqxoRUG0oqxoxapzaitaYaM2NV+0guHGnmzhk'; - b += - 'w4afale39IDrPHDYwEqDi19uePyckprGOsCQnnHIGxYu4yYBVeeWOqloMJ3pNTRyx0FfTN5pgW+'; - b += - 'kwwLccy6OhZ+fT300rJ1O3tTBasjpwXiNmYBBRgXkDG9HZbN5b3PZB9atgbFsg+nS+LBzv/PLvT'; - b += - 'oesEmV5BxRu2TCaIgIz43uVLWj4FkB9IfcauXzqLaV0mbDyM8923bZkf9mWgpr/y5b2eVA9hvZ6'; - b += - 'omZ4Pp0He6YEoPf8cKZ87c3vF/LrV372nb3idcvWhGTYsbpEDGTY2FKbjqhMFkiBQWCOPfxoFWD'; - b += - 'Q+T1dl1Ihx5YIHv46W4GbPSTvMCebmKCjQSf6DVj4eFk3DjQLu5iIINSOuSxsYBSsP0WZx7Oepr'; - b += - 'LcH7XH3i5sxhLyHoQ03eVk8uICj78JLT/lF1z00scVrSbp6XLIY1pq2jwe9EJBFSGsmiZn9Sb56'; - b += - 'fVJvnZZo2lKefL1H7gB0fq3M9Ss7HtGngAUOT9AOq/uR8/JxPTTbazZcl58HZ6dLkPMz78/iFLK'; - b += - 'p+afIyil7PCv7JkoRYGKmU+Nm42WBFVFwMJwhBWrj/hL2HQFPpwfxrceJBSbyPmpL3Mc9Do/1QO'; - b += - 'AAIDUDSSM6HOKS/3GA4Thmw4dhmXUL6krbENfuwNTWo1ee+kLUD9HIb6ek8LkMEv2noNRuIaQBm'; - b += - 'xftyn7gHpPV6CdgZhQwOMjjRP7vKnbGO3P7PdtA43z2jjv6lXTNeL6t9p1/Evn8NX40qJ1Ikfo8'; - b += - 'zfMP93r+Ei70vuapmjwx8LcLvFLrteJ+8FcMXlDO7IHJA/XKThfdYMSar4rIUbCydw9PSM8W8NF'; - b += - 'RBg7rcNdTgW9XgSTjN78qyKQB9Z8ZYIjFzkZI+/97C0y6P8zr4qEb69Mk5VgVr1ZlJDVF9H3jDO'; - b += - 'KndwCbctXX2JW5W56+JP1cckGxD170+u9mLrZfkJp7rxbGqXXfF8zh/lLS7pDQVqI3Hj/Lxzsa4'; - b += - 'EoOdwhV9kVikFtKPUB7aTZ/NetODn6yLqr4Kw1CHxrc3mHWrrF+pVHBLcN/75rB81yEK8OgHWut'; - b += - 'h+nMciwvHn5aQG6XvlRAxyO+REJ0w3i0hGhY/wyGA30g1usLWes/83RN3m2GAT9F9E+mTFsnXOB'; - b += - '5HubtLUS6e9kx97jWoSyMgBolqSR9b/0XpU/tp0x5Mn36vZQV/wRXG7aSTiUaubWenTJEj87t5N'; - b += - 'OegW62vpnnl7bazjxhccTJnFZ6s47jy4XkInnTZVZtki5+3fvUH22xcM9SOfx7MMBZx4vM/rfLa'; - b += - 'Wm7pfbBBqSZhGWT8EVdyiYAS8or4Izp7kYtrxC2+vLjFDhYwawb1Mn457OFSYXl8Sx4Tm7NKW2W'; - b += - '3dDeNmOtkVcFjM/JmAPeTMscfcEVVo4ZrVnllAJ4a4SlfjQtHCXd9/JCa+DjkdUvOeViR17FEB6'; - b += - 'jx4hOaz1bC+IV4IsbbKfz8lNwguCKvDXZbHQqcb468Z87qd5ZIMDfvwbrrgDxLpvgxLZ4iN4hsf'; - b += - 'Eg6RXRzd8ZfZFGFKP9+0hVPWEfobBzAY0V6DHoFvw3x4Rp+xSZ+TLa8YFCvYbUqMSMOoJBsmw+S'; - b += - '4FJ9LUTpgbz7R8fSOOUrPo5JT6HOg9A9Ou7kGjcBtGaupbj9++ZY/TqAfOxBherwgBA0mwOuZFg'; - b += - 'fEnji1dICa3JwC4O2hYP7pIXuuo+cue7BrroPKNu5pSXsons4ix5QUlhyDHbnoMFrq5KKJDMjLF'; - b += - '4LqzfaY+IvIIeDlwClkCOFMqgOlCuI36v4lZyA36SD4jOh+UElXlA9uYsW3ZOAlUU4QI39iZbfP'; - b += - '8fvEVEZkYvMa9Hb9EN7mbmXvjyDj5Pvzrh7joz/3IUUdoHMc/ts5m8Z7RKbLZtWSehg5VNsjQtF'; - b += - 'LBbXpVW2/LyWJV2F1bojO2YNxoaUtKS4XfLl+tW3TlRZ71j8FeH4tJQz89IRsdo9X0ON4z5OsXt'; - b += - 'JNPYZ9huCuwB5vYkSdd4I1W9y54lS3h8XjWoARA3z05RQ0kER2pGCtn07mo/6Hid/RuHIGIrmPi'; - b += - '4iWuFDLDhwrxfn7kvacPbiwJepBdwv3sFOwhEJoXIGmW3RZB/jVgN+/QbX19k50M3PgcdPWUKkh'; - b += - '/C5Ir3373IX6LgR1aWuGahMGnkDK0eOaPrUejZsBLPMzvBBPGRJCy0ZX8jJDhXqTvmmsjpsE7zc'; - b += - 'JKyzToMcphTx7WI1hO+mT2X5JYdZ1RaWWpxKM4kdkd3Sns2eRfyHaI/om4AD0w0DiQcPg5DWjMY'; - b += - '3cyPTsOfijPxEKWU7pJCPdsy2yFGmcenoj87qmyFiGw33w3viOr4MYX+r7SYfM+9WN1phV/otGD'; - b += - 'jgrggGE3CNHV8pUL004EfOEfaR/+mgszwBn9ZOoBTWVqfXiY4a5c1069sk4S08D8M9CCmO8vckv'; - b += - 'sT6o2ofJdDfNzFHB77NplCJlhTKX3zv6xXAA108Z41cg6v8eV331aqUAXqt8sQ6MdORtb5mWwbr'; - b += - 'BClChpq8E1xvRvy2MRaOtXy0rEOtgpguxCjGLpXGI7JyPo7AmAyxI8z4BffCTCwKRwirxPuRSld'; - b += - 'RqXSoiYdFoVTFQSXljC0XiXPQzFeom7npeANbNmkcgytJlVtnL1N8G8HzjzW9iiCLrrXM1zMgxu'; - b += - 'b+khHp71DunBvGk7WWa+8aLFdniytrSweJG1wPq24HKgplvQZVyuIq4d1dy7L3ehDYi/d6zdyPc'; - b += - 'HYmE85Es7FenHkN7mA6BS7cu2QPpyb84Kidy9S7fVpeKv59I7DqKG+lR0VFKz1A6G5F7HT0FU79'; - b += - '1U6dMNOHUn1tq0DsdNXiSC2iEE/dBXzXODUYDP8owfqiEu/I6Hl2oRT9jVFBcZ2Uynt3LAt100u'; - b += - 'oQXuRE7c89iiWiGJSereOt/FJGWIeP2sbF6d8jVFog7itzEcav1bVxIuXTShSFo+zOw03oOEQRC'; - b += - 'IXZ8ssPzVNBYdSJs/kV9ihVAU6jj4cShlxKKXgUIpO4HzhkLqUhhbEoRRuq0zmUCoYoDRezUO+X'; - b += - 'GaHUoZXT5O5m4OC3gD0K3Ax6NkbF83OsLphB9zWZ9fCcAvkJZ9dFjrTBbku9aoMLjtiCUo+uxYG'; - b += - 'k5V+jPAQl3Bk0+S3OCZ62mhfttakdIOt4g/q0k21PAcot9JD12evp0BfF+oaNwr/gicOO9+AsU6'; - b += - 'y9KgTv0+Jg2U3vVGSxetE2hBnp+x7+xc0X3nJogNekI/crFjsZ+35EJ2ypsZN7UdGX/z/2HsTOK'; - b += - '/m/X/8bJ9l5jNTpwwNM3HmIwxappqtkM60l5SkRGSappqlqWZJuWkmQvcKRQghWbKUrksJoQhdu'; - b += - 'tdOyBU3ewjZU//3a3m/zzmfmamQ7/f3e/x/HqbzeZ/zPu/tvJfX+nzpF2clcfAUU54eKJSKqsbE'; - b += - '6aALs0acAPmSoEHozhXC4I0cyNJJKrrhwY82wd+hcFz6ksPQjCsE3nXidvIsx8LqZ2YlIfOrY1h'; - b += - 'emww+klzdXq1LiDc7laO4m8eb6d1MWucYsV6iICC/lCb6G2MqmxSoZBlg8ZAQc+sfr2sbjVcMV7'; - b += - 'RYvg+busW7c6gdxfuUrpI+W7EwhWyqL0fkBfDRolDdYQwohyQk0ud6Oak9SQct8my7X1B97xgUz'; - b += - 'S0MEiFQPaGYSNzcSy3mvmtBGUrY3UlVsBceFg7eIWjiHWHbeLGH6DLI5R40OgZpPkWKB2dBUnPa'; - b += - 'SEjbfzfgZRtvgBAgnE1qb/s0tPSEzoVl3GQnJA1TMK4q7JKPGKwlI9mJXY7vJhYaRZpe1OYVGt1'; - b += - 'XoQZqZkK07y40jeR6YxYytBjsWUUsosixYRrzCAM1JmH4kiiFjwAbWECqQ9yWUF+0ErSQTCFgJl'; - b += - 'wnKcjxC2pFR5GZIE/cbPgbkAHeFi2clBVZLYu0LBt3yYjIblL8BKR+WiCanei5jQYyM51kMJNpO'; - b += - 'Wtm3AYjGRvMYmxpJMP+MATPKEijmeXxFKjQEjftZYA1Q+7V9TWOYC8C0W8FYWWBYT5H0AXJB8f9'; - b += - 'ChMijx6Inas7MYBcSQJV9oAMsSOkUsx4GCBXRlcMYcspEKLOIkwYiRi0Ea1gEbDHV0qMI88nxV5'; - b += - 'pROwo1oP5Ts2d9+h6xPIRlEwmylXEDMxEsYGYqBYYcVgEqE7xtiE7r2rc4ZBfRN8hg7QdKLvUSc'; - b += - '9ngZ6M8GqBKzLZScfwEAtMEh/giStv8WmfzvJsMciLwM8fsqKbP+3pKcA3wspZJx6uKHIuLTLmF'; - b += - 'Kgt6FgjpYBayZwavoEO/CbxeZ7ZnvLfxw7hIa/1kWcDuvGT/z7sidJ/nzAwkedDvwIAy1EaVg1G'; - b += - 'UGeO25SWYaYv3ne2p9kzCQbZZG1juhSopZO20X3zW8GwHu3esZO1lveahmA9ZikjQtLqy3CgCNM'; - b += - 'iuKPFK0T2Z2GnyyR7R7Z3kwZpOrn0EKdKsU7d5fDOc2yqHaLsXDwUjKvVsxiwvwTDbbCoi5NpXt'; - b += - 'yowCDCOti54Nu4F8Rx5uJrIOwrUnhQFCRPh5UIi/JCJ2lmPKkHDk99eZbpLUcU9CUVOZdRcBaex'; - b += - 'ElDJewe4CftMIvqycAvhSqPEkAXDAjiQYDwF5Y+VeEvNJm9ju2z2MA2uUgbloq7pdix0BOElOro'; - b += - 'pEiaLRmG0SRCZa0YOTfX3bFCGneQOWDselh/gRjTQD4wfA8GdMbpascJ5pSjI+kIZGUikBXGhtk'; - b += - 'XkJXZGMhKzAJwNMUgVTqqxANoVhqjWcW9EkX37HicwsBiADYVwRLQmqais6XOqCgodK6YCtkM2W'; - b += - 'oTw7Whhzo5lkMbYGMCF/MKpMNZFSg+CWAUAUvFl97KLwCfEs4UOMaSZAVeY7QtNXhW+WD8rAh/Z'; - b += - 'Ej4I+SHKuIa/6aCCatoHiJZIWSRFnuIN8b5ugQsykZXODRUmCIoP6vAnEhxhcDow4AI9SBBN2C6'; - b += - 'm2wD7hCYkonGo8puFJ5MoXE0cCqLAlMohOhmEuObVB5K9PmQNcSeZ04sMM8Uj1gsvBliK0Kzbue'; - b += - 'U/Tq0DyNJgizzY504kqHivHEonLfYSh203BJ03Js6bcNcdjqVjZsvoGjcZMkqYGEC0Iz9EM4bf4'; - b += - 'POBD93yv8a1+1XCMhG92e/K1/Jn1DJUQS+sT/UJY8I3V4+G0xzEf+FqMS1s9cxNLyqqZB7m81Xj'; - b += - 'BYYu4uZO/KHQkM3Dn4GVBg42EQJkI+Ie8igzjtxVgNdfUa54NUNsmMDvCdgRuBskmSi4h8IxSNK'; - b += - 'PkdJzBzEI+ilJvIyPRti+p9wJGHzicY80pbtz+hcSaKWRiFQktghpSLSUz6i+jHaF60Xoj6OJJ7'; - b += - 'ELEAY/YAj4MV8RB2ESmuYXoO8nzYQogf1r8lA9GTcqr3hiLjACGjofUw/AUEqyY0MAmmT6FAl+B'; - b += - 'lHyMgYPWkSS++vSpdsiOlE7Wv0FN1Lh+2HdOl6FFtt6np9QqBXtCxzOw9AdsQaINHzGeQ1Qu7RI'; - b += - 'SQcgHWEzRfMr0xywUOBkE430+mSAiQ3+WY55eTdbZAXV2Y5R0KHRBrjACCl+w0682vAooICfAjC'; - b += - '3kFYMRB+q8I1LBwAA6BwAgywZIOoNq8iVTbI1NHSFEsXxQ5Opdh2YvvUB6OhVKScDHVlFQ5XATy'; - b += - 'WyIjaLZB+q5Y4qvGZqvHAa3OElx9lhBd37rV4Y/m18sZauBF3t8obVGc7h5xqoZUWzH/lUQPcW2'; - b += - 'wery+2CUe9phXUa3qCKUWtKcGUksxIjSbsFXjUkncETHhBm3i6zSd0WWI87FNtRqV5MdAXpMcEw'; - b += - 'zvpKwgFoN7yakNJksIJEbZspaOU1upk+rjuH6AHMAjKjzWRSUjLwVmPOlGNrHLRCjNM0cCBE7O3'; - b += - 'IKoSwU+IdkRrnXA1fZuZGMcMjebAT3EaW+zLwTIDzgOeATUNp+ClPPWjbu8xlShr+Z8tqQSHq9Q'; - b += - 'DKI4j0tvwt8pQrUoxmhWJHkhZKMlBrT9JDuoJHHFb56hr+LVuNMlXF6yKtXaabSPMqnjrPtNv0u'; - b += - '6oIJzt8o0T7VaYKx1yEWyqQRbTQGCeWG7PsWTUTgNyt8bctsydRrntZnIflEXHLueOknt7ii83I'; - b += - 'TtaGflGe4SNRbSUfmBTrAGHYlUD4d6HiVTY6tqTLsL3nB+ciGBwup2G0VZkBXAUfvKIII1jdst8'; - b += - 'I9d1aExAyQzzIxcMGMVJ/w+DrPItOUjk2Qbb1IleWyEnXnPhSpxd4BYw6DFQQ4jPTnWjIa6jx1a'; - b += - 'aRoRkhX5G2GSGz1I+/CijI1gSsB4iPC5EVo4CDxGhY1mcx9tfJvMS5HnVYctHaGgA+ltY4ByD5C'; - b += - 'zMgp9ZjpiEwJXgihnvq94m3rhV4xfIggODAYhPs1zUar+IKJ3AXIH9BhBtXhmwsnJxx2tMhLAzY'; - b += - 'x9mgFWhm/yFsvVHoFCOTQmhO8XWDJ4PxC2pNZ7MjLapylzLZZqgAkz2laUVaYHXfNwxCIgWv8xW'; - b += - 'ifeanok+kefRclaY2pt0uRWSeFf8SELq1wCSzCQExWsNQlKmIQCiwtt/xAvJYhNtTxI4y31Xij8'; - b += - 's9FyL7L0Y8C/AXqAYFl4CfmklY3JS8xCVk1ciCUilLJRisXbQWiF70EFrTV424qTde62ImwjWTC'; - b += - 'SLBkH0uxB7A/xS99Vt2bKLmWGwWd6I98UiZngN0jLyHh5stc73fFJdKJXs3B8wySxmh4ZmMQBbD'; - b += - 'bZ6EagepwP4dUaAVLN9GOKw+wN0F0pQ71wElE26y2CYEfd23w3091zMNyKgxI2AUWAmAQAQJF5h'; - b += - 'OdB5DWTPgvB/8jewXOKRSZYuVoExGqxobliPCFIR92cEA4xgEfnGRPxlK5OXKMICSsOaQipOkAL'; - b += - 'fU7Odcgo+oIRZET5JQh55JLYRPklUWyxq2WsiNVuXpinNtF+2eNuivbUYkKiG/oa2L2m0vDBa6i'; - b += - 'bdj8pr0wxthYsCrJgdireLk0yhk+qxhPmm+5ZZa/cdnKQIx5mO0Ye6a+lI9u9BZA7DbZNQcEJps'; - b += - 'MZocSFz9ndeZsRagkRPn2rP12UFoKxOx7LoPLd9tnfIrCLdBfLvy3WAqs6RWj2HwmNTO8Du602L'; - b += - 'UVvbZVkEtglRx8DN0eDbiqV1ZCWq1XIpmeTkIz7u3ReJje1k1mYhCKpYj3NDid31FtU3hlhUcDd'; - b += - 'by4wLxr4WRgCU5bsiU6vh9zS3Ybc5FXj+adXVXEK2lr4/eS3Km7Y/eaOU196fvCmUN2V/8tqUN7'; - b += - 'o/edMor7U/edMpL8R5SAfLQy+vrvLqnDcTQ5vP1uO6vVxMIOJavVXROKAlqGtNLRB5EeRyur0MB'; - b += - 'cYW0maulq0t/6FnPuvFXe1Y7Y4fehZgUvxeTL+NooUQ3NYoQJMiDuGYjbuAQaKQduXu6yQVKTIL'; - b += - 'BOFluIt2cNw89w3Y/zDoIq1tA2WlsJJkIEYKppdNwfRw6wb/dZMWDoiH1lMooA4ameec6A/1CJW'; - b += - '99qms7E20wIY+OzWAhmzUxjV318/r2KQxEx/t2iXT6aoNhaqFUX9ryMCG8QhkpHqxJH+wsqS83n'; - b += - 'uG8laL3PyyvEPHAWcfGPntlhb7zhBcK6AI+GQNoDCpxaAe+M3Ft2d7GDx52CYGomxkpYBgWAxDX'; - b += - 'PxOJTZJA20KwcsmAWZFKqiBQO/kRCmUEsZ8BQdLcbEGob1KcjnLmw3aRihEM1gTJEuT8GQnxhg/'; - b += - 'EaAiGpUK9smpgtL61kIbHICzQksXtO4DYAYMF4Fhc3XqLrpVgkGPFFdpuEbc9Lp4qosSn2RS1Iq'; - b += - 'qgdpMdfdoYixqIasOxD34koIrlw5iCh1eATtIHW3nsbUgD3fnX78eMF8WLZWyBJFlauwhpYeABc'; - b += - 'PyOFoqFmFEhxBpkCCHCJ4HA6qA2C4K8bjfBfur98Q/okAUrmVQ/OIMQS8mOtzSKyhsivqicniF3'; - b += - 'U3GXP6HIKZCjQBMHvaejdDJ4723Gd4zE2skUJ4kcqZFBNc24pJb7q5F0oFEPuKfNiRlAvCKdCB/'; - b += - 'jzXSwbZXXIFSFhc7C4N5ddCc7loh/BLTGRZNCLDkssUlGY4kgtkBq3KprLbzUxnwiTqGaVDSpJf'; - b += - 'LLhG4To77DvVc/M7leJXhGCmSwQ42DCbwIblsYitMBSmFAOL21SG7IRRHkg2qNexbQ3A0pge0Fo'; - b += - 'JBfcrqw6J7k7Nk4qNMeIRKBvFrt0kxB0zbghyCLrVDwBcCbbrblHmowN0mx+Z0514tTsfZQMy5u'; - b += - 'xYIbjFsh2HxIOeMVH+qlCaImskZDglwaR5u2bcg+Syr0Ypmw+YK/9SzRpBrBHeZiCgkCwOB2lHo'; - b += - 'iQEnDCodqARgay02B+VeQ9ANikSHd0HaA53WuaYdDVyTaoGFdYH5Lg9JCNsl0m6DYV8TUuZpBnV'; - b += - 'HMVT8SgxRrwUdsA3pAAo+sx/nn8Y75v7QAZpFefeHDkCEdzSb2o+8KZR3f+gAzaa8+0MHaGl8Gu'; - b += - 'xP3nTKC+DoIq/my6upvBrnzYy9YZqG2MpCM73z/vG4WeTMXSY2RYhBjzY/RdrpOM/37HlyTwR3f'; - b += - 'Y70nmW6s6ejplLk3QOg8wqxJQvfG4YiFKB7JVLynj3axXBfkzgvTwIxsvR2UBNDPeJM5SdDey19'; - b += - 'PG6pmhwLmiUOgBfORzcp94MnjgKLA4T+uWX9jXvMctCFO+acJ1XRS+IocuL01pOXLo2HbnscJ92'; - b += - 'Ui5+Mh8UDp7TfwT+cvDQOJuNp0xyj/OF4dEk8CUQeTtJtS2Afuc0J3eYrRuu55Pa4huEANXgvsp'; - b += - 'RrufXZ6S8l3fj0yUt7r5x+Zdtnpm46ecnS3tbP199www1viZ8MWa717j2sx3utv35K5PuP+cJ14'; - b += - '/o+B/lGXRNf2G7AK/DzmjPgvw/FzyXi/7jmtRJas6S3tvSrjrtCH58kHi9B016MN6jdpsb+9tg/'; - b += - 'TcOo12e5OeILGRLNICgUbZEdDfN/uhkOG+Em/rPgn5A4ucHUDZHm+6aGwY1pJ5i3ies3bLz3JZn'; - b += - 'CgZ1wgzUV8BLjZLcqbqDHm3sM8QBklgghE0jdOh73VlevnuAa09xIzQr8OC9pc7IAb92TXZC3XQ'; - b += - 'NFfhE/okNQ//jcMnECHOfedDfAOOruO/eI62rTHpPKws+7xcntZrs/wmWJICTvFNeVhj2mjzRl+'; - b += - 'eriQgKN3L0HKIRbdiQT2v9WTG79FyefW1BX7kao8pc+qC13p9JbDfPF760TONEgEjfXcmJ3v3L3'; - b += - 'hTuGDyAL/710EOAQ0eOUTXgttUeGQFB0KVAbuqQ2lDwcAz2z/G6AMudjhCa7nNQQ6QShuvwGccz'; - b += - 'cisA16STqz8wKkzCM8+9g9BfwjgqjtYMnE/sI3B7Fr9w4vpoTjxCqB4kM0e0K7BrjoXJybcqG8H'; - b += - 'KhIgwhaiJeHUDsRsDaIYTWDtGZ8SiYIkiwM9AfRBD5QzQuCoYJUVYjRKn9a6H9O1hSF0UrO/tqy'; - b += - '4kuIw0H2HpsgixfYwaNtBo/AuyEbp+m1BGA1NykoBs48JUGD7my5EV1CtpkEGO6wxD0g8gUq6VI'; - b += - 'W64j1pZDa8uUKBo67CBx0Iu7O+9fj4yBeAGsLilUlY4hfBg1Bi2bYqSHMzFYFJth8BMV7+sIQt0'; - b += - 'wakWNT4cYMvsIivH9o6zmYIAhIbdOBuEg0/AQ6MiR4PW1CbbhqRx5WhSy0ysEkAZqytnltwKRHp'; - b += - '4O4T9k3IJYTS6qimAMEelIPN65cj3KhRFndBB+cbDcigOkJnhX41agT22JIV3ctSukIZhonbtFp'; - b += - 'aB77iaZ/NnQo/XBec9sDuPWZRMgCCr8xTdvn2/k0q9ssA/NYbgMhNkFeqOQ5ji6Bd5gsY8gGDMg'; - b += - 'ulk7cDmbhsARW/8mJtMjplooZD3ExqIhUWkFMng7OBvzPCaZFcHCYUMf8QCk52FwbcWP5kSHoN8'; - b += - 'DmMoBhxRC5C6DoA7BVisZABbYcNCSIBvgjw645PMvX6fGiT0s7ZssabQqqA76arhGxExn4BDNvo'; - b += - 't1NfazIbpuN/0PcHqjHDrsNsgqLg8KyoLm5NuALUqRNuVgTkbx77wQ9NIIBBlod7cGlKaBZuaC2'; - b += - 'ESNiZ/zNojz3nn9euK8UYAF38uS7PNJUheDknBmjVNaWVrR5ds+vvabNVe9uaZ+mL/KPX+8ylSy'; - b += - 'zEnJIhEzSCg2sLWGSKWoFIRXYhGEySIIA4WVadQcWwk4zIBUY+1e6iaDb2JdzNjFpoox9pv0oQm'; - b += - 'q0D/gstG0BpEVKuBgUuq5YwAncKlBmF5P8zkcxX2hyRJEnZ+YSk8ZcLlFJSXqHblM9Ds37NkWhe'; - b += - 'Y2aJvGrsN95XBBA2Eq8SQ7YEjVfPNdgVKW6P46lYH2F4b0aNub9WHD/WRJmGB9qMwOI36zw/n3k'; - b += - '6liotlh1G9suMP0DBEj0hCRAcfxaN6bIaIdNERMl4aIUb8hIiLn6YGjuUlDRO9oNthWHGyOluEZ'; - b += - '49kLmvtjL/ja/Wwv6C4Rv9wsd8P9HiIiapU/MGjOB9HRgLDCoxTN1WALarCHoH2zruKVpWJKxit'; - b += - 'LcY0s5kFoZ5JiNlo5pr2M+DACYTelug7JCDHoZJPupz79VbXElAz8liIrlo9b4A1f4LdU15KWhH'; - b += - 'rjXFubLCQV/EsIzAPbTfF90BbDrHD0IdQNMcHv0gnH0oyp5hNqHEHwI4QI66/Ak8TVYp8ZPt9cU'; - b += - 'odoaM3rDTT9stWvxmMQCYyBldj8cOIYhHAMzOAYhANj0KgQIJVJAeF7JxT4zpZrqKGFlI4BJBjp'; - b += - 'VMOZLEaiP+tPBd+IzrgGKHal7I6MpCVSiqIklZG0GQxyZiYEOTOVhbQgbQsMD85c1NUvtt7gWCh'; - b += - 'edA8zGN3DougeBLcC7Baix5mJ0T1giopZ7IvuYVXEMV5HlB1NgWYujydxdI8oRfdI8kX3SGoiuo'; - b += - 'fVXHQPq6noHqaM7hEl87WkvUb3MKmtEYrukQToSqSWZ/qd4nuYifE9gj3VYu8YysMNXGSU2zEgH'; - b += - 'kal7YKOKIcy9m7g+AtL8issHY2SUfoac5OQZ8MRRsW/36cII674vYo0J+aGIdosQuYi6J34AYaN'; - b += - 'JgbGwpBfqg5ynUKfcs4t7SWSkAlGHPxAu5xq90MK8SlNDC0wOUTruRY4uOJcvtbAkAusQguzptx'; - b += - '7YTgxlkleTBhEnzbBDyqZ/aDMFAJNR4ftVwzJZpKliGDY2SqlaP6/tbNwTiJazjFE+rtJ5TDLwA'; - b += - 'YMhA+QqSEehcusC5eJiYaBBrZpVWDgWOv+cINgDzpp2gkIvTIL/XvE08oKypeQg4EutKI969/sN'; - b += - 'AKYQnGAhAiwURw4otL/onk3NQIcpMXihvuAZSfrDTVbPoeeQKDIYBmhhJxEMWCGes6QU47OP7D1'; - b += - 'ANKlK0sod48RC9HuguQSI3x+xWcYuMBT0EoN2BIIQ2hmU6g98IsRlOTD4vS7yaQgSWgLPBGFCOJ'; - b += - 'RA1gRJaNhCvCpKXHNZgQyg1ZAO5A3DyU57inw/SnYX7qMGviNSfkyQd7bkzKcSLfSKeKfTVEGwd'; - b += - 'BFRywW9FiQ5jDQiL9BIwxK7iD7bYOeKEIKAxJmQ5QwnUisHRqXyLbThj/jFIxv6Guh9EixW1Bb3'; - b += - 'rPwxGtHcFYoQmnguCZbxGC5BdySHWsAmWINYxxs8A34vjEH8owg5gBa4YM5GLBuYOq/R2N0AQ0c'; - b += - 'TC10MLXILZzoI3F/EExU15oGhFsqsmainXHytteDzvYmGDeAaafpQQU0U2fBn1Tlfrn432Fqe8d'; - b += - 'CbkKcCB1pkQ5qYisUjkSTkmMpqS1a2q1aH5R28CFt0OMLtZ18uto/mi1J4SnG/1yEznp7i/iS6f'; - b += - 'RAd5+EVIZM3Qmpw2RqHqQOlakGSKXI1BfviNRBMvV2IPVcIPUIpFrI1H2B1GJItZSpKwPPGgKpL'; - b += - '972l/nq2/52XgupHjI1G1JpMvXuWyLVTqZefMtf5tq3/GUugVSmTM19i0cptipAIDNB/NtIt99H'; - b += - 'vpq/nXxNJN2aItEl6ZaCpJtUn5pM9JqK6NWY6DURdk0SvVqM6DEtgejVHIkayjTv0yDGI/xxid/'; - b += - 'mHoE8DuBwkuw2jDYTEwQ3Bc7aqFGvcHugsA4VcDYZmmYic+VuXgNYb+AEdE/IL2oH4LdNq10QKw'; - b += - 'HwW3iqJBoB69zeaYIWWrwCrkNoOhoiVyjUeAuSaxMEu3U89NB0tqqpxb0C+NO201xrKqIChhHcj'; - b += - 'ky29Vpg3LAOVTg64Yhk3CAWyCLDBsLIJqs1i1wK0IAnHaVBmvJSTkfrb8oMr8ZWGoZZb87ywfnD'; - b += - '+UO4V8gUa+gbFA9RkBLR0XL7E8WrasSrhiow7romKCdmTkNoYlHOYO8QqFMMN6v70boAo5iiG2s'; - b += - 'IPdoiPQgQthw1+hYBMCO7GQHHVnTtIG7XiSinOXCdEdvhDrNIJ4T9FKo/yrGnRIkYRkSQO0iDJV'; - b += - 'GVVJm/+CRxQe3UiFSKZIbHfnSZOKPeuoawdq5nrvZpEh4Dg68rvMjrRWuJ40hDP7W08jgBymZwq'; - b += - 'C2QM5vkJ7coBCCO4pW4Kb4jfDCg8u5hAEe0RAHxRQa6zhrESIjFI4u02PiVxJR2Fsp9NA52g/67'; - b += - 'eh9PfpeppjUuOYfMRF3bTSPaQOubQdg/jsnRAmRKIzDFTQimCCUBmKJItWTX2HSqwI5bRPpbIB7'; - b += - 'Dt9NjMoYGPwN8IYuCDpg4JWN/N8hMiXc8Oju9851cy7GFqF2P+fZEtr0k2YHGYdI12BNBNg6j59'; - b += - '/OtMB2piVuZxTN3NFor+Lo6Vpgc9MCm5smP5F/49UCG6+WuPFqiRsvA2enQLCCTlkSlwnNvhS2B'; - b += - '5h76B7fGXvWUEjMihxyaeRamTKOihfKOZWUIKhgMAkp00eZ3WkQ4rHFJli4GYNp6hXgMQXFZqDI'; - b += - 'KL3c/hmVgRqhriNHRgoq8D3B7UtDkyyYfvAVDPxnQEZct59Bo1mDHGgg9Ix9B1eboqqNxiMkZMW'; - b += - 'anAjaKCL4lm7fapDeQiOw9zCV8QuyOvYzIXfdfLEwn2WXwU/A5mLzAglrxlndudAfksA6JIC9yz'; - b += - 'AMsvghBzzPxT/EdutzVpIoL8SI/WHCVkAQAZSREyCCRX7xjkk+xCEwQjARkABEdyxGZGAGEt2Zu'; - b += - 'LeRPAdkeiswkgbJ7ygwi+A+TdwTUY4XmcUivChsUVHp08+SPDhOme8Lu3yURIdCKX0wJHSU9zoW'; - b += - 'As4s9wR4VF5KIM7WQtFr9yh37Ur20N5sUGgNtrHBFYqACQhdLRU4LUySLusKtFlXoM06gTbr7mu'; - b += - 'M9gzchLvlZwUSDfjdBhn5kLhcMPAGSqFwRUNT6XT3H8OJONtQQgdNJ+tWvQZ1LPIOLrPuZMvhQ7'; - b += - 'nWFcr19p/VhMFYN3sJZK+A2qVZS8tgr9MTYtOnqNj00PEISarRGd6bgY2kz+48n8e7ilCDIVPQ9'; - b += - 'QsmFzqViMkWnH54Gpt0Gmt0Gpveaazx9NPoNIbpJ2Ze2DuNTQjtgDOPJk3YdxpLqS/ONycMcydM'; - b += - 'kmMnrE5iCF6Ix3AkcAybUrUIVUSoCircXxzgijU6fWP38Qxs4oxoTn48AJkmdRT8RsrW9EuWxQK'; - b += - 'XYuWFpidW9gmTyQOKvUISSenmyeI/RrKjEwNRxQ9ZPvnv84aeWk8r5MdH3Dhi07l7jsg35j7qQl'; - b += - 'h0d8cj6zXWdvO+HSdCiUNQE+2NrsaEVW3R9ufq0+wVKCS17I+B9gg7YXteKB4hD/ZIRXk8IkjTr'; - b += - 'Kh9dyieRF70yezon6XQAFKciL3WImC5cgx7EYJgR7FyJ6W8opwj4jE4M8S0h4CA0xjQOYgWHZPt'; - b += - 'E9uyvTxERdq1CvwZgLRDBKQt8ZdDIJY0yGxdKutNgO9DyGYxSvjPoAwcLMeI3c8TD/zqEZTJflx'; - b += - 'nrsV+1SLNs0EheiX6RxANxG4SCiRKIKziy70IxUEMXJN+NlAIW8avxUz8HB/drssINoD0ejpfX7'; - b += - 'f4Mf7YIe9spR8aqcezIfCvtOsnIN3scg6EY0hkJLhle9b/CO+L/ANZsbifsGu7SVIiGAMeCPJov'; - b += - 'yOwUP/fCm16hf6/UdqfUVoHohBXs+dbsFmJCzEx9f3Ez2pOpgeTacEkmHfOGsA3yEbWre8LDwW7'; - b += - 'ZU2VD+BAYgPPjx557PW/wBuiMb4c9Co+HNTc62Dz+di6pT9f0Nzr+LDZ18EMdN7j/9zdbO34sNH'; - b += - 'rBPe37qK3Zl/Y6FlsPjD0+ixf5BykW3TPqUkPYEhQFBKSBSFOCuHE6KTYUYZLSRTOAk4OXWG7JQ'; - b += - '2CcGAripJnxeEgX+YiLEMYxPcW63tMf5iZuMHW+E0UFFKx4DEoMems6ZUYyxdNMqcDKgxFjgZ1i'; - b += - '3+xvTg9AoqN07HbeOW9pDzFCht7ihWSp1g36SkW5TDIfk+xE/fuKdbdjVM4l5UW2kAL/n6FKbFQ'; - b += - 'THuUtPbDqsjvihxOyL8Kj1v7bZ1dXPGaQraY6P1yYsAFU3o/Rj3vR7AYSyGiFyX1a9hhi5RJ4Ks'; - b += - 'Fvj46LT7p//gSWsTd4LeIMNqx1o/thCy2ScwiFza0v3M16WljRpWzTBrxYjbFGuTjz2BwLMs7EQ'; - b += - 'VxSOBYyKe5Gz9cR9nskw4jq46Qz7LPjBZQS9MJbAZzKN1kikSjOhY5NSS9QeccRugtVOMuszAYE'; - b += - 'fwETxsYHoCSMSgwqTJT0dzXvl+n+aBXDSJD7zT8eBKejELUQkonUM/YCw2yP7M4wGYmGWemK+NM'; - b += - '+xKTzMoiCpoQnZyJ/ySaB/seFaTPJ2QeGU+C0pJAq4gyUAxRb1+H+kH8Le5facWTUg37+VBKKCb'; - b += - '+dSKEziGzQgTsGGmKgMdKUliGHozXpsfIS8rD8ForMbzEkG9Yy/yaOxt5aQqAR8MUpQJwmOayhZ'; - b += - '/tM2wiYLcjpmZZbr1j1EI8ixDFywg7BP93lQlw345RZf9oSCNRjBMbcbeTpavriKdkiyfGA63jC'; - b += - 'HAPKL4GkM0d6m65gWVzKqJmkpNMPpsRdxc8vBuFtUgDJknhBYrXwCnewDDeoan2fyGumzUNRQ06'; - b += - 'x8TySywNzmRAJoMNWzn4RBIsGIT2WmmgwXZAVuM6gg4WE5GQqYAsFVwY+l3YRDKmEQqLKzjXOat'; - b += - 'dYHxh7xI/SToVEeQqhyA51ty4yo1bRfWnwYbsWEX6zAK4JX6Bjb4Mbr3hUx4TFzdMLEmxq4Zi0g'; - b += - '3iVQ13+afr2INPrPCHPpVMulmE61RwlmKh+4sicYpgLKBn22XYeonRTstVMsSqEskQG8AQG5Ihn'; - b += - 's/CwK3S+VoGZXzZIBj7dgBJcyL9duIGeQKnY1gAlScTdKe96Xc6hFXsiZ7EGNFA5kkDW9Lh9NsG'; - b += - '7f1QiiiAyFvIA4fsfuIWkNd3Arj+Ovmj0LtB5sdNxwPoiT7L/OJNFhXl39AwIwZuiHA935iI82+'; - b += - 'y7/VW3o7pxJK+zYhxeNMctIJ+CGObkQsybprvGXGTQvkx9aU+47pL1oHK9UqZQdxaj7fAMNF/9y'; - b += - 'lx1w3ZL+l8K528k+O6Pc8KVkIPxSwdaj9HYS3I7hyEiappNjnyq4ZZ5NGsimGjRyIoWPqpuTcm9'; - b += - 'E++ETSgnKekJ3ZC5MO94eKKA6tjXzSdfkbrixhMYJehx4rI3Y+sV7IiYuckuUiRSF4YjxTpo1K1'; - b += - 'IiMrjMFsHiV3E/yv/hIZ7BvNNASpOhxPEtooLBStqtM6kK+K82mN84H4HayYQCwYlpDpxKRFChi'; - b += - '7Fk42DjYsJsqlQSkdaIAlWYPUFWFC6MhOGOyxzBgL5FKGAl2mYiCrIShSwpIwAFwC3ju4iff8LA'; - b += - 'OC4OvBe3S0UmOg2GjcoKYkMYpWsg/+QSf4B38VaCWQWDG7xRLJY2/VpSTO0WI/603oExKVBpLRO'; - b += - 'hAclk/Buf8a0QPGMuUjPc2age+9vhOEdKDThuIuqdOG7DRQpl6FGJZWdRpSCZ2WFrvUaYOB7H2d'; - b += - '5ndUpwk+y5elJaa8TidUotrg7zRbToFZtjgPnjWzDD5xHSP2bfCb///jY/+qewhN1Ot0wWcUMaV'; - b += - 'tC/pY/oZjin/jRYI52+co3AqnHE9RCS7BWCCWPw1nlx98QiPQL4S6uI2Zr9kQn0Bmj2tF/tLiui'; - b += - '8pmhqmZAgja8AvC8MtkpwsLGsq0gjjwkAcNB9Oy27dY+VwspN836RDz6QI8SYAX9oorpJKfDRzc'; - b += - '8iO3D4LSfVUdhUxKDQaRpTCW2kSX1eM1f0EU4RiQzSlcrMrAQ7UkJaRYiNux24pkBF3v3SiDCF+'; - b += - '1dJG8BhkjP4KzWP7LYMhyAHWQ4FuUPhXIL+JbOBAUKL/X+qKyjaCWMhRtK9gMKhBFALZRY0ruXh'; - b += - 'ZiNyus/Yp6pIzORA+RC5Y+exkQLhxEpdYg08ryOMTdAQkixCSM4gvQuW01SNYJeG9b3+VA8UlMS'; - b += - 'K4DHPsWrWAzxgm/xc3NV+BLcEAbpGISRya8DOl94x9pCsodR88/jUUsjzLooDlIbT1l6HBwIkpJ'; - b += - 'P3eNBkkDLV19r0W+b+1i1vEroUrMAMMDvFrqEsD+90wfXALp5AMb0/AeQjUN5Uc6Ou5f2SYCbk5'; - b += - 'jBcCLl8MQp2LDM+ZQ7mkSTcP5p726EDVzPQsYs1HiVFU0xdiHR9RFw8LAqAmHnZXGbCpRZSfaDG'; - b += - 'Gqa8fiIGJHzIQxa/3ko2fX/Ltpvfrb2dkzDDEM5z7uPhIx5tkSoGvoAj9dqRnKALM0rgseEd9MT'; - b += - 'yWqT1jIaxAyG3JnRD08nUG44M2vovukLRFIMBx5EbHyOiGyPuSi5TR+2If6EaIzFA4EoJOAIlZp'; - b += - 'LYmeEJjBU1cOSQoJAFxFYqbIk4YvYbBPXGOYBWjDfHkHl6stSQAJp114TIFbGiXN+vLYtPqfIB5'; - b += - 'UktFaifgw3hUUWMW45MVSOPdFHYyAZXLcuRONy9nTmwbT2YHCVcKTYyGfYAMilHQWcUOAZJrxao'; - b += - '1KeA6rGzQl+Ev0JOZUx2zL6H/mwhIL0V9MqaBhQpnEMhYbMdtxyhGaDrIGhCnDJaKfZPuheVCPZ'; - b += - 'DhQRfDHsdMf0hGwVLeLRaJlUIkCDBljGqcysrDifE0XBkgGRFu8+EXsbIdtEWPun0ofvJijP9Mw'; - b += - 'd+R9xWPQD8jhnTxoy5FlyA4ELFCB1HkU2ASED81jWBIbSjo71hP/SnIHSOkbiQfbpJ+aY14anCV'; - b += - 'DwlGO0JqfzC4CHGYAFTVRAjEAuChxAMuNysSwzIBDlkkwSAbWmIJRoI2L/tBcVi96u1Z/JlJRSo'; - b += - '+cqV7RLkbmkaooRadVhj5XEwo25vZLLcNpVL0QNhRRXsAqxO5lRBMmRCBbVqE6/k2cLjgh3SeeF'; - b += - 'IxDVGBG0X3VnkpCjgJ5fywntgUhvXEkOFrDKmMfVcP4AqhcCxhUzN48eQ4DDTVYOJV7M2jvdgzO'; - b += - 'amaD9wKAxTGmyhEnP72bUZcZ0uAuE60AMl/86XsjguidxXqW24C6lvg+EXK5U1QOdhLLEVXfKor'; - b += - 'PsqD6nOXXI5s8WJT2cVCzN/+FHGHvAEFL7IdckXJlXAnOF2edxgbCdkbDOq0BsBFxCSDWBtaYpN'; - b += - 'HYRoVlUlFbYCiUklQ8xAVRQ9ehgd0KrpbAnWoZtwJWVIoC79LMhl7M8EjMav0ja6MTZvxQLRnW4'; - b += - '2QV5t0OQzDhZB3lLOhYeq/07MP3SLYSxEJ1fcTAkOZPjdErBMzeFCmdHOdEQioxKeL6nPIRzax/'; - b += - '3EYgIgcRA5CKi6KPs9Q1ocGxd0NU9xdU2GIghg9wuFVpDtRmMFuUP6u2RsNwtJm8yECsyXLVnSR'; - b += - 'AsmtmarZ60NKCiKWrdFTwp/CLowwS1JcL2YroR1HFKpAOHCC/r4+bv8DfXxhP/v4/AHqozhBwQg'; - b += - 'O55TnKIv+EcAGqTvoBgHMUKIzbTwk4YVhqaP7HXFH+JLkTqDIeIR/04XiGhYQMAP/sohhoWiL/I'; - b += - 'tL44J+VxmxNwNEPnu+wX4+DTxC3flzxeJ+2CT1EKL5R4E2Qvtoii9uuks4D3kauFoWbz5higUWU'; - b += - 'TwRerVbYBaKTJATHkKWcOzVDlowCEkZT2J/LkFWUbQ0nWyCoHik6sWr7rq5kpA3pFgcqNK/y9v7'; - b += - '6Ni8a0W+R/fescWc53+2Y2uvbbJjy+Xt9z3KjmlXjV2uWCKJ0tQwHtgS2SNs17GMhLyIQ+6uRYT'; - b += - 'tYRHLwpgdddJrG7LMY/gMPQifYSKK/2IPOMMi62ANeSPG6gJiVpwrOtQb84HMIUHQhOO5ihSNZN'; - b += - '0rXheZ8wS4O0PCsHpvZ9JqVOk0WosqneJ3a3c5HAdpcElq0aQ0Iz1BmkFaPE1p8UyVkBIMtsoji'; - b += - 'g7smFjvCV+ZDsPYi3zq5zRDkBPdhtFxBD1uUADGAD0esr8yAvFaDCScxNDMNzz3cL61mIltm4jt'; - b += - 'NNTxh4jYNhOJbcwh3kQZgP0PK2Cm1QTtjVTaUz4qTVkWgur3aW6Xgb9lMN40NBukjubshR7Mwdm'; - b += - 'eU05E4RIdr2xRpV50El90Ai/a/KKNvheG/Y7FSOfQNEhZTIq94JFiTX8Uj0MKIVwzfRHEeAZfeR'; - b += - '8vZDAvFGCEQHrJd9PR1kD/E5mh/73OLD7wnVnndcZkRxEDvQcH8C6AbDL0Bb34HUP0RSxOWKBgC'; - b += - 'W1whHTZF5NQlcleXfXFpL6g2Qhx4Y/oTFPIQO1Ih7OeHTwpUPvImx5tRhzA09u+Wsbs7wzsgenf'; - b += - 'xJBJEp+iqR6YDATRdA9MIr8tpuBVD1BYbBKCKPTAUD0wuAeGvweGrwfMHfh7QCgj/h68oHtA1Ur'; - b += - 'q3ZMMMQo9vYcMsONufx3dUR0ZmKbanmsS2+TDQHH8GCisxaWqkSwCR1f0YignMNVnRMZ2GF4Ilb'; - b += - 'qL32WlLtYoAVwdBeAalQCuoEXdDrXvYBzHf+nKJE6xIu7Z5e45bBCKpydpzOGcak9HGtlG4LnhA'; - b += - 'grsTwZ8d1am46Rl9Nkcifgg7esNcgE1gKH2+2Mqw3qp9PexLIpJYSZTVHo3wFEd4W66UQbKYi7j'; - b += - 'OY/x95hI+3LmAVMkfyVtaKAz9nM0/SmsQRSPa91vKKOz6agSxsvPAvY27dCtA4WdOOySJbZf0Nl'; - b += - '6BUGaPK3/5gcTtP4vPejT+jc8zFr/VTpH/NpfgANy+ZdhjhtBGlgAUmCUS7y4/oRAqE91Z180J1'; - b += - 'qJhhghGY7GjzJgIcpAk/ACjevSYk+K6TQLjnh0iheE/ZO/3rUb7qDVudmDNoWib59aPdvCu9ZMB'; - b += - 'wAS8RnOm6INT757SQifRX3Povjshmc33EvvpfieAWC0uCWYcHnT6EFehSIBT9LwTprvTjreSSeF'; - b += - 'aSbeXiY+YKboQGPLEfTmwmmAcQ0NhVqEMbgCcwW0HvBRlrlGX2liZiYgh2sSS99ehkCixRDjnOa'; - b += - 'fIqi4eEInkZg6tJJlDqxLluPJFjbw7pSjtDOo8cDtTEFQuxFSsGQygpNJk9F05/6HJqPpPos7DA'; - b += - 'HZ0WlgwgRH7c2DrB9GE6ZnmUTNZMhps8igsja/K8t6jsvSsIRgkdlekTKKA21LkpPWUYJp+BCBk'; - b += - 'fyidIicQNPd7eCjHcFmKPhdPOMoyKOGkMGU9SPIGm4iK1RDcStbSrf7luXkZG8iIC+smQ8Q55dg'; - b += - 'dKG0DyFN9mayKJSBoUON1JOu1lUInmYt+3S1K1n7sOzTG1v2NbFhNWvZZzW27PMb3pk+w7vVOhq'; - b += - 'y+rU/DsaXVcBP5EWMW6LO9n8K68+SWIGqwjBZWrXnTRRuwMSASeiL+yTWxAiEmHKshKBHOmvppO'; - b += - 'RfhQdP0OXc451qoMmRIdmsQKReiulGRCDvb0RQEXwJeMykIJ6IUd5eTKCe/cEJEkCeyD+XcgFKK'; - b += - '+UyMdeT9QMxxJqCDrnRRLk0xeWy0MzNKPfJU14LiD2bc7GSrlEgAYcojfUsTycnUZSpw31Y5eKn'; - b += - 'lKyDj7AYt4dWs+8Gv8IAzITEQ0IlilPKcHeIuiNJHi22d6O1hu99x9cd3/PxtboJSZhjDmVJfSC'; - b += - 'mtcWaURkvx5TwMggpBOh+waDarMxSajf5o8HTbJFvN0aUtSQ+TGPdGCKFJujAHtMVrLUkhzi2D2'; - b += - 'qHmGAntZeuvHXobASNDtBIV1rxSKoOAjdd0PZmDMV++NC+0fIZgkaUIWimMgRd+x7bfcoNeflWu'; - b += - 'YmCTeBW5bgnmQMfgR27DYgfai/ZeEK8aMTSCQXGlgBbAFpHweTEo/6w5U4UTLUg3A6YagFYYhMQ'; - b += - 'Oi39yapAajg45nn4PAzACJ/hpkQdhr3HUooMw6+DIEOHHBk3MwcWcF8ZeVJsQkvpzAO2Fa9cjkN'; - b += - 'np/24wYoPeHaXxdJ3ym3zNYevEtP8jkTWHeEP5Yqx2CTSFTtVlb1Fl3x33Nwr5w0U+4nMEUKNv5'; - b += - 'A0omken6QApPNhIElpYPujdH6/DzaMBL0ASph1pE60/sSVRfuQlFnMBXAmSAWxrokwglKwTPimK'; - b += - 'VZMYm+RtJjEzzpQLywvFl9pGbCkjYTGVkBorMcCcLto3f6P36HpUFoOQ9PpLIU8IdJ3GDHaQaSi'; - b += - 'wedS0SgcnE+D0az2ItZYU3G9HoC9OTBINohnK4Fl2G1egcXsDWTGhyRz3X42rOB/uF23+yyCCJj'; - b += - 'JKWcJoaA75C+kbTgBlyjy/uKuY19lxaUkVBCE7pIG9hHOLnc3we85s6WPMCEq0VsyGizmW6iCwV'; - b += - 'IgSvcO9pjT2WznxsYzUUd9PxOJOqv14wTxgTHX4yFUYoOsB3X9lvLnIRcJsdV9yKywISOXWfZHL'; - b += - 'PcFKh9VPOT0gLIDFdlHbtw44xbxxuOdOqZf6GQy0KZmP2YAMRtFEsSkeGUmhfyisiCErEE2JOIx'; - b += - 'BiRh806/IhpF6m5y4mtkYJWSpUA6BeG6WBGAts/8R/PFVTEQBdD0oQCazaMAKjtlhQJoBFEAjQQ'; - b += - 'UQKMRCqDpQwG8zuN19oPbB17/Z2PvJDOTyvcGmPf2Ccx7NlE/mYp5Jztpd81DfDzf1Fio4p9ryj'; - b += - 'ySDUm8+WbZHxtEZACEjZEqjV/EGHyiJpoZs58L8XQy8dmn/hmn4S0UZzU52a5v9pP+L3/NKxTrb'; - b += - 'TfHejNtYFFIBYbdWRY3iULS+6aysGuXGKMFITyRJGetexYJ8FIPlJZBQT2QjMWXpI0nyP9i8w5c'; - b += - 'c/4jmnPmb2zNf4KtWRqYUhLcxQNIkqLTFuLQpHisSKpnafKYxjAjvG4tknURzhN5EjE2kunO/WE'; - b += - 'dnMo3EDlwk6CVCSJbC+Ta+X0TueZ5lAlgRutT46b7Xw0MIQ1UoAHxTlQKAiu5r1y0jqEBpc+cuA'; - b += - '9ggyaDDepTE7IRUjkGrHAsIgsRDgIi71jMX8ETID1mYWMYSYkpBJOCDxsI6kQ2aTqC7Tpk3mb2R'; - b += - 'HUmQlmYZNWmk6QYSAia9EAfM5aHhOaFGM0Ax6tz/AjR8thfWRLpW2Qu7jQSAcadJ6NbktIK917s'; - b += - 'IfANJm8anqdXyFvDLcEGCohqlKO6yX3j4Qzsik+GSpGeQkB0X9bIcMiBw+RF3UdO32BI2aXNodd'; - b += - 'zCCTZi76+wJB4+B20HAZ8BTI9B8TeKFnebUi8HIq+7nDUdRk/dY6uR+qlYjPLINcHUzo2amRIqr'; - b += - 'FzGjzTFeSElB9bCIeF8dqBs4ljnHExOPYeFssRODMFURY8FmDuR7M0sjfEfTB2MVgwsNaHzXYZq'; - b += - 'oN0OiBWNcklELY7Nr+gCE5iEqApmHt+edxw2wxKRQVDrXsNB+pwJM6qZDsxcJLOHrOgYy13IjBl'; - b += - 'G3SenlLjIYclHqpwzCEoiggpa0K0YMPAnSlE/UicKdHEwZ6XDeoWKQanRUJ1pFIwhDkwaKAu0Lg'; - b += - 'csT4sz0aQTe0AeBOYNsGqPqGTsITiZMejPpHGkRSoHGEryTQEeFkwAIwCTRFiu03Nj1OpgRIYJT'; - b += - 'cc2/2CxnOSrEgcT7blsLgr3buVHRR/wV4cZUN1mG4368ww2leabCMvKMUJ4PtpKEuzOQnHMx1ta'; - b += - 'C2toURQcxdLRyjY+sRYRpFOjqL3FMogXRTw+aghNpxeYATy0cvyVpZ34lliAGQjSE0sRVQWiahQ'; - b += - 'lR1ScqmAZIplTiGWTLHMCW2JUNXMMiddyZxCLHNil6UZICeA/fs50vGJP9R5IqitjKUXjaNWgyB'; - b += - 'qSOmGc4mCWiGZAfnJEdZg4z/6JfFxySib1wFIYmIX+v1kPAcpNiDKLA+aD6WVBw0iUso9gZ8oWs'; - b += - 'n82B4EIY9Beis5CNNtWY5xl8SHAfZhpvSwZhtDYDRlPAK/HXI85NlBxsMk0g8vAy2PfZfBdoTkn'; - b += - 'LDFYFhsyy+4QIdSMrW71JCWDrN9uzCuOAcphpAESPHZ0Iqa2rM0PQRRFiiIawgE65niznKMHQcA'; - b += - 'fxAXIRejvuWgYjCEiw+cM/2R4CDUG9KlfwmOPpOluscCgWFlkMcB7V4CjwO3EngcnUMo7oXH+Z1'; - b += - '1b29c9xe/ue5LYMET2JXOeoM+UgGWZYBZClUrLUx1pTAATDj3W2KB9YDCQEHGSQ1AwmM2dAGBHx'; - b += - 'IyWr/Y+X4OVBoUkQzUXbhKEAMrTebA2LgoHuLIqfkSJBPpAbms0Y6H4NAMUkCyfJMSUdn9mX7uU'; - b += - 'gZeERPYdonWt0mzJ361EqeG+/NsgGsFKzdYRfMukrw3h0nJLPcFlTDSyFgPkCHs06VhsEk4ODjt'; - b += - 'pzf+7ui4L/4Z4H3oJiJIaBw+QsWZaCLckATrXyKGn2xa3jUTJpzjk+VZAQlWlIZUgQ1YElPMUgJ'; - b += - 'ZsP1xd11NkgSLZLKWe8dClMmioYc4MHdds472b3eXeGDvFGNVrfjSMG1zYqq/tlaMZo69FUNxsl'; - b += - 'GQNEWzW8XAqJ70y+GAcDAM1oloEB6mh+KU+xrOtjCarMNrqPK42Ed8axxHBrkBdjGVgyxWy+XIE'; - b += - 'OiKn0M9jiHfwdysG1DpOBUBjNzl+PE0j5WDRBolJiljLlNur0oJ1NRXDip9FupyjtkBrZGpdlSS'; - b += - '40ktz2/o8qI/1OVFe+nyTDpLNQDkMgiQyxCni/23EPBeHBE139gC+Fmw1W97xCWDS4igDIBd9FK'; - b += - 'WKQG7LAnYhV4RohxEmQD9UXk5il3FiQYHQsOjbqzGbxDIUYXgpampCseSiFrAr/OrcQBsPaDGWX'; - b += - 'Pdej6HCGHEPkmZFdpTA+iN9aYuDlF9ZmBRe6jVHIxdO95EUwrXRPGjE+pmEgAsiBPQSoruA6YBS'; - b += - 'pHlfcO7L6W09+tZcit3tFiZ335I9dKkXjI8is1UWUBTGm1O7BOl8cVeZ+myp3qsMlEqB4/6KcAR'; - b += - 'IEs1D24M65JpWRGnRUWa3K7sq6TPZvIJtK3iPlmu9kkiDgwiDnTap+Awt2+3YCal0y5r0/5vKSu'; - b += - 'lKNHY7AYFToeuAUa9DIOJ1AXtjFV+p10pjLIvCZFAXky+S5VhDwC3IFvD/AuetpdYMhYIBP7yGM'; - b += - 'RbdGWbCyb18mAuS+iZRT3DJnO/skwCI8EmW/4+BnZo2cEobvvgZRjsWIXYD1zCyMTJTAwPMY9F2'; - b += - 'mnQj2VkAeMD5TLs+QzKxRGx6DBlpCPpUA+QF1FRijNXnPyCoI1N9BviSa/IzyUbr5wj2Y6jibPL'; - b += - 'lr6Suv2SQSCc6OiJmEI+rd6fURHxogkVVQeFqazWcXjHyFQRxdsrOzWy9DDcu29ezzrgDWSXpoz'; - b += - 'PZERxjMslDaTcNSI/EqS/v8rtv7HKXX+8ys2Lf1uVc2WVkxMscvSAKE3ZzXhVKhOahuvXs/Z3Q1'; - b += - 'PmONl4gyK2E4mE9Y0LOFIl7JC6t0M23hw1/+ao8eaoe5ujz4cpWImmKtEo7JasZH93YK3JHfh3j'; - b += - 'JxJI7fplt8zcjP2QlCI3Padf4iMuGIvZMREddao7d+i7Z/Dd9tEF/HAhXgsTW8sQwjARWMZcu94'; - b += - 'eB2Z8slfwKPaZ2sHvKK1j8mK+JesqEpVRPKd/3xKFkZqrf2mCQKyU3ftx+so9pT8BQv7R0Fznw1'; - b += - '7f5DJufvbdUGRdaPqzMbVmb7qxByCSmCWyF84TxrXlTAtqSKjcUVNAZJiRfMWreeK+JfIv7BhPf'; - b += - 'arJKFf6SSwDQKdpvurClQN9ZCrNEqGZom/V4kwljiqYucv/ROOGGX/rWqphRDkmlQcSWwYNkoEA'; - b += - '4aGKFEcBPUFFEcmXdIhtHlURYpI8c53EAC1jEnArTu+kYBbWBQQHyXBWchm4tZv3p9w1v34Ic+6'; - b += - '4C51QOvY+j9Qx8am6/hf+UCT/OcxeaS/tMolEVumP8AoHMELv1uXcASLS/uEk7i9ssR2134nDab'; - b += - 'YoPGADuO6m9Y3NYzn+k1XifgkYnkBngMpNHw6B3Yl2Q1YV8yEVZUq49j3YdV1fblUJZA16Z9dfK'; - b += - 'liKXWfaya6cpqeUYf0CmNoGY0QZKSk1ghgG/uxj9kt7H+oFiAfiCsmdTvoEyn4Bum1MtiHBKwj7'; - b += - 'b+bCkYt6v54HwQjc5c/KObPvSCHegAthUz0maZNTzVDbYex8xJn1++eWq990OQKPXAVNLPNHLgK'; - b += - 'fvyzK2hm9Y3zSDhS8aUqD0dcE+SF4uhVpPVz9MoKV+tXrmBlPWZTGrGJ7Wv+arTB27mKt68GXUu'; - b += - 'M2NVB01pEOGIXGiptv1q8Y8tIU1sCqU2B1GOQaiVTK672R6+6CVKtVayuqzmSltgFQvUKEAHJzD'; - b += - '6e/NogEGYUIZMRB8HwULyMEDO4oPm2fwFtIapaSdoCJHE0FjsnQU9DjP9LOsC4+rVeAE4o9V06g'; - b += - 'TLYz8tcAdWX7hl7xEYFJoHymPqtHAN+/MuM4PRKCHNLk8D0OYwhNQs+owZHoybqBgh2+zbEipIa'; - b += - 'd8LnZeEKoyGVBAzLKainO+dvEjaRHfPR5dfuQ4a2HbQoacuVfAba4X+L1LUqeOTIgJ5ACUZ8jkr'; - b += - 'yC0TjbEdPzkgWSZSlLgD1tfY3Eq8tVqwsEjicSBRJtfkP06GqIV6yrIDuagTgn8IQuQYxPSnl9h'; - b += - 'UGAQTiT3V47PfwX2L+vuEf1RgjRLOX87ekvdtT6DWFjEIeMzBiQKn6Zk6TJX/+f3bJ5zSnTWVtq'; - b += - 'Qd1tVdt6S1zPG3ppjlKWzoygYGjtWnfo/ssRRLlf5p84gfaMljzz4pQmN7y1KQJYBHUABg5YLAZ'; - b += - 'NGdF86mQMiDggGQUeYewdHDD0mBpoMHP2QlYhMjFPGZIo+MoHQQOOh8mu3hJylDw5VY5h0VKdFP'; - b += - 'HeTc6MXCANBzRWY9F6G1sBPA5l0nhd70w2BL7DfEOPIS1s0TDZSQvMjCT1iIUwUvnwFI2bsLrLQ'; - b += - 'pfXU9bCm3+SMcBX0cmj4gILDLGRgTitxj2klDcJCbctA+Bnyn4sw0tMbGY51gKE8JewaoAvGfxl'; - b += - 'XeoAMMoJuZlIYnOZZCejTcLKOcWQ7kAkyEZcr3I8BKvu/MRca5+J6bcsCY1lfbfDcdkR2SjGb/Q'; - b += - 'OJ/ZBmhiMxCQkGbbGUF0Vg8TlVFRycaWcVGbwFo1mHJAu1hd2sWOSBSho/USuWLqap/T/GtZ87z'; - b += - '4wN5Wd5Tsx4OWPIOMgtgKpelwjYYM12g0Fa4RSpexGtHmw1UL2faQMXBV2Ul0ON9nSjj0qKKVYA'; - b += - '0QtMUtIXZo85FGfJ54g2CpcsVkImd2Wawli1UedhYXa/LmrrT1bJ0yCFxI2SzPWIFhkiyzXhqdL'; - b += - 'ENPE/AndcxZjjUzbvVAmyayxKM4SWBISf4mw7wBPVCj+ScUObTxTgtRip9JsMkDc3xQRruab9Pt'; - b += - 'wtCk9qemdzCcHjAWNZsF2SMd+ycmu9OpHVuuML8+fTBs23DrOVN6PHmmQiaaCoEXSAiBElmhjlZ'; - b += - '4gNAYh3jTJOQlAnNwQrhVJJtkBHJTOl2hgsf+J8dh0AlbLBqAEsO2DcSIJVmmMpcyiSKHXiP0dD'; - b += - '8UWCCuTCAWRp9UeZaEKmBCmqJhepP4OPZSXeKnpcTZEwx3YMYQiCoMAakCA3uUAWh4IocJqtRxp'; - b += - 'AxT2oDjNk7ABHqsJRuwRMk61WCTTmjiKY0+KcI/PaHEc0jlp9By4kiPxPyTRaBj+CxC/qxmeXvL'; - b += - 'wVm63F2kTQs5F4J3az+mC4DfyJCArKJZp3oWUirAt00BvqMyCHfUD6gA9+wdOgAqoEjzOPy+0p9'; - b += - 'rBLrQN2G4niCsV6wi0qp9pD0l0aZSUh+VYvvYcDyuJcJxwwaA6kazZlB9AEXiDyCJgTMx9CgECW'; - b += - '0Zo0wGkuw+eyHfOMppx67lCbQgLECJZmr6KSzlNt7utxV28YEsbOWBLOyBfReG4h10DfcJd2S4Q'; - b += - 'pL4SLA8zAEfAoynke/BdAxgssUnwi1EknUGsy1DyNxS4qnj5AbiDf1GfRa9FunGxVcdAHTdAKbn'; - b += - 'RCv95FvK/pNv6TzVBjRlPIUbf3QwoTGAHyTZQF2ts4mcvGWIW8qprX+jgSeJYQITIt5eYNHhpUI'; - b += - 'KbNT96NeuQrGm+NfWYJSniA3U/oZDu4if35L7CXCu7FWOJzrS6Xvp1JDETi1p3KklXqcGq06hKN'; - b += - 'S1KNSMQZB+yg3GICmy7uGT6NKWTgeKkplXN4H4JIg9+2hJZ2aW+85HI62Az337baXh+L0lvKNKG'; - b += - 'Mx7C+4s4oSpEXMjdbBPhAVeQoY7dz5FLcIP89JVnEik02J9g6j02Jh7yPObiALkum+VfnSNjn8e'; - b += - '5iKNEJMGKN9PT0aWgkbnFZL3Mdn0UCyye0CEeqRjocDsABQxwLMapcEgqpUB1JZZTKmL33db7Al'; - b += - 'FwI5GglWoPGbUtPGF8BXvPBNy5zxKYW0pSuljIrH4MWkFCVntzCxNgjv8voY932TDDlxJ/RNmYp'; - b += - 'ryMCfLL5s8zBkYJJOUl6gbFycq83GoOBmQQJqmKZUMRXly5yxaz/rcnwlElUoiPzvCWNWxpP5Bw'; - b += - 'kqM3857UQq62KSXQMEzB764hayoO/c+Rl+V6Kk83j1+9w6E208/XGLIey1T0Jhpcq8wyQDbJONs'; - b += - 'k7g2Q8o8fRR0rGeCEpgxswwC1EKTXWXNSCFmTLbY5LV+MhNhUTe7sglPF0LGtOcY5Lygu2cSh5N'; - b += - 'dTu4ssZN/w5riBUWB1OWaDLBvEmdP491YMHIXmdIZAfHL/HQ3s2r7LOLifRbhJkTOaFohL82Bv4'; - b += - 'VC3zUDjMlAGEedPYpYY4lL486QxuFVRLHiA+8y4gH8NTFODz3sjzeGjZGBG/fHRkwP2IgBY9PDf'; - b += - 'yRhMJj5hiQrtD4KbU4RmSAwX2/F/GfQH22AnoB84vLWLz77kwwWC7MxpD4HDknoQDWgH38Oixy8'; - b += - 'kCvD4ecgcFFfEDgPeFF8i22B2G+xkw29Xp9J0PNgpg8mpZpEzbGJUtLJyZ/kZHZnhJ0wkS8qiJ3'; - b += - 'g/xIUxJqwj1AWr3vmTXAC7zaylBRbEIN99nVCyMDneEIkBD5XB8OJiccvEDF+htv0S0kTDt1uoI'; - b += - 'wXe960nmhVxfp0NINpaJg5FeFV40YGOQLgW7UOJDWcAU1/wgWJn7CJ6KOxAtyWcOMUlAaYkErFA'; - b += - 'xVJSiQpxiDHSHivexMLWaIwm3IPMIN7APe1mVf1/Xg1+JUJn4UYAoyqwDBOmv2g5RPi8VdutsXP'; - b += - '//4W7/vV5j/Pwv35PCc0IeUm87J9i0ma7fALv7/D+37V9RssiO3uxpD7EOAE/RXBIu0bQvZcjrV'; - b += - 'KIT81366g2zeLrSIftoJZACqXPStuLssyXHLkAbC3ZQCQ9BwQQXoiEVRAI80oQyiWM9CF4GuiDZ'; - b += - 'QjDW/FkkH5I+81EtE06bOCTnqGt9QDMpQOEKBI/GM/im7TuNS+MgM47P6vQmhifMhoNJVgN1xqo'; - b += - 'timOVsFj3zR2H5Txr3ZtZt8AzTyDdDc5XukghAwiPawSc3JCZShjvHi4AOkeaD4r6EBa4ryOCCc'; - b += - 'KPtL8X4XYn5xqlfjDMd/U/BfG/9Nw3/T8d/M6j6xApwHibNfzN83EIo46tsoHdMnKMj3JDYc9Y3'; - b += - 'MmFIFOx5C13M4q/qgrIZkXXhCNVvdE3uvLq+JJdpYg01rfr3+BxvZCdXz7sxBpP4HmAmSkLsXDg'; - b += - 'Dh3zIG9wKJ5MIQbJhiJSEOge5RwVoCFYx2W2Dpohd4OAVQF/KOEE7UJELVwVB+Yj7WokwQPeeqW'; - b += - 'T9nxPIITobsw3Qu0YdKLWdcQO0Z65LIKJCWCvVGPy6QViXT/SxBByaFWX4gKJ2vJflvKlgAU67T'; - b += - '35Y7V1OkuRjyJy1CibPXWfyN/mXx11jLkFj2Y7qYAkAEgQ4D9iozgPbRV25YiQoQfIspFZ96UYV'; - b += - 'RRMUhng7SGwNjLv+uBuYHKRwHwxRKcIE5bwiCpoCIm7s3i99z32TiJqcJ6TjCBUh9hCg9xy8u+l'; - b += - '2N69zUAtryMcTfQG6RI2r4qmnyjU3fBt5YqQcbxr5Sw9h0xt24er1m30+eofYVIfufBFUHxJ+9y'; - b += - 'zpM/BQzB5eGRnZm8petfkX5F9D9Y2PH+0565OnRhidUixMDh4Wt8iZUxDo1p3a41g/BsFaCgjSf'; - b += - '/4595fcgX/BkudaPY79WMVWd0BaUqUB7s58ANP3Un1ToNNueO/3teXLf7bnT354nzQA5jDNJV0i'; - b += - 'gTQElknUfatdJix7r4J/prAD2I0oqvax9u+nP7e+HfYm/F4+rXjSTe9W++kym9yY5Qhnkd6eTIT'; - b += - '4ZO9jfm7TzgP+cA9a18J9VIIkrnxMYH82Z5MwTyyGnZbJtC0Kc0r4RkuikzGd1kJEEnkQoUliaO'; - b += - 'vZiualWpFqjzedWC9mfu2NzlNQ3vOF6ZBQ0pRPhgTcgzgF8K7PW3XLjOo2PTlw+sw13270c8+G4'; - b += - 'xlE3lTk+yQtGyPnTESklEhJobAkIaFBEaJMtHM1o0HNh9gAb72MW0TTKlUQ5It8cI0X5glN19Gr'; - b += - 'XqOaOlcflfbgTOzZhLmrkVGYxVWivVsLofeV8WOU8Tu0yGukZEDYFNrxfTcIrAnGQSMRi2b4NST'; - b += - 'wbJDlojvyHkhs49vZZuyc0ZxB6k3kYNZDMilv2NzqQNnCuddB2rUJMUpiF4ics34bVbpZB4KTiZ'; - b += - '4L4OktjK8MVwM7VLC/SZyJfF9cysBWTY0c1sbbBJolXBbfxGNVtS9rXGLVKLYPWUahtOcqH/6og'; - b += - 'mjTCTmFbOstfWlTB1uOkYQhMs0IM6Cs6Draf+yf9a9BXxL7ebKJ5mgdPj3OPtEa+zjaii+iAuyt'; - b += - '0mBY72qMhyESBvjNu4ODNO4jUXUcnyiZY3CmxRkUf/iU+QbsmNAiX4eKyF+lybeEcMBEEiekpXt'; - b += - '4+mWTsSDhG7zQJ1wjCpGs0XsvszUaRRsrk/Spo/2oD1aBGUCUJk/Mnqw/qYvFz436jdPkkd2XCm'; - b += - 'jX4+5dLKrKQDieDO0KC1QUNgXS3oB72r6j2WhNx+fq09ELy0XLBYH0wqmhIaLmzpnL3aauhiD1y'; - b += - '5HWf0KmpGJixeHAhAcQzYloAr8mr6GjJX/iBDDSCBHJCFL9PfMQjEAD+WBOskI2iky+LmzMd8xL'; - b += - 'xs/4MXLJZgS9DEnwUjttPW/Rd4t56YClJhaMPkZ/QvtoEZ4UmP6/3bdvtrbHY1CTt/9JMyQcs03'; - b += - '5Vl/5/6zi12c+S9jHdrhXTrfk5+7ZJ822fE/JwJmiaIQyOYhgqYsPuuA+DHrLR/yJIpYDRv9Pop'; - b += - 'JBHtjjBFoojoq10AeCHgrN3MbiQZuuxWLz54cDBiGj7k0U2goHL/O2gc+rIQF8WL14PfelEXYGE'; - b += - 'ZXeKHRZoqCiKacYNeixLU6Is0uA00tI09/IzIAFspv06meN477rKPHUFwfaJwfOYHE+NZZ8mBm+'; - b += - 'lEWvbzNjrNPCJk0gfzKUvMvf29Ibg04SSbxQlZ/qNg1M95EdgcGIHawp12yTvDvsTPZahOZpfDy'; - b += - 'e9mux/67FD+A2SbqghzYDGfGYyaRykyvHZ5808IzZRh2NqOcR1dd8SdWW0CgnGqzV4UB0K58i0C'; - b += - 'vHvEX0zuPZGJ9Rh3sjTAKEg0H5cfLxMxmBad52YOS2CHE3sUE3aXBkJ5lTytS/vh9mX8NrBifPH'; - b += - '/kV8BnU3sGYa5/1133n3UcK7ooR0OVE33Udgx6iSFbPwUGRUZNROtnuBCOvc20bzcyN8VCZI/eR'; - b += - 'oc+1po0ljwCC13UbzpJn7cz9D9oB9Ozd8z85RohPpwWde72xsXblbD1pJvWJq7CBNoqoSlQIbSD'; - b += - 'rNL/fmOQkOMk1lPohnINLnXbMsMLI7SGIuMY1pzzZjB3sUjqNhhI8O4ukhWpPTuhXVwOvE3mY0l'; - b += - '7GpFrVmbA0l3c5ouuH+e8yBNJXvN9TcTNY0OXGI8oOggRZuHYE1Zz8rOLWWGH6xNk5hhqohl+6D'; - b += - 'e4bMYvduRTxlXLOfDYHZqyn67J/k9n/EPGtFFYpMc0DNc4mBH1+OCXhtqIZhFWAnADt0K1/DxNe'; - b += - '/woq1oL3yCcSU7ROz+Yvbfw2JNWK09G5cYdINXGj1NYIZt+db2CeFXSm2R1tLmMlN3siWIA6GnS'; - b += - 'EaSuBNDRhJQ0f2lcr1aeZsjaBVVDH+ngDYorUfVbdQM6/cvsb0WiKa8ZDlek3jMnMSK/mBhos+c'; - b += - '8VhLkyUxrp1GCCwijWmis1ZdYSZiBjTDq4pnvaLparhs7Oxft3xzwUqSiysqa41TaWcqW5oWixF'; - b += - 'Ts7rQi0xAXopMUZ9/YVuNFWKupjq6/OhCc9aaPI0x7mSTPPU0abGYtwlU8yQFB+xFfPZqVvlMnW'; - b += - 'YWQ8MZyp5EiCnM9lr7ioz2Ip8TAmehjNCXUeCkfGR2CLd/Xy29MuEMtSEx4RcIph4HBL3U4/djf'; - b += - 'CWY0+gR6/AS28ZVODGi9aBB4AssMkyAolkWiNfWGqgAZ1S3l9hf6oHS0qi/G01ziF6Odj35gcmd'; - b += - 'pISlb7fNZgfZsf0qeqnLn+mBH5Ok636zJLV2J97P7d4Pz/1fn5rqp/bdfXzC+/nl97P77zXvvd+'; - b += - '7vR+fuX93OH9/JJ+0vnayde5AfgbB2OF4Q3MJO9noZfjPh0GESbEK5b8tRl/aUW6vYaG3r41JP7'; - b += - 'nIdHsrTAn3NdWrYdH/4VP6K6hxMdmLAIgk1pFLEq7Ckxjdws9/ZA+GBRxGNWl2UsNzAkaDPEqHq'; - b += - 't8rcCr2HvpOr08FoZsUxIuEc1Opsa528AB658GPNHsdHFByhvehrmCd4/HpPiufI0mXOl+B82m7'; - b += - 'CViihddvu3ja79Zc9Wba+pjFqjp+B/7cF8yRSt6864nf3j4nWeethPeMcWRD3+W5kbgn6h8zW3q'; - b += - 'H11U7DY0WFDirjc+mfPze088XRwDmOQD/X/sg1WzGzRDQ2jZ2MOrdF3TNPlniD/Tl7bEX0lxZWX'; - b += - 'pOOe8YaU1dZW13bvXVZ1fXTwl+9jznMlVTnGVc16f6urznGnFlXWlWojfgb+w+KupLulUUlc9rV'; - b += - 'NpZWXZlNoySpXWdKopLZnSJS9/TEXnjtU1mjZa7KxHi/yXib9czUvPE3954q+6uGrc5Ene/fvF3'; - b += - '1Hib3z15EljxpZNGFNWVbsn+N/uR+/f8tHK/ktOePKVc+e9lO+6xePGnU61VnQ+XXSquLpvcRn0'; - b += - 'rKzKqSmtHlfqq7ed6HwncS2uFE/qSusqKzUtwqGaYFyi4i/Jl06GvKKUqXWlVSWlOTk5nXO65HT'; - b += - 'Nyc3Jy8nPKcgpzOnWOadz585dOnftnNs5r3N+54LOhZ27dcnp0rlLly5du+R2yeuS36WgS2GXbl'; - b += - '1zunbu2qVr1665XfO65nct6FrYtVtuTm7n3C65XXNzc/Ny83MLcgtzu+Xl5HXO65LXNS83Ly8vP'; - b += - '68grzCvW35Ofuf8Lvld83Pz8/Lz8wvyC/O7FeQUdC7oUtC1ILcgryC/oKCgsKBbYU5h58IuhV0L'; - b += - 'cwvzCvMLCwoLC7t1E03sJqrvJoruJl7rJm5d+Jf23X/L19e0lIS5k+qbDy3EX+VkUd6Y6U53J1m'; - b += - 'rNGwct2niqqtnM8QzTZub8AzmUWXZWJwrd/CzCeLPhrlRU11aUjZOa+n7HnC/lfhrrXn5+4u/br'; - b += - '70APHXUfwNGzMdqhQT38b5K+uU+QZpNBeGjZmB+bKbyXe6+MuCvGeIOVPTqWRidVlNp44lxdUTJ'; - b += - 'neqLp1QVlNbPaMTdGRCWe3EurEdSyZP6tC5tKQkv0u3buPGdistKezStVNV3aQOYj6L6dwhp2OX'; - b += - 'jl3wheLKCZOrxUuTamAAhor6x0C/xWI9GOqrrqupLenUNWd818L8nMKCvHyYK8VjCwuLu3Ut6Va'; - b += - 'YW9IlP69Lt5zirp3zCnPGwjhWF4umlEyuLsXiayrLSko7TZo8DodXWyfKHyyuzxigFQ6mO/jSGx'; - b += - 'OeQ/p4cRVtL62uKq50SqurJ1d3d0ohLaZQXVV1aXHJxOKxlaVOyeRxpX9onHDBjimvmVzVoXPHn'; - b += - 'I5du1FPSqupD9MtWxsF4dXCNAdkOjcKkRi8dA+RLhDX+Oja0dWjq0aPHz129OjR8QM6pAeFguPp'; - b += - 'T3fwpTcmPJfj2QeGsa6qomry+VVjYOAgj29dpfnGHJ+PK60pqYbddnLVwbxXQb5DxN/kmjH4Vdr'; - b += - '43k8Xf6eK1zqW1zju0AFOSfWMKbWTO9KW27essvL0GVUlTlmN+IDF08SOCR9Q5qe8juhonfiqwT'; - b += - 'xQgNhw66pLuzsjpo+cXF1R4ww7tZ8vc9XkWrH5ltWWFVeWXVA6bmTpWH8DJpTWDsM2jIDNpSahd'; - b += - 'Mjci2qHd4IPh/Ue5p7au7soXEymuhIYCayspm7KlMnVtaXjZIbxdAJMEltb2RTRqNqySaU13Z1e'; - b += - 'Q88QJdbUlTqVZRWllTOG1Vb2K62i1nR3RpaJ6/k1Ts2MmtrSSc74uiqqAQoTvRV9ppy9Jk+ZUTS'; - b += - 'jFgosG3K6g2NRVjvDGV9dPKn0fDEe8g3xSaomd3fGlY3DVlaX1tZVi83VmTK5RgzOtFLaXsV4VH'; - b += - 'MLaieK/taKFVNaK8dRdU07RnzPo3kv7KLRHOvEe1NbTsv/OsNZJ/5yxN/dEVu7KGLj/aHieqT42'; - b += - 'xm2tVfF32rx99ewrd47U/zOFX+W+CsproIGFJeUlNbUiFYPnyjW+TjnFNjOndNrJ1cXT+AeOOPE'; - b += - 'AFRNcCZXO8XjxYR1xEyV3+f3Lrma2nG44mqx1k54iNAecGnU1oaI651ikz5MXA/1nQ+QzgDaBme'; - b += - 'QpmXCWkiyteHnlxZXDKmrHTJefMIJpQOqRLvLxg2omlJXe0pp1YTaiXxnsOhqsXo+rLRk8rTS6h'; - b += - 'kDxvEN8anFRxxUOoPTQ+vGig3BS59eNqGqWHxkWMpaca2YRVNqHTGTx5VNKxtX6oyd4VxQWj2Z2'; - b += - '+t7LvpWUldZXCsm6sRSMU8mFYupKMbxfLFTipGH12vE4E4ej+8X14j9UM3M0nHdnUlihp14kqBT'; - b += - 'Ksd3rCytyj4Wyi+ZKDYXsZTpM04sFvNNkDJiQcpyIFOyTWfbAT5r2ifTXpdjEj0l03Kv9Kc7+NI'; - b += - 'bE57LvfIAta+slg+STaL8U0W514eI3vyzz/b2MTrbR/EcPfD1iRt14o6obLGoa7SoY7ZGYynT65'; - b += - 'huk+mnuC3DYcoVjyubLrbLmlpnbClOO0E8d+nYsWPXfJX/PaaNZfoDXnsyHdaJPtN993aJRKEv/'; - b += - 'atIH+dL79aDZVwqvne2L30Zf3+Z/qtB61uml4SDfbyD6QKZvi9M9KJMfx6m81Kmv054/m3C+8Ac'; - b += - 'pPjSLUU6pDX/34KM115M86WvrXmqP4y5Zj85G8q5fvE7dbGE/EBjas/feAKM7fGTLp9H/Mdth8L'; - b += - '5nmXfmgNXbf33I+E6+6anFkV970/tU5cO/EvD2gvbwfUv4/vlIT/Tc9ApcG1bdVYFPn9/+UK4Tr'; - b += - 'j46+eJ3xkXAz7utIFXtIBrz/vLWsN1wII2bcLY3kcy4XpD/9oj8fndNcfD1T3ho9ywr/71J/58C'; - b += - 'j7ffNBouB66asGkMPcXrv/c+sUifN7j/Afh+vKGx16m99vtxPpe/TgM47kk5/kIXB87/ukojm/l'; - b += - 'a0lw/XX5nmS4bn2ibwpcv7r0vlQa/5yWcP26+xs2XJ0xS1rD9b/3zk/D57X3HALXo7K/SIfreYP'; - b += - 'PzYDr9RftaYvPG1514HpDm3ePxPrzjjgGrrH3Fx+Hz08c1RGug+eM7IL1H3RTPlxPLj7mBP/3d2'; - b += - '/L7oP1p905EK5d+84Yis973zMCrnXdup2D9Vd3GAfXj8/6WwXVP7wGrp9eNf8vWP9ZvebA9exXp'; - b += - 'l6Bz1OyYGvSbj55xG1Y/8ZDlsP1qmMmPkz1D306xPMH6y/7eQtcL/5142f4PK3vT3B9YE6mCbSg'; - b += - 'fV8RXrPal+NVs6/B6/vnPk7Psz7F69fnHmLh86w+eH15ch1e7eHL8Dr7jbfpuWaHMP1WX7zalfV'; - b += - '4fXndI3jV3v8Or1+/3jWMz++pwev7JavCVP9PeM16uEcEn5dcitcH2r6EV+3rjChcW31chlc7+V'; - b += - 'G8uuNSkqj+Yryu//hhvNpHt0qG64JnKvGqvfw8XjuffnwMn4+8Eq+3ffxtjOofnQLX4neexat9R'; - b += - 'm4qXKfOvQOv2uw2LSxeH/h8R6glXPVZs1tavu+vXzTbxud2uBXmX31FK3o/vTWWN/MuvNqrCg7C'; - b += - '+go2HUT1j0vD9gzag1f7h5sPxvYe0fMQav+HeF1w6FVt8Hn4xHTs7+3b0y3eH3A8skcdhs+POzg'; - b += - 'Dx+ug1zNo/BZl4ni+fF5bfP50+8NxvF/ddTjV//IR+D0uu8fB5wMuzcLvVTwhTt/vlCPxe76W3w'; - b += - '6fn3LUUfi9z0g/mr//MZg+KyUbn9emHov5zz7oOJo/hx+P5b3SoT0+n13UAevrProj1f+XThbvb'; - b += - '/h80MbO2N6Xvu+Czx84Lhf7s6skD58/tTQf+3vQxwVUf+duOB6LGrrj8y9fPwHHy+58Ej5vdXUP'; - b += - 'HE/tp5Px+VelLo73l5uLqP5hvfF7jHu5Dz7/dUQ//F6ff9Afn7t1A/F7tmxxCj6fuGIwfv9zTh/'; - b += - 'C3/80TJc8OAyfL5o0HPM/0HGExfs1lvfWM6Pweeris7G+qhnnUP3njsH2WAOL8fmYk0qwvV0KS/'; - b += - 'H5gu4TsD9X9i7D5z1GVGB//zF5EtW/YDKOR7dHp+Lz6s9rcLyeaDcNn3cePx3H8z8rL8Dn7+gX4'; - b += - 'nh3H11v8f6M32PKcXPw+dRbLsXv1S7jr/j8tiWX4/f8qeOV+Lz3s/Pxey8cfw1//+ssPo/w+cxZ'; - b += - 'N2H+1b1uwefFrW/D8q767HZ8PmrTXVjfyw/fQ/WvWI7tOXb5SnzeddU/sL29Nq7C51M/XIP9eTl'; - b += - 'lLT6/oMeT2N+LLniK6l//DI5HUut/4vPVkzZZvB/i89P6vIrjOWn9G/j8sv5v43ivevtdqn/6+/'; - b += - 'g9Vjgf4vM7X/sEv1eLhdvxuT5mB37PhXk78fnWNj/i994V2uVf/5IuiCQTHza0uLqmtKhswoCqW'; - b += - 'mTvKwQd39bHkx8OZx7xCr0FBVfbRzAAM/aDnpfSuiHI/SdK65zzTp1cVSqldX82LfvjwUTL9mZZ'; - b += - 'sNaYn2nE78h3JP0r0xckpP/C6V7EtNTUjRW8cYkgSh2QCIueji0tKa6rEUUDf1wJnHK14JmKxSB'; - b += - '0lGVcrhGNJtO3J9RxB6cbD3vxmIllHctqxkA3ZiATJd+5O6HM+xLSD7IcVKYfSkj/SyNeVHyN6h'; - b += - 'kOMJXjKyefL/lmFlOUlRRDc7J8772e0PYvuByZztWDz/MS0r11kinJdJ+E9NCE9Bid6GuZHpuQn'; - b += - 'inS7X3pCxPSsxLSsxPSFyWkL05Iv62T7LZ0OgxHWa0zpbiqrMR7/rVOPIjueycmeIIjfOm2BslD'; - b += - 'ZLq7QbIwNQYG8SAyPcgIjsEpCWklj/0Tebahh9I+0j1CdZcUTykuAZmSnCri3lqRp9Uf4IXFFjK'; - b += - '5BOudViquU0pLxqCaBZjiMVWlNbWlxLxvFvWcq5E8tfUBq49EA/0Ps7VTgLyOkHzqQPP1dxxGfP'; - b += - '3SEH0zbX/2pwM4oKXTa0urWAZybIatDddIDg084BE+ma3Dcru472w4kmV2Ms9RLO9L4TTI/4A3P'; - b += - 'hZ1Ur3LaqZUFs9wyiZNqSydVFpVi3sHyxjFUSG2RJQIO3VVYjGVloivWznjj/dUTHaxY2EHD8q0'; - b += - 'UYfyQBLtdcf55HDAsycnn15bXFLRPVn894fWTnlNh5oZNWLddO2Yl9/JrzLCvYPFqiA71eaJNp0'; - b += - 'BOptDqB3/p8owB7YNyjA7JMgwO/rmRacDsgari88fI6apqH54dZmYH2IV1IivUVUBv4rlUSr3nf'; - b += - 'TDbZyLm9rSer2X992Sysk1ddWlTlnVtMkVopRqkH3XlE0rrZwBI4djNnkGTL9K6PIMb/XtOJmu7'; - b += - 'XrSdRRde15F17lP07X8R7w2zOnowvWl1iV4nfPm9Xgt/de/XGL3jSJx/WRa/wK4Ll142CRx7fnh'; - b += - '4pyl4jr/8A1r3xDX3KO/q0jppTVsLZjxtNtLW7L5kpG503ppG0+dMGn9fb20kxact+3M93v1nLd'; - b += - 'qetuVB/ce+tUHb2w7bFDvq18fHH5xR0Pv7we+/5zRYVXvh25+a0av6Z/1XmBktz/ucqdPntnl4Z'; - b += - '0rhvcx5uzeNvWtv/aZ3fqITh8fs65P1psf/by1884+n81b0m1Uj2P7tvt7dO5XV4zp26YqtGrVm'; - b += - 'mv6Lv5n3/h/79rY15y5+bObXtrd96LBz1UXF3Xt919nxos/tZ7YL6NsZK81bW7p98Bthxz36r9f'; - b += - '6dd24OKdl10U6X/n6Ke/PrbkpP4fH3pYwc/nVPcvXrJ1w/Tv7uo/Y2P692/8Y0v/Uy58cdSzX7U'; - b += - 'acMvoXjserug74Nmuw7ffGZ45YPSShx48Zs4DA2o23rak84cfDriq+/PRWedmDLxx3KxnWmScNn'; - b += - 'Ddr+9Oe6X4koE5F16b1u/RRwf2qHq3svKhHQP//c+0uZe9326Qu+vQ8k8PPWvQPScN/aDz0PmDD'; - b += - 'hq87awe4zYMGnnezV8PvvCnQZPWWFW3bel0Su9vn9q27dOSUw7++7dtz9226JSMxVPurGv74ikL'; - b += - 'isdfVlZtDv7up5M/NYcUDq7+8ar/bhhbNbjfL91aPPbr0sGHXrDx5WMff3PwrYu6961dnnrquFu'; - b += - '33bfx8qJTT3ru3Tce7Xj+qSndrp1X9vPyU5f1eveH2ZkfnLpg4Wt1S28/ZMiqRwYcdPkppwxpld'; - b += - 'Zi+xsrZw855IZWyzZlrB5y9p7XX3py6edDbnjykg8e7pM1tL7TMe8cdf0ZQ8f8suO0r3b9bWjGz'; - b += - 'fnXHPyfdUPH9rZ+vPHg74b+5YzQav3s406bdMbTrd6fft5pG4/LHXHo9QtPuyBv/X3vrf3naZXr'; - b += - 'z3whdog27LmvOz5xZUbusG73PzqpOl427LlRxya1rLh1WNvNj5R+uvTVYe1OzX7y9sujp68o/ub'; - b += - '+eff3OD3lwpFftOlQc/qQ0Ss+OefHZaeXPLh5bN33755++JTnzkl6tPXwo07pturyif2Gd7z1sq'; - b += - 'X3F104/MKnFx61YsA/ho/e+VNV+paPhtdMXfO3w6/JPOOTvg8e8u07p52xNP28LV8Nu/SM5w+f/'; - b += - 'up9Hz92xskHHT/uhSlfn9Fic95JuzcdNaL1qRdvOqnn2SNesF+59ejoghG7Fz7bL2fgMyNO6r5m'; - b += - '1NrFP48Y3+6gNd/dljOy4Ys2R9c8P27k1k9u/qrlrzeMnPfAU98d2+OlkV+d07XmocHWmRV52vy'; - b += - 's4m5nPlOk7Sx7ZPKZjx3bUPjBq7efeVzukmff3rj5zDy3//RWv7QYtT67w+efje416uvqH+88Kn'; - b += - 'f6qBVXTWvZyb1/1KZD7y17/JMPRp28JG3D9qVtzhqy8dDvll0++KwubXN+6n/+RWfNajezIOPgh'; - b += - '8+6pcPZobFvbz/rol1n9rowGj/79hM6LVz8txFnz0s+4ZFeHeadff1HG04fuHj92Sc5qz8ZbX5/'; - b += - '9uC7/xvPnXP86JwB/752SZfi0TPfcR/rX3/t6LOHtf7ssPeeHz2jZtArU17Qzhk59D/hwbtzz5m'; - b += - '07dr+W08qP2fD/ed0WD5+yTl1h60qHNnw2jmtiz8IT1qSdO59Mwe36231PPeNd87rcEao9txNrR'; - b += - '+Zfm/4nnPrR358yBn93zt35XVDO+ZdcdCYs9dum3HRlP5jqj8/J/32ebPGHPNg968+bPPgmK/HJ'; - b += - 'FW89+7HY754+IU+I19ve97OYbdePuLOYec9cMxlHZefeplYHdndR8YfP8+4ftScaXnfnPf0rslH'; - b += - 'vfbU0cU7f3mh419rRhdPv/Dkx/M2Lih+Y/RV7Xt1f7Y4JffBH17d+EvxZdpLF8w5p/PYe7Q5N3z'; - b += - '4UOnY17QP9xwev2nsHOerMad/99LYOz/5rODuLqGSF5d+2GdYffeS9ZesrLjmqiklXSbc1Hf6g3'; - b += - 'eU7O5ZdOaIrW+V3Drx2B/y2tvjnn3q29peBb3HTX8wZ1hanxnjRmxdO37UdSvH5afkb/3h8f+O6'; - b += - '3VVr811K9JL02qGn/rq5lNLtz+3057T7+LST37qfHDpoWtKi6fPOuuJI74sPSl21Y9vvBofn/Lv'; - b += - 'f6zeNHfk+Ktmj9m2p/yK8T/9/bEv3xv71PjCm8s/u/6X78df2jv04YWPtp/w2sAjV165s3jCX9t'; - b += - 'uP+sfU6+b8Hm7ZV8f3mLThIPOj458da4+8c2Fz7ePfp43MbX7rwXPl1ZM7N9799hbjrht4lmvP/'; - b += - '7LJRNen/jAwBUXTFifXLby1OXLt67p+f9x9x7wcRTXA7B291TdCdU00W1wmd2dbbJsbGMbG9zAN'; - b += - 'k7AcJ5qHZZ0Qie5YIxlY3ovoffQMS0hhFATOgk1ISEQgoFASEICJBBCAra/N7N70qlLxvy/fJ/8'; - b += - 'O9/N7s7slDevvzeZo+nrr+/8YVPmH1UvDtpYeUfmt1Ourzl7/juZgUc9N/nuzPbHn7/0xF/vsn7'; - b += - 'G8bmS702v/GDN8WU3BaPxJz86vuLcU0Pjoz8fP/PTW077+X57LkVHjfj88uXzlj681LHXLDhj6R'; - b += - '0laza9ffxjSw/k2eN+aX621Bs/wD/5yQNq1w0878lj7z+29tVnwysfuuCi2mf+88zEv+Bna4MHv'; - b += - '7xgH3NT7T65q6qO2sup+2jO5OfvvF3W/emPFz284/yr6xpeGuedd/+rdQOfOOuJ+/YqqT+/cbS7'; - b += - 'xx3j6q9Y8vXGIw87oX7N2q8u+/Dqm+s3kv+u3iv1+/pRqx/5+JL3hmaXXb30wKpdp2YvOaXkx2X'; - b += - '0xOz47fY9Yerqe7Mv7Fj34qVXv59ds+i5lkee3KXh5Wj1KwuGz2045Iyrp3xUub5h/h1P7rD/yJ'; - b += - '82/OUSfFU290nDsD8U/Xy/2/Y54ajtJ9ljL/ruCUu/d+Gmhx4474Q/vn7i29h58oS3zt1lxyc2/'; - b += - '/uEef+47qrGzaMbX/vikBtKH6eNZ35+yZnP11/WeKf9349WHfZi44D0SblzZ5u5F5cd8wp6z8+t'; - b += - 'nd+YevTK2twrTc/u/cA7N+RSR66884/f/W3utFsWXrrbJwOatn/uiz+c0DypaecTmxa89Kvmpms'; - b += - 'vf/Wvaw+9s4ltecK5b+C7TdWP59b8Yc4OzQPumbvxtR8c1ryk7qIB4paW5p+VLZ+9+eX7m//xi+'; - b += - '3f22T9tfm3m2fedfLkymXnTLj+u3vMm79s7OznPv5gyZnLHiYnHr/x548v22H1OTce9MZny46+e'; - b += - 'uzZy14esbzhlK9Gz7fSy/d3Hr16e3rx8ntP/tuTV1Q9t3zRtR/iiTM2L//PE0P3eu7vzooHP5s/'; - b += - 'sur2JStuRnf86IyLr1mx5LjDGryTfrXC+GLRC5N3LV25zm1a8533qlfa1982duagxpXjn7to3HU'; - b += - 'X3LJy1onLK57Fb61s2HCW/Pr6YSees3B0y7jyaSdm7woXn3X2qhNF7T4n+cF9J645dNSuqVM/OP'; - b += - 'G47/17r6l/Gr7q95dVeR+9PHfVr8afaf7JOnXVtHMPOmXjlIdWzQy/um/A0k9XpUtOvPalU/c96'; - b += - 'YvTd542+dbvnfTf+S8vPbPsgpPCA5985s6Kp0569vPcg0cN+s9JX/7jArlh7tjV4y4b/rOlF7HV'; - b += - 'FeP3urdk+eWrZ54zctFzl7y0+t5/XxFt2s06+ermojOq3w9Oti4uuuPwP9Sd/N4xEw+bc8eNJ7/'; - b += - 'Z+Mpuf5z/+skXnJ96f9cDB6156I119UdUTV4z8oJ9fvHBc8vWuE0bqvdctWHN9c99dOpnL7y75l'; - b += - 'vw21E8oGZ40YihRUcDo3aWEfu15Mv3JPqHfPkxI/ZZyJfvN2J5J19+0Ij9CPPlA8xYTjJ6+Ys56'; - b += - '6372/qa/3d/W/r5lxwJVFpWnlyoGDBw0OAh3Vfo7f7/y3/TC+Rk5f932P+QnDzuoPZy8jfXeTQ1'; - b += - 'jm1Q2ozGevWCyw+KZck/Fsd7q7C8V0H5kw73P0nuH95Bbu+sF9V66EwuzWpIY5pmm+s59GdEvVi'; - b += - 'erhX1I/Pj25SK9Rz59hugvJOWz7WMCO3VZuoyTZViBROCC9424ZWiniunlBqxolLkQAZVHlGZWi'; - b += - 'WOq1cSeKYx13YpW1dHarP1orIW0Iu6AiJpY3aJcp/J1Bc0slSsbHVpIJXxirBsPUiotW3tVo5Y1'; - b += - 'Izgb7T6sqeNrJRqfJXLa2DolQ0EOg4vyNfOxKp7gJWMcsjT7o6VDdlMfVN9cx2FxrLNTWogjcrJ'; - b += - 'KP9wfCtfirvWOvK43daiVkW0ljJc+VjmS4tXLVYy9uJjFrddGhVfWt350rEFl6oWT50zrdOQ9Lu'; - b += - '6uhH3qYs79ZVZejy02VWlWqATlaQJvmFhYGJqm+vqK7UNZMQofbGqclRyuapy5CljhmrbwZnwrf'; - b += - 'RdF46JfW2vGhP73uZnq2llg67YOhalB4Vn1D76BXwP6PRsfXNtbfvn/wzP7f5N9bdd0zeNOdQeH'; - b += - 'Dp2aNEx8I4fGrGNJ19+INGb5MuPdrj/jBHr9fLlXyT07v9a31OGYn3PI2Pb63uQ7bjY84MwIpRx'; - b += - 'IZuTPwoALxubO/3FGs2t+1v0/wE6O7NAL6f805SuWeG6WFUIW6oxQ+qbiopq7RhGm5qV92nr5aL'; - b += - '1cF3hSMCdClxb71wN15WfOyCW1lbuh2uKpglAIM/Bb/XOOtJQ9Br8VrEc+aiEd+x4D+XbjPtSVP'; - b += - 'Rp0ofYZhhv9zInbjN5j3bu382J9x5dCQiUNDaSlbDuybUYFVQWTYFyqfYpzKPNxYvnO/H+Szvxn'; - b += - 'pW1WaCt8LRGiJWLG+D60IL7ypdZwdxi+H0BXCsvuEezWUDm9frehg73ji6Y82MSODm2w3Vlr1C2'; - b += - 'msUdrhPVtuq3jvnQKslKmoVdu1zwbWx21e/N01Hez/gaUaD3lx3GsKRDuUbZwbVCO/Ygz2mHzlw'; - b += - 'Tr6qKFc1VVUBwG4F0jBiZ9yJuyOZyGeWgH+u2lZdp/OwBuUqtlq7kpIlU1pAcEEtR36bI7UaVnX'; - b += - 'f0nIpj3HqzGdsvEr9rQDFLRL1oVCQZQA3gNHld5YwpVZU005QDtCMAS9eQZmV3KmqCdpSdJN+ec'; - b += - 'pIZVlBWzi4Haj+B2Fe5qrKoY88y2bG0WUoVkjBW0ZvljcoqlKvJ1EFPN0I7o7WcEOPX5noGfVNW'; - b += - '7RMV+6HmMQuT0pj8jKl4najLNq7szKZIGGNzfatjdrZBDVTBkfbWb2xugIuAXpsVtxnTxaZsFqa'; - b += - '5jX9QLdSTOqGu15H6lYpALs2xRlil0VwsyzChryhC3qgf5DB3sE5LxQpgppp0qIVqo5I251Y2il'; - b += - 'y2uZHFBX1Vv04heFVKvNlPaM7CAud5r5wQSxUYwjDgV2t79UAkEqOIXiE9h9pGphzouWJv8kNQ8'; - b += - 'JL/nVF+1IoXUENSrBqB9upFU+wLr3pUQ+p5bWF3arPZBjW8TD3PAIPY1MYejhBjloypzK2s0zOg'; - b += - 'nhupIGd0tr52ZWVBC1A531foWqa5Lm4IVkxDvLbhZ3Laezq5ri1BbcW2dVueba7llVRPcH2TMrv'; - b += - 'mcYVYAcuXo41ZuFHZkGkQ+VHx7PJ6wnmjMivpdvMhCvmLwInCzlS3gOWs1/CT/FBvJFSDTr61gh'; - b += - 'CamizAS0G5oBK0K5ralSW8gsMw6jI5zWADvwi0PhmDenfMzI7I5hIhZ2TBHioPY/y9fZjEaXXeU'; - b += - 'PAzk1UbHcEzyg/gLTOWIZJ93gDUQaN82PBFi+AZJcu/BXtNxRvm63yZ+IBDYwA/QAcKZLXj4bNU'; - b += - 'vVu1mW2s01JN3Neie8OYJiqbZ2GdOkXrVMxLF33OraxnY7NAFKHT70N95Ssx24jlrkIc2qB8feB'; - b += - 'T+IzdtewDAqNIA/imAYs1izFqfQGv7l85b/6k+VPTsybNO7xy/PjKIxfMnj1j9qFz4NU6OoWoHw'; - b += - 'qdNjTCfs425wB4NWYF4ghMJKC8oqZoqMZpZkE/tiR8V7480IzjJOfqWhrfKygFmGoG3NLqR5JRw'; - b += - 'ADLDnJHE4g8IDN0nhgQ30BwUsZMoZ/Q+HsT9EHpT27Nx/F1Xy1G4OlMvczGNkxcNVTjUuVP7ap1'; - b += - '0eiyUrOg8b4CXFmpuIpcMpsVRQ1QR9nlT60a2uX7dGVo/ia4r3w2puXtjrEdF8hORq7U5Es7hlT'; - b += - 'WZLNL865B+spSDY26qy9AG7iLd7Q+B+8pGxfP8+rEtz1fnpb4lOTLh5ox395YAIe5BKbydFvxd8'; - b += - '1JjKIqL4PP8g7PrICPMoq24Z5csyblsrkWdjYH1q9yOQEs2D70p+he6Mfwrtdn7HKSqxs7ZszYA'; - b += - 'pKkTM1LQdSJW4Rxvgb1lR/+TkXt5rPQfEvYCc2AGmPw2a16qPZR6N/72uBqCtT3C97XO1wB9Vgq'; - b += - 'GsdqtiGjQKDoHGjDTfwe9tf8I4wnB/hYkVX1eLw3i16B59R78s97yXvbHlHSPgjZvJ2Op6ho/FC'; - b += - '9xvl6ThJb2u49cX2FzOtVe+H4GB7ydWoTH5l8+cTEz2NwAgdqbyh4H5D8HpT8/k5y/9v85ONk8+'; - b += - 'XvJOVBSf92SGB5QPJbfYYk976TzHmYxHjslDxbnsRED02u7ZI8PyiJVyxL4q9+4A0tuhg+q+FTA'; - b += - '59j4XMofKrgMxY+u8HnP8G3+/kzfH4Ln2fg8wB8fgCfC+GzHj7L4EPgswA+h8HHg08lfIbBx4LP'; - b += - 'p/7Qol/A5yL4rIQPhc9R8JkFn0Pg48JnN/hY8PkXjOXP8HkNPi/A5z749CSPd+XbdfnBsW/XSQf'; - b += - 'H8FVixv6FnekRkPdaYOQmjK9EnRSDICiO5ZmVaS2J6X347sFxfNfMZO3y5dlFbX50FYm88mdLeX'; - b += - 'UXFV1/mlE0cfKQopZLL9d+/Co2xUzW9znlkwGCYCU0MHGQVdSyHrDiaNsoeuKjAUWXeDCUn2f/e'; - b += - 'do+mr9Y+8mGU4+ZVDf64wKHWWPP4x/nfw/r/37ZrW9+rv0Cdu6sb5/w/THlV2y0NoU7DBn7ftM+'; - b += - 'f/vXy78ueyv11Jv3vvjILmvcW6z99/zLbLMPevuTxlx+zOm/fqzxujd+d/rYHbZ7Zu7bSxvqD3t'; - b += - '5yO++/5v6E364/73ymbv29XfY/ehfT64ePH8L+1luwQs7ffIf8c8Rjyz497Nvtbz19/rPX/rkrf'; - b += - 'S/5xUXdTnVsrbJ4ULrY5UwsXIsB240q3SynZeNj6lTtHlCJSqaOWmo9ulpLupujeHhTH1zTj9d1'; - b += - 'Pr8sh6eb6iNH88/u7yntqEjY1iNAGaXp4GdGRFXH6k0vLlsnVCOr/l2VvS1nVwzHZF0u7ChfDsr'; - b += - 'u20HZLZY1lYgPWvSd9PzZhyanjLj0Bnz5xWM/cSkfr788wR+8+X/JjgoX64w2j8/oEN5YIfyoA7'; - b += - 'lwR3Kwmjf/glGWyzuxqnDx1svD//Tz796YbMO5Xrmymd32txw51tfvabLc9565LGv71u+5Yuv3t'; - b += - 'Llgb9dOumTC496bNjX7+ty9ddrLrhrz1fOHfX133T5lCsX2CMWHfHraV9/rss/fv6Wu87fcMI15'; - b += - 'OuvdfmXZ3+8z/K9r/7rqq9TW1S5bt6KiRfOeOHuS78eqMsLX3rg2JXbVa+77+vtdTk46qtZ/iVD'; - b += - 'n/jl17vp8pzLp4fZv156wZ++3leXn61at98vT216vWjTKF3+/LLHL3vx5dOu33UT1uUPNhy40+U'; - b += - 'V+BNvU7Uun/dD78CvloQ/nLtpii6PO/iZX2187bn1SzfN1OWHXvz18AOm/OHpUzfN1+VLn9/v4Z'; - b += - 'euW3rx9ZsW6fL6m+nqfWs3/P6hTVyXv3gzPei78s4f/GZTrS7v/48n3774y/c++2RTky4/2LLlj'; - b += - 'tvu+vGPKzafpMtnH3ZSbXGanr7f5vW6PA/9HC/e8sjzB28+R5cX7P/QheecOvvSozdfosuPnjyy'; - b += - 'Yd/l/9nYtPlqXT7/wQ8evO7Rjbecv/kmXb5kddMZL6dv//L2zRt0+eWrbjv/4oYpP31q8/26vHS'; - b += - 'HIY9/+WnZWRs3P6LLD9i2WLDfvS/+Z/NTurxhzapXnnnv4Cu23/KCLpeMO+jAp4Yuen/Mltd0+d'; - b += - 'cX5TJX7LvvHTO2vKXLg39RdMo/f3z6JrblfV3+aPiwi3jZB4+cvOVvuvzCGXOz5S88cs4VWz7X5'; - b += - 'VFil/e+u9NPXv3Rlq+3tGG3iVe/tKUNsar4hT9vGZiU6IanP1pxl1UURyKuL7/kyxXRwWv30JSl'; - b += - 'qOhHO5Q+v+qly34Wao0v8EmL/rrqJefk8+dpb8qiopqWv9x5U/ir39Rp7rmoaOreV+60/wFzrju'; - b += - 'jqFqXD/jqqdfsG9nfb9QRAEVFt9313DmhePveRzWVKSr6vbhz+Hllz57yO+39WlR05e4nTP7P7s'; - b += - 'c+9c9Ew/vdD3e9ZVRm1kWDDK7Lfz23YTj/2HjzAKNWlw9b/smVV/yg7sbJRpMun7p09f2rVpT/c'; - b += - '5Fxki4v3/kPK294f/79y431uvzE01cdc9Fpx5x2kXGOLo8/9tLnnp7nPbfBuCQe7/WX/XfR/Qd+'; - b += - '/1njal3+Y/r6Kx69btrb7xo36fJ+50S/x09cdfPXxoZYD33d5T9ovPKZL3Y079fllx77y/x5j7/'; - b += - '1E9t8RJffm7T3P3f67OszZppP6fLNKxb9+qqXKl+Q5gsxPpi316rPjt7x8rXma7GuCu152Vs/vv'; - b += - '69q8y3dPnSH/1x0bxX37jtAfN9Xa6ecutNb5x01VevmH+L13LKTbfOnLns4Y/Mz3V5+NUTH/jkv'; - b += - 'DvPLrG+1uVR6xfeMvSTPV+ptFLaND3SvvAvH9w09Kpx1kBdvmbg1Td8ddXQDxdY28f3Px9H36gc'; - b += - 'saHB2k2XT3351hOPO3xKy9nWvro8+g8brInv7/X4zdYoXT5/y5Tjxl695LyfWViXJz14ztXX7OS'; - b += - '+9qZVrcu37/rH+y/6/S7X/suaostvLN/4UP3jl340JDVTl/tGK5c0ZnLNmkdZMX2o9nddnfCg+f'; - b += - 'LtCc7Pl+/oUL6zQ3lDh/JdHcp390LLKg/KE9LqyhF2ZXV1pW+PLKh/T4f2FE0Z1sf4l3ydwYk8m'; - b += - 'y8fkpQ792kvRRjbxaLk67xj9DKOgu7n67xrtO/7ex3Kyo9iWEH5QLN9Pxeb7eW4Ltc2UQrPP2yo'; - b += - '1gU/0hPNPwYdC/wKXXQAWqTku3ydR7utA9JXU66NU8BtdR5L6qAxY0YfhDL1cjaZ3QufUUdWwO+'; - b += - 'C964xY/o+csyYIu/wWH81WdsJZjXHkVwqIcOKvH1X28BzVVoRAQ0pLTu8oEmX4wfhyuzDYxm6Hr'; - b += - '63K7AH9MGYUPXUwbGO7uHDY91c/ntdgY3hFC3jKl2GcmNoqjzggFGVnybP/ePw2EaUb2ddge5rv'; - b += - 'bYjNQHnlttr/Pjxnadq8YhaIZsqKxszS2qaRi6uqKxUZbi+eFRFfFH91jmTDpg5VMuAE2fGYzxy'; - b += - 'ZmxfOm5m/P7FPTyzfmbcV9VQvp+3zYznfl2BnuVUlRcgySFWqf5WVYyqGAVflWPGVKweBf9XrtY'; - b += - 'F+FqNVvz/JUlXuzU7Q9nKlf+UgvNv+NfU2CykToCmlCJKw9HYlEBtO/+FSqlU7Cq+Rl2q1WlSdN'; - b += - 'zK7HgdXfjeuyuckMTkqBYVPqiZHetZcLJP48aVLSV+6eWzYzthvr388zOS5+MuxM/qzuYUtOv9B'; - b += - 'o3oQtFzUEfpV96eHdtX820syrcRW0jippKhACrgWRGr7/V+0FavTH2il2v36MA5sd5yL/hWPjL4'; - b += - '8PY68+58c/icuB/DS2Lali9P71CekZS7bC/Gq8eMGTPmWG2jTdYKUEw7dKR+qf322pxYr79xTjw'; - b += - 'n+X12/5xYH780kZ2oWJKpV/ZOtRQj1I+RlctrRDx0pUaFxirnxnraMXNj+7MzN16rjm1mk3nOl1'; - b += - 'cnMS15+yPRDjeVed+hcZUZneAoU59TdLJyRKwlHqmHkO//+rlxzr475sb27R/OjX1GOr57TfLuT'; - b += - 'nOXeOmM1VYKZUuJ9dafzo113kqf6mtkahUXl5SYpSVlpeXDKnYbsMvA4YOGDh40JDXU2m6775Tv'; - b += - 'aOyU2tnYxRpeuquxm7nnjpXWQdboAWMMZNmmY9xq3m7ekbqz7L/mV8WbzM3WlvK7Vqw8+9wb0cL'; - b += - 'vnn3OBbv9YfCQw2d+9fWYsQcvOjb93vpzz7vwotvve+jhp595/hdvv//BlqLUsO1G2jioGjd+xm'; - b += - 'HHrj8Pbt7/0MPP/OKll9//oCg1aLC+WzVu6rQZhx3HxfoLr7rm+ZdeHjRsJFyasfCYRceluTj3w'; - b += - 'tuhytPPb3z/g08HDZs6g4uW9T985LHHf/P6p/845dSzb7rlsceffvall9/8/fTLH33xmZdenjF7'; - b += - 'zsLvHZc+87zz73vgJ4///JlnXx+2407HLPri35u3tNSd8PbGwXvWZ3fbPb365LvvWfPwIzvutMe'; - b += - 'e0w6dPee7Ry867uQ1P376td+89ek//tWYO7+p+dL9x4y99Z6fPP7sy69vvHLiZZej8/f81WsvbZ'; - b += - 'k95+hjSsuGDD1g7Mef1GeD8QdPnnrBhfOWND/3/Cuv/u6NDzdvKapM771uY2rdlLJdUyXD1m4Y3'; - b += - 'HJn8Z7la3e1dikzUmNTOFVqGaUlpcMq5g7ZrnRBqZXaraLcKrNKLdOyrIGpYmtAiTF4h+LZpbuW'; - b += - 'Liw1S3YcNDd1iDXaMlLDSoYMrErtvl+6si51/H4tzxWvu9caXrJuk/W90h3Ldy7ffuD2A48vqSg'; - b += - 'ZXvK90oOKp1WMSg1MGZY9YFRqeMkAq2UD3Bprz7JabiqrtoZY1aVh2UHF67YM27ls7LDR1l5D9h'; - b += - 'rSck5q3WW7DNjhjEuKxxaPKzUH71ze8tjeTQNbfjt8YHHLluKWjQP/eY0VlK9dtH3Lg2Utvyyu2'; - b += - 'HmcVVESlk0rG1jSNGAP6+jU98pbTtl5t4ody2emWs4qufOmgTul7BtSa9/cv3RgcXHLLUPX/qvU'; - b += - 'qDywBO6em2p5zNrVGjKoqMQwYHBmcWmpWVZWblYUDzAHp4Yaw8ztir8zbHtjB3Mnc5dBuxXvXra'; - b += - 'vcXxqqXmP9Yj5svmq+drA35T/1nzdfNN4p/hd88PUn82PKz9NfWkCoBoDDxg3Yfac86+99rpVZ1'; - b += - '986Y0/fOi0+0pKy/3xE4767JVXU9vv7AdHLVxzx933POq9s93pZ553bSskKkCcPYeLRQ/8ZNfdS'; - b += - 'ssqBmy/kx9V3Xb7794oDy648LbSinETZOb8i7Lpxz/+5Gj6+ddbrrxqzNgDRiy45vobfnDTrbfd'; - b += - '9dAjT5UMGLjD7lUHTz3illtfePH60l2G773fhIM//NsnW55+JlW5z377j3DDqumHzZw7b8FRCug'; - b += - 'WMyGX5lasXnPWTXfcc+/PXrn7nvrsxcftvarYSo22pGWMHdOybnfLHrJbat/yPYoPKp6SGnxgyx'; - b += - '0l+6b2TY0owwNmH7I2KN+xomzncVMji5WVox2L97J2LTYmhqnDi8emKkrLSydWHpAaWO5bVcXDS'; - b += - '1MDS+fOCNxBbumYsoq1+x85e0TZgTsO33+37Xcqnw0vmDJol9KKkullB5Q3Dzh40oEl44orSo4o'; - b += - 'MYqHWsUtZ9M9ppdVtNxy3N5TB1SUDPpOVUmFPyq1U8tPq/m8gdPLK6ZN3XV62bxBM9aWTqvY3Tp'; - b += - '0RmANLqsoiUor1vq7tPzEGOIMOuUq2Tyg5amzZrJB68ee/+q6Q2/46bqo9MDUopL9K6ZVjCj+zr'; - b += - 'p7jxGHp6LSYRMVDFz2Zdn63x5YfuOHa93R1rBU2dpzzkwtLR5klZcOvWjxoeVN1S1fVOTKGnaY1'; - b += - 'nLl9gMXlu/ScvraQ61TJw/ZYf3cPVvePajlN6Ot4Slz7cQ9h1UVG+vfafn3yJmpipR5yrApM8e3'; - b += - 'PFFdYqQWFO+KzbWDR6X4wKMqWu4Odx80KlUOcF/ScuUpv4NBD7KaBn6vFHbRkIGpEAYzomzv2Wv'; - b += - 'nD9zBKrZKy3e3BhSXVFSUlAFWbfnlfhXrS7pF0Ml3WvkUxDj6wqOGarvv4Yn9N19emNhR8uUjVa'; - b += - '7H7uQSmlkCX7rBv8Hzyn63IfEE78z01mdjv6AupCqVqEEJhRh1vhl7jUyoRFpI0El2T0lVFl1Yv'; - b += - 'Ljo2O9cX7TdTpV7DqxcvOcno64/6EBUOSp7yzujzNsWj97jq8VjijZX+tduWexvMt71jYq9gn0H'; - b += - 'vRvcOZhEY3e+IUK7vXvoZ3vsNfPT49+dMye719xrHrlhbtHL5Ajx6g1HFL2515FF77w7D71LFtz'; - b += - '93g1HvfLnd4+qLKpf+KmxZWFRQ1Fp0WjDMEz4Z0wfgHYYaghAkqZppPYx9tj1mAFV5eXGzimjHH'; - b += - 'BK8UFWddmBOxuVAVRIlQEyLK0wdzeqVPVUGTxSYQ43TDMC5JMyAfkae5iWMUCVi+EBY3tzR0BNV'; - b += - 'epd8HSpVWHuYYyDugOh5ghoHloFQDBSpeYA3arqErzUVOXdzMhse8vuxnQjZUDjRplxhGGWDiyj'; - b += - 'hlk+oOQwc1ftvR8MNuCNxQOMfcsNmTJKoFPmLmbKGpoaBD9LjCEGzLu1u7kH/JtoGqVlhjmg3AC'; - b += - 'SYDSbexvLrJRZbpRYv4dJgN6WqhbNspIK00B72ikE5WJjRPlAsxIGaVihoTtiVZWZ5uWWMcgoVS'; - b += - '+0zGcmFhlP7lVknWssriwqyZhFKaOi0pxrFinkbOxiFhuXmcO3G2TsX7bLgDEWMtSUHWAcAjNvm'; - b += - 'gNhXGMNF1o1zWIY94FmmfGxmjYDgHHoUCXyGO8Z3y8usmCUqRFWyrgZ2i8yrxhgp1YZ/pCRMMoK'; - b += - 'y4YWS43x1r7FRtkEY6CJy2G3GmlLTWSJcb1hle2gZ9UwdjQGl1rFT5apgeykZrRELZJagI+gXyX'; - b += - 'wvau5oExdOd7QlQ1hwYIWF5Ub5r9gPQAajAvgbSmjsmJEiV6lEtMaA5NdVAqTYRy5I3QEWjmxxF'; - b += - 'KtwgxOV68yYBxAF4uMg1NHqN9jzJ2KYMyp4rIys3SP1CVWUZByyozBxo7FxhBoaZhupRgg1hifK'; - b += - 'iqtKy1a3PJpUZx8fMDOZndhGLeddkpLUUp5RRnXqJ8vFhd5yiadpsAYLxEgWafTy5Pf6UwuHfss'; - b += - 'V1XVEBHKgHGHIN93XBwY47qtFtdJ88ZsQ7pRSKgMkhoPPU8G2EWC0dA8si1vZ1WmrqGq6tDaLCW'; - b += - '1VVUNjVll0Y/bW5JOimkvcEBG9JiIuIsFCaHNCL48j8A/P7IFcqwFHducm29rmdAu9K2t5stpz7'; - b += - 'WF7QubBIEvRBRAs4xLQZDjCe5jIrFMze7Y7FGtrdUD3s23qX6n7ZB6IbF9RH3E7QBBe47DsO2EE'; - b += - 'Q9sLl1HFvc43bHLqKomEGNE2gzmHVHPKzmqYzdUttlZOmtsVVWj0O4H+b4kxbTgkgjOI1e4yIkc'; - b += - 'D9q1Q9+lgtggUXMuXFk6t7uViLOA5puMS2mHMsw9ipQigAuPQouuVNK+h7EPcrgjnLIF3bVYl0u'; - b += - '3b7QuFyerTXOEXCGo8B3muz6JFLwhW3Lm+h6I+kwKv3xpx2YnA8EBinJI0iTcTsf301oN1LraHV'; - b += - 'LmpqOIUhES35OYCBmqRfcDSuwwCAIYmoxoUFHTabbnTJmanjVnyoKZU+FKfaYp37rycciwdJwkI'; - b += - 'duYLngwTTnzGIlQ5DM/JELNFon8yAmIS30W+pSFA2RX65ofUzIemamtTSvvrNYFbpeGOO0GIWwA'; - b += - 'GnoAsDahPrxHcIoEDYXkLsHSowPnKb+MbK2IUx2nte4rrTyAqqo09QVoFstbgVksT/uR66i9Aas'; - b += - 'KGz5SjXJbMI6VvoUgT1I5aGGvjeZ0Fou2uWJL04hzwojHoaeSeo7CD6GLCYXZdxxuM8bCwXO7bz'; - b += - 'hOoJ20GN9GUWRHPkwrg1+OVHCOcBiKwI8YcxFHzB9y5PGwu1YCUExLMhPrAcO2TZPGJbmCgddn1'; - b += - 'YW09IIIOxigghA7sBWUUO5Sz6cODICHJCJDWb7NJQmEKxiMf7cizkMLbinf6Na5gN9p4bg8ACjE'; - b += - 'MJt2wG21cA6FtwQkIJFHQ+kMW9LPlyzXiZjzr4lLaYqpCCQOqYMJ83yhEJ1gAXJCSagdCYzc7Rr'; - b += - '6+aLklkod0rrV9KX5cCXNfZva8EbiBTbAi3qjF7DIxxRhP2Q+peg7S7bqje1floZV9iNOAkfyQA'; - b += - 'KgwoswCbgnhE0D5HsOFduHPeHc5nouZKYeGFJAj64DWNGnPqGCA5zvcGhnsFGqaNSKF6GQDiPPC'; - b += - '5krIj9ALiNqGUMBPwgJcBAFOPLwjgvyDS0UdBJwwnW0dmVV1Szt9ldVFTtf5xuNS2lPAGyEQE8A'; - b += - 'DgkQBNVs5MK2JJK4IqTIZztNyze7IFPfFE5SAQiddrJwaYiQ8AIUAEy5TIOy9IFKwRtsxuHWzou'; - b += - '6aSet0tmmY01eQZvqanwxDWiUCduGHmIgnbZaaEAbPLIDQHk8cKhv7zK3q9ZzzZTEv5IdkZTTxA'; - b += - '9l6ALmhIF6yFcIglPB/AigmIlAMM8dPrOrFtt3M+mfi0LkYoRIKG2PeQo+nFCEHlB+ikMn8pi9a'; - b += - '5ezmBNtSB6AD3YjCm1gQBByJOKqVzZGwsXcDZ0gEJ7wdqvujSdiKvQuzxRF2PY4Ch3bga3iy93t'; - b += - 'bms31TSqLV0jgXogQMmw+oCZKdnD6bZKXQJZNVISL4wcwFkMiUg4e05Xch4sbjNQnMT6pPB0bFq'; - b += - 'sqor9cOCW9ihO52qUk2JOsYCYM+JKBijDU27wqHJqv1oSK4jmJCPsU2C3Qo4lIYCu95rct2bqmm'; - b += - 'vTDdnlttoHLoA0oDTb9QiBxYz2ruK1ddpfrKrg15TkV/WkCVA9uVgTOggzB0VC+MIJuLNPCG9Ox'; - b += - '/nFYCfGacWqqtry9qm6zFVvpcABRwA2kS88xux9D++559pM22km09kGNQ0OjgLKIy90ie/DXt4v'; - b += - 'iBuD6sAGx1rwqqp5TY3zBGlkNSJPoWt8JjnxWcSjkDm2zfYf12v/eWYZAF2d4j/cSEZRwF3gRhF'; - b += - 'z6QFhwRBimR84q8wS11mBUeucOwp7M9vxBaA0wHbEY2iEXdBfrfBPqLGS7tONaohBRAGZAiPNPU'; - b += - '6AwI90C6poL2zoWjatf+n42Jwani04RkGgQ+eASz0QtYUPtlL/OrI0eZ2q4ToBMBIwLTwQPJQHh'; - b += - 'b0Cg2wUQoNi5BPPi3CIYAM77ii3y6kEDlXn+E4rXrtGYl9RUcawSx03DEdP7w8U6F2QgACiEuDJ'; - b += - 'E7aHQolxMGZqtR4rdBs+C9piZ0iuMn6HrIN6SVT2hKRYA1MsYFGRHYbMo5E/dlTBw9PygQEKqBS'; - b += - 'JAzbdlwjYDM8F8igEsquhrx1fIWjzktYX2MAy2IhiYFYcQHnCnlzwqPaXTL7SipcXLFOnD91QHs'; - b += - 'qtuz4AjMFCDexIAg53vG47mdbBbo2K0tfYwI4rqQK+meMz2x2UTjdygC+hFxPbhcARx2+psFoAD'; - b += - 'h0qrCYZwMkB6LMpixzkBd5IHe2Vyao14uorrW0cisp4PLRhSXDgIRtwkz+vuqCTtDlTy4WC0bmE'; - b += - 'T+KkQUVbtJ+2hSrkB6ZNh/6kNZjXeAiBRMGAEHLsAs4OpvZ98gqQr6QMmETY8NSB6RB+6MAzDZl'; - b += - 'a4BNUx5oySiCtU3sc/qvLLlNDByYS2OwAoMLjvpKTI+DfcyStiIbagHVALKCb+XMX0vkDU9Ss2T'; - b += - 'YC8dN1XQd2PWJVE7pernik+egT7YnepHYxsC1UAFsJBBYBwUTjsJ71WIhRMSZVVXP0/5qBytTXq'; - b += - '8ZqHFhsYA+Rx1ng+RxXj00QhkIvemSsplF/N+ofIK1jgWByASixZzty/D4F3dR9UysgUQA4GwaC'; - b += - 'EWWITKjucpfrfI7xPo+1lmmqaysxigHOpLYNGyA8eGohyKmNOkXAlfi4lsbqI2H5G4RYmk7iu9I'; - b += - '6shqIJ2Az7jgewb6NbduZWN09/HeeTuJ4wvEiYNcUzRRo0vyuxwCYW7EwCizVfRX2r+rPbq6bkA'; - b += - 'wQgDIepEIFHrA/LvOAwRReFOHJ+7YLhFQ++5rewMZFLnHsUMnJ7JCJXRGq+cuzC8nKQlq1oilNt'; - b += - 'fAHW9CHEatAaJB5AzeYMqlXBM0Bx2VhG+tzODSqxAEwl04YwVqHTjj14MJVyKk35hGs3vhcD1Ql'; - b += - 'LBD1egYRExKQDkUei5T0P633GYyHmW3Iqdtwa15NbXWzOgNkAnQwV6O2iUMQdnzpBL60Hex6h6I'; - b += - 'ed5hCaLYfObCX/cABdpTx6TOrO+KjeTrWa6YKVYJetN5tj1xgqhRw+p4EXkpKH9sqnn3GoQVQpQ'; - b += - 'lStcrd0Qm1a/eEZh+3ongBzbh+GAB3EBAQFg777lYStSRYdmW6UZmrFXUiisQ6HNGIesRHh8/qO'; - b += - 'PH5eZ/RadqJYmBgQprpBC0vaFVNqAgBSBjQT0nQTKdaW8d7ol+ABUNgDJATgFRmYzFrUu9bWBOR'; - b += - 'JOpa4bOAAcvn+/BOl2Mvml3dK9MF/dUrrzrtMIQBbDkQP4fbcs7UXrmuGAXFv/Po0aXcBtZVAqe'; - b += - 'CQhAD5s6o3r9r4OkBcOIpAQLnkRAHgBJJQEV4RNiX8Sg+EDsgZQNHh8MA5D3mHIl6Y7hBFsduEH'; - b += - 'gYeb4PUvK824zqdtukuXEZcHbJYYhxWanv2o5DhGG1P6RQja8vTeQR4NRD4nrVuXw7usn4PKIJC'; - b += - 'W5UDGHEotAFmdgVHOS6YP7kPkIKsGog2WkuAsYIFFdw6fGAe463IOxqKyUkJqb5CavggpBmO1FI'; - b += - 'I8lhhtFRB/e6KMnFdIyOlFhrcxGAUGS7mPkL+7/XJnEOgyKcx8ICD4AJAJTNeMid7+I+KGxqBA0'; - b += - 'COwJqxSkFMMHfm1fdmUkDueZIFdKu4LTTTXWndWbjqZEOB+6N2bD9fccO3KMXVXdcmXnihDiyH5'; - b += - 'altd0OtyYkhEnE6YxAsI/VPthxQLp1HEm464jgmEQWa412hBnR1st0bLps3ZEggQoEhMUmNpGSi'; - b += - '0Wiev862H69QE2H7hXeVbSvrQgdPEG9xqN+5Ht2hIOA2RE91iuA45yGbBhk8q2UFdRVWxV4beC6'; - b += - 'MUjJGCoF4ripbbQmEZ60mrYX+ULC3vWFz5HLQpB5UNqJH04sz8pok/gIwcZTIS2KMcOhcKRKt0I'; - b += - 'iDEh3cVWXnLTG0/N0zg24lxG1ajUQsK2ORC4WvgvijEfsjjry1nI6VsXXIGCKQ0GRC3wrhxrU72'; - b += - 'GCtDo9niHkusA2IuCNgyhgII5Vd8VVE7UxajMUXl+bXeLk/6/xQEjwbaXHl8ImIH8maF0RJMWlN'; - b += - 'tVkea6VBMNFmNKYPYFNDwNXGa8V0mESZF47UEYuikHaqa/evx+8SRuR7JGjmdBGQm1MZRhIL4xA'; - b += - 'ppeBPLTDeha6FChSTxpqYLsk+bnV6LNLmxsUfHEHWGLhKNuDK1y8ZFJnnKx7B1OhsHJh9xKES4A'; - b += - 'fo7B2COAkYDKqObK6YOslXzpuWold8HsG/OxNHobdKB1Jg9ChhAdR5vit4Tg6rUFBpba5VGY0AD'; - b += - '7bjWxgbSN6/Lg+0dFGsUxBX4S5ZB5ziEtJSIOlh1UnNDNvB5wXp5DpScqMga1GKeWoZ3NMODBHm'; - b += - 'NSO7VijQ4WAAysRSU8ZN2xhe3V2DwIla9CqROBzQTADsVJlNvJlfV/5qESsVdyDENIRknoCoM/l'; - b += - 'fnZsR4ZVb3AopoE91YYsDm90cRTZxOEYNdjdm4aS/5n0QFCT2AkIZsLHJ/SLKXadNr2HEA7IlyE'; - b += - 'VbuA51G6cWd2FLkqj0ENUMrOewTJ0fJcI6UrOQ19GKNfbCknJCMGCAoYhwN9HTdN6FZtg0RSV0v'; - b += - 'lLWmUnCjyvC0QTRNAokAFtruoVRtMqtlEjSN/BYegCSg184Drpst770Fyvko906oMA2uWFgggHd'; - b += - 'gxfjrtk2zvuZGCgYK4CEHmJMjmuCNsJqDr5TlWVTkgPfFz1fLUp9P6tiRwWUu5IPwy50rOvHN8X'; - b += - 'JW/MdSvMHoGsSUInYsC5hyE58bBEfZGPvM93Igm9VyRJx94rLBVfiGPeFboF7IYYc0PPC9xIolW'; - b += - '9s9rJ5DscQJk5CKMAYTd0ThoXcxcL+4QQgHeLUMhtlYoNNuvqw3tduUZgiwhs1+Z6lRoFeI8ldY'; - b += - 'n0DJws4FKEuB/4BFD+ybf+77HwMc/qUIcArDEPxBPfx/6abYhTW4xt2Nhao7oHHkXzUel8kLsil'; - b += - 'JRSIqLIk7ZPADjXGUcUiBWFCE0zzPlZmwZkFvpYiNoSLZBClAEIpWpfc9dDgkanGNucfdXviQIS'; - b += - 'eFFAQwrLgghdb9TEjGgBf60d6vPYXCc8akwo/lyysjZLCpTgCWswObtilljQAG9sUtYAmlUqLaJ'; - b += - 'GREFADpkIQ1ueavjJiiU5BEC6IMuPEqx6/qhJWo2j0vppBYgfOqFNgbTZoYP4aUZ1d7YAmmlanl'; - b += - 'FULRbhtFHA5bBBWRCBgI99QcnpxkHtUNX85Ds24QSKqNkgLyDHAzrFzjCGddIVnWnUFG6PdH6Rk'; - b += - '4nXKq95+YnW61v4eOthukeqY+An6OfjRxVGAv6a+tLxbYocZPtnGRP7SMjjdJyxPGYT3/EdB7AL'; - b += - 'kuJsY1yvTQDzmMgz2Pa5HwGGAt5RRmFwjtEfzAYTKZn0A6xddkR0ruEVQH4yS00KFOOIl3RCE0B'; - b += - 'Coy5DHrC/iEvunWf0RoERZioiSrmRBAhGeb4xpivsk8yOVo4ggTiRsEtB7uH+BcblRqFNR/Ut12'; - b += - 'ElO8yVXsoEZjW8amCd0H5j6atHZXKZpmwj3OywIZMbUGWZ+pVMukQw09IlBDjViDL/QuPYrgRzp'; - b += - 'WrvVTQHhk4JCDViRZuhBfseshHmnHHsuQRfZDT2W8U6OdM0qZ73LP6oqYCHidYuUgEkUgigbyAy'; - b += - 'ssi72OhdYyN9HB/e1Kpdx54tpATeLHB9isUlxqS+mlRbOQafRwRTh0qsuA6Hf9+Y0CPiWdKYXZ4'; - b += - 'mddnGJpVFT7EcYRQyrBhNGA6l/qVG0BFHqrymCYrUbhkJv+vbnuMDPqEhA14niC4zpnVv4AAco5'; - b += - 'W1XSExkJw9Kh3PpQAeyBGXG6M7TqZuQxMXvaFszO1QYKQcK3x5hTG1ukBU70nF0E4/y0HyBRYzA'; - b += - 'D5TYkKiK42lPUlf31Bkc5EMHAawAqTPpQJfZYzpuFIyU5/J1aSXxF4XDqbKE5ECBy2EF/hX91bB'; - b += - 'U0Ys7lFA7o5wPO8ag3TJtbQNBGQaIPXQWehptnu+YIJm8ZVnIJAQJCICM8cVLsfsWsNtZyuLUcw'; - b += - 'x84/VfJ3yeFUrTAMsgaklgWtTlZX2uj7VEpGE1wGuV7GXhPjXG/XV/VdQTOJ92NgxE4cCkN5hlT'; - b += - 'wWMN8NyA2KYejbBM5vXKl4np7nsKlxZTqv8WUhFy6wJSG2OUX4xv7uW6BAYURt6gXIFcBy/sC40'; - b += - 'ui7GiSe8J6fz/Ny2ts3q+lDj9MIokxWJ6fRJmAKGJ8FQciIDYLUTf0dnoSJgXF5tgcwENj05v42'; - b += - 'EDlA4bEkwI0xoNjsFmN2jw2oRI2NynzNs+nkt84gGDOFqke264fMxb7rUUGxc6sxsS8NKqtquqE'; - b += - '5pziBkAfYDyQWPvZgUOI2Y1q3kn2PmAuoBSMOinAUeCCqebcb47vjGlsNr+lkY8WKZw6CLXE9H3'; - b += - 'MZEf8Og1Z3ov0wCtWJwusF5+UBXENhqv4Nz87QiK7wdg0hriuJ4/tB6NhY2HcaPal6tNtbjaNc5'; - b += - 'pBtu1I6AD9sg4F7kFYaBW9W6KMGmMEwxEjyyMWKmt5lTO9KYq8lJwLTNBP+h008Q+nSteyulLmt'; - b += - 'TGrgeQrX0FDYjgTO/G5jTo9rVMD/6Gu6vXYmeNd1gNkmPgkDBkyKd49xWF+U0hqz12tXFp1xN6N'; - b += - '9KzziId91XW4jJ6SuuNdg21SmWaKXgdiMUOIj5GOXyNC9zziy77rM7ozWgFsjpbnFAA4oCMUPjd'; - b += - 'rexFrdng6dViQKvqoLruuYdLXp4Cv/rgmtj4No5NoRlgiF8C6guT9KRKOCiVImi4SZCYCmMccWQ'; - b += - 'Kc8zh3/fuPwfprg2knNjAhbIkCBkWJ7gx/3VRz0bNuJXOV5JJgLGP4BY1ofu6FSFRcYjiOPcYox'; - b += - 'iDpCZTNwfmLc9C2RB+CdZ8GUNjTXxkH4faAT2h1RgwnImhLbysdFhoL5Hn3QmNA9E9kV80hA7A1'; - b += - 'BsMUgZinj/E9745KIytkgXRdYx8jjEXpoa7i+rpiKDlxfTAhthyPXRYGPiGRMOg+32/xda4VnZp'; - b += - 'eLxulihZ7KTIFimAhBgSGSLKQydDB5pA+NLWho6K4xx0NYcIARaUc+f9S4+39PuaZcwfN8fU2II'; - b += - 'oEjJITkgbLwPWaM63FXJVltlT+FdulzsOMG1PE5trHnPG4c3Fd3DB5b2JVLINCmUIVPeBGzf2ZU'; - b += - '9UV9ECujwsDlwM1KQWF7OxT93GjoTHK7JrgdT/yNSa9iN2fAxdn6Wp4Etz6rPb19W4LMHfohhRf'; - b += - 'LJ/o1Xy5xcBRJkLKk47hMPGl8r7q9b0c7147EMzEZQy+TEQSccpA2KRB76kbBU1tPr2FPIeFGvi'; - b += - 'cAiqkTPr31TREQ5x3sKVsuTFlkP2Mc0ifSumpVcsTq6tVKH+EyTBiNHIAW6nrus8YBmaYsAdSQB'; - b += - 'FvEzktKKgLKSqWHQqrCNkT4nNG7tYDVNaQToamG2SBNBQFCgRAuctHzxqQeFCvaRyqjUHQ6K9N5'; - b += - 'KskJdyJCsIMlFxGivzBWbAsk0KW2sIM60CbEdoAXBkkIWAIsfwnSVgw3MfySGKK0iaQBxBDSUD1'; - b += - 'j1LQC8Iofy+MSVSJNijebkfxS2yGrTfuY+gBnggSOCLEXOS8YU/q495fXQLs6r77mTkPpiQAWVR'; - b += - 'IeUf9FY1brjsifY6B/xecY6CXX4N9YvbDQgy7N4m5FKPQCRu1Q2qENIudLRh9iApprXR0U4TDsR'; - b += - 'Gr9XcBn3sv/i9hbK601V6L2vHIR8iXQeT8KQfJ4xTiuupMz5SEgICgHvuqFyUp3CUgACoWwlF6q'; - b += - 'dKE1xAMwYsBMSJ9hP7JfbcOw35i/1LJ9Zx6TSw94RhvkTJ/Djke/MnBXYhRMohaK8hphJtxQBBg'; - b += - 'TEXIUReTXBo7f25gcOxIfPwJ1p07I5xzTvL+MgtAnUcBtHNrotf5w5QnjMqu5tlpxARM0JGmPae'; - b += - 'HZIKM5IDchyuhvjDHt+xK/PvFAUtsWSZAaVR4u7AnfJ7/tF1UJEPc8F6lwQBdIafR6v2oLJICfB'; - b += - 'nRHAhewlfidMa6volQcR0p87MhIBDBkz3mjlVXssFocALxeEwSXMd8mEaMhwth90zjpm+6xREfe'; - b += - 'm+Y8tl9FRDBkY4cGSFDP/z2Iolul/2rlRqUXiAABwmcgExCK3jKcbvVw2oSu1NTUsyOHSwJYBtv'; - b += - 'Ux38wDm4f/tWqBEvIoN5T6qxxNw3ckbbaEC8IAptp84uUbxuJx1KDGqcO2FdUtRawbLey9gTN0C'; - b += - 'iNAqZh5DIVX7xxKzbAlMyy/AbgGeUNE7hRSBAPYJEDiqjzzlZ2zqYe4HMReQjELUbQu0Z1H/wmM'; - b += - 'ir+okG7u6t4BeHYtlBLg98zDutW2J3BV0zoWT9EGMbItcOQUmlT9kdjfEd6N1eRt8bZiWGtg8pC'; - b += - 'qfUZ9QlRziOI+O8bTvX+83vxmoiAhklfOTv7EWee/KCd7qaj1aqVi/FBBAyYUuAAf48D/Kdu2YA'; - b += - 'TMzBRR2caqieNmtyJDej82AyAZf3ohLz9E3shEtzXwf5M+vRD4+pvSSg+JN4SorFP4nA2RnwAQh'; - b += - 'IJpJwKkU8EZn/+9qYC9o9SRtmBHWGfseAvxrw+4pbW3R7TRB8X+DEHJOIodBXedG1PhH81DuzMk'; - b += - 'ebj50IJjCtADBYS9p/0P+rpYRzigDMMYoMLU8S8vxmT22GuhCInAYH1PGZwVTBuYWCgTwIWYIQk'; - b += - '5cqt5O/GxO4biRvIQocKYwuRLX1pB0CJHZDpPfGxMaX7JrQduMuehETjQs8Wnm8DbvzE8Du5/sZ'; - b += - 'SRpwnMJ13cPUCrhyGOUdMUizlp8aUwoieSckRVrnefGsjgDHJ3IC5EZNY/iNPCLoJtIo3OHF8z/'; - b += - 'cYFtgPuG//05jdPfXINsS2jvw+V+Ovy+R00kY9EVojSB3X4WHEQQwRPPhsG9GFzw27Z0dqbR9wm'; - b += - 'RMAefcCB2S94F99qMOF9JiUQeAQNQHhF32oIzwJ7D32HATYNPLZv/tQR4LkyF3pur6vrA3syz7U'; - b += - 'cUAwAbZaybDIIYL8x7h/mwgE3ei+vmHLbQqyEBOf+NrO4ym3w//2hAWA2WaK5baJyvSKg6+M6QX'; - b += - '9k625EqbVF0T5qbC/VauWxdkk1dlyWkxHTLlQwxbwoijCMvy6b8qceCc4Lg8JBWznuNjxkb2pP5'; - b += - 'UpDYCPItym1A0cHG3uT2VJaBT5IfNA7KMRCbYY03qKcFQXlAVKXWivpqDUtiOYSKFiJjjCLWZs9'; - b += - '88zLICUgf1P62Li85qoyoFdAuSHVHANsPKeWGv2o/8+cJ2R5wQS9k/g+e46s6onsqOSHQEuSjQG'; - b += - 'MnBshIVtUwGDR8Ep36TyenN6L8ZdDVQKCwH+hP8n5As1rheCFIO9SIIk54T8VHNW94bfPrQnAJ1'; - b += - 'LPyQuIGMmGTnNHNc9W9uqC08GW+MGIRYOZ4xF1AGm7XRzTHf+RYnfg6BI2FDBZoES5s7orYIDe5'; - b += - 'SHwsaEY86EPLO3ChQqyBCEW4QiOwyis3qrEIUAy1JGngTG0XHo2WbdNtcFKek9XZMoI0Sgcmo4S'; - b += - 'jMPJDU6x5xauIJ9NsSCyBzZLnEQbIZIOtG55jqjup1eN5Elp6ivVptqz/CgCoc2k0bex+drAkZA'; - b += - 'GnYiR0WPMxycZ7KtVa3EQnM77Uo+PkaEyoGU+mGofI1oeH5/9j2gGOoDlOLAp5Tz8AKzZ3t+chp'; - b += - 'qWz4RoRwmIkQDrvJ1hfJC0+9DKK4CLcAzDvaoyiJOXRRdZH4Ltm5JEQk9BzBzIBHA/cXmEd8UCm'; - b += - 'pC5MO2CCnwXCA5M3lJf6cMxD/OAx5i4DKxEPz75oS+xZDnya2gwOICuaU0RDwK8aVm1Lu3ZVLXp'; - b += - 'iAMA5ONMQgz0NBlZk+iAMibtg3r5ML/oSMuN/ukEAt95YAmQCKQIWIRucL8X5HnarR6kBIWSO4C'; - b += - 'rQ+DQFJ2pfmtabgFA+rh2FyKyA1dGl1l9p4vQIckKpdTkHLS6gx2HZsfcJcEIRUgxkmErjZR52X'; - b += - 'TFaGOyEqtH3JBJlHpflSYXiSuMe282lUzJZMamba1aH4+FxvIPZUKB/kc2CciBcbXmn5XuZAUoG'; - b += - 'tJAqa0Id7NIvAoBbaYMpC+SHCdOaarikmlOIGFTZinzE3StQN6vRn1Slvzqgnp20BPmQDQAi6Ro'; - b += - 'huAR+qDt7ESVyMbU0pcWI6IIWTf2H7nFNIXpaBckc7bZrSXsqOSbYQEM8DlDvmB2Q8zIwXxRAYI'; - b += - 'OTYwWREhN5mH9D+BYY3SMQfCC2COI4d78mbz4P7lC6wJ3YDazEaKzQ0IZ7eYE3qPUNP8UjrWSwM'; - b += - '75CHsA8PmEgYQfWt/ZiEUhFHbYSoOx/UZu83cdrZLagOptW0PBVEAO9u/3ZzZR81Jl5K4jVyi7E'; - b += - 'AsDEEe5fgOc2uUvIWpClxA1sLxJPKU54eN7vw2CB5nhAc0UgEc0gkdZ4Oa4a306tY0p2ADcMH80'; - b += - 'HYC5euPCbbvMnuMEVTQWMMATH1fsMCOAHk5/t1mv73zuAxIgCICSImoAIF7vol0ca/p5pFgZ+VI'; - b += - 'q8JPpRQhDicOE6EUjrzvm7zyh+aB3WYNrEEUmEMcIexwlUtV/Mic0V+3Ntaca4qDZ31Hqw0jH7g'; - b += - 'eFpL7zaO7V9v0vuv0rj6mOTxWQVkNQC0T0KzjBRiEB/5j85C+ZGyK221oFDJOMRM4QCiI9OyIMh'; - b += - 'mKB0zcy8RqragdBCr4LsKEcgJyy0+2rtqDW1ftp1tX7SHz8C6tICoWp1sjYKv9T8L0eI7kPhM0t'; - b += - 'In9sDm+74yDTtYQStcD+AVSEXqB80gfqD93AwJiM1EBU46M+KNmrl+h51sXs0EClSszkhHBnmtz'; - b += - '8Zg5va8qb4Vi5jQqXBVjGxVS57kRsRnIkABlj5ukF8/EtsbaK4o1hoxNzwo3FNiWI+UZgW0peOQ'; - b += - 'jG9s/M7NbE5/fD/d3GdlIeF7kCxEA/UQ/Nxf0K91TJj7FPqNYiDn1im5m67X3v0Bc6YuAwAklJj'; - b += - '9h9i2NVKs344z4R+JhLmuzsUmAKy9SIrVB3LXxk99Os0+ZTufgknzKsjQHYVMrPGxBbR66NkAXw'; - b += - 'uHT5viet3KhZ3Zcn7pOJIHsRcKN3GfMsFvVOvAPmaY0yLmxcRXIFsgYUeQBVKvsrM/mZacequrg'; - b += - 'SBf5RFKPBK7kQfhcK8FKvvIZcGMNoGpEKz4DxEjgSxpgH7DQ82afQ6NVMi5bSsDuGNAEdn6xVS/'; - b += - '85VbVesEc2bV5RbtnM8IIUBwfRPeAyBdNuxtTDI9ZNz3nfigjJ4woB/rt4pfMw9qBnjauxiJF7z'; - b += - 'ok240cYPShm8KOgKi//C0gE9fBvpAgiAPmdXFIXjHd7uURQNxNJK4VeSIKkWAwmYjJV82TurH86'; - b += - '360Rhh281AeTxwppLIdLoSnJtFMfGSZjpsE6h3bjAjNaG8FR5LIQS71KcUe+hUg7O4Y2d50KU5E'; - b += - 'hAviXIgDhD38675tEuypjEyRy4mwMXKd18zZfelBO4+iGYXrYLvA4jvAM/kgMdt+8BtAsf1scFZ'; - b += - 'zU0GbCRIAMqoy7SOEiVQJbH5rztoa16BWroAjl4PUJXwXhYCb2Otmj2EG7cMLqgv731PUNHeErd'; - b += - 'LFwxuUDZr8zhzdtUNOwqHbkjpSIKq8JADXsjdAVuqBy+8DXPjEhb3nOTikhEZMvNlLD0BKk66DY'; - b += - 'PlUdoMI/d5c2NVGLPTC7goiNMzH0JaHDOAlJPEAPjC0zzz7rX725A/m0r4Fgsxraux/fLsIuZAS'; - b += - 'pCvk+gAV8m3z8M7pRDunN4kRph6tLMj652EZRD6PQHRhykCw0fR6UPfVkQalkdRivYiAfjixk65'; - b += - 'H3+k79fE8DoJdGAY8YCA1Be9uHTfVVbRnN+mObEKxABEcSAojxPbeA+zV5gakxbR5K3NNok69qe'; - b += - '3GpNjhTUtc+Ux2QsWbS8chAgXIZ8Efe4ENSj3OQTIAllz5B5P3zZO+kQZg//mj2kO5FsBmxCqTz'; - b += - 'rqBENA2BcmWRSpGjZEPABl1RbTbpri7sROdSJW7hBAXQE/5aQFC+hMwelvdXlqd7qst5iTiHo5s'; - b += - 'X/k9BjKSH5qdIkdipmKJssUoehQGoc0pUBGihoj+vI3H9ZdvZ1x/7QVaPBbZgUqNwCUO/dD7CLq'; - b += - 'x1aqcNi0Okn4gbOLbvs8DwunftvFs/f3bma2PzWE63j3Gnc316iSLT/L4KWkRcFpWkd2ZyXdynk'; - b += - 'ANCglIl4QEEVcKY/bptmYX/vEtsQv/NGu7MUzokwNgng7R34p0bY37PRCpENA9cZH0XMY+M7ci5'; - b += - 'Ep5LvcSchXzLogrt2pbmYUoQYJ/buadsuPT4pQ1Z3n15CSmPZ1dHp/B4SmNtcBR4HvYj4j3r9Zq'; - b += - 'reiAkQbCMk0rC0P9bBiTG/iOiLgtMUJfmKO7ER8SW7qNpO24vmNzlbfC/7fZU1LFTE5DqhoVksC'; - b += - 'PyQAjArSYkS/Nzq7mCblL5/upFWEkEEB+XAFcBZLyPyZqv2nEClajRIt0a95UlRWOOQGVhIcqPO'; - b += - 'e/ZtQ1/mj3rthBmzgwtNCLqB35buT5XwHf2N8op/bhTV0FNnGJJGa+7/pcuQ7ZX/d/UJvMYYWnV'; - b += - 'ujHNptjuxeKMjr7geNSO/B4IIC4eYJsMWU3+0Zn2jtSLNvKHeNj5HARBRgQs3Q4a7GCPmjllmur'; - b += - 'MchLJKBAewPHs8O1ltNTGss4n6jnREjZyMKQwiZlcp21rdhaD2EHM0SQD4Iyks4p1nH9bjlGYR0'; - b += - 'bT1CZ7yAK0O3C1COfOmS9hbpwVW4ncDuR8t5RCSyYMm/jU62+oXdOcADSCmM+Fm4k/dOsiX2zp7'; - b += - 'eZVyOY3IADqmFRQF3mnN57byW3faki9aMwoIjzM6yebOPx2Q06qUrk+Oo4dBH4OHTJmdYhfUoi1'; - b += - 'jGFNZWujymwBl7geeysvswulcCl25EHcpqLvbOtWdVdcelxZtw+ZGmRWJ2ARZCnEuKL8BxrTnWB'; - b += - 'y1tDNqNnf67+1s11tuN16KGwIwaoPkDKWx+hc63t4tMdYnYvZg3Os+we8HKcxlV6ANwiogDX1Ec'; - b += - 'RPt/yetb60Ux8SgGWvq2izT0hXZtEF1j9NlZ5Uag4bOCHMIh/nriw/02o1QE+HcShMBS+519kfc'; - b += - 'MMGS5FNjAVANdeKGF7XWz934od2FUnPQrhMRTywL6k/1OitAqE+whxAHvXdr//TacERdRXGZp5y'; - b += - 'CiQQ/tSq65nU1n3QF1wGzCfQo6z1FfsKDZipJ6QGpehALgsZFMZBIyFl1kzOmWQVKcjAAFg+txG'; - b += - 'zevqDGnqzI90wb0aFvAIhG075CBqg+RzuTW+D0kMlKuG1KH9IK6GgYdJAPwrEQ67op/1JbAsEeI'; - b += - 'RQLiQnu9faY3p4egffe6PDxQsgo3N1WE57lVWNyfSJAcaEYWjkO0zn+LA5Vdb3ZwNEydNziXhZD'; - b += - 'WYUu4wJ3K59HmE3Wus/iR6LQzBh12njnvDOKIhooxfa22rlLHXWd9Q8qCCc+DaYTfAfAJjcL3ld'; - b += - '4naYu8RlV6GklwspsWHBYTIYz6syA3Wgv7b9rrIHkIcEAA5p8ChBG6Egxutab2MUIsuieQyobVY'; - b += - '42DXR9AMcSXQFeb8wBrXo2azvdu0L3wQaz1PiXceQM1NVtBVlNchcf5ZlWAko7Ka6vObgP0WoQf'; - b += - '/HMFscrO1cKuta0cDiYIhJaIBwZJhm2IV94oi4d/yrbV8q3WW0S3+yi9iLP/P0d/VXbIqHRnSI+'; - b += - 'uXzMs2NzIxqps0bjFyA+HCUX5fEmQoBpT3tm8K5K4IMcPAYEnpA7tEbv/WJu4Oa1zfQ2VqkCtsI'; - b += - 'O0hddX5ZT6706rqeOCetqco/WwtUQh8BRPJvAOcCdf2Iy9kgFYoCjdYs7vMdd2jtrYQSwXAfnKY'; - b += - 'HRIqD9eI3WV1EzbLaoV2CWA280VIAKX6IiKC3219czV94CNbug4DcsAwu8ca1ZUUkZjKalwHpA7'; - b += - 'hS8aY9JHP77XGdt1jgMskNakTAtdAmesixTfL+6wxPSKFmijyo9DB2OXq6B3i/zAv13RH2PuTn2'; - b += - 'mCFpxYaAP7YLNAZZQXP7Iq2vIw3m95XWGdeXHmZJWRvFadAFDDCIlsikgQUNg7hP3Y6k45kRwa5'; - b += - 'gnhAz8okSc8wLcPWAd1mYkxOTfEiwR3JZBHkKNArvnJtpbtQg+4ZJcFLgo9ACT0oPVtBCn+9Nvu'; - b += - '9kPbXOZVixoI7ktgHFhkPwy08JhJx3YyC2tnFa24nUsaVZ6TqSdU6xhQcUKzTosfMeBzA8/3AGc'; - b += - 'IAJBHLLvjRo0BNN3K6dbAngojhzrqXB0Ou+DRrajzmJK4WrUvyaF6j29FQz+zJnXcXTE8J8c8Jv'; - b += - 'oz7XgEW0ebghBIktSRLiJqt/vuz63JvZBwdWxjnPq0IU/NXY86gFqQ58Lm4oHzhFVf/a2ak0Lq+'; - b += - '74kmKtkt9iNnrQW9GLh7RulkjbI9QKBxMaoiDB6yuprdD9OoNFBkthYBnbAJLDF6OmtIjgF5kEZ'; - b += - 'OurIK2K7gGVdLJ+xgu6N9e1SLYOsRXyPYn1KMeLOsxbqFvEnECWUh7JPPRfbwAcw+7mt3Usuhjm'; - b += - 'MbD+kgK0jyp63+psmASkdsscR57AWdkB+0e8WnAADLgahBGCTwSz8sv8tRFHgAmpxA8wD5NAX+t'; - b += - '0CcMiOQzmzHR56gcte7HcLoW07sMMd5V8jWOi+1P8WQgDrSIVdQCdIaL/c7xaUcg6kz4DhkHMnD'; - b += - 'F/pfwuBjZVmhSHbpRSzV7eiBS/03VAKzBmmAftV/1sgNvAQkjhuxAC0gl/3uwUWRiD/04i5KhTA'; - b += - 'c1/rdwvc4xgxTx3AEfrcdn/T7xYE7GSf2sILQEz2qfht/1uQkjqRAAEMMdcJ0Ov9bkEiO1KnmVA'; - b += - 'R+II40e96xyyYKfdQZosAAUfOxBt9RmNuKCRgESZAEID/vDe3FidxjD2PKZ8Zj/IoJL/vldRp+q'; - b += - 'Z1WK2kjskoor5SJwUowGH4ljWjHeUp8HM7HOazZ183wI8M2CKMoEFANX/4xqJBEAIzxx3qhhgjG'; - b += - 'Ofb1hH9k1DzPvNz9EFyWtDkPvEFQth2ImC9Xbaxz+DiJOASMV9F5BIqQUogAX6n3y1wEE6JS5gH'; - b += - 'zCqFht61XjF6ljASgbmQzLZng7tU/08oTPxPsyuULXRydkU1X1lfWdisXt+D4mbrkrNm5ol63vH'; - b += - 'SynrWxmvHr2jN0wBYUIqQEdehQtiEvmfhaprN1vaWWAYDPULIdQMURohEf7SqujIowB5qygAY5z'; - b += - '1/4lS2IMv4HvAlDlNWfizft47bVp5s8QuYxwWjYcCQi13Xph/0p3euytOKGCJ2RCgJ0Z/6DCd2A'; - b += - 'ifKlR37HmM6txrzPuzP6z3bc5TvncoprDIU/9latXVc7KScOkCkT7xsmuSS40k9hCmR0mU2UjKq'; - b += - '/Ms3RgZYMFtSlzIeugEP7b9aftdYuqOuOQBJkDpM57dyHYE/6mtFOwDqxGGzcxY5gUv+9o3H4HJ'; - b += - 'huwHzfE6A6lP779bErnD2fJBJErxdK2RTXTanQjIycTAoSAhcBVrDNlNpnD62JvTNAJ1kDKrBQO'; - b += - 'lhQMRmCj4w/sTaKm+5rlw2OoFEEobiOxLg0OWeF2IZ+p9a9V3YfgpxW/uxsGxtrTZ8qpMM8sPRq'; - b += - 'C0OL0pkaFi3xIcghPcIW7DAoyx0uPsPqxsvB11JI8ZW/ZzwmYMRAa6Cg8CB8D/7UZcGJHAdrCxC'; - b += - 'LrAj/mdWmdbrZLN1n1sHd7XSanlzNRnZpC1VTUoWzSswJbVDD/YPCF7MBxTyL2tOL/RdJ0FoI+8'; - b += - 'qFaiWbvMHprHI9TgJXUBo0qcu+cJKEhPBUADycxmmJ7teKR2Xkdp0TsTTDmAbUSkkCQRlfhSif1'; - b += - 'vTE3rLhDJ9T9a+N7Oa++AQ75KIEea4rlCHlnPypdVjcqJYGeX7jCseBaTk0GYI/8eaUJgYqQ92Z'; - b += - 'pA6AsGwB2OIZCj/ax3TCyPRQas9YuSo9rj7sNxRKqBWsxQ2EtAzEEVCR6lc8FfW5G5b77oVfT5F'; - b += - '6PgOpQA+gHWY/bV1bP94na6CePXxDnEnXUIdGlHHc2RAkfQ2bYtObt4WjWzpYaRdOHf1hnNqCHJ'; - b += - 'cJ2RKiyYxdllLyulywuYXphsAkdYGLloxFDwSjK9NzeyTk303hig3gEl2qaM8oCNKnHWpbRaPdk'; - b += - 'rK7hohNTU21yf+lOo8PUC0wGAKlX6Nrk9txTq5nHiI+cJxONDOAJ2aGts+7LWGqLRlGg/GGj3lZ'; - b += - 'qoOo49C6gLOEKelpnbtQSVgLhQaVxGo+Z/VM9r8nNQpLSCNEN/xlLvB6Sm72+OeW/P/qaRfMuJY'; - b += - 'BgBbYXBGX1YdE8QwYEPGmXRh757Zl0rUBpZQHdEM3A30j5yVGtsVYia1wAml9aG2EWAv1+dURWw'; - b += - 'DN8fOTs3pv3srFwUOszKQBGAbJF5AaZzRc1KTOmVMKUCmMRMcH6cdZwLQ6e6wEyJHBIKHKjvPud'; - b += - 'u8V+elBideCIka+PzUAQVoquBnjTK2E8E8z+OwICS6ILUv8JNNytGCApguTWIVHMQEAa5YHR/tB'; - b += - 'xG+MHV4n8KGRKOQiijA14TWogoH9CKKQPb1gaOK+EWpqh5T/LYz5AmlxrNdGXKYAx7gi1NH9rcr'; - b += - 'QDHzvcmrImApXKTOKPV85vPwkm2+Jt8HxNaly2zfpixQ+BE2pycd5hEqLt3mHbwsNaTAfqAYmMu'; - b += - '3+Tuu2CZrRXEkXEFJpI7ZJu6V27ybV30j6CYC9gnscJCVHOkFwdWpqX3zEuwgogvPJ8KnXEUkqZ'; - b += - 'Cua1Jb73fk+OpQCs/1EcgDVNJrU6g7tjidONRJZeC0PXW+giMJia5L9SFfre9KgFPbU4efg+wtr'; - b += - '0/xPmWf7OTn2S3d0ayGMjfCRg0iKkCs4v4NqeP6zVd2m/xygtY1eeosPMdBni0FRTemart9wTdN'; - b += - '26itM5yrY7SpLQHRRvQHqTk9JJ+drxZa8CM1Do9dPmdnD8kKnZEwMb67KnsTZ37oEJXaUdyU6tX'; - b += - 'J1KWuOjgxAoopfBS6N6cO6Z0/bNVtqWhTbWMHGMNBAJKni7Ak3i2pWf3hwFqVrlrjqj3mIuCDgO'; - b += - 'ggWyj25tbUwATSdR9uS32nsJg4mt6eOrg6T8YOqckC4ejKI2p2VqGW+qzWhwEOsF0ifeD1AOzpH'; - b += - 'alxfcgSnGeCiNJKAqxgEoVCSPfO7mor9xJYQPi/gO1SZ6DQIASmCEeA2sSG1KT/p7nrirHrqqIJ'; - b += - '3BOCCD+IL34IHxiIZHN6GdkJTpEV4cQhTviBaHTqjKVpsT2AP5BM772F3hJ6eu+9J/Tee+8tdNj'; - b += - '73DfjN+N57903mUgoVjwa+dx33737nL3WPvus1bW0sHSUZNokIaQGVC9oAOipLmyOW0vDqXUEU/'; - b += - 'g9USGawcSGZHpR88S+pT+/aA74H9zAxc3W0dJMflm1wrCMinBRGa+D1vKSRq4evjuf28ZrX3M9R'; - b += - 'YoJBB5Wp6KikJd2WWeAwqps8ead4hCwlzV661mDWhXO6m9UqGfL0SfZw+oszeUDBlbzxrP7TBoT'; - b += - 'DxRmJ9dWW+Cd7IpxMEswAPaAH2UuDPB4d2UzhvCSTyHHLIQTWTnF2FWjp7IH3hKZzswFx7nIV3d'; - b += - '5phFpanYo36vRw/OaZhwnXyAewBwcTHmTEuXp2qZs9NnZtr4KUYs2dgU9IrQK+rpGDqnPxKUdFw'; - b += - 'NZz0nI8oxbNAy8vpkYNgzbrg5t16CjCEUVD0kZdZze0Ighg5dGWQNTgtLEUYHTinJj47op6+LtS'; - b += - 'kalQCHnIIDc5Zu6vEFAxDzllBUHRsi8v7mxw7pvZ9ATqyerpwRlQgF1BfIOr9HdMnzoIjpg9YYC'; - b += - 'T6UcmIyOvBgVxK3L7KMHsm5rxJpkt7aStOSoKiCVrEqgrrhsnVK3N885fGNuxUbMinyx9XknntP'; - b += - 'r7dl+zlLywLZ5B6uhMxbth/gdzanrcH3v6Z8JlWF6ZCYjUzrpO5tnrrnCLoalsy2Ze1gGcQZSEz'; - b += - 'xPd23gp9/d7Gi3k/o0peoxlZxGTXPlbPAqhEjRfVvcMwgK+mVDOUhLWaM9ojOBOevvbdSQ8J+d9'; - b += - 'RAdVT8bUpFWmI4UcPDk72vOGL+U2v6wVEuVImbtIdOG7HB74f61Z+Jy115rBJF5tIKhxiFFXCof'; - b += - 'GGMmRsWMS9FbVBLJxj/YrKMVp7+v3JiUs3OKFiUTd+GzzZaVxY/2vFGfRDo3WOCMeIzClmw/14w'; - b += - 'l20fREApQlE5SUvf5dd1+v9AA4KQAuQVWJYHFti80T+4DDz6lyarDg7WDhfmq6fPF5hG3eGkfWZ'; - b += - '1S0wUtfYArFyPwkJP+0hKcWpODrOGyVDlcCjEwT4Pm3qbw5eZZo7DwMgxYtG051FEKSNgreFYQq'; - b += - 'OIrzakDLzFC/LQ6Gysto0YBHsvsV5sL/v+cqc6ti7gtDOIDzRRUdvxrzYs7P7cNkL+f1jQ7yiA0'; - b += - 'PZcAqdPXm/OO3NoXMRjky5I6fb/vw7X9e/d952srwe+zWoPf9sKvdzRuZFwCsbPRoBNqRL2c8I2'; - b += - 'HH1Pf3MCY+tYGXuvbzZNWsLKe1n0L+b7TgYoCGvGsoF9DRMvp73ZF6XjQVkc8BKgCsN/wvSEF+L'; - b += - 'VbN6rSFcx9yHkmCICLkn+/OW4lftk/jc7Yvfbu5AvA5gSRHwyL9AdNVxs8P3dgcq7nFTRdlMMmq'; - b += - 'mi0ipQG+sPRD0k7jeL0gPSSgrjKPxoLryttneZBs+isiFL9eKzRWqdA0XOhSB5skT9p+LDM3hPX'; - b += - 'FI4DzYuaJmsZZT8dityXwTcQNWEKvNekBDpE/KxxQ1M+gErkYHuruZmwSuQSjC8WXWZ+PmIs1tb'; - b += - 'KjJ/aV3fusgPkKAH5aK8s+0XTcdu2oCEXMNMobALsY385Du4PPCYTOTryCGrZr5ptK2ubvfbtvn'; - b += - 'k1MbF3/7K8ONrIUYxemwMQRvHrRoweP02FKgb7q3gyArL7b5qjYf5O4Qb6b8e4eYgpLgqaWxfAK'; - b += - 'yX+bpyxBRtXIBojBYYX2e/HeWjoIq+BWpukvMziD0sZv6uBUO1gdypbDlMZUDst8Y/NCeOYIdUS'; - b += - 'DAojc9RXzqxk+admW3cnpLZxKGgAVY4WG7KRf+4ab9wmmWhgykK4ep//0nUg0CKULJTJQs4UnP2'; - b += - '1c4QbyO5YMc8MdSPUQ43AAuAI5sFLLhCcSdiIr0n/bfQaB8+UI+OQkUYIDfb35qhWnvgf7Q8LB/'; - b += - '7ZPAZ+mJ1/Qf5X/RWwiH8DVz5rteBujxwtX1laF2KMElAijd7l/3QaBBzClRgzjS5kof/brPPwD'; - b += - 'NN9NSnGYkySe2BLhjEtD5JtqxrWgIohaz6p/g1TAY2rcpXqrQoaJqjAjHSOekhG8iXkjMN2l3dj'; - b += - 'r1pccYp/2B4GFr0BAgfnnRdAVV5Kth3W57Dr5FMmT9t18tk7T5mYmHzu9p24BQH/qD2nLJyzOkY'; - b += - 'lpKaAyF5G9GEHFE/fMbl719lnnnRK/0AVvPZJKoOmJTGKl5NxhXhPz1O1tjhVa4taJVSs1BINOe'; - b += - 'MryIA9fMwZswtV3QUoDbYjGKsluifxVxK+xPOnerqYO3buOnHV940AfnyhXheNxbNXkc1rFQdgt'; - b += - 'Ziq3ciFZwBLtLic4fGG9GoyWvZilaR9CSxxhv5XArVs7WvI4/oUF15L3LDcOrO4D7h1acvBTujs'; - b += - 'AEAkA6uHzfZ1ZFhpbBbzct9gVQBMFRMkl7CcxNeTYUkdqGHVGJ/GLrgks/NUJzwK+QaihwyrxdR'; - b += - '2oDRFKBmLl5aiF84bCR2QJ9ocgSAgpxg5YFMnfeEsvImYAUNOww3GmlnarUavgkgsMw+5AV6UeT'; - b += - 'NZvzcWj3gSsEBAJucTfQuRQ2cU2ljWDbWEBrWUQj41nKq3kqesjkZYDIJwMhQDaIdmLd9G1jR+Q'; - b += - 'N/3euBqOQqTNA5wtubO+eBoejtRa52JbV9GTVOLe2th0wmaguIQLxGF9t9B1oGyi5A0AwykKPgP'; - b += - 'E/Wd5PFt/Paqhu9aOyL6ejRRMrteSChOjUHOZ6PQ540cuFCVhKYpmu8BRhI5aclpeTc5fkXluS1'; - b += - 'U75kr870O5lPrj7N53z4/1Tv2zoDuMAqTpiSe30NO6HKBuu/ck+WP3FpdhIY78Jar95LtXa4Q/Z'; - b += - 'KMWnW6ArSpOMQI5Tyo+D7SzMxP8fcT1s+ZgG1MTGyfw2yMhqSTe6pQW8oMDyJQQH4yafYB0nEbR'; - b += - 'ZdkEi8wRgkfovgg6UjQtGNasYKNqUGLqD9EnrYy5A6ZE4kCIZlDgJcKIRE+3PUj4HUwEWCe8ZAp'; - b += - 'ROpHun6pDK8T2BSHzMWz4OWjHZ4gzT4mB6lXGFhDRTq/wxh41sYoB58hDQx2F5BN7U7J3nncG4N'; - b += - 'RYb46WkadUAsHEDWn8KDjx8gTerS6BbE1Oj5Otg5bOTOsRgvYyDxdd9Gn4YEqKxmKuHE0XP8Esc'; - b += - 'MW+zx7aKlPQO69RPX/mBgr6pPEjJhoyx2wqmCkALCFecaT/RQZW7dzb65+PtMuocJHQNG2UOCbf'; - b += - 'JrsHPdStTkXOHi7wkPOVtZzbFT11n+G7FjP5arDBnyxDP9RgDxWyQvJ7nGvhNN6b8bK+/L9BcD0'; - b += - 'gIE5TdzKEvxF5Mx1KZ76/bk9tltbOyDAbfCy2ipLky4e/xkuwAo42eP1VBjqk4G1N0abXb6kwxz'; - b += - 'IhTk8WsFxO09Idik5eWAKGSRgUY+QRYWOB5nlAM8nXTbkMgO86OrhpOAZPAcPk9JLl8LlpFstbL'; - b += - 'Umea3RYeUzApWMnCmf/BXkwSOH98A8gqXJjaipIojWTqWgM4pN6ivJvkeqF+ZQ4XQa1sUQrC+GF'; - b += - 'UCVIV21ga/kavLsIe1Cc/vmZ5ZUkHp71a1JJ/y/FjvRoAWb8jVXVrN8zRICXeNqreYHLOQWrUAK'; - b += - 'yyVnVcS1Q4Ys9oYwZiPkWFkcD1Lq6wgbOGRTK/U+nSzDIxAOSG32sFpcT3YOP942WD6uFtNNkcF'; - b += - '4CxAdvZTYDUNewaYhpxfrMTVdJMBezSUsj4KzG8m6dedZzMxKmXVWTFjLbiLPX49MyKpTaZuWGp'; - b += - 'hcMkx67wGuQ3oU4uYOD14IEZymCgigioanW4gYPKYVYcKJpZ1JmRaULAUwZW7tClSYT6Xu36L+C'; - b += - 'Lyi28i2Ee1vh85r1K+oqOVC+CioU5br2zvdLqMR+yRdQmmCENkdDy+6pHAZGAAsKQBEjIp3dv32'; - b += - 'NgQmRYqwIkUG6Puu9YcS0I9EEZZEaj3Q6Lu73kMSaCZnAcFxEVT294z5BnxS6PgUjDaomiXuJTs'; - b += - 'GvwGsyg+kUYxxZgHxAhSCPOjFfV2/gilaOMjB1AgbC4/3kz3Db6GD7dRa21bHVwbuabC42R0inv'; - b += - 'Z4gMwP/qwBosnzC3uqaHL9e+sgEcOlT4xe2uRjRBsXmqQ+4qGDBw8e8ViA2GkxwgUfdfSMn5taB'; - b += - 'BRzZHMmIOojjumh75w2hwOPJoiy41PZFs230M1ze6am988cOPbpqEtsAd2ZYwHG8s1UwZ9nHPVC'; - b += 'PwP//Ci6hbkt9BhMfpt7dAZ+x7cY9z9z2wK4'; +export { initSync } +export default init; + + - var input = pako.inflate(base64ToUint8Array(b)); - return initNodejs(input); + + +export async function initWasmEcdsaSdk() { +var b = ""; + +b+="eNrEvQuUXsdVJnqqzuM//6v79ENSS61H/cey1LIku2XrFceT6GhFFj3COHOvL4u7btaynNhO+Ns" +b+="4liyUzL1yd8cRiSYxSSc4oQETN8HEIrGSHvAEASG0jQYE1zBicC6aGc9Mz8XD9OUa0gRzUYgT3/" +b+="3tXXXO+fthyWFYYy/1f6pOPfbetWvXrl279vHuefjHlOd56t+pDUf1+Lgax1/vqD/Oz/jxjio8K" +b+="noIxjkdjsuvR9nyTA/RuM0NbAbVGuPXY5Rp31J2ZTx/9LyjVUmMjY1Rn2O2obExTqMh+qmPF/8x" +b+="SHgXolnubMxC9IgkH7HJU5LEj/6Qjv0PvPu96+6++wPv/tEH733vfQ/e/f53t+97z4m77z3+/of" +b+="uPn7f/V6IAqtKBR4+cfxHH3zv3e+974Sn8sqcvvvmffffd8u997xn13t23zt88827PQ8FNkiBB+" +b+="578L0n3nf3fbvfsv/+d7/n5t33v+U9u+7dfb8XlBp58L4P3H3Pu++9Z9/e+/bvv+Xd9+y/Z8/9H" +b+="oO4Xgo8fOKe94zevXfP/pv3veX++3bv3rN713vu3yuA2CL3HT/+/uN3379/z669e/fdc/++Xe9+" +b+="z/3vsUWSEh4n3nf8/R+g7C/6Z30/8H3l4a/nhcrTyte+8rt05Gnte4qSqub5PX6zppSnuikjqPp" +b+="epRn1en1hpKmqF9M/FRHHBF7QTwU8XzUjaqbiRVVFeauiKPCpJvqg1yisK7pC3dBbtVqpMPLDWH" +b+="lhjVpQgdYemC/A30CHoedFsR96QaioJICglgK0pgC40kEQRKqWaH5Hj5Ff9RX/V1FhQNhESnGL9" +b+="Fahfz9UXID+VELf5zwCBw13eapSXbN2UNWVH4WeDryQEFChT8xQDwgm7YVEJa/iBQHo5WsiI2AN" +b+="AqJcFAQ+QRPUAxT1QVJNcIcM6fL/BUHCVRQhrbUObC5wJGLEKKCCRqMRBhX1kJqi/6k1r4cIO66" +b+="yiYlZr16ZUFH0Y/f92PuP/3Pt9bzn/T9Go3zf3Q//6HsfvOfEjx+/z/uy6ikN/Y/d88AD73+P99" +b+="9Ubynz+H2S+0m9qZR7z7333n3i/ZbvHnr/jz544r7j3v+ju0tF7j9+333es7r6JPFBpuo/rb7iT" +b+="/k/7f+M/7P+E/7P+f+n/i3d+zv6v+q/0H+sf/CL9Pa8/qT63zj1Ff+T6nmNv18hPsT/X6H/v0mp" +b+="/+Nv9V/TiwX9qv4b+v2W/gi9+P908/P+h/zv6Nf13+vv6m/Ti9Zr+nv6iv4rNUHVflf9HWWd/HX" +b+="156iqPuz/BFU67T9q2/xRZP6S/rz+Gf2z9P/P6J+jf4+rn9dP6M9qC89X/N/TPzCjLrr0U3pe/7" +b+="T+hvqnz+tP6y/q39FT1NDvq3/yefWL+pz/jP9R/c+Ov6he0F/2/wvh+Uf6SfVV/YvqM2r3V/wv+" +b+="5/yt/0vX1Kf9v+b/p+eUgf/59rvvRSf9X9rtb5ufM3YdV42qUdTf7Nn/GxetdPAqGygvU17+3xk" +b+="zVFWSFlJkXWZsiLKivMso/jpkqK3l7w2/lKZJPmaMoHRRXMhJfKGIkqUmtBFEwvUBFf2qYDxh/Q" +b+="D6QB+HlNp3fh79Il0C37emW4bS7c+nWokHkqHDCXfetCcebqdKqNHzFZ5JuhR4K50qxkaS2+gnE" +b+="1GjZgb+C2K0ssPpjeg9s30UpstZutYesvTIAW9+pF0B+rtpLQxwYjZKa1G5hY8GG2CI+20Ym7mF" +b+="PVLqZh+w5F2Wm2nNdvBqfRmdLCTO9hqbhhLd3MHW8yOsfRGhpJKvSu9BX3dROkWtWBukr4a5kZu" +b+="PTAhtd40u0s9rzUVUztiYlM90qZuoxEAs7MAhqDpAGRCpTsByY0Wkpulu8DcAEiGGZIt5paxdBc" +b+="jSTWOprsB1HZKp9S+2S5AdZld3EtoIgKj2wyXQFwnkFsQe03VrB0hOGMCsWaaIwC0MQI63VgGVK" +b+="BsEIYW1tMqvRGwDltYdwpUgdkBsLczrDcA1j0M6xazeyzd+zQIQJXvTW8C2PueZhqNmH0Cdo/Zy" +b+="31GpkKg9Zk9JST6BTeLxCqLoCCxmiDvHbF0bph1hETTdDMqXRhqi79FJceji0hjsTmj0mFgs91i" +b+="c6PADWx2CtyhuRnY7GNsbgA2+xmbLeamsfQtT4Ng1M770l1A7NanQed4xNwqiPWatzAETOZ00Ow" +b+="voblGsLdorrckEDQ3WBIImhsJt9UjNGC1I0BwFSHYZfrpb7fpY2R7GNntb4BsD/DdZurnMD33WG" +b+="SHBUMge6NgGJqdQHY/I3szkH0LI3sDkL2Vkd1ido2lt9Fj3QyZgXPp9rF0iFIDpj5ihgTrPnMbg" +b+="xKb+hGUu7VEg35LEaHBKksRocFqSxGhwXWWIkKDzUSDjQUNNjAN1jMN1tDfHjPIlOhlSux5A0r0" +b+="WmJsxbAPMSV2gBJbmRI3Os4FJSznRuYmsPY+S4ldQh9QgnDf8jTGlUZ8i+C+xmIk2MYWI8HWjbF" +b+="g68ZYsN0oktFiez1hu7nA9jrGdjVji9Hv5dGvmx4WL8QDGIyVZq3j9m2QJVsY4WFgOWQR3i24A2" +b+="Ea5B2M8C4gvMcivF0EdC8m7A1uwu4p4VUxO0p49VlMBK9+C5jgtYom7PXAqz7S5gHtHMvYdDNGa" +b+="1gObSljVF8sirYBB4fO7gKdmwp0dgngkdkOdHawfCRZuUNw6BZkLNRRB9SrO6BeQwCvGhF2JgT6" +b+="GXbMvIppHnHzr9IJb1wCGcDudsDeBGZzwO5ywG6HuLmBl5Uwp3KzA6awA6YeGv41Tn5XmTci5hY" +b+="FAQjBW4am4gACKDcVdNvlQNkOCQBQqlhO7SJd6+gxIAL0jMiQE9Hq3BetG1ibyn1F3B062uU62g" +b+="6ct/GkIRVgm7ReJ7wqR4T8VLc2wktvuSWFuhqChVSWkXbyMols42/z4336Ih7jvfoCfqt79Sx+G" +b+="3s19BPTtVefx2/vXv0sfgf36hn8DuzVz+B33V59Fr9r9+qn8Jvu1dP4be3VT+DX7CVNjn437SUN" +b+="kH7f+jY9qTKvpUySedmsl/yUv84/QMrWrHc4OCCKlVHQsCb5YUh7e7VH74N2SzVUnfQj0rBSZVW" +b+="wMNVo5DP+OkJOJf+Om6Z/mv5RBy3ScPS4CbNhNNSi5SU7rfmR1JHsjDySEpA9Jo+VzGt49b16B/" +b+="S1vXqIfoK9ejP9JHu1oZ/KXr2efqK9mhQ2E+7V/UK7hNo4q9oHrQY5XTxO5Y/4mVSMrBFcJx2uy" +b+="UqonuHX1PI237Y3wTnTpZwrrJBOFTkY10m1z3+Isl/jdltKeoMqCe0zTbLzTxHd/lQbzyQgXbbp" +b+="ZPKrOnkA5XR7s1f/y5buHldQn5PRtL7Z0weK/42X/a26MziQxVmcfEW3oqxfHsIskQcaA/uY6RO" +b+="jNEgTE6egNJqo3R7NPnAs80dpDMGbg8a7oxlRi0FbqgbZq5ee8wjoQ80w80ww2qIhxEM2oUea3r" +b+="psEz2+/vrrlSOUoMeI/sUn35t6oyczdYwaUidGs7e162lEXWeX//A5DxRIVRN84dG/sKHrWSI9W" +b+="hjDUeMdGbT9WyzH8TdbEFgI2CDzT6beScLFP3aIhi/Irsi7O5p1o6l1C3ZKgNeNl/xH/b5OAJKP" +b+="+4wN8ekv69QLDhAreJKJcaFR8EdSPUgFPFBmkAbN45JNj3iBAEi+4BPfquQdFmzjH2mG/OI/ayK" +b+="tnzyjHUwAIiAUP3gsm/8jAoA4e+KP+Q0NlsNJZ9QDYXUi9Y4dampTGdJxw6/T+Ops/GEmZjv1M5" +b+="/eZwt/ZNEIacvClakqN53yxKXkXt0gyGnaxMS83Amx1ZjxP3CM2LoOAKmpZJpATc76Lb9Rp54Yg" +b+="k3HUu9E8q8gn7wTx0A4ELmjV9/2qjp7Va5XVerV4Ud9a9u3LzTymYYpdmn+CSZ7B8mCAytQjPgv" +b+="54MSzag8k8xhS2Acxwyu1Fv0B0IiprwIEEaQHPgheOM6twzp4XHnoBlNW6FKLW9Mf3+N+fREIGF" +b+="TaII20ZseqenUb4aNAAtFlHxJn4Cok9ngY0KDOWlIA5pgWKKYIe+kZ0UMp6kqShLjtjziDxrVfs" +b+="cCEB2mkm04mQXHaDbJGB0exItBwE2TsVUxijmYgDxOEwd9EhEjjLibM8fAr/7SSdOisaM3qo6pQ" +b+="hyE6YKpeCe4noEcOZaqQQCJTTrPnWLKhIeaXjFNU+8Og6kVjN55rInGeD5FxI3vID50M+oOGtRQ" +b+="uCXiGQWRq0nWcfIwiQ7KyHlEL+IMv+AMvRxnaAymXjSYuhhMjFtYjFso46bqZeGrD5RxOkIEfc0" +b+="lSLdoaiuUqQ0rlZ2Ua5MQDuiX5lVy8gDWhHqGTvFDPE0S+hgN7fjtqUeLfMC5KktOGCQ9U0cPMQ" +b+="tRv2G5DiOkHelA2VQBHrxCy54DsyVPnIdJDiGghd3jOvgNI2HZV6EeszSXpgwMgpYhsZUqdYATt" +b+="xrZGRSk5yCt8TN1RsoBmngMQDz2x44yCi0dASZCw+y0vCJwL9NQtjwWxnPaxLeTJKQ3MTMRlorH" +b+="XSOHqI34yHGaRxUI+J+kaUE/nyBl6TCeRKTadlN1RzBuuKWAFvcjtJTVaSC5saJFAzaIR5jAsan" +b+="Rum+hAYg+yzcqB0lnIVIE0KK+b0ezttdWNa9PtatcG7zLmFWJOeoFahnPriq/S90KnnaPZmtoGM" +b+="F4nh3XUdJNUnCIHehqe2QwbWIkumAikLGzmoC/RBMQihB2MdpU0oRCFySJKxgpsK+pwRKGSRy2o" +b+="QuNpj4LP5pRmDmBaz907etc00AhagtLJil68Wi7jfKToPPExAR4gaH8z5pJs42IlJgu6i2bk+Q+" +b+="KtBlEvrJXqYcaL5e9hKeanhCJWh4HpeHPsyskoFn6YcwCFKoErQbajI9m7c3K/gx1VGiGuj7BT/" +b+="5FJZLkSPIOQy+91aWI961yZGqyJEqBEhV5EhV5EiFB9pjXSKWeQROJBbD1OahCC0heeGxA9PCQB" +b+="EZR7Hr4VlJK49bO6nzUTACrSDtUVLTLM8Z4U8nEG6HHKeuSEvK1OFmqEXJoe4EfS95B6SclzVyN" +b+="cIu7bKgMxZ6pQU9JMLYNZ12cm3S70mSMwc2QpkFJucpJxdJEqaecJMn3ERLoJMjZbrkFXgins4n" +b+="qdcxG1IMKDE6s61CBq+93DczLfFwJ9Nqx7TKMS0XYgYCxssyLfB5TcYcctV1kYMlUjN1QtIi1ik" +b+="nQ6scVJwsdgK5TBKIV0uPQOQTcwwGqUJE9sC7gR08ykgOu9KkCQQrs3BwbSxcERZmhaYig19hFn" +b+="a9kACeAt6vb9p71Rn6Kj0xOMwCSCzYxEL5zel/A0rYxJVyscfwZuLfSGKiXOxxJM7YN2fKxZ5AY" +b+="tImJsvFnkJiyiamysWeQWLaJqbLxZ5F4qxNnC0Xmym/+RoSMzZxvpy4gMR5m5gtJ15AYtYmLpYT" +b+="LyJx0SYulRMvIXHJJi6XEy8jcdkm5sqJV5CYs4n5cuJVJOZt4jUkFmxiofzmNHOqTVwpF3sMbyY" +b+="u2fEpF3sciTP2zZlysSeQmLSJyXKxp5CYsompcrFnkJi2ielysWeROGsTZ8vFvobEjE3MlItdQO" +b+="K8TZwvF3sBiVmbmC0XexGJizZxsVzsJSQu2cSlcrGXkbhsE5fLxV5BYs4m5srF5stvVl5kOxbxT" +b+="lHIK3VpEed1mBZxry2S8b+TPIS+4pdV3Tua3j9UQJIaSXsWnAzW/2yLXjvWGrenhRspbyOfFm4q" +b+="nxZu5NNCUz4t3MinhRvKp4Ubi9PCjXxauJFNVW/Bgd+m8mmhKZ8WbiifFm4sTgs38mkhV94I8m7" +b+="EaeEwfh5T6S6zEaeFdfy8M43HUv9p2h5txGlhw1BynZgHNc4D/fzkEAXuSpumgfLt9FYYEn17Wr" +b+="gJLz+YdqF2+DQwq5vmWBpwKxtxWtjt6r21qJe2TGDNmxtGQKGQUxvMphEmjtl0hOqzFXIrWjmVJ" +b+="ugg4iO3pumSvq6jvrqlLwbjXemA6+s2asn1tdn2tQm2/PR621dqrjvCw2XMiIBhWmbrEQAT2QJb" +b+="RwjBDQ6QG9DFhErXApIKtTtEkCQC1FbSCLsLoAYEqBZqHE1rDqj1ppUDtcUC1WKgUgvUdeiTmhA" +b+="ItpqhEbSigcwGghOT5Xr6u9ncwLBXuNiQuQGAmhKsO9DzaZX2ANYqdbeNYF0rYN9guh3YQwT2gI" +b+="C92dRMXcC+HpXvTXsd2Dfj2MCCfaMFe7O5niDYbsHezIButWAzPNSgQLeNYb2e4CfkNxlzBGr7d" +b+="YxKSn+3mB1HgGPVFt4BVDZ1YrMHAJ1RaR+w6ScobiJsegSxnYSNRWyHSYBNxNStOSZJaTx6BbHr" +b+="0M770lUOsf0Eh0Nsm0VM2OKGnEm2jIBMgtgWQEdtC2I7zE4eOYF8p7mJR86AWJsI1zZhvHkEyG5" +b+="lZLfT3xvNHqZFP1e5yewBsq0l+O41u86lq4FsTJDtI2T7BO9bCFmL924zUOBdcwO6nQa0V/DeSn" +b+="ivErxxfjd8Ll0jWO/B6ZbF+qZ8OMF3Oy3WWwEsyQrBejtjfWOO9e4R9CNY32J2H0FX/Ta1jwceE" +b+="40YG5xqeJA3gIxEiSGmBHEHDfTeIyBezBX3mn04c7h+eWI0zWpBfx8OXQX9W0wPxrrClKiBEsLP" +b+="iUN/C1FilRv2urG47yiN+LDF/Toe420W9y3MyjfkrLybx79SwnZLjvs+HvEW6JliPhDiWxnn7Yz" +b+="zjYzzLsaZWIXGe29p9C3OSxHGIK92g9znsLyJsOwRLHeaXiAsszZxWKaEsMVyFxF98YRNwYylCb" +b+="uzNGGFd92EvYlxTjtHcQtjNMQY3cAYbaO/w+aW0uRl8ixBZ6dZ7XAYJhz6BIdtNH69TmCuAjoie" +b+="RKHww0loTOUj9T1TH8nK7eVZOU2M8zCHQy34vzbiTEheCsW7eEji+TmNoJwtUB4I1G5TyDcTsCu" +b+="cuvMGgDr8wRbbonZXpLm27m7TQQI4WIYJif6QM8hs6203GwzNx4pLzdD1P9qx8t9rv8WgWIpdF1" +b+="pNbk+X022LF0xUl4xhvjYu8TkrqPNRP/Vjof6XOubSjxECgz6kkVyMziCWiqxlbRUWklxWrjRbH" +b+="SnhRtxmncBv9fxaeFGs5VPCzeaG/i0cKPZxaeFG80OPi3caPbwaeFGs59PCzeam/m0cKNZz6eFG" +b+="81tfFq40byVTws3mlv5tHCjWZefFr5ludPCje60cOOKp4Ub5bSQS9qTQtLx5tRoup50vPWkjGUL" +b+="T816Vu9aT6Wz+XIadqJy+nI5Medh0VHuBHJ9ZtpmvxxC3mzWm/VDpC5tPZcOHvzt737he3osHWA" +b+="aU/Zd6eZzaf3g3zz/1Q8FY+lal/3OND2XNg5e+O3/+BPhWFoTlczUXfUeLtdw1XpdtR9MrzuXNl" +b+="21Plut4aqt4nJNV221q/YD6fXn0i5XbY2t1nTVWHc0Xa5a7Kq9I22dS7tdtX5bjV7sICbrcrVFh" +b+="HS72hVX+0BqzqWJqx1Jba4+REzY7aoLXyeuelD0spn00MQVE4ZGtsGRMK+Gitd0zboIyRaovHwo" +b+="rgymxE1HwA4bRiQHQlmzBqNNpVSSxTKX3GRLriuVjEsl+yWf1WoA9jO/e+GLgV2cjuRaNRRwqUu" +b+="gDhe1V5VaXV1qdQ00b4HUgCqlVnXR6gZuFSW0MZjWhHTeHHW0u2iwp9RRb6mjvo6Ouq6hI21oiR" +b+="s+0tHR/qLBgVJHa0sd1To6aq7Q0TauR3rDriOQ2NT0bZCc9PuudPs54go77jFL0UHHHv0sMuuOq" +b+="6osWBuujwqLv+uwBmG9tLnCUpS2lXxxD3makB10ZSx7UiHbkbClD5fMQVdRBGc9x8ixtEwYUQ6q" +b+="tiGFJUKWBloubmQexSJ8PS8gvDgThSp27WmxOsm0b9H/m2SXwHrJpiWM7fL9Un5KxOONBWYDXka" +b+="ll5uJhB2TYSstGPAOA50tMj1CpF0FmUTokEZyjhC3pZzEGS4IJTIncLVE5gybLeeIPrbWGkeosF" +b+="PiBJ0Sx18saXZQiQ4h43cKmR1m6BzJzsUSZieV6xAuO02tU7yQplRbJFj2GFmZ94ywuxGNBzNoQ" +b+="XvRciByHFmXFynR03Yk83LXIlBq5WmyqbxNdwLFiCswV80Y9syjJX37SLp1sGh/Van91aV+1+T5" +b+="Q6wVFOIjY8pQW2jGVe0tVe3Lq26x8sEVy5jytqor3pMXTy3wKTYO58zWc6eoCqNpq6T0ljJT6CK" +b+="odO5U6gbcXEcJ/236KC2u15/LOeUUk4Xf3EtvWudyxiu9eR+92YQ3QtLSmwfoTWDMuVLWQ5S14V" +b+="yRPkFpXUp/kNLKpStv06do7Z9WWPz/V3q64lmXn/Ww3bjH+fwRP0dJRzCkytwsvkCsS5ib27adm" +b+="9t7SI1Zb39NtunkuVOPoGOPKpBuc7MwAgk56DjrYYOSftMN23wvjaTHS5wLdx+N3FByL3LuPM5J" +b+="kRtwrlm/zT+a+vv8WQhork9sjh/icSlBL48azwIo8PKES35VM4T0K14j9HBcfInWw17GpjTxKfq" +b+="TNfr68QA+RbOBc8mfCuAcByNb2p974E8G8GmDmS3tzjPPBHDpg6EtXbXIMX8ioPfngza7dlBLq/" +b+="NKMwGOsmBnS9fnmWcD+BjC3kb06vTPnw7gP5VNBOwdn03Tb5x8m9Yv6piWuS5bHMDROp7YJMCiK" +b+="dRTBsswWACI6m0s3QmgeptsEkBg6pWBMAIEdEmc1Nm+L9N4tUqdX6J0Wur9IqWvK3d/IO8eVTeX" +b+="+kfV60sAoOqWMgQHLAQHRmlTlMPQn/fenfe7zDiEpivvK8l7WUwZbn/Wh18mOvh7dLA672B93sH" +b+="i4eEOCmIWdFyWhHM+O2FKBzSYPvxPm6YqCPnglF7rNGf9CgdsssFXM9K1ZZc6172PAe2zb+A8SA" +b+="O6ziZxYE0DOliuJ9CU4MDUWUNQfAdQFBxVMNOyfNTKsU5zrBePOPVTIujGvOlNedOL6cRNF9xR8" +b+="MUyHJGjUCJiX06/dTnpFmNvqQY+7CqRDXyYlOgGPuwpVz2wmHDwfcwJd838+OYJd82c+A8gXMF4" +b+="Bc8ty24FyQpivTGZpgsyEdV9eIeeVyLuRf5d4rwZJQuD5F30racpieFS49OK1gSf+dTP+dTP+bQ" +b+="TDMCbXZnkHXI6xEBnCza5jSHP5m3yBnv7yia3WxxiE4A8JBsUvMqbgkVgupNpX5god3ONxAW4zE" +b+="CdLrCzyokB1S7G9k0w7BXAUOptQWHlKfrD+dDqctU51+OElh6/86Z6LPoqelm+/WmdYxSYrUKba" +b+="+QTIq0ukUPlwOkcuCUMwNDJeBoZRyPjZ7bbqWPHDUL1si5YDVL1ki7YDGL1oi6kp4yTtj305hgM" +b+="5BgsnhKLJKnGPYScS7ocl1zRZS5Z0GUumdcdXDKn3Zj5JZr60tKbhSjM6Rnl9KyYJdhSFdyDsPx" +b+="Bs3MRyWYWkeysLhYqGRRdMKlXrFqR9e5eW0bXW0TuoyVpZ4dsShUrWN16ig+W+j+jCsnNbUyovP" +b+="8pv5Di6H/SL6Q4+j/jL5IoE36JZt+GX17TifTlmHElvKdKNIvEaz3V5X4X02xCL0X8vF/McCa8X" +b+="8xwJry/aIZP+xaAAuUC2TdGEwodMP37a8J0wmG6Lu9oMO9oyVh04jWQN742b3wxC1ybwJlegsSB" +b+="UYcECZIASv23e/QGq9SHo6nezD7ByZO0/AFjRX8kQdrkOkoeGJXkVAjdjPX+pl0xdTYZymYgKVR" +b+="8nZ0JZTMQF3q9dus79NvzodzgJa1sTV5pJpQ7vMOYHS7zbAi9X4mGVmoJGhpamgv4Wk02QeUA4z" +b+="T9slzTrLPFEApV48Ct5epG3SwDWGi19vW5jiBa+4ZcUxCtfWO56gGGJGZPde4XKo/tV3doUDWry" +b+="RfsK5q8Y0wNzjogkORr8qbONdl0rsktoZJbk1MLC6ThtxVvJSAoegoJx4KiN2cdzYKirwwAMydq" +b+="kk6SyjIBrcQ0Rb5qKCal9mZK67kuXXvhtqZdW7O4AkMtERNWZXvVLBFluJjCddlerS63YuzgaHb" +b+="caJQ6v1TSfXhfpApJylVnHQBzFoDvKGYHP2cHP2eHZXos+upfsph0tg/1oYTgVL5iAb/JPAX0zu" +b+="gOGrHYEPSuLEJvYRF684vRm8vHynb/bXTfyLvuXyJW8mquS688mAteeTDnvQ5Aj7qxLPryzbrFm" +b+="kx33sBitpZxKNOpJwe0UK2X8CIDKrPACPcb4XqTOoDYymB5HtS/ojsnHWkTHZOO9InOSTdXjMFA" +b+="53RJOmdLvGiyeKXJ//c8+bF2kvCOZdL0u0lDa255EvplOp/xOxnCd4Pq57Qi0SYtFbD1LlFWloP" +b+="oGoaG1Smmo992052mWgA9TUPRcYWzSwE0fA1lJ8+7SHkJZn4nV2PZnw1EBPrluXDJL8+Fi52oz/" +b+="r5OJz3OwcC63x5JLDOdyA+7S8WxHN+m0eCeW1NvgQM5EvA4hWFuy6EfyH2ryLwAyvwQa/LOR1Aq" +b+="Ut5CjS62EmjWUejq86D6YIuML6pMisFWENLzBQUyqWwU7AY3umg7Ti0mqs1NbNmyfY2r899N99A" +b+="9XBSs9xRIERhBSSQp4E2RjZgKmi+n4CMmVIGrhTA2OcyGPsgf5zz92lDxYZQbN4v6g0jY6GUsR8" +b+="ZV/IM4u4Qqs/5RGm4DF7yWPHpvKVz9f+Nt9PzMjXatVppPwijSlyt1RvNru6kZ3VvX/8qD0y9u5" +b+="3xHQad3da2F2iyV357lp6G6em183jaT08erqsqXvCSX1Itv7F6pdovXkvtVSvV/tq11O7HrR7ci" +b+="tirf9CIiz/uz3KLOm/RPvW3s1vk6Ym8bW5RI7/BxxGov5+fTBu3bfH0gteGn3i53z7pVxW9FfDb" +b+="p7mvL+pj9/J9dDbcuxI5Xvj6NZCj5+pgnV0M1p5rAStZ0rBe3PDE99Vw90r4Xvqta8C36+r4nv+" +b+="tRWDdeC1gNVcC6/FrAauxUu1Xv3YNtesr1X7pWmrXihmxEkme/doikuy9FpJUVwJr+lrAileqff" +b+="paaldWnBW/eQ21o5VqP3sttcOCx35QhIhtZ33+tA9X9wmY30AjWDKVIyiLDoyDf6v3DqMPnpmg/" +b+="2hhuI2e8Wj26d35oz+Uk36An4byQYgtMMEbyDt/ZXn32G/8A+Wdf3WuEhKW+th/LVylrz6Dv/br" +b+="349gUSVKZZSxAgss/MbVWAD3HzNcTMQauia/gr6SGDz9m28a2qaqr4D61DU0tnS06rJj5+sGX65" +b+="rNd6C0WQmPwmFAVIlj2k5qSIdnR853gOUNlKg2ayUVpJ/YcM5IOOsnwbGZk1L1gyuuNusGck676" +b+="eRy5qVrDPUkumSLNob8t0uaUUjEUriEicim5Cak6WaE7pUc6Zcc65cc05qTpVqTpZrzpZrLpRr0" +b+="j4iO//5WU+ogbsQbPPC6ew2/yJRRYpBLUTO5Zw+sNgEcg5AGzoOiYH4UrBRkBp3Kq2eSsNTiAC2" +b+="zX/oVBo4sBLUsk1ckt6O0j4lwJWFwER3nROb6zaO9hb98LlTp9JaHn4D4bMoK22K5dw2v0APcX4" +b+="+AUvAXagW4t0leldnYBwERffD3Ps70170jqudtbvOpX1syqcaeVwQ0qGb1GDaw2OvGB7smQAGad" +b+="ACsSsZA2IL14QWuC47uOo/nMM1R+30n+LAMgm3IPt33DWQFrpLNDMlmg2gWGuVWGjxuFoM3HhcI" +b+="8cDeBwQ23trrdjEW+vYmt4a5HNXPK2XowI8bsit9q2NTE/d2sTnJi3Dx6140RKD5XCaylDVTfcP" +b+="n0uvQ15CwMoR2DbemvSAWJuZ+BpUY/KJlV0KNAVDJuNMBxnF2rKIjJOWjPOOjP2WjFUQVA428aJ" +b+="q+u7iWhhvIliDm7wsLxumV172nkr79tHWBLF2ZEhoENaZtQK4GTA9ZjOzTw8GQGBfUwDdANwC7u" +b+="oCzqaA0025q2gIr5OuIsBdNb3g2CrtKfsY2v0MT2JSKdS9z58HMAbAUH1heoJpE1CgGhvpt6eAi" +b+="CExG+i3cZeDKJR5YdaXKIdBqmKQCIh9/gK66OggtM27wxzXyykOngSebOGoy7a2z7/i89QJ6UXA" +b+="LYhXCHxtzsKno+J8O2jYaQM8heeuff6kzYOx4AxuE7PXgHibJDeJAwnt9P5wlR6UaDgLtNcLNiO" +b+="uxHC7VePbw2l/q0fu1Xe3mrSoVekfKRstjvXTCnmr55uYttpZdQQLVfb5v5v12rRwwRWqSCCkDh" +b+="aM25uoXcW1uTZHMyLStBCZha/HY9FTJh6lbjxZqanZ7OxXn/OSTyhck8OdefHfrt4u8WSoDaMHc" +b+="V9a4oK0U02QIAaABZTv1qlW1AFw5eoA31EGOOoEuNIJcGW0FV0V4OhqACMqDw1/BcG6RlI1mIZZ" +b+="9Q6+VB8ZSimqAhDvZKDxhoF1MNMC87iPAB8ZEZe27EdaMWMfE2go0PL9Awepu12e9xGz/jQeCTK" +b+="k5FmXnn15ZjkVtAnmKKOVPELMiAB0rViaIhJVleiqISPaaYMpamNQkAwfNXE2/rDgxzGhxh/Oqm" +b+="3EDoiy6p1N1Un7qEhEjCNRrEmsBbpr2yFRplWFRtrIOOBTdVRgYWWRCH/eEZ5aq2YXFw8D+y3en" +b+="kaDrJuRrBskzm1h0EzlMKlEi3GLCtzq14ZbNAoqLMGtUSQadzBujWVxi4BbXUCNVsSt8Qa4NRxu" +b+="jcW4gTPBNFVmqMhURwZHiUe8VgUxciR4jeLgOpl/rBUhM1OjmT9iGU0UXJWdOtbS/3CO0uAozaF" +b+="sokNNr6MlLqWE75TwHZEfuyJMrilg/mfaE6qcyVMgOade5ohM9O7Kv7LvVmgd+KWI3wN7oYkHZY" +b+="aP00iQSMrG6y1taowp9F5aoqAW1yR2Wg23+nEPsQm1vAZdeT2OPrGNquHCfj/9hNjd1Mz6faQr1" +b+="0S/rkHTrsrT7jZqe+XYN0N6WMJv7beB3ILsn4BrCKQge1nCBmkUO9qKKedt/A4zsNr0JayXCcGl" +b+="cHAUPgtvbyoYB2iZau+g3cRvj/9gsy7JFNRlUTeb+pn3Q03QW7ucWnbghyABs03HwIFR5rs3Tfe" +b+="m+1gLMVtMM3v7MRYR2K5UjmXRiePCSZXsdXXsUDPC0NVQSOFdnSO2uVTLlWtC/E5MXECUDT2ejS" +b+="OlOCjaGB4TfnwkO8WlgpHBOkRoiInT8OqImTHE9yWD7IKE1aq3W02DMA6vSFqPkroG0pHOSc9ra" +b+="I7UR1t9sK5z8MBBxCYdbTWoxmXPBpYLoCa7kbjo2UB7+VB00eOL8rjWBNv8/a31NBZ1ODHS//Uj" +b+="g2YtYg4lxFmjtJ72cUSpBKK8Lu/brR6qEMKLc5S0gq47MYykSoSmFxPmzEH14Xce4vhMa9rEA7W" +b+="WcrzCN4XGb+d3q4ltTQ+9b9DC2sS0NBXEaase4hBq1GqEaFUkT0wVP1X4O7ehltKAlSYDmllHWb" +b+="djSkRYhkOTNGOSS4pNMaZ2RxOIhW20ydGx2tzYqjbPpZZCe9WihTrC66BdtAOZ09d2GTybYRv81" +b+="qyT2EQD3Hfqys7neQM4C8hThEp2OU8lLNQ0wcbDTxO+ncbQSziI1FCbL8Y/9W0q/oySubUj4J8h" +b+="sOnwKHguq41gJxxAy0fxZ6V4ZmeZwbwb0puz+M5gPPsSSYKM1ucsTp7UiHmEMHR8dB+1Kj46HUA" +b+="rlexCudP10unAkk4rpnukiQB/CWrRbjp7EfXGWftClQR/+pMRE+z0hlFySO8mcgcw/UNPr2Qvd1" +b+="aI8aexqAKi53UfaULIc8wwSt3JccC6IRlCiIJ+lgwHfqAZcCAzG2OngnGyc0uYAw7Z2TwNQDacT" +b+="f0NdX2B1x9aZKAH1FlsuZA3EHGkcvJx0DA9Acbk95mqASYWz6SsPwuS39YSnQ5Ss2E8CdvFceMC" +b+="if/jSQw8Ige2yKSeet11rvlJn0CLebULs7MA6Osk7C9W1eAYGthD2ivx9R7SXYMxJD24UuzRjbQ" +b+="ydgrpGMG+Uaoq6Qb8M1CsLukELtl7tEmbY4bfbE675E0/7boovT5NJD1AWy2Fn15Jr6etrEKxfk" +b+="kbEkwKDa6W9OZ0jQEQtH6MEQZotWHQVrdBCz0G9foMSlfMKvobmDX0N0Zxn4vXuHiDi3dz8R5bv" +b+="I+Lo1KVK/moFHKlmCvVuFKDK3XbSj1cqY8roSpuIZ9KNxxcd+ZUuo7/DvLf6ODrr7++6cPp+oO1" +b+="j5xC7KkxaghNJ9xELzfRz02s5t6jjmoDByf/3mOYqmPY0DBMoPagLTDI7a7Pi9UBOoZnnS2wjgu" +b+="s4wLYVI1Z+KgFrmPhXM9/1z6NYJqbjkkcRdL6UWU1oxozqjVGtUF/ByxCPWMcHgEI9TFCqxihlV" +b+="FZu6inhHtajZ76mbQx91fj/hrcX3epvz7018P9reL+rr2nfu6pHz31MiFlKGvcX4P76+b+ekr9r" +b+="UJ/fdzftfc0wD31oqeEe+pnNpL+GtxfN/fXw/31lfpbM8aX26+1p/XcU4KemtxTL/fUzwwr/XVz" +b+="fz3cXx/3tyrvD9fKuSd083r3h0+lvu0w6OgwzDs01OEGKWMCbsOnElKNGrC1Qq4VcC11DJofYt5" +b+="2fYSqrMatmYN/TKxlWdSVQ+sQXett65bFqV5EvQSdQFLzb2Ox5+d1g/qvR6oLR7ALkduWX4zgvK" +b+="WyIb6TG7C3Q2J8cfuqumwkKniHh5otAH+qel4CqZiL4KnBZYL87XTE3zQwleQo4jHCM4skrE7+O" +b+="fJsKbyP+f00uzPLewYxb6koA3+jpKNMjkR2hd3ZSCRQSQY6r1vjHISxZOHPblYk/jjXYYuadc6p" +b+="lWo2OmrCn5L2bKZbYCn17mpLrl6xhVkN5z3iTC47z3fI4+QMTJoq+SZHqKUHvIOPKKlIyR/BpcQ" +b+="Ri9UrRh3eGhUOaHu0IFY7pwVudcS2LVDkDHRQeCpQT2hySXe4A6SlO3gTfBPxzC5LeUoeXVzBl6" +b+="KI98lNT7D/YSTVmyWiVJglOgcjkXBHjMclNkZEFg84HzaIF7mZeEkz9SXNgK5HERNRqpQHM3Ycn" +b+="Vdplqp4YrhGNdrjciHxcXAUXIhg0/pETSlMnWFxXhh/Uy4LPUtcFjw+2dnpqVs96Bub80OYHfm5" +b+="yaXvzdojGo/P0rK/9CCiNbtG8UmKPUJJWO8dwLmJPTxH7AF/pXafXdzuX11Du8n30e43r6Hdbm5" +b+="3ux+/ZcV2pxa3u3AN7cqhOqmG0P2Wb/fKdxe1+9fX0G5T6KCDnA5qcbsvL273W9fQLp+2d7Tm/E" +b+="/y1k6/NmsP0Ljdom59pbqzV69bW6nuM1evW12p7tTV68Yr1Z24et3KSnUXXrtq3Wilui9fvW64U" +b+="t3LV68brFT3wtXr+iuO0dXr6pXqPn71umxN5oCfdguW/Bo3Nwx5uFBR8bgNb++3s1PHUo5xR/uh" +b+="IyTSgyPHEQ8bduNKxnGyK7ABwjiIXawHKzj2WJTns3HJg+2TTYOGtn8c2Rl2wQgpDu2rxdb0T9t" +b+="4UvmTzp98fmoB/KDd0oWFuW58tgeWG+FiMJXCWDGKkN0ScruNYMAmxrYWIJ86RmuSrdMKYF0F2E" +b+="EBAmfqPFPbTOx19ckWh5tvs/kEth/aLcMd28DHfFbdOZgGbBelJUafaMVsZHhNHUsrYjnVQn9q6" +b+="ESbTy9AB4T3FsGG6MnjD2eVk4RIdPJ49qFHT8fH2uws8AYv4zd62VjxZUuzwyAi9B6WYOGIzQ/0" +b+="4jYCk2bxyez1D71WOUaP/NvOPjQRPJAlJ43PVtdDOI3IjcIdqHlsk4WO+rp/DFH220IXxZH12Vh" +b+="saxB58CWDY3w0Amr8DyMEA52zlxL2egNoWuLF0fIKC3H9KlTrrltqdVv7uS7bz3PDOU7NfOPlk8" +b+="PLJ4eXTw4vnxx+AUaQgyHQlxrhYkoGVjmbul//VEWF44gY73OUX4TAR2xf5XSd5DHfBvbmOe0l/" +b+="0kfYouxz/iTivU0omHayMeHYfizkY/9w01diu0vd2I+pVk38NtMbwklv2xQ5Fw8peFhiUeP3Xkg" +b+="ZqelQZH9PCgyR/L/Q82mIumx4YLH5+GaJc5yCegi2npnjGAtkdRtCPZuG17ZWxJeuVTOBtksBYN" +b+="mec1fFyBNuc1D7pBWgrTKkVadkaAt0upqSANXBDEuDUSJ9rTWFMHni9D0dQ4uyvS4k0hgI5N6Sy" +b+="KT+st9yITjlBYfMuHxPTJIgswR+dAbNUmrki6C9gds8PY45mmqEdTUxXJX5VjuqjOWu1oulrsLC" +b+="y8EXddAfnJkFENse3NI30FZHFx1nEjBvp74topiSh6WeMtTUhLTRUKoNqmtdd11Lp1HfValqM+0" +b+="7kC8nTyRakR9VuWoz8T1HPVZ1WFGlwDPfunjHWx7wtcsfqOiemCZZEshqZVjYl30xTQYjIlJsSK" +b+="WQ5iN2ORYFZtlbezUQfURmETiMbbyINwr28jYwllnewhbMxu2pEYhsXRV2MjmW6sQ2zibXCrtZc" +b+="tGN/2Fmwsajbmk2Kvq0lSaiNXE2lJ6DtY+IqZLtp1xZz7A0mzUDGCwo0xrNXG1uqwtpYluI1j2G" +b+="gxPYt8nbH3psaUieme67atufpXYV91i/GvCQsSQO/h6xMTUYfSro6PAsAXXwdrFzVWAbgxDJA2g" +b+="fbM8xNGidmHiQxtsZuNYpGKadWSvjrGt8Q1osLhFmPJqGK4YLQbcos5bFHh9gpKAro69CUgHHKS" +b+="xkKHG7TaYI5r5yHGT19giDHSBgT0dLcbcotgA/UXwVkGHsGzm0rZtv6PtoMMW13vwe9ZKhjY0bH" +b+="G60xYXcC2/wxanYYvz2Ran2RbXffC7YovzO2xxPdYGZ3mO6kXW4lcCMrfF6ZIt7nOxqozzmv46O" +b+="2WoLDwp3iSaP2AxrdKAT271CeO1ab3GCRIcRPI0NEcor9nWI60Ax0XNgF1ISOUewmlahFjyLI4i" +b+="Ka6lFVF5s3FR5VRmRvjrRzYY4KxHIr7BKuxQtnDBuQjwe+qPtVd1xyAJd80f/5DjFRJleaqBjvI" +b+="UXInDPNUPvShPYXdcyVProRLlKWxNqnkKrsm1PIXNSj1P7aBUI0/B0bSZp3ZTqitPwTG2O0/dhh" +b+="15noK22ZOn3kGp3jz1A5Tqy1PsQZ2n3kmpVXnqLkqtzlM/Qqk1eepd2FnlqaOUWpun7qXUujz1P" +b+="koN5qkH4Kedpx6i1IY8dYJSG/PUBym1KU+dgpdunprAetPKk6eRTPPkGSSvy5OPIbk5T04ieX2e" +b+="fBzJLXlyCsmtefIJ9uKFl9NQBwf55VT2s/+als0NknGBGQwsjx0Yf19NtkFyakfZtOzyAAm7syN" +b+="CS/zPaAuB5TTC93dIpT2Z+rxFkkLQYKmAsV7lpNMGsiNeES7xdMAmJD5inRV4ryiTLh7lzRwlR2" +b+="WK+fwtE1M5gQ8Se7hDfZJXbj/jb5fFVoMecftLQJOy4kvbyxMiQgKHYTZehuR0scGG4lLL1GE8J" +b+="dAcDuObaqwcqsO8z9Y4NvfkS1NAkwCBSMCeMnd6waaWRDMNjB43Pin7aZh5P8QOXiT2+Bt/qg0d" +b+="099Je4i3026d3hD6CFNy9x0siqITJj7OJbUrqeF3EbPfBco/hB08HBoaJ6Sg35atW+8JUgYXvGO" +b+="o4+d1juNLJ+KhwbSswz3b+KPwTZA3h+1XfBhyT+AOCG5q8ujIcfr70Mhx8XDBQfiSXiyEgNyiBc" +b+="iOH7e9ir4P5wb+vMYdvNn02fGJ+5UPeZmKO8+GBg7f9AqW+MEWf0cLD5RfO8QToCGfRmRuTayLY" +b+="tJHfAf/eNn+yjP2dKFlarfNDYzz+mfjh8uBbGfMZT/n53s8P9/j+fkeL1jiYiff9upshIuxm0YI" +b+="5gi5GNF+RL5bMpoGcNhyRmwDdx4M5uFBAhscONqlPcX0icBiMsbqZAuHPnDIONmK6q4HuxXHhB3" +b+="S64kr5CtXrKnLWnSItemQfRR6PO8QO1t21/nKg2MQLZ87YI+EHu012cuNN67R7Xaf7PrrbIn7MN" +b+="FIN75PZWQXY43D0hQG1O9e9lV9JtJqvAuurBPaxmvgiwN89UBv88+rVgO/M6pVw+9ZRdOAr9+zS" +b+="9os0eLKL4g/voRFoHcXFc7C4ADO176RdVnhwEqy+DjCxKcQdG2bf5Q0DnH1B7NFUuTAKF69E0dQ" +b+="4kVM2uFd5/J74zgjZh/j+qm0VtSHX0jexDD3ewDnX+yQbQJuwDpYk8bNDVQNY/dQ2gVwanA55la" +b+="7S62aolVcH6Bh1vDUB11wk6HAH/nDaYIOAXHMHVp375i98uE9XmE/cHc9HvE7+AUTw0O31g+6yo" +b+="CQqHkE31+Atz9HNxCn9OQue9WAPam1eMkLlRgrzY7uPj7XYDEiefOIxFf74XMptckAQeEyFertk" +b+="YNv/yguUVjYBmxz1aI5AyfsCsBAu427zj3Cp6mNR9IAjRN1T7k2QgZ1yPq/V+31hkiq0MMjuL/g" +b+="KoQSNYD0yOhtvIZzxOy38fptmNXmadWEXkrrEEiFcmeKcljJDRNvQcoFlvS+vY8RvY2Xd1scS7u" +b+="M+RUuDpmQO4kTmG/j1Z4jab8NK70nUTeSUxKIYbNX/9Me1eAz5nXujBmfOaHhtMdpU6pd/qxHwF" +b+="dzSp/2CPgzrqXPewQuhpj1osrmeqHiugjXcl7MTnQT8ClCwGqPbwnBEc7GvoZ3Iim0NvR0SBOoF" +b+="dqPxhLHl79aIvdYSt8s4RsJ5S+WuHBpBxDEBTrHZo89C/mEG4FbaBf/S9QTHLAQSaySnf1CHgZb" +b+="cSCxKJsuZyGOWDWbKmdNusQ0+8dRDg7FawmuK9SzmS9w+5VsvqgTZXNFoppdLrd2qdwaJmxo0JT" +b+="iECUNQd93PfOhOBPAZXFEIyGBzbJ31ycUB2bZXwRYQAwZm6iyE0G5hrEAkPgCAH+qORgj4rS4uB" +b+="lN61fgLrx32bAvXeVmDkjH2ZmnS8hPPF1C/koZ+YUO5BGFvGLxx/yvAAzc45DYHay7kWxs5omht" +b+="sRx0DLy1LvGN21mOVYnbrJYpuI7VMx0WqKUBnyPC/a+g1wbVHZPSf4U2yfIUTZzYyG9ghhspWgv" +b+="7KqAs/lSzjznFFFfAviLIurLHI7hr9AciQ66ypSousQ8JWo2gZ+5Xv5gGbs62rlUkUkGc15LE5c" +b+="faOObxgVm0Df54pN8DzCEm6JvpxCnE/lMc56O23JTSS9GFTTBIAgRUyvAHY14mcrTHJ9gKE9L2A" +b+="Nu7sAoXwmcJBYo5My0FkTidqtu8ViApmMRuWI/xFtp8xU1+Sg2Fh0LWcheKvjq5xUXB3/YKQCxT" +b+="BrnT9DIXvgiwQ9vlCF2BHHeF6GVJfTX5sjhGS7vuT5DDO1mHj7+XhIJOYSD/bS61fscrujERfpJ" +b+="EtkycHYwlwwjYnbCQBpkn/PFw+PA1aogrCjHLcqe9Nlrhqr4yU8p6zpSZcdiP3nEZU7zt9wr7Kh" +b+="BmSSGW04Kr+NvUiYnhHtKby6ua7ODCu2hSoPUgkdRFa6ls+uS9/OHKV9hfxRkzRdZ8lFtb7PEqK" +b+="BmTfK7rKM1wLC8OxLfUCXWdP5GVdkrtG5twnUYcgM5OQogvSdCe5sUtg7CNVklAUlrlBYvJmTA+" +b+="cUrHG/YQSaEIymcSERakSr0TW3Dy0UkWs5gYYzETQYPR+W6aRqJs8ySd3Bmip2Lj2978nDeCA8p" +b+="9lOK+YO+R3nP6yCZ4oB+0kg5H75FEQyASVLqS0Cc1wLGN/ViMDzr9MMORzUqz1g0C0+iXmk15lb" +b+="jnP1JSjMlzvsCJXysIsyEWHD1SyWrXJemDGaLA+kME9iScI75kd9EPH0sUBOhTJyomKxqNJciWI" +b+="YzI5tUwOkJ+1quVLjVwPzkgcU8YWPLmJ0vbXutbOGscwsn+bkOis3PVlRTNuSabwNkKR6CtIlNe" +b+="Rc2G7wnL59x4uCj1c1qC+8JeUdeSePS5ptv7FTsHpz3UbHdfgey/fbd9tvHJjY4DrNCBtlmy/IG" +b+="POANOKSFL63xPhx7POzDuVm/2BxX4Jbkah2n7ZzbYcXYOVbq2aOUboXZcP5597JTk991XaTsfzp" +b+="QylfL/BfyvuslajWgh+RWbNH95IebvCv8EHfHBofj7830yazyMPajLXxyO3sVG2S/nn3LY2NN9l" +b+="d2w+y3OG5AdKTJJ8OHxO6R36ljNwkcr9mduoYpJ5JSkZSKDjd9GZUov7micbcC1eS2QFO2fTSC2" +b+="H6Graq9GVGl3UzY0gw5EeYlr1Ur0yTDXg9EHMVR7uu/492BCxpdPpFBXNmz73rYH+b23QZbK6hI" +b+="WAlpH01oayr0HSqEz5D69Py3eKb8gJ7RHUgywb3TfruGJZuNIz7fSuSb7yPNMOMv1Gavdx9pBnB" +b+="XaeDTooPUwnD2p/yp8kyfOJl1HyPmq43wjcEa25Bpc0/FQN9WCILUTFd5G+5nHPITd2RaHOsg4n" +b+="tguNCBCxsRfGidnUZ20FF29leeE+95Z/Wwh/7lEQuKEcNY+PlYqNJY4IPmgMJgwgGsbtcJqdeuk" +b+="09FmuYmtunTykUIwDMtQC0x8WhrU+dbTGG2bUTAYBeEBrtmyIXMKhvpWk2+dhPxa9jWI1CKbUEN" +b+="4dwAJpSatbWxyYc/pJPyN5aZcrjTVcuG7hzMhkZbXaZyrtVz0Gsl/IGeJhX3ZHbx0tRF5IAzqPH" +b+="3aI82XQhk3zN2Kk0QxD6hzVYrcWYduRdDw8YQVGDkqfCNM3qXPJ0GsKWQEIYmwTZQiDPYQAMskl" +b+="V3pbRsAFXZ+MM0pB15sAjU5JppTKMel6/F2HJ/JrfitsmdV9BMTKwNZ+gkpD0mXt26eoS4R4Sbr" +b+="zATAWdrqwphoWzL1RiPL6QgzD1hV7WEjLCgCCG7TbUgZECErLpLuGzg6u4kZPgGhATjs5BlCKog" +b+="ZBWE1CVCgtWdxbku1mYhZEMI2WE7phaJkJWlhGQfa98SkvBahpDWmMXspfIbVEP555kgyGKxlvE" +b+="3MNCUNOPRxCBG/4yP6y7TilNYrn4z0iFNiQ7RrbLKsVQH5TMmXwbQl0lq74bqE9kzjz/n4XsKLe" +b+="m1wz8nFL8lXfhraaBjvXNC47xzcEOGD5f5sw8ee2algXA3st0HIaxOvcKbxgpv8NiqsOkAd5Iwf" +b+="jBjylpX5tEoOLAiOFTTtlPcDDWVp1NeX3CyxnZHGXgtln0MTV1O4KfZIyM+hntbOTlxVzcnZ1C/" +b+="CvkOeiwKNAhfkNDl5nAfnHj+T29alpLuzbLEXO5lY+WXK5F0CaevTOBlAP3vQePkGH82/TXiykw" +b+="ng3xsKVmnP/Mcvi/PWbOe5D2OvIrkTSjJm0Fel83TkjePvEHK616E4JVIRfx528StJjAC6bKZCD" +b+="bYspVof4fRygW+H8YWoUtMQ8O0OiR/ImFT0iB5jJ44aNKsh1hKfmZwXOmDBPthj+WjTOiWAZjp0" +b+="r+lfdPa7Py/tbfkWPc0wYMthHOe6YbTHB/Est9TwKrfAvVb4a1RtllMbO4aXba+AFbnFjbdD2uf" +b+="CUdJJUv5qjGbI/FvZFBi9gT5HuOC17YnTP6Q3k9CiX5uu5OPmDRHQtqPnN2ywsqFV5gA0FfyC1w" +b+="6tgyAjRzc9KnHhabREpe72c5IPf85QnaSdXzn8ZdNNA6zLgz7dTt7/GdmYe6zG4K5fPeO9x0vJQ" +b+="KQKpILOAyEvsStJrcL3+Q1GNxJOMFlr0lsCg52ozL/ZFvuuM40OnsgOX0MuhX7rAbQyqRlARcjV" +b+="JFasFkDzYchF+KT8g2Y5HLukQq73pyzYgClwKKENjArcxzAWGiKm03YK9NCT8pR3i0o3rClIxPw" +b+="M9EX8VD4ebLp8qG3FdiM4n4mkwE76nrdHlYdyxuW7kY74IGpMrEyGEkZqEydpFIPtBN2c2csAyk" +b+="glQs066+GcIsYB/zZdlZyIVkH0ir1nKpBUsNwSMxqPGWTaruTsqC51dmFlpbxY4W+yUekicR+8J" +b+="O+VsSAHRL/SR9iWIrYEzhWcvjNqWMQgzzupN7lJ28qP3lT+cmbyk/eIrtWF0oZKa1y8lZqhIvxz" +b+="eg6pGFdIhbAkTau58e9QIHYTjxKK7kzK8dxJUxeUqxt5+t6nDtD8gFelZakJqZyPIqbxLQJ4DM8" +b+="mD/92/kET/EJntK8fXijbrCNQEQHUoCZNBGO9hTra3iquJu8+SFfJId8cfmQT/bncsgXm2jJIR/" +b+="pmO48lu8hF0iyb1CIKnzmx1+31ONQI3EqS+XX5f13tsx90iozImAzTHBiGWaHI6JGqyGYZ+pWzw" +b+="gBopwA1QIEPkwb5T4W4RJlw6a6DC4Rg1y1IOOEv8FdmDr1Lf683ThBRinPHjO+Fqh4XAxdFdwuE" +b+="stCAC7AjmhI7FuOCusQo0PbEYdz+zoUifkbTI0HcBZSoZcI41AEgrhJ8U0krcXJAfYx0kaeYydJ" +b+="61QKDRT9ZS/8y+dwumJ89FaBZD2AuCSz3hGrX5Hg9sUh4+3si8E18n0c++Yih/do3DTv42iegZt" +b+="s64zCY/kuUUx2bK8VrbeoRySHdkQoYHtbzbxbPdjjsNwxduOLcVS06+aWoLigGqll8xXClNYUFm" +b+="h/5JH+HDaY+5FRG2nSOpXBB+FlecUNBO06uxVnEWZVyOwXiq4bZl/7l079qWBdo700IpyQJDrGX" +b+="s9idBGFh2/81B4kKGoPjGbDxwl+tMGXCRAgw+p5tHGHjhihaC2rPSQlWWDyZcS8MlV62XtQ/BSo" +b+="79vZIaWF1ZQ34AJPBwmJLoISK3/xYfaCBeQs2s8FOpCPEuDkjKNVuNOCS8XjxfwRPwf4dM3cLr4" +b+="XONGB9TfkT7Ap+xvhyDCGGshfJ+SYR9hs2VOO/W2JjCGfVoulFwQeYKMqf4WtKplDbek/DZFZy4" +b+="87DqT1fb6ROAm2Pi3SthIRwZas80GQAK/lJyyjgmG1CsZilAKLim9/tf26XAkr/WawCpfDqrIsV" +b+="kpQCgWfSgkZbBpijul8MA/mfDCP4myf5Cc6JyA/wqAyAwuWh9k9KmwzZjzjjp3jYwDGG5vn0tCx" +b+="a4/Dsf7tUK5CJm/iKuQ1xXFGGOfVLLv//e8gMkbyaxqBmVX2IpIRkquQvIhkA0kbOhm36XAicxY" +b+="vatmv8HuW5tn8LD1/nfNZZGannyOlcrQc/Bg1P4sSWkpM0XNyP6IYq+wjyE/QVU9nhQkGKTuH5n" +b+="2pN0PPyUPlMMMo+OrzAGa5gnyzY/55h0tXZ73ff55x+ZPni3qXn+d6TdT7OvLrqNdA8qvPO4Kx/" +b+="foZroxkKZQu41lq7onnGc8q4/m8wzPmDdLzjuC8wn+LaEZ7J0pGSP7fz7nCYWfrz+JFM3vuOY5r" +b+="AlyyF/D8Ev5EJeRHXRBYh+3jzzG2n8NPIAWfeo6x9TuH+MVZJuccfiqlIb6CP9WOIdadwM3OFm1" +b+="fmGXUVScQZ1EiXGao6rx7Ikn5F4HWEtmOVkTZGNLU9pJv8a22laYCXM+GoTbzlgiurYgCmXxSWR" +b+="+6XSRzU7jABdlOGMWC7M9JF4J771/RLyblq/SLw8z/wGb6IPsO/cJ02xH/xc/q2DMKUMlf8+VOg" +b+="S9Tycck4uNB/5+xqx2f2O7v+LbT8D4/sbsc2jH8HN/vpBXrVm9YWkHuPWAP2oBqdjYUl2FfYt1A" +b+="A03eAgwNPIP5eHgzr64hN2FChAkutVSxLVkQvTKInmwWlwGRT+EFPpwl0N6TNg6RawrXWiYwzMl" +b+="YyhvooGl33l7y6+jKe6saFvMxQRCUqp1GNb+oFnRUm9Dlen6p3kcX1fM76lWAuqumGd7N4oNKg9" +b+="VJ2XryFB9x+HKcHdS/HaiavXEunObf6g1ZkwG+DAAuYh9qX9ysfbkawhdFYl06qaqxQiLOoancI" +b+="CS1lZVf/wTMdc5AhSMJmGGhTLawbXH6MBzRsWMXF7mA9+xWGSWI2Uzpi5sPlyeNuOnziT13wncE" +b+="wywu7HOs3Xp8yzILT7BiLiC8fSUIVAcEqgyBBE6EtRp2DVpcmEw0OfrFGGNYK5C9CSMe84mMl99" +b+="cC0RREqdGzVqbfwLhzBrSeXZa4bYa9cd7mojVfHQawZ/dd6GEYgnxlTcadDaqbKNRR6ORbRRnHI" +b+="h4xK2tx8E4RpbjL2GUSJsoiEzEA4W1Iy10SUOqxWF7rZCxMZUjjmQgJu7fUitMPb7SWyIg9e3h7" +b+="pEScUFi7hsV1QvWm/Ad7+EIWj5Atc2zBi98Ekc+P5VnwYFBPj7lsozip8uKPxTLHxFKPqPt9ytV" +b+="8pqSE/fIcAHalyUvkoovflRJ/n0M/ohoT+nTY8OLPlc2JF2wc1XTNEwk30U8w5Eym5KsZi9/OHc" +b+="LqmUvFYl69mKR8LMXXOIy6uaN4fN53QRnk79qkp0+XWrstXJjr5Ybe6XUmHxfLjLdpkFt4LBKOx" +b+="+5CfaoiZLHYRnB+fwntPgBwVpUuGdJzJIu5uiyJ1DaxwxYdgXy2BMINhqd/DgHJEv7rY9JRdqPW" +b+="VvNPa2CwnWrj7XTcmvGtoYoWT/OWmIaG9tOaHB778fFWoXALiaW7C5SEn4cpUyXZFQyw+VmBQjC" +b+="12bPeZw/bR0dIkF/govF2X/CW3YVCmzo6NxDiN0Hyy5CgQ1ZLT5CAX/ICD5IuJ2FVhU3/zne9bO" +b+="T0GbxOttc9p0QvpzmoCwRvSbGvKQcZ54vfWDKL32Qp55HRe74Ah+NO8b741oCSxuwkEo+S0L44f" +b+="JHoNF6Pf8ITS3/ME01/2KQj43vlO5geMDVksAlF9iDipBGkH4P9lmZT7+pJVo6TeuXA1W1intgP" +b+="8Aybg1OtBllC6h1X2eZmF82Dfc6+0OcajEyQwilvliaFQtovswAw0pVrC01pAZgiVKmRhuIKoy8" +b+="uQe2letEiU1y9uHkesn5Ght/2JPYRJMN85aH7Tds6oaaNPul51gFwZUBcVE3lTsGEeUUISFDPul" +b+="tPAC7Rm4k0GVDCB9PUMdyKYQFuHjf6zYVo41/YTUIxWrActLg+BzBI2EyCNlkUG+FLHlbzGFtDk" +b+="jZsIEFmMjK+dbDfIQL0gxNlMmh0GiX7ynP3TewZ+UwsGm2b7FnfW46daY2sdtJTFk+GDzEl75iD" +b+="IizSuWkdQQPkk1smMDkSDaxSUNjBwz7A9vTbCeL2uEejD9S56vcVTFo1WgwmCAtti2w45WufyNQ" +b+="wTjfg/6CjyvMb3g7HOGKmYGX3g7XS26Hu4vTpC7x7XD1j3k7nDqxd8OlP7a35vfCNXsPXsO9cHW" +b+="N98LVyvfC0foyl7Jxt1iuiotxMqeAFgronALahTsQl0dLAX0NV8XVoqviqhiIerecpN0pNEoOcz" +b+="q/66wX3XVWfNeZTw90+a6zsnedNWaslrvOyt111vmV57j+uVD5EF6m8MIUyeMnP5Hvvoze6cWs7" +b+="u70qqL2+qIbYwNHeyJn8rUhIAPaA4hY2OnVSH/cIY6732XnULXTC5ocrOeNm8BGJpvofavyeHuM" +b+="WuDnC9peuSD40H4iF9KGdL+MLprgeDQ7vR6BuNddTwvfuEOOW0yLQcCW3Cx1QN/ON996r1rZl21" +b+="Xfx4Mhi+G+LKBs9bnhDZxMlb9wkykagY0poJBytNzgEb21c+w4eElDXkIdxE/e+0zbJqQLM1ZH/" +b+="0sZXXbLL4zlX32s6VSAWf9ArIqNivkrLPlLNYSs698lm0bklXJYs789c9aMAbr7BzDNuIAi6ESn" +b+="qANCUHcqPMlVvFy6H9jQok/GdUpDZfmPOItapcWGTbkwp2ZFtcnPq30arGi4gtnTdEraIcgPKvc" +b+="F8+yF/9QptrrfNYfHEh+yWcfpws2H78caqCplinPZ8GS0/L5KTs9OcuS4QWbHfMTh/yhoaPm30Q" +b+="FhmRRj02P2mh62UUuBJwFRo9jTUu0nJgvQPaEfPWxzUEdZLuC2AqkD/bziT3RSdyP3AeIFD5AZC" +b+="8ev/SR53gfq7LTr89KKCI50oZel0189Dkv+a8KLi/iQSV3hJvuBN0foCze4ia+u7pmHS4V3xCDZ" +b+="55CBIou7QfE0U1XnmSXTmOcvTchU+JEwfUsTnFOKN3chmkKdzRSQZrwSbgNH/HGlWH+2c9t0Q4l" +b+="RjzaJhMaF5qgIlWAQGxYU4oNn8ZT/m2Io9zELqZKPwdG7bl8E9cO9uMTSlTGpNzEwO3sqiwqGxU" +b+="eaLdC4SjfXq5JazwtY3YlTStHcBwUDlnPnQQbsjCZwxzhAEYnUvdBgMEUVYI76JeUJHr80je++A" +b+="1vBFdd68ndGM8ALtpDcId0Q8mBmQz7W4fAJsg+ROT/IGaVRDAXc5A4YNvowR/TTjcAVq2YSbneo" +b+="FNo+00os7Azg/jVghKwI8kXlewJXzPb3U7Oyfl+E/qtsFATHw8SHmpmF5mzMWwXPznLF7ebcu8b" +b+="45NdorfMQ0x0+mPaZcoP7PP3w08X93oqfFOAlDu5Gx3mbDahZKyhNDsNTMtJXoDYHy/je430+xJ" +b+="/M3KvvsxpqNKELaXnWJUklS443lpNj5f9droGwnWgsBf6VmcSLSNkXYZb5E74U0tUEV9/Tr4CZX" +b+="SePfdD3i/RCv0YYfm0zl6hTl50lwzgxI79+5mf5JepV7iyhPxx0TqfIuRZF/kbpF7h0BLa0Muz8" +b+="JibC+QGxJS0xoPhuhrSpxXcuYeIbtll/UC75Qv/xpvtIJOOP0pvHkyD5AMm3ubHrbXUJj5MrW0w" +b+="AbOWOEJqKf5EdpDQxoeNQlgptI3rp2wgvUDi33i8QxGlgFT2E6yMU1GYkYwvChsCamPT626iIFQ" +b+="29r0ujUjY2PraNH+I3CY8fI2n5a6v8D1X65ohfQuPx/ITIp4lrp+FjsVo3Lf558N9/kVwAOKuJq" +b+="T+W6rVaAOXj9X5Ck0Eu+kLsxlK1fPU2Uo7/6wstziLb4xWhKfYeXUaHrnwjcRxXsgXJ/hc8iLRt" +b+="xtyDaa0bjBSLKNL1I9l6FskqfEzKN9fjwse4e+HrpMnItlafjKDCIII+QxaY7Pmy5Vz1uvjw+Lh" +b+="i6+vZOFJ49+B71PAHHwCrg7mDXufCBd1fyXI+18IygDMQ6qZNm8OefDmg3bya+4bLeJqmdFalU1" +b+="+ejYPZYEgpfKR+dR9UZ67SOVULfXzzAX2s+PgZ24QPBsHcx75l3yZJ/OYEclf4kabJ/eDumjT/x" +b+="wbDTTflkvXilkgxvM6MRjATJMO5o3OB+l6kJS/2yoo4jjR4j3cNrboeiwRHltLgAVc02rCPsnHn" +b+="P1RJX+gkv9Ls4l1qF1KzMMhzzpKy9XFAeH5tERwtq3EhUBg00pcSAPFQyVvSLA+9uXSfbvhdna6" +b+="nB5qZ6+dK6VfdQkjl/+yVyRDCCS3pV62WeskizDMXrJZg5L1ok0SLQ7w9VJ7OK1wpdo9zueP+Dm" +b+="KkskLir8hwS6LKvmGTmZZMeAQW1+V24m0pfgG3D++KkURqYxvSvrZM2XEJjlU3VPlLBgca9kT5a" +b+="zHXWLCNl63t0W7iE2JH9aKjW2dmH0EO4zwBL7pgDIQMaLH4NAoB5h3z+D8GvO6eFr77oKeb0+ta" +b+="/wbyKk1nwG7+AAiuZIzPlUepxq15KcFXfghqGODrC1xnCu+MaqS8/b6JGNBKZ7cAOmr7l7lPx7Z" +b+="0Pr3Qzcj0AvsNKm4JcDOX3rAvDwqcn9A7igX3yxmZ7+FUgYfb8wXGaQovqBoLGAKUeJzbdgCdiZ" +b+="MSUm+zJYbPmXHonbZl/VDREYyLXJI7n2xlMklziU2q7M4yvMuK1mgSW6VhdA8yf5ZZaVPkE38cn" +b+="H/0ePvAkZlETrPGUmRMccZ+Zz2TCSGaqx68yzXcpHH17IaplZAhG+EsyzLoZlV+/xLQHPOyqXLc" +b+="g2NZaSf/JVmzyiVrIV/vl3tcMagStcqk/y2GEco4LOB3jwHwuLVLxKSLlp5wtcJieV+wU/+vZKr" +b+="6HxPEIZWr3SB1uMLtF7pAq3HF2i90gVaRsJeoC1QL5BeCd2LgVy6ZBR9dnBdayQidg8QLi6Q4ji" +b+="FtCAszIFD+jyH1hbnkFqmkudFqQG38/09dhOU3GE5J5HcKPMl9zLb3CmDs7tc9oTqzNaSfVYufJ" +b+="OGj+wGbcA5+5It3bClV0v2FVu6y5beIdkwjCd56YRAkPyLGkxBOZzf44ovLCpuIZzypfHINr5Gs" +b+="vFV9SjvM8pCyRYddwn2sza7brMZzRh2+Lw0LmQ+yBMVYaPmAtHSzshdW2Il3FGNWcLUeNjind4l" +b+="nerkEC94PDjCbzEfLxUDU4qzHvMU7bKvYj7OqRFQH6Rn4uMuelB5OPkY1okfQfCGW7134UIj5q3" +b+="V/ny2zKLzXrlEqTgYeQKp7OFWVLTTeyfYjX4ePmb0w7d670R/vtwhhgKAO7GQR8nXNHYK1Wz607" +b+="NsL6/KhqmK7fQ6MQ7AX1ZW/+xVAaAqAR9Nd/LnmMNzfO2SlPkp1eLfx2Eood9JJReN3FZHYauTv" +b+="fZxQmW77E6y87QRyc5ii/AhG+Ap3yrF2CpdiqTeC5FslS5GovL3U4/9MAImX9ZWse2BVYWU2Wgz" +b+="/EP7k7/AWF/RsvhB2YNRoIv+NegfLlzidhAixPRmHp/3YoFchY1d3Z240ZoWseUQpyC4cmzY72u" +b+="n12IPi3CvnoLze5BNhexMofiDUJvrLU++znVB07LjCRntUYpz/4AhkhpKaZf1HzxZAr7Dv2jufJ" +b+="30o0eJKGnLg4dGhCEd4MiRt3oDVNSunRGMdOzFFiX/msPexC0+jNvpNTJ17FbvNbiQEgBXKnIgc" +b+="jqW3xfxOx22+SIVAY+dZh9/TWiyivOxK5V2svVN+mxRp5NVS59PVQmvKvvqdsX1WlyJwsDXTJ3H" +b+="q4TThnrnB8hOx2mVDZTzcjxX+poPjudIk56LTb2pLLSXH2W74LtQdSpkp5grXPFsWBx5TjAmM6W" +b+="cM5xzPiw1DiLw+wW2RDwR8sfFskuPsqnwCWLoBn/OS6qeLeCyzU8XB6oWhKnOI9ZJfIuTtjJdOf" +b+="B/9ijbOR3wqHmW23o2LOKbTHPOM6WcKc55qsih1gneff5ktSGUJeC9xvp63t7FEmzS3mwpR9o73" +b+="wntTIz26qZxqFkz3ficV3Ko2TC9h5pN9PBinNbly1KXY3yzbEhfivl7ZDNhW4iUk+cs5xCRChA4" +b+="50oJhK9xzlTV6UtBdoFzpks5L3DO2SIHYC4QmFOhJXB1n34WR9gvBW1L4dvsxYgznDNTbdPKabO" +b+="e5QvfZ2qlLKg49LeUNaTn41Y3fufiFknxFpuqXo4bm+rZZz5ccMa6up0qX9DwVFnVGKwLlYIDrt" +b+="zPoxyyAZgt/aiW0Wr2wX+wFz6+nQUmtBtOyyNrBUASvAIi7Vp7+UJYHw3QNdQfEJzL9ROqH6P/7" +b+="muov0bIWK7fbXB1rYfvDy+u/yFt6ynbziqq0IDTY9fSwq+r0kQgljV95cA/s5xRCvxznjNKgX/6" +b+="+GkG3x3tgrukmwj9/E1LcYFb3BumufQqfrxnYVakbnPuneaMUrdTnFHqtspPk+i2DrdMjHNfXWQ" +b+="ZzO+PFsPft/zwH2LQJuJ28htaZF5u2mTGnqK5PRE3GvXsWyLumOe669l3H+XzDk521bPTHy6SzX" +b+="r28Q/z0QcnG3ny5+1bW/jn7VvbFCfreUecrNWdpOJkte6kLifjutCPHitA75JD4/JyaFyy91CXW" +b+="8ew5PEylq9hnlvDAl7DHo9lDZuMczJOUm83F8toMZDTodzN4Os92QUgO4t1dAIwB4heV92rX0WD" +b+="PARpfa9e4BQEK2p20VrZ2c8Nbo2aCrt85fl8h/f8ktVmNl682lyMl6w2tHcIwavF9FqpI08Fqp7" +b+="pDhQYgX/oWtHR5X7pjpRcjtPKYSn8pX0ysI2OmnuWAhssA+xM1cpk6iI4nmqnwqqVmwmXaQayK6" +b+="97FTCiZepDdhZgLAbiZiuAtDAQu9Gl3aBFZZm2hFFaiSVLb776XYwXr36zpWBYHUvt97/yzbzZl" +b+="e/FpSvfi0tXPsnCzRvViXJJs3CPdebbBSLcWfcNRjev25jVUXKXBN1h7diplwImA8g3+xp87EGZ" +b+="ojkEJbBm+PtUBG+RdbrSFnjzLGwKFqDdJnv1K/jt3qvn8du7V7+MX5rJcxWZ8C/hl6b6ZYTchJ6" +b+="pWBkzYKpZbbtgz7E5/kR3ScxLGLcE0hBRB2hDgxm0UGHP7KoV7MmMlrdWMGZrltsYLMldZpvAsn" +b+="ROSItt1mH4QHi5VmEF7VltF5pDNqzphBuMequ6eDAevspg9GJLyBu0wKyygzKXD4pTiXCeNwPQn" +b+="80HJ39F27LT2F+cyQfp0uJBathBqttB6rKD1L1okJLlBqn3WgdJ54OkikFSSweJP1IL2vMsMW3X" +b+="fg1w5INB7y/xBBlwM7CGWZfs0xe1uEd5cMdePIbobrbelqN8+O5+DT5mEe8lsR3NLktnUfJ1lXo" +b+="EaQ+/tNmYZT22vR7UvqLtLrzIteG6DVCCI3IDg49ISLwP77eHS8QxPgJUaNmJ42IVjtvk2G1C5U" +b+="fGMZ9EISyin3shiFWjymfGHl9+SDWfGfuyOsP0j8iZyX+BzZQ9H06kfBSGzzak7El2B/3ibI+ev" +b+="/fodzWfGdeSu/m0TQ7dPLZO52fGviDGl9vLZ8ZVufAvrgEmxvFdbM+M4xzXMzysfLDIVsUHEN8p" +b+="2mud2sxqN8QcShlXE8waPrK7CEMmhnnABaKzp5I4VsahLk7hQF7KnQtb/PsSpKHEf8MBK+49PaH" +b+="a2SvubC6RK9gLYelsFVG/4Af4jCrOTxc8nBuF2VNFnglpnVb7/PfJkCT/Lxo6i7t9+ekeIssG5d" +b+="O999GKAEBnVL5ISsjeW73TWqwvjyuxokwq63nisYXxUn68c4a/5e7sqhJPEUbKv+OQsoUNS1nvZ" +b+="H6jWGf73ynxy+LCn/LBq5hafxKccUkCICZn4Uj4nKZZm8pd0lb2xMysvRopN9KS7yoT249y8Bl2" +b+="9swM3+yXj+8xk877cL34CW3PRj0x/CQfBvavsI3US4AybN2gr99xrjrv7/PncKE23EmEudW7EnD" +b+="UQaJz8nElp/g4eEdRWmT5TD6GwUnOsqnpH+JPBvOgE0dAGyBmuByKzeulEL6VPjyZwSk4eq7I54" +b+="QrwtfcCjhJoTIfz+OUQ5GMKnEZN84H9nb45Q6rqbBzQSIey5Vs9mNEm+8pmbAS9s65y3i5u4yXn" +b+="f/YLLvLeNn0GXGXsaH4ZbySX5IDzs2euAvMVsT5JrtM9bJ91kQ3CXvdKx93JjpmqMVmvLMw480/" +b+="ZssAuzfynohhZAv4GrPgN2Dxg/NEspzvRCX3nXjBF4Je8IW+s5xm34kUn8676C/ykEjYoxbuEXC" +b+="evCDOwymbPSswDYPaFT6H8PiuKzHps58QBwhtv+ouIYjhNnQGA4KrTNkFlPk9xV2/+AnnMCHOQp" +b+="5sJZN/QaWJQ6gvqjXBduFK9ioM4Ha+V+xnTivZK7qd50EuNPChbY0bDDbXVLbplzQkgwBbY2CzV" +b+="/Oud9iuhwtAz/A3UmvZ6U8KrBV45Xn4Gcguew+0W9aYKl4ssCKy14X3YKqTD/A8aK1FmEMxgwvf" +b+="FF4X8C2CGXqKhXksgc6t14Xc7AH3szj3rNiBsOHrJhwJv+r8LyBfAoSmY3+ixAZqIvktH1bCV9W" +b+="Fkeh3s6MsdTWEPQuGIxCTgTsdZi2BN+/ucJhvAbDGYM+GsSHy5CSdD/bW5id66/KjvEE5w1tvHT" +b+="u8kmNHlcOA8SKQyNfClUgpCWBGsO0gMvCsoznCzmkv4Pmxj7lp5DsfEP6pYA1K+zC2ys0YDLl/i" +b+="RaDi1o4NU2Y+cSLfx1uRCjc1+guMs4HhR9IBUEocz+QSnaWBOQq44LocuO0ckwjPNg0ru0iTDvi" +b+="nwbOHaTCZzVdzh2kS6IBOIcMnTtk6JI7iL4mdxC9xB0kkkhruTuILtxBtHUHse73K/bOsXZKvXc" +b+="4RRS9D7kh9JwfT/KrzhMkWt4TBIf94ghSnHXuF5ePgSIssSeueuwG0r3IDWRILoM6V4qDuf/Ewd" +b+="xzouSDIA4T4m+hy/4Wwx1BsOXUp+xvoa3LhJcfkPHB9p9oPtje7NlLsviErj0SidgxQvwBspknZ" +b+="z17N1/L3fySS4ALXMI8HyVf8uUyip97rTTEU4Vp3s2+SSWvlSGZap0n8tVFviqTJV+VfmHq5Kf0" +b+="1XxVJhHjbllflWiRr0q0yFclKtMuKvuqnHmy01dl4slOX5UrnyvHjv7cIl+Vs08u8VWZfnKJr8r" +b+="Ukx2+KpNPfp++Kn/Q4avy837uqPIr1pdEw+NCU7LT44LWtCcXeVz42eyTizwuqtn5ctbMkys4qj" +b+="RoFrFPHvsvlYe3cLhAmU5HFYE291Kp20M4LQtMlcMwL3FXqZeDLNjoCoW7inybAy4rDRuuwTaAi" +b+="vb+EH4fNvp4R0XsM2jDnfyijwsFVeyqPuqjHc2W4M1eNi7uwYckMudS55dnO5xfni2cX37Fuaf8" +b+="4w1F2fnlzYyFkxHPdji/PCvvgtz5JVjs/BIsdn4JFju/YG/wB8s6v8wEcH6Z6XR+mYKInWHnl8n" +b+="C+eW8EveQqZKjy6wSOTtdyrtonV/OBh2eGpPBPn9GWXnoZ5d/rgjF5WF147Dk+Yoxyxkl55fznF" +b+="FyfgnlrAFi9Cx7JhQLAsJqd+cumR57LvSTVClBM0Nr+aRv3Xe0oIs4xhxMOUhekQ+m62QDe61cc" +b+="B4hxfcDIDZmf7Ycs58yLpYzIH4ulTMGcuWopAh1isGgJAYl3shQx5ITWN9Xty4F1jc2V6PyJyMy" +b+="8LwD4IBlzKQzzBocPGg/+FkfAc1clPxlfG04Nj67KZSdnEDbTn+cSXjZKFOMRjEOK43AAoc+h8/" +b+="wKxxmjGbvBoSmoYw6X/eYy/1x5JMuWGD8/DsOfv4dhypu4yq+9xvRLAuTn0QSF0TrclNX4YOGyE" +b+="WwHZ/vqBrxaQklt5FFlBtxwOuf1BxQVopR6zh7VraY7cgDm4WmKrndfHsWlbul5wlW+aOsm5uA9" +b+="2dChOl2pXts6arr6pNKCjInkjJrW5EA4NlN/HKOP1uRED6CnAQp5yvDWgLWUJtVeTnNTiYIlTr1" +b+="edKgPucEgBaPL1ya1bYF2CT0Tu8hdn8FUf5/9t4Gyo7rKhOtc6rq3ttd96pLctu+3X2lrirLdht" +b+="LcZskki1nHJ9+qG0hFJsZPePnN8yEPGbg3TZZaUmIMNOSOthxROJMFGKIk5iMQkysJFYigzOIoC" +b+="QtIoiGKEEGgz3BMCIYngmGEcSZmDcmevvb+5xTdW93y3IS1mPWGnupb/2eOnXq/Oyfb397wCcIC" +b+="AVuVyQ+RUAo0nnR9EkCQg5H5K2GsPIXFhYV21huoYbQlYBwu9Nkk0a1kEwKQd4Re7cGAOcoBwa9" +b+="KWcQihOzSXraFPwAQKro1Ce8qZPv/JJySU4A8yLxhQkgDnikzaBH2gyKuj5YRdoMeqTNMxbzbZE" +b+="2KwRpc5aBSaS/ndE5/z4NtivRMUOrJKhslXnaKQRUE+gUoVUaclwE3FupgALz1qt+0tx8QouS/Y" +b+="wSJfuMEgX0GVJAn11sQxKUmtiMwvQ3lCQZ4iFCS8tv8ECj7v7v6DgWssjbi2p8JsRU8E4LMWNlC" +b+="ApuXISwG9VgN9JiN9ImN4+9dbHdKLR5lcVudOKtvXajusz0sBuxyuS0XtZfiyC9T5mOJWKcmwbt" +b+="KRvVQ+b1lTCBNtIVNMCM/mJ9Fsbzxm4z/60Q5Ojt3Tt2cAAi0183wUh55oPyfJtJUbIpW3pGq+w" +b+="9InBAGKsuzi6q6nsntehk4F8/QSPnaMRUXdZIxcaSM1oubTAMs44oVRhBsB5SkWKk4iaEnamWSP" +b+="dw3QW0dEjlwH1I4o6UxB1JHVAKDFEaf9gcwiG2E5wN3RNusMC2doatWaZtf5szzrrFQeH2pP1dy" +b+="7+Iqs7tOiWqRCVxAz3zq0qAX9A3SxoKlT6qE5e0gTo5BgHTuUgUVd2DxQ7Y7noffkPYb6X4lWuB" +b+="zNQCFuOmyYds12WcV7YSYLGIM3ussKAwkH8AOFazwLEmEJme6gLLaAkMC9cHKfeZ9cFKTvhHn+S" +b+="IYvrKI8r5f8IJPQyPzwq2pPgs0gwI29fzlwtatQgYhuIwkp9/iwWGrUjETb4EMCyS6E2s7nCqhw" +b+="IMY/YMAYbdr8XefkALNcyD9vcR+3vM/p6yv0/b3+fs74siWZ8MAcA9oM+LFsNTT4a2gf5zWEGGD" +b+="Q54ZBhV8VRIL3Vp0n/zBFWuaHJ82QF+HC1WdsgwzcEDNGT2M23SI7pYtZmpsQ/yhUd6LzxEFz7A" +b+="Fx7TxUWb+Usd4QsXei88ShceCpGtj68+BXQPOHA2M+PPAt9yuvcWjNujfDWNsdpmZhQ6zRee6b3" +b+="wKbrwJF/4nC4GNrfAZHsUBn6GwAbVS5/VLL3SpS/qItncAjcs+wKqL8ZrVs8bcG6sRRXEyx9U5f" +b+="sdUGXF5/khB0hlwu99TGw7oUn1GcTvfJgP4PcFzTzCLwR9b4W5Pgv63/FN5Tu8PtMMowN7TRVZB" +b+="4sLyBUBoTGq2ZELnirBLuUFzVE5aREp1ZPNtpz6u577cM8lcqICl6GDF/cAZujARb2QmZU9EC87" +b+="gmkihVzIHV2wXglY5vjL9GG9Lk7kHnv1z/Dge0y1BuAZ5q9ON1RBOcNL3yCf+1nNsBruHNJRqu0" +b+="McfZZzRxc6HdUcBXec9FyBeMrPuUKPrNcwU9pW+NTKLgKFFq1XMHo9CddwaeXK/gkE8YNApsV9h" +b+="T0Fi7oiNospESPKZqIVT6Iq2U34K+A4Us1qoKT0uVqFAoXi9RoYbkaHWWSOp5AqOAqzGlouYK1E" +b+="LlIwUeWK1i8RDyD9WHCVixXsJKcPVLwweUKfkBz+pNKTZuJNB4DuTBMXRnz4TJlvKAFlLXUGoLl" +b+="RtjL3PoRuPVDQFkP2vXjAe3fA7X+3qXnf/9VbT2KWABaR3+mB6A1mAjF94taaPAeU8XgBpp3mHj" +b+="gmNyZbKAJqfeZUj63nC0+YG7k/uIHrI/5vtAVTyJCWCmclsOli9Z9Rev+ohu26AcrRT/QW/TB3q" +b+="Kvk6JpMdQYB4FAr/qKLXv+ktUKy2pxApVoqfshED1Sqdah3modWfqNo76i4/6ia7boY5Wij/YWv" +b+="RD2940legKXXusvXdvST1VKP9lb+ulFpUMSW1R+raVNvad4K4w9xvgbFmEwvzM7jMyyB8JybZPp" +b+="8WDliMxrRypHZF5ZCHtG2P4Qc7OVUEIW1WUdDtmhI+twiLnHv5Mss48hK6qbU073Fnoy5Dml6bt" +b+="FIjm18AJxOUs2ys1auRmVm7qngEOhQIpCGK3s1n6/9YJ2QK+4nCsYWxSl29mCetKJL75FnlD9Ms" +b+="KZfpkEoed9khcN7WNKZoCj+KWx/5iScXVEleLEgvJShj5VkWKeKqUbKK7CpNUrBDZpblFCyjevh" +b+="UDvHi09bb8u5aSz4IoBake3JBODfCJzSlByK7gxQHDdQktphhm17ISe/p6Ss3ZOBuprsS6w6GhF" +b+="M+DpW3plNrAZiC73jbMa7daW+GLZRXSi/GzZqs3gYGpa/BiEoB5RCwpOIsId5JfyI4uAshnuzZ2" +b+="iBbMEYs88TWdq5ZmnyjOnYDnPYqH9P1keP8bHEzl+tDz+CB/XcvyQPT4oC+VmW/wD5+l3Oyv97p" +b+="Dq73cPqP5+t1/197sXgp5e8VL9DiF/rt8dUGW/m1dlv3tTT7d7tvKAmu12yfLd7vUv2eu073Wq7" +b+="HVqca+TTN7UmZqSYNPen61gOiv6GQRxDVBxDr8m/S6hU67RQgdfiwAVY4ghe9mp1RDIxwYvB18b" +b+="EgjdU66W2ZBABTh+4s3WsOWPWXxshhoL1zj6a2QtPyutjg/jBINp+Puxxu6eC/CCYBjSHtYT2Co" +b+="WsZ7UFiPYYivKwLQBe+1XhfVkeQRbAATbA59+PGEE24BjPdFLsp5YtFEfgq3mUtYsy3qCt8KnA0" +b+="KDsQZ3deXl/WtbCuJ2lprmTJ4KuoNtK9a4VBcDD4x15ug7GXcgJTyPnWf+gwMe9Bn2eq99BjsPv" +b+="au8lo1Hy5T5UG+ZT+nyGnwwvuZ+V1bCVDrpYU2/bJcbSph/xVxtDh2w+Wp+LVaJZbNlSMoUmhBD" +b+="L5M27QhKqy17w4JpS2WvKeeY/BXJ79g4xDaiRt5EOgj0Zsm+iNRYnHFDIaNGDVxWyIJBHxJGxjA" +b+="PeoTXmgm7Zm4WubOnOXVNjeEAoAuhjhKBN1/QA3VJNA92WTPI1MycpKgIwbnKAZd4yNaWZH2kHY" +b+="nIF3dohARgdRAqvf3+Q6eDnUULecJa5i0/c09jZtbM0++bZ5FowjLD2qvqnE1s0VWRgPHCbS3Fb" +b+="P/RFiZwRb6oLJpuqVAeKDXF8JYXEIC7YmjDzZaGF/V+FhkYvso2V1AMxkJVFAuXT4z25h8miKXB" +b+="BY5FJJyQTBFli6hRNoZT+Vw6WtogJwazruQNIc6iiuMSTtRCY/FWTo6hpIibua2jrFGEIs/Qd7s" +b+="V7ImGM8rTqB1AazNXLed2bNJtyMpmnv0EEkBlg57NFn4ZpFmhW2aoWcAgN3BztI+Gar1LqpDUOB" +b+="b6rgwGEOB9664AMGAxF24sXLhHQ+Gdc9l/e0jn9HpO+4lfJXRzWiBScFY4UjFtef0wN2tPN6dLu" +b+="rk/7qWbq5+/iDgRryq3Ui/bXKNkm2s4tjlLX6btDSAvkwoPVtjmzve80LPNcVWFSmv4pV7T1eaH" +b+="2bS8WWpzlW5uFDI1h2aky9aWBDvD2O+U+80u81bLviVf630jZY9F5bHEZllO/kBLnoKzgQscZoL" +b+="smpAM1tDTh2X+BhPPrx8+zvNPDYV0ZH3keteYYOqtSpDZJyrbz9B2JJvP0WYomw9+AgUhBy793E" +b+="E/9yowhiGH4XU0y/+45AWZ7HHW1sQ5671fNet8zRY/xW4+QZs/a+uxXP1eOHz+mvBWRlu3cZiHA" +b+="cbyFt4Cvu8m3mpzKq8arPq0ooI8612hivdVUgoOgCI1NY30kzQ2tnJiIpI+BiR7qxwHvXVDtkIz" +b+="LBvanaORaDdpEaYvZebn5zDvZ2G3O2N+CpRtnD6xtnUsUzNZsK3Fzm7h/rc3xnR86xhvF6E7Sm0" +b+="1kw5IljGdfpQnf8nfQxMKI1MCyQ5ES3WXJjY1M4urfMUgRL0jZEQbSw8zGYkNDGOiqWCGTzsS0y" +b+="h9gRP1uJ8rbNIhBtRnkVBUIbUp909F9wEgAvZO9zR6220t5k8EbSpDWWxhzG0r26EUHIFqMz0Uc" +b+="kGjyRcjXZekBJnzYQCvkS4oZ6FvWAP9QEGTGgawknRBgHRukV1aPHgiLjMKhDbP6lSQ/pBkJ7xW" +b+="zg3wUmpWMFkfS1vp13kKmArFGw++Tp42yqcgwxi+IOeAmZw5PHVO3Y1cXpwZzq2S4gmJbT1oAaS" +b+="nFQ2b3UByvg5SXRhFKGsZe7lMvDUbnHrfr/7FKfwb+ec7qnt38ocenBrcm9X5qXP5oHfYseJkiY" +b+="1jqSdoqetbkaiT61bNoRRnDeFjG0ANqXqVtqKF+hXTjAX+rWCa/v55ML2jpYVnF9EjUfqv0CLl7" +b+="mubPWcnBVwac35Iplgu6cVIGE1lAg2vDtvXgyCKkWLCUBkyoWjDtr5MkiFPkv4YaxLVz/W3iz5X" +b+="YiXY5Kym5a7PxlfPGrcz0rqxJ2vc0arzclnbsx1/p9S9dJD+3gmi55q7kjb2FLU9We0O6kfNesJ" +b+="Ep1m4RUCgskXiraRmJ60JbSfAW5sWLUMScnSE66chTwxmvAMlEXLawAwnRbq1FXIOXmTiortA5U" +b+="GNQorBtSKl0Mi9dhM6E6S1aTnAV4f2ajOZME1CCgcwppOfRNTG8R9ADbftaDGtSxd0xy4ppbVem" +b+="ec+6rI/Ye9Fv6dRKUmCeN/HjntvdnSDakg6y0ganLMYCwDgm1o39ypLbTsEEeOqMMsZn5UB73ZV" +b+="2CbtT+Gngb0UgU74qWEPeaVBL4akCQB1J9hDAP+QOQqUxn1Qe0i42cO8+MkeINKzwe2Hi/qeYjB" +b+="bsf0w7SZZ83bg7V77tgJfbmD74T34oQ+IPJ4DWW374TmcBFSicTudbGTxHkAx5nDIngS+KcKd9L" +b+="MHrTiH3TnaAmL27rkivJHlg3Aq238jN8MgzlBPp3O4uYWr6aKGv4glN1yU8kWcXJ4qHPIz+drUX" +b+="zvMmePo2jaupRoO8JUNvjK6EeERWcRXdqhpuKsfilTdNnt9LRxLDYF3N4qaG4Y86jEv0EeV5Q4z" +b+="pcxQVyPBtxbSbiTNgeTQ5aFUr86/pILU7QxMvwN20uAM3C14rO24rMs0irFaB0+t0NFWRCpl59O" +b+="azFOIBRzYOubm0ERbpuosFIWIl+9BIR1JKjN7MWDn0wZcyRkIAs34TxpEaLx5J6s+0S1Qt75/5x" +b+="hP4Zzqr6hhNokNptTgZhpr9a073O7rZluISBq8C0K3TYJFLdRXLJV4C5e9cyyhqVAlZXQCCIfDK" +b+="dIOxm7rXZkqawa/Y6N3nWj0rVdYI74vsP+5jflMj9GMaQJ5Gb9quBTMQ45SPKbGZ27gRAJ6ON0P" +b+="Y/Lp9+foQ3sCeRHVA3PtFs5EHx6nlSD4fl4YuATNa5y+QQUuo1sIXUfJwbb8NEXTanDqDlnjtTy" +b+="40+VJR3Zc4A/qYz4tbPcmzBlbc2sLYZ0QRDhcyRUecOGih8TmKN8TuQrJ08oH+bJpjphhAvKydG" +b+="bVzACRw7ZGpvdI5AB5RGYfweTReoaNP5u5L9iaZL7yHV95yIQPHiKFLTcLmB9hGjCnP8YHnncH5" +b+="BFrkSFb0m2bKAcmBMY2TBzIR5A8FJ6fD3wxE7hegu95SdVs8Hyq2fmK8KoZw5eWUdLORwleKmkX" +b+="Qgl+AUra+V/Y1eZWroPV0RAFG5Xv0ZTIDzF4eh0srVRY9RFlWx2MR85DmpSFivZMR6c8BnDKY/8" +b+="qufmA1aNHrbPkzaQUwTSD3sR4nZCxKdE0fIxZNAO7HQn6yG88odcVIfBcYQXPFXo8V2jxXC6jOq" +b+="e3zmMnaHEWoRrcddqs62LVxyjkbEJ+7ceckUgbNTbaWDB+JQuL5mAYXcYUcxiKtqlaGNc+ycYxr" +b+="GAzJjPzj9tAlC+GqrYPtnu7wtACdCVPgUj/XEeyn8D8zPwJoJcmOcNQv4TGNPvBiomGsv/pSKlQ" +b+="LfdfzADsp4PpFqfA2sT5y43a8WNG7zb1neAKeB66Ef3+HX6jxPwNfiFwConSW7g2dO/tVo1iFJc" +b+="vgZevnK6L5YOx+Tqyd9GDe+1wBiRPSABLGhbNmJ8Pto1xSgyqp6TEMP/AvCE+m0TMcz5dEtfjgN" +b+="41MVAs/wddhCqD0fIbAVuRDKxfeBxc6vNSZ/hlsXkzNBw0NBo4l5hPMNiP0S2T5kkOPqfuhZzOd" +b+="MfglrGMo8SgQEJZHMs5WgbSVSUDbKaT++3EhFya/8ti9PItRrOlxQiQWRytEHvYOedl2ILOwCKd" +b+="PKVJ2IO7TFoTNgHOuL2rC4MyTxE0VXAqMupbeYsB7rpLgnQdTaYKDY5hbr6gUBK1kiBzfQMmxkJ" +b+="lg9MtbZF/0JS2iYwCNSfE0gm7LPs9kEglZwK/wDObSz7WfABfCgmP7vt1WgmfQfWhCPIeKxL+WZ" +b+="Lqq4a3IDGc5iZUm0QNPEay0HLONdRVLyA1/OuQkgVE5EjyghOQhc4F9M67dnAGU91FChtE5yEe9" +b+="JYWx0HuhIMyi29mo05iPoOF+2rz4K+7dRpJuZO/0yQcSRCc7e4lerLa27mnxszrz5Ok9Zfigy0p" +b+="7fakU5T+H5r1bL2QvsthK0G6nlUkZA20q6ubkRkArjkyuZFJZ09/TJRhJzVKanDU57queYzBl5z" +b+="ViBNbygNU5QGh0JIu8YAJfsAEPYDfyGXZo+nH55HIetd431VN2Zurl2gxeYTpQ6GXS1EpBPsl7/" +b+="huCD/6Oxd+LnCWOY/Io1+WyKO/DZFHLynybGQpZvNSApj7GsNLzC3N3rmFZZyPD4geKa4tF6C+p" +b+="CZjrUp1eGWs6aMhAWx1tikNmPv/aiHAptge2MckkOKEi2hBlI+QFYGVFjhb/4jX5QFa5m7m3O/F" +b+="tL9XBPSVS1wec/QQngub8deo4/8ulMd4Ah64Cd1Jf6dSRtWyiNCw9NPKQZnTVrA8MHhlgQymMys" +b+="adZI5GmpgUFKPm6/SsTimYzVmVCmmmdPlGsmACqmE4Q+tHvsiJ7I1Rfon9M2B9oIUITsN7Fwj23" +b+="VeRWS7ximQZJuH86Bso7OZlmxzHpgB2eaHsuJ+h7zANarhnIqohLzyNQoDZP4FTtQ9f4TTCtDGU" +b+="fim6LKLeivdSMomk+aqccPgYzEOa6lz36BzsTt3Bx5Jp+TZq/DQm2Z4rkclbpWnI3gMhyBGnbbb" +b+="ZnDXDjZqobpHwp0iYJn5A8f2bbHi1vQOXp0i81oqTO3YFFzEe6t2m7PYS3mvttufXsUHmuWBlUY" +b+="E56Vfu/cY0x/NH/ncvp1SB26uQFJnzqtbhesoZdNypUb+kWeWrNFKYy1y5R0r3TULfIfRwj8TYV" +b+="sl1K+lOyyqn0ComvI+l/Se00scc7B/azgtQk6T5qeb0K5ikGWYWSQtx9sz1fGW4s9wz3gr10J9l" +b+="Y42SkFM4uBKeMKWEAijSamv+TKc/3IIMkTNPPY1q2r8ORQyujrZRfJ4TqJuDqlaLEZmH+7ejVxk" +b+="JBDsMgu/fZyRLnRxQS14M5pxyxjSeWGyjSVNHYf50r+bW2K+ztmhQjIO5+ndIqKDOyPBwds4xkT" +b+="vop7pH3HxblIMnozzWLLlmWyafd0nKudJPIGTWFifjrkT586RGAMfd5LDb42Mit3NnNeOPSbQEs" +b+="dm6F2fjHmJfjLeNiYUOjOId5HRLeKcNie+cJwnX2Z93ia26pBuMUfoaZYygBPkFZq93IHL1Jebg" +b+="/4KDaHoraGO92mbKDpm62Jdcp9jWaSfWPIkkqoH0EvDROynQDpY87dwaH+d/mQDY5xicGAMJ3xW" +b+="RL6KbX2LjppjuLfvBDileY/UnDqTPvtHPYfLw0XltHPuP2pTcCkymbBDswNJ04bkIYPJpV32m16" +b+="lGyRA00+aAz1QWx9km4LrsEWrCJIqMdPOJP0kkJJipLHPuIBGF1mX2swMpNOrWsJTYt+A90O7TE" +b+="ndWwxEaJv/Jq+IVUrqnHMCNqos5Ns6CQR0G1Mi0NIcqxYnso1cOJBKfwuLDVjTQ0//jTDYolXwZ" +b+="Ag02kSxIt0M1jMtWXMs37zkr83oSJrS3yb/SprSGi28+z9JY+z1lt1dVkthd68Jg3vIyZo84/mg" +b+="OzqJLKfuaF2YzUOuIQTyOh+O3eF51XtYy+FDnEnAMZM3hNc95GhkXN2wV18ih1+wV8f26nVy+KA" +b+="WevOG5Z0XXndG/XHmWyFZH3KXn+273NYQ0dENX8OG8LqHHKZd98+sm5ocfjaUGqLiDLSlFrJvVT" +b+="Km1/2b1anRfhqWVmqu11NZb+Rsb4f4C8jVyPk2AaAbx1M2qfHXOeLEsEr5zmx2SJ4Idov1wbwua" +b+="vzNj3CcZZi+Gd+ZnxZxtoMQ+yy+ScLW/vytmzPk8nI9hSG+VAZnonuKc2aKBgvqsk3B9gyM7yCG" +b+="/w1OdIu6JgcisZXZ+EVxH/NkeC7YJlFzjUKiIQUel/k8rnZSAmBJUmTTBK52cQwmTQY0Z7P6s41" +b+="+UeHx3ciQxnjECCtNW/JhDjMgKBJTXyrTLCARkDw5eQNWvp/AcIxgN4OWI+KzrFWxFbAjl21SUH" +b+="KclFAUVZ2+KwyS9LRisY8Bc4zh0m5adRivjFqP8+3x+oJkkKRLKiseKEg1Iicov+oP8V5FMljBB" +b+="yqySosPkGxTnxXxpmkkEXulFH8TSxvN/jJbJhRhQvWV6qSNpuE0liXTGX2vma3SSDRZvKF8XfuS" +b+="IafZtex1KrP+I4klNUHydqRStaakuPzSvFQgrafaXbCFIQbsg1m2MuG502bvLBwKrxGnxHU8YlC" +b+="6RVWKos5sGACpNqymAOYbUKSmRQ3Q/TO/shCYEXPiVyyGj3WZrPZGeAg4NcKE5NyKALNibjwFE3" +b+="1aJu5b23XJ1122P49y0Z5iQA8zv43YVJU4l7P6ljGunWAoIz8Jx0C7sCVYWQsxLQQ3FbwefN8W9" +b+="sJIT7rJ0V7p9EN8lpQxBoexdIzs6ViYIhHVIBI62yItKpKyncmCHrvXkQXRJBGkH1E5s8C9Bl+P" +b+="jig6AuDerh2FhqVYO0tSpnZIFKxR4F29t6QcsnZ1aK5iNbUHFA6ovgNYhsWAdVqLlmlpHcVT6eE" +b+="CAlYQAsZalSPNIhdqW0rkAhTVQfYFJtZvVieBSRxksR2FialtycISRvGDs9W97TvY1y9oBS59jC" +b+="GScVafbsWV5wheZGsrrGIbxPfWgOeTM0kt7Ukx3NIQG9lGD7xNCBTHoEVxCLELPftWnlvkidkOI" +b+="C9KuEjIwIue3cnEUksmC1pGF/BhEfPRkII8LXNajAUltP0UKCjPX8D7adezF/A+DJdlv2ZnhXWF" +b+="Mn2M5BRzDM5sVqLBEvsjzLcCTHMf7SnoqzUb8bCmRRx5X8/Kks4I86TfF5mhv5TbRL5xWWZqSFN" +b+="Ws6QuNDruEj9GverECKsejNjtgAXqNiGEORtIC5KUy8gjsX2YKyW589SBLwfb2TEAywU37AB8Ki" +b+="TwRzNwMuOC+aKBn717HialljXWZ4I3FrTA7zKf/STJ4dcEwQ1I4mqQ9QSUecFdVvHtuyKEIyekQ" +b+="s8df/Ka27NGHrB1tPEwPe7Pgq0MVtIzTNE50O3ycfYz2CdGy5Ys1orBW/tLiPquk2VKVS+Y7Epu" +b+="WHBqfBy5Ul0TmCuzcCZd49Clx7UY8uZVmZPd4gzawIbNivUuA7gmeDVkD1oujCBkRUCwTEiMYTt" +b+="Huj+7LgI4LUJ2WoRdmZeUEBYMbcUav5vbyKYJCsxb1K1MWKTMsU+ycM2l0TnOOZOuyQOXR3yp52" +b+="38R3gcT4zzyjzySQ9P7t2NXK6n5GFqwr0Y4FOf/NTXHzz98Ds/3AQuRW0/PKX2FFiN9RzoQ7Yfn" +b+="qNrXvzND33hlz92/L7PB3OgaQB4RTHyhbF3uDCUC9UchMPe8xHOR3KeOTsBb+m7JgaaBccKNfX4" +b+="79z3Z5986u+e3nk3gDVUKwu4mrrnM39y9Ct/8NmvH9t3N8nKGlWhLo6bapwAUOoC7GFj+2EIX7c" +b+="DxlIDgyaPa376m+4uojlJPXU7sC5ykUIqXM6ZSXfa147nSOlKjonqD/UutAlGaac5zZ6WYUZUDl" +b+="uG9GhMRDjRo5sisVjhs1kwjFa5BOJMOArrxhinoINsCDbYYabBYHs8FzUGSBM/RrvCxdMPUyqsW" +b+="5thSpQ6dWB9eOpLxwOmqGC7Jk23ZpihcFkwPWahCwjWFQCn7JL4+zyymT/vs5mjMM5mLunimSYV" +b+="8o0WjR/CCt/cTjLL8Flw6mLUXyI+Ajmd/KpWqzgzdpC3ZLmNxMK/QlbdWDg0hoQws8bGYiQYwU+" +b+="djc35SuylQHFN6OF8FfaGadFGJu38Ih7ypErTXicfxl4nZ/NRll+MvSwHE0kg9hZMNXRsreThXr" +b+="tzNlM7N+i1GRSeZnbxziyc3SlW34T+H7b7HQZdDWYX2f0246sGslV2HxgqsIastPspQ8fqWWr3m" +b+="4yxqmVDdh8dFav9CrsfceeMspbdD5LHtY68GSS0YJ/A+hoZ+2mUh8rGTvsoIsx+NbGJGM7mYa0i" +b+="/wNWkRhWERpoY6yKOLvFqMBVxFbABrPNks4mMH8vFoPyaoAH+NFCtt4GuiQUc0fozR2hxWA3ODR" +b+="VzB0RzB11/OAzhpw2CuaOEMWwuYMjwiYhU8PcEWZ1mDtClg6owW2G9HbXVdQSb3urRuitGsmmgN" +b+="uXBbKAGal4uvswpBZGgOL7cBAUSJ22IBv6OEu35yQHtEK+dJJEf4x0kN2kNLC3c8bc2E3gUuhgS" +b+="bODzPnV9U1u5NCiSPXcVXDYnxae3jD9uGb+vXdQ34O1TzMckm+BAsnYCi1c9yxLhrt4QoCCu3o3" +b+="fcwuCz3spdrMCRnULgh1hSsxEKxrAwhrdLZQgPqB6CmCUxXpuD3kArIS0T/Rk+3FuDX5ReuTtKr" +b+="O0qp0aFXpfYysfl74aeJMVrpINFCZjxoiFfNUw+oo66vN7lJaqe7RSnW/Vqr7tVK9pFaqe7RS3a" +b+="OV6iW1Ut2jleo+rTT9Hev6Er1S65DktkyLl51UEWUz3A9Vk3epHpgj+s+0nW8h7GghObR2XdZMg" +b+="QwXP7c4uCEWRpD/6TMfJuG9qIHTEW4e0LGxvGBd4FZgwDRaI/kMYi0wl0kTMVS9ZYXuHvhPBpFf" +b+="2tanJegcAdnipehtRKFS1ReEjb7cT37eRon0dpV9IoM1JIIJ07ZBn/ffX7nvH1jnRWD7QVD2g6C" +b+="nHwTer9Lkvb5eEfT0CvGrVIvw15xZsoiWOEKqd7TcNa4TSC8JsK2S9FKLKOUVTqBGK1lkFeXo9a" +b+="q5z5z5sswGTJ1B28wpqwtLCc3LXujWQvBC0RbNO3nN6W38ScwDj9PUdm6cjb7nxreNYZ5oJL/QM" +b+="0T/19h0Y/ODWqt9DSyZR5Q1I5PIf59mPxPNvti6Krwuhx4YtnOm6Z3EYiSQ8BCo8QFW4DC5XhVO" +b+="IBgckHBhNfSocAzCAZJfweETwi4PuTUCbJoP/ji7DRqM8GbUdWRR15Hw/9SzZI7JARt8rubOvZk" +b+="Lq/sbhIEIwL5DNpb6jpKs6DZOb8Cbt5S0RTdtDPeL7+ZMYCO802skFpo65gdC0dot3IQNsmd+fo" +b+="FGM3xo2kSbgraWVO/pk6oIW6yN2G/D2eXhZfgzuiML0ofdBXToGT6EqOXq0T9H0XH6fneo3RWZq" +b+="1HE6e/BqGefQUJNOxdgC4IcxcjMGBgmhGVVdBvoRXjeI3EF/NiQl6BLvvf+BatLKof7iFg3VVY3" +b+="VbN9l1FHwRjpMo2nVTVDE7IQBtOWBRAzwb39E/n2SQUf4VsHTdbbYOuDJrO4sJWFizH/ta+N3Q1" +b+="56FApNDp/T6taD9yT/elVOJCHpSwPB7Lg96AMluCpSu4fNIWHAEFIF2OZYHWEm+56zSJL2+ibRX" +b+="jpiGyecRKU1BF9MtbsHcqL6zbHBfSbOp4cSYoRxAOFlgYyFKMmWyRRT8H4cKiTr65mOdDG5pRAU" +b+="QsELVG0iuFC5gRjjhIE6/e9sw9j/GvFi7XY+2MPm409bDb2FOMx/3CuTzFkAYmPziS0yvbXUn8X" +b+="dQRk1C0DeARQrMQbBaXFB80aVwGtqaXRrZqHTMPuTwV53SYij4SYGVFl4lZjfubaLMJNFFWCJgv" +b+="/eAjU/unJO7R73XKER5tlEW7yWp/BjiSf3WbOII1XAGHQgYDl6uUWnewuxSw6wbGn5rlvLQQC3b" +b+="ps1JLmOnO1YLs4Yu8q1k9UmamDGUslFQKrzGLfllplMWkNhlaL9HMgZaSBhG34PqqGbu6B9k6a7" +b+="N92vPLxHc7rz9Ui4cStcuUap+wa911f68KXvdbpl1jr7GJoRZCrnLDxTisLCJxN7xMXVmjBgzzF" +b+="/+FvcZS38jqcsJ/w52QJoGmBtub3+q/kyQrNOizMryPShKlDCza7Zh52pWn0Lp7Ghc0Iegoen8v" +b+="80xJQmJyFNMjz5AhbC0BgEiE6n2vwInQ5ValBy4pa5sWP953JA4s4NcHNHlB2Tvnm4LmKFiqZQl" +b+="kQ3iyYPMXStxYtXVm8m0wtHLXfFLQFYJPaIvm0WTfNd128xF1VYQqR/mI1L49Jh5WaoNgGBG5sD" +b+="NgWGMRTxHTSXzy7XfofakG4Au9N36USlwYqSL7a2+2XkOv+5+/zf6rY3GWyLQyh2wc+BZKAoceL" +b+="EiHhRdhsiGJx5AvNGXP601dvoe0vfoS24y07GLj/weeTGfPVBMf/9Ena/I9te2LvrPng2cFp2vq" +b+="lX6TjK+zh18+aM18atAk5AvM7n6VOuc780ufo54Qyf7FAv78ZphuGEhCsmE//zeCMqfl6AUR29u" +b+="5dWxLWpB75dbp4wryIn/+ozQeO0e8ntdybfF1pLdaftMe6bXUrG3LrA5A5rI5WuFcAwBhzIG0sg" +b+="bQqmYJWwXxGTGVBK01tigQOWsSmgh+KbprSeY3BOp/+DE/R/N++t9K1IVPd8ywRpJPitYYtna1B" +b+="lRjZnutea68LFl8HixGkaWBOYNyByQFm3cTSvST3a9XY1/fKAgKNXXBh1L2VvXFgGzEMc9k2Ros" +b+="gN0KtK/nKbTywhAJHLs04MxlHYrENENBFd9+gtMTU1nlwM7exHbLaBsnd/9cCKi0GANSKBC4gGR" +b+="J2IWwvtL6qlpW1UAS1/T1/Zb2W1aHIEt1/tbY2NmU208etA09qxKTDtpe7VvmyHdE3SdoTdolVu" +b+="L95VvD7DXGH+fVa+TPX+ZihSb81UY0eymCvlsQn09Z1QoWxo6v0QvtcJxJrWwnlua4vlGeyL5Rn" +b+="wu5T16b3Ec0ZdXi8fhfwROfOnRuf3eBVajpR2wXZY3Q3XtuejeQsFJGe4w053uw/3pTjaf/xVI4" +b+="P9x8fluPt/uNtOd7pP96R41n/8UyOr5XjJFklf9jocZgKPIRkPSeFXefsuBEThgecTsA8eJbzmf" +b+="XHLF1A1nnGiIWMuJlZcSmJwVFcqzcGBpNma8VQunLVRcMXX3JpYAPeI8fWlP6aBtNwqSP2wpINj" +b+="EscS86GrVBUJwvFHyYNh2S2cLMF55r/dN/xYCIINgTCqmA+QftXBcFG3v9IuWOR5w5TIdEu2rzK" +b+="soJo85quIENZ5vy6VVoeeyuEvklZ4CCPPs+WZyfLXsdbURffQuIX5CuytPrLvIQiUgZhCRiFw4x" +b+="dJcmApeRX2ehLfrTdOnJuofd53wgsBMRkO7GC6V3Ui4/dd9wSnHX41LH/4PbbvhrX+Uo2qhWy7I" +b+="MRfzX5KkF6IBQRoDzBPlsUKUan3Ac2ZCzW4StAWm5egiXm7d8kxbONr3oxdv/bf6fdMewOY/cPs" +b+="DuK3Yuwewy7I9hdhd0j2G1idyV2fxG7F2E35ZL9Lq9l3/yG212B3b/E7grstrD7R363id1T32CK" +b+="WtrFPGI+688O8nP97gA/15fcwO7d33B1ZuTibz1PuzdiF0Gu5lHsDmOXIyreid212OXF+tzXXcm" +b+="sdT73dVcye0xPY7eDXbZ7Hv26bbqEdJDHznLiP2Z0ew7bJ//WcXxF6C1NoW9b57eGLdlMhPjdUL" +b+="aeDaBiRebUNxcsdpvN7owfm8g4OKGLHhbx2Adxe8bbWVc0/cilJhRqOIERnIWcEO61uQdCzj2Q2" +b+="SkmvY/XNDA2WwSltr1Z1hmHIxOCUCE6EQWQtdYi5kw5SH8TStSOOGFDzkSFVBGQ85Vl4RTNtqBl" +b+="fZLB4LxEDtNSuJE9MJ0uLfW8tdY6IMPMRu/VN0qiANE0099XxgrQQsXh4spD4UdLvhrpRvnGbmF" +b+="ljjvbBPKueH0tBDM/ypqk2FYiPj/RLRp4bTzwi4pTH3iNoZZ+ShqbTbZ1l2epzgaAunngwzYd2E" +b+="Al1dIAM5AxRDjhrB/7Q6T3qFXXa4d+UX3oF1WiX2qyXvu0rnDgrQ8mWGMaRUCbRaw3BA3mo2cba" +b+="OlKRt4GsHGRNzaQPCldcJKzkMj3ntjMghQp9Os2cpR7Bx/gRFAicYZx4DXlPjMnvsruy0eK0wNl" +b+="6L9A7SVunXtY4j4a9zEXmshGBhvqWwyKIMJZ6qSPJXIEfUxX+5h24cBFE31MO5MG1XJQrAr0Asl" +b+="Gu05YU4DYnXTW9H1M9/Yx3dPHtO1jf0ijas6Z2JGOM/w0XKyyDjNLXGTGf7Jo7ARBXsN8SrNQ6h" +b+="kUfoSjcYLXsafuMd0Fuv77Dp78q7d+/dSf7vuwhTc1TLjLzP8hdaarw4CtSMEtItriCs34rF8qX" +b+="KFn973BP+DsuTfMSp5OT8FQdxQM8lZxFr/fsTckksCCRcknlXccRPJVhJXBBg4ErxOKceG3wNTx" +b+="x+JBztlJazF3Ljo/tMuSOIstJIo0gL/iexpyT9OuXoysRPY1+EEV4iVDoeURjxNsYRu4Uwl1kj9" +b+="aRpD5YwJ7sF/MysjPKY8wCHsQBrHF9QnCoC4mSxG9BfPXFNwAIPiMMGiKpaIlCIMVgjAYEoRBKi" +b+="bRlYIwWCWW0YsEYTAsnWkty31dARRclA13RRhcma3qirg4lKVWFGllK7oiciZZsytC6UA22BWxt" +b+="W6RpRKlatGWWcQsWF+yGsGkc3JoSSmKPi8ggcDUp3k6dywYmIHd1tEXZAEKZQEKzQCqG/Isj6qF" +b+="+CqZTI6PWjJVWtoG5O5hK41xiXZrf3+Jg1Iir2F9BU+4giX3EH28L5Y2m9AidXnh6hZqa4nKhgu" +b+="eMykrjqSBLQaobGVR2ZHlFwkFlR0KFWbYh8oOLSo7zMQHyqjsCnGpIBhdBJFFZVvhGOgrh8pmBR" +b+="cx/CUq25JA7S/tcUD1PfGl4/JHqAkYkGD5M4Nb6OUehIMPf1hUZ7YYLAsgZYWfF/a3WNj2YoHcx" +b+="OYFNneCqOQelkkb5oQtX0uZ2LWodowp7JpTckm0D85/7ukrlU0ADZyGOy9xJKdlhwYAXeRKp+eD" +b+="Xkrqhw+TARPco+AKSSDjGBpB8jHLX+EDbTPxsFiBurSILY64jWU0uFBUibGtuDACuDCCiguDllX" +b+="rgLqeR7N3YAzL0G+zfJA68SCrjhfWlhaCaUtam0lWqyy9UaSilg1whA/w2M+VVOnrg2b6PpXkyu" +b+="UvUi0xJuChkXVimGckK43MYHBVuMi2Zh45o2UWJZ8ph4CdmJk3j2MnBJ8iOGUZBaB8CrMY8WSoM" +b+="o2C2I6C0I4CH5ugJTZBEhD3BSYw7RSa+F9LYAJP2IGdzC13L9tRAsF/Vbl7BfptRUhvonBJk8Xa" +b+="riT/lDclNwR4wqFmmzcFAxbBJvVIp3O4qWJYRwP7rpvFcAZSAQXTryUqjtiOrMWOHJdWVLEjG7W" +b+="sJXl0OVNyYlmLnDX5bTrU+9ReNVca1ivWN9Z/aZjDJ3E1vMMV6dGEeE9qtevDVMy+EP/M8+D7/R" +b+="HmGlBlkKOV8nhZhW2WpLvCWgTuFEsTCiMhQsCLWgwp7W76tupiH92IQHgngC1dkH55BXlz+mfth" +b+="7WvF4jrEKMt/TsJZFY+kBmbKxnzEqgABdLFiTN9Lyg2fFsD/EAPi4ASIi9r3/464PRshrKPkUdo" +b+="Kd5zVtlZQHKbWtN90+Iyhp09PPmzHmv4YjuKrJX0OevWRBIIECSyZvszp5CRxnwNP0LAYc7Sdvo" +b+="mqJ/KPInjA1b9VOb0Kc4GI+qnttTUTTrxcZxomaP4qYnbZEGK4VyoHznFjnJRTJU5yJdZxVSZ9/" +b+="DNVjFVZv8pzm7yax74kLwv9sFP1mwaVshtGBPGSaq3uPRhzBtMU4kLmLernkWDxBIhPs1eZhtgv" +b+="lLiPDCkJURem+e/5uMy3K1GCG96Dujq4OAv+mnvj/ER8Pxti1Ai3iP6ZpGKLLRVIt75GC+yxTT9" +b+="uWYa9ERPw77NLdbq6T+5bTjueHe4J/iQdIU49FDi0GMXhx67OHQlAdnVwvhT26pLtWPpjIhE18u" +b+="cQyR66M7dgYfyKcShxz1x6FuYl6CMQw+XiEPPObKamXfw2xuSfussCpaY7Gq1YxkTQs+jJAa7ej" +b+="5c8ii33KImsOMq197TxCnzMFQTa2TnGYTZTJ3lmuT8E+X4S5wTtndZyBH+GMD3k7Cjh34CiaKBj" +b+="5dXqVp6A8RhCMfpDbxKJLT40ipBP63KGgFkq2b4JktrsiBstp3efFNQokHVCypn/rusFEFlOUh6" +b+="loOPKk8ZEnkQQeRBBJEHEUT845HGTOCEwBhx51eRAVEfMiDqQwZEHhkQOyRCLIlb4COXTM3UWWo" +b+="7hSUuskEzyWE0eKnUWZ5hr9hxhiZMBhG6OqyfYhpzOl1slbXIKmvcHSDqiiyg08/ppOjX3CwjdW" +b+="CpOS9Ee3NcZx9WatBqMh5aEqRf5rV5ncgBE4UWvDYrdpkATTriEWoLpeNwwYpdWjQEhDIg3qLBH" +b+="e4/pO5YoBYbNKfrO2ezxmxWp7abzeLZLJpFO+pZdtDNr9k5yzb86R0IU1WinxxS1nZvQWWBeeEh" +b+="moNf4NShkVhzd8EeQE8IZjibCKeDNANCrDJPvai+mwrkBAuSkTWS2zntb/o5Vkboxf+SY4OB1Yo" +b+="zoT2Od0JrmCGRe9/O2bIkXMl5p8V5ZDNpJp8uh1t92eFWl+FWl+FWl+FW7xluPMjqMsjq/2iDrN" +b+="4zyB63WQ5cK4dI00uN824ljCgHJYERNj9MNf8aI96uCT6kblDPcqK+h8TM+QwiHySs22yyTUz3f" +b+="I3u+SW5h66/QTGOTm2gsuRJpEjWd9DH2mQTHCNutM4JNBrdHDQupyOPtky/ItzVTH/HB/5IDqT/" +b+="hZG98DsG+EqvwSTb4ND5zyjz9xLt/Bpxe0eIpoebDD3a5F3ZPWPz9UrgtZZM3z7wWnMS9FjIj9c" +b+="H+1UxkG52SYRhgHZ3acb5lHdx4uLI3qWLQb5LwrVrNjpUI0s4K9iIptcc4s15D9Kf5gjEiTKhL4" +b+="eTR/yrOTQcMo6E8Fcu1Yj99sVHNKe642BWQQdv2jh05FlF1m7EeCsovduFnug2+nmCG2QQwd4qG" +b+="6AfBq9gMCFA/rFPLAQSHI7evB2Sy2kOXmcTsELn/Zeg3NjHrkvJGStsaCaIrQmpLlGiIjk7GwCu" +b+="xi3+au7I6eFea6frdT0BmIkbw37dsJC+RWisdDEaq+HdRMNs/uxFY2VLorHabAV1aKz2Mmisxka" +b+="ZdxehpXiO+0Afbsar51bG95I7i0hhDx6lIn3LxYMkW/7D+WAzi0EzItv2ol+8FP+4jTY97aNNQ5" +b+="MLRi6EIpPLMKdB5N3xJ4MeR3kEC3PFUQ4PS9VR7uI9J63hv8e7MCR8F7kdTDb3e3q3MuPWYT40D" +b+="cmy4j8HvJHuAx0Mzz5BYWk7YuoaszOOGNOezOIFE+3m6D/B53OYb8yXyAOVxXdEu4XEOzZDs1KI" +b+="BogfxIrWL1/jB9sm0c78TsMwt/QKYuH+oF3TLDlV4B0PkE54RmqXuSRS5pko3RY2SXXpuAit7Y2" +b+="6zP2curqUbmLnGhL/RujlGnw8T+6JCIamip0RLUl+TpXBnVzB9YEkIOaVFcGgPmBTI4JSIiIibk" +b+="ObThmcj9FuREaYoa0tGwYJH9hb1K12Xa4ERVZCKrl4CakMEG8aSrwkhJUKyQS6OmcXzLXt+Cw5b" +b+="GVgVgyCHrbnCy8WLQe/zZJXU2woiIfoQ4ZEjMWaz5BPib4029EFJsLLJAIKec4tLY5ioXQDWaxQ" +b+="yfsBeY322qZzpUN4glgVph9SuXK4TpXeiZlhEiBf4OKZFf0moUO/Razkt4mAM6G34+3U7AY9h7V" +b+="rg34zEDLAs2tAeX4cuBdOaQsA5x2Z0Lgj8YXipUYa8Jct8oNtk6H5Fuk4d7FsNyP2cj702rtE4M" +b+="tmxHTOO50ZsZ7zTnvG+vJZ9psRGzrvpDPWcMjz0YxFvrE0OGPjocy3vkWPEOoFa8gyf3LWHgpg3" +b+="kz+d5kKnTdRm3FGApGYonfk2nkXP8oJ1mFXoQVhh8kw7s2hR22SdTp43Ap4dsR9VPUEbVRMESIw" +b+="BQWCsYFEFwrXCBaJPnPExz61AHwm2yGO0Hb6b0W3e+hTzmIgoS9idbgPR2MxN9wvV7P+du6xHoP" +b+="CC49Zq4U3KLyzXAyW5Br2+o52oOnQKTm6quToPiVH9yk5uqLkaMcb7DPSRXY2R0QazwVHBkuygY" +b+="X6zZZsANQ3dctvsVAvyQNom0VkK30wF0C4KTjK4pgcJ5nv6EBXBHBlFhoSdis34kSYfgVBvMC+L" +b+="zTKpWeh7qZ7YVQ+WRMjyck65kktvrAQbAErkUkG2V+8tM8ye2jnd3shtUPfabyB+KDdu0WonkzU" +b+="7pCiBmGPQ2mjC6VjhSB4RiTZqEw/QXqSafLg1wutkT10RvbQG91wbpBxstNOulV+bua0H4O9t4g" +b+="E1PS+j3fw+GYXm/W7iamHvu1WjlCWfDJZLIDTeFoy3sDVs44G2E23wKsZciY/ucYTqHLPwDWf2/" +b+="f9kqYqtpwUnxXLg9CoR54KJkjeWsLmvJNsWIz+qbimmoxGcD6sdX7rNd7XdfRnF8SFJfnVQsA7X" +b+="sUOrckue7K4KQDpCZmPhsNXIYE9qmzUafL2shpiGmcfSSxaV79rx9Um9rWJUZu3Wi74BQ6vzXy6" +b+="N05K9CoODpP6xGzHFtKamKXIScsDxumH7raLflrCJIwjWebvZR6y5HiM4OCfBmebjiHXCG84yyS" +b+="SCKyoSWQ6hA+Hi2RO3RhreSDJe4Rz3i1PSTJvV3bng07vU6ZjR9LcNNiWdkj4hZ0MMAXtwlThic" +b+="m1JybXlpicffucNtFE5sRhmYMdtwUmksBOClyHX7Cf5MCyQWKY1l4vEVVtLGe8lYIOhLdo3btFt" +b+="ui6m+Ty/TYC6zqJ2uLQMgnpQiCZT/yeYa30qJpnAwnPOsDLI7VMTYaPrIARsxiEW8ckz47L9kMT" +b+="zLQPMOJQKG3xvzUzgNQ/l24lRbu+y7xnfp5U8x2OrpndgQ0L3gwljDMQeUl3wawVJP++x9r/7So" +b+="BgmjfJAvCYiG/trSQ/++9T1uEFlAK9zgMhz0MsOO3nFuaZtD9CzYwIRD8ILugtbigNetOFoQn8D" +b+="12QTvt5x5lcadrTf0ukUUggfCOxXJ2eMcCPtu8Y1Ghw7xjoaMp71h8aZN3LAi1wTsWqRrxjoWzB" +b+="rwTJG9QEcg49BRJWueG7obM5jajvez0U1PZ/qK2FxG+dBlt673gysju5fhBhlwjchDC2N6M6Tjo" +b+="HN91z9wcKZfJfKhrIh2e8XAxl1bSRnFZLR1z6zeV5VoRTj0v1ocWjeVF+woqrOEPlOMDYUcyIaa" +b+="vRJBThfH6AmDJZUgUK8BRGZUVmecPWzCWC8xqIDKqsTgwSzuQcgGynmLAo6fZAhNXoEgWrFxEJR" +b+="iJoc5FA9v1jG9lLka0tr2gAaoCGWdZlysDS88CGIJcgJ/lonqDn/10qUMoC1oXQ62guDOLbCBR8" +b+="49t2GTIIPWoRwUIe3R5nt9+TKS3yRlhTrdwbh7NuitDXiZrOxfAXbgxsDKbsqiywMpsyn7zwMps" +b+="yn5ymi1+Ql7ltDCsweo9w/SgNLQ+yrk0SQSWSYBRBVYejkUeji0rq3xNnr04yo62rGV7UxBUUnk" +b+="lP9WHeVHiww+WR6U4OGZojj1yvBef0lwC8SLLuUCGWWzSvGjuK/PXsJSOobxCB4pFaY7b5jZht3" +b+="D6qJWpm6wxhBLTkwoVS8n5Rr8r46BcdgtGvKNgKoBRTOmwmE3pd67URgI2Pl8k691j71oISlaHL" +b+="HAWJHDR8HjD5zPP3MsIcvvt0s8jHP3FexnNGmDEmsfeRjsH9js4K25KhwCH5d76rUExyp5xeSCp" +b+="N7A8/J1HqYYSsRl+x1GqMNjUBZnVFEjWoA9WrTA9gjR0drPLjRzzOdoYcOd2Fw0Zikx8MJA1wD4" +b+="HJXwA3y5pAVUp2GoQsgqMobGBcaDCs4f5c8DHfw7gZMPiCoS5rIl0dYhSAGFAeiPTp0gKxGpcY9" +b+="QT6xqtDxCDq6SxMB8HN8vAaHB6e5k1BEvAnAwWkmEDZzihnLJVqju0qS1eVuogfR8S+dWllHomv" +b+="rylQ3X9N6uE6oY+LDNcNlT3iWqobs+Hd6G6Qp0LUz/Ib5ljqIbNjJlyJZNxTYLQuQ9q2ymdXxlG" +b+="cXyAOoZTw3Dq6EYRjRVhtI9tbJK0VrE9ipvQ1HNx1Qqjk/VIUx/huRKsdelfK3EyxYaT7Cl8C6E" +b+="9t7COeId5pTW0QZPjmVXIPKVtO+k36OtKL627w8xoB/OBsrTUBrRLD1AL3SumCgllgV3hnveJKK" +b+="s5ZZ+bQTkSM7BkIvzN65zxWlaYXsIgl0UiEFOictOwscxrvOYjUMJcJ1Sacrs0qzBRuonFTWX0Y" +b+="2cVmQeCRdYMTHAkh0YzoOTttWYEvCjLDOYQiQH0Hrt19rEFmc4kzDQwV2zQ6xjbNWGhlAHrWRNs" +b+="F0kBiBdW+hOPuVAHRl5Fyz/iWP8jrnzpR7Bt5BfwiMus3USbe7C7iu0mAffhcmpVnBOjd2ZVNK0" +b+="qlgXEhSDmW+x7opXSg1Cz0kK3GtwLMSGk3kw9mqfDoC8QLOgLBAuqroLAbaXHVa5Ee4gdAA3r6z" +b+="shA5sDDzvPZhFwXvvyADyAZ1X/kWd1/5EzYf+Rp6L+I6fj/iMnaz1Hkl8KffYrLDwQk9KfxeQrG" +b+="HrrqwTWb2XdJgGu+VxbmDtYYcs4S29R6lTBFrcCRHbO5tXCQU+tMrzNGm7z2GWVqovfJsobkkQC" +b+="unvd6F3lOiDodwyZRGKg0yIW7NUukIoIlxkr1Ig8YH8hCm1gqYfNigY8CBMG0l/RSVHfLPGI4r3" +b+="B1JGI4TiPkdATUwz9WCsFY8h4NPegfa1kdOD3HTb3ud9bsGYMKwWBuYPOspjDmG1entK3a6cp2w" +b+="AFMOmzdlFj3TfgHMx0ekc1k4qE4VI3n7Le4QrBDStliJ5b+LhkiuZAFHi45q1kJmqbEUc4a2eXi" +b+="c8ZAmI65QFp/9JbU2SKuq5nGMBhXx0GCt2iMgyUHQYZixJZNyXZJP0Dbcdl8sNV2VwUF4n9YEME" +b+="+wUYeBHtAD+MN1CKQbzJWiaJJ09pR5WSvi1M94dOLN8ReKCDefBLxwNJwq686Kr8bKXM2bdKs3g" +b+="2YBZYmdxrna27CFaKpFxMWhwL/sC9x+3HtMiFd1tLx+nAh8MjuluJyKhKkREFFjLBu8mdg8WHPD" +b+="zMPP44Dc5LfXzUMexebOOj/LS3hESpRKJUVqLc4dvYE3XHzO0vdFHMl/Knji8FfTraFDS0DEdwr" +b+="HAOAOAZIyFmTp+VY3KhuyyPHBV0FiVzoXJgztRDzL1AX4I5g6st1U9onWzXhw32VCJoORKWOwbh" +b+="kybNjeCO6/K4QMt1+iPO4NXtNWtUIdI9loy1PtLwgZ9dsGPEjowEH11yJFXDGScEH11aMV7+o57" +b+="+dh91e/UripJpE0HYkaIrIwXihTMhAxlxc/rhUKyvTTdEbGPdUV3uqnOIXfAEhZ/2rXqLVjmfLO" +b+="0yN238W2/YEq1l/t3OuFTRLvoKXiKOGu148kPsZqclzW7RwDtDxaVXB8n/zf4tJpdkd9lWcQqqa" +b+="RzMmFGTSUTxZ5jZNJkVlI1ks/yfoI9mheWcu+fj9S6CiA1DBs+Nb50FNCn5P3pfiC+V2PELf5PI" +b+="YwaqTfUvXuIbfDvN/12q7f5Hj5+/toHUNph4Wd+0v7avC8w1gnYqghna2DQzaxo/SRvXzAAmtgH" +b+="HvhDMGHBe8alZNMMf8rX/Dx0/Ux6nySX5UY/JEhGDnfxgxVItj1ORnu1ZsRTTJ2iOg4dV4Fl3cc" +b+="8cp/wcp2hd9FYCSIqRRSJcLqYfb/ex8AKxiOXS9ScEcTThqPSRMbAHPpD8iBR+QPUW/lvB+Uo/b" +b+="kfWSYtoOhlUH+BVGTF9397fQb6N3nHoLxf15e9GsUt0un/l3VyRd3Oxb0us8+Ldim7u9W55zxVm" +b+="HVo1nOcqWuS5+lGfFFAMPmLmKdWwQNIFBN64o8zf/4oN1q6adxbrIAGbdljWua3XnCZCtU4nODi" +b+="WLb3OEWt9H9YoBnEz/c9a0BsNsfxOVsFOaaWxZWYT+DkNjOYbpecwdp81VvYcQd0SD02FZIxlKR" +b+="4VHKHZtJkhJKVaam1h/NnSM8oSHzp8O0+eYfqoFnuWNRGs9QbSrT3d4mXOFtwVPqZcX/jX/mO9h" +b+="M5suRwwrtMPqzKonHXFvqDyUldM9odCC+eCuvsUv6hP8Yv6FL/IKX69QvOUF5envKBst9jmbulS" +b+="AGTiUJtsRvp0t+DcR2o3y0n1WzkTWW0bp1LjODszviuLd3AAq2nQ/0d+0UUJUO8xB/2eExjY5yb" +b+="Bn1ZOcBmDEdiBEhb8PWw50Vx/62NQjklssjzSELDShD8C+1dm2cN70Akvydovn8AFOf2f/ZMJ5P" +b+="QPUuWyl4t2qOAkbC/6ocVlp7+vv/Nyt/fJPS4cPeijjwn66GMC3+llC532la7Q/8m75P2PVLvkP" +b+="Y+8/C750CP/RLrkUt3mye9Ct1mqq8PVlt72nZfdJwvCZ186eO3W/V9YsFqLFSJ+2zKqeCKVdldS" +b+="CmowYtiS314irEJnAXeudElEAdv2UoRM4RKETKU5zi4bNsEMCzplyiUrGku6cy+RJe/XPfjK0PU" +b+="TP0pCRv9Wl5zQ9RM/UkJH39Rn8dBVc0dUtXXE3tAR9hk6yuhMi7gQqskK4iJmT9zLQlzEgrhYOC" +b+="hmaqQoyaMq4iJ2y6/1gfJ32sZa0pTv9lO+I035LjTlYKWODFP3EFGVKqWT8c6WJg74NP7aRoEOy" +b+="JC+TqwbbOM2Jx9FBB1sGEeAHn/Ur7rrA3wQIVbZthwUwgEhjGPwA31+P75Z4qWaHtyw1blkReKw" +b+="Xva8BGfCSwKkfcDSF6Ca7IITs4kHzk9WhNreTnyyGkjtcB3iTuOfgTHqnf2peMV5YIWiG6mKgl6" +b+="WJrv/E9a1jnhB5kCt8J3oKhWYJg0+me6RJ8s3dNBgq+ekF/tzoz2430lBB30kUgNl+Hy5yAifVR" +b+="nSZHH6kc3e3Ej/O7NONBGtTf/Pf9nP0BOcZZHdrPXI0ndgDhukWzRnOcDEUu9ulZQH7aLBXOUtb" +b+="R1VLjUuAjEscA7ZpmqcbrwrI79oIFtLzcS3zrbAznIumM0GTH3Xjnwgq1FjNRY4Mj+R9Fw0E2wt" +b+="C5KoSuvBE5OtuLbxagNCisFJV2HzYq49zLhl7Yel3qmEdE5IhrFvBlt5HeSS1NRbHPWqddFNvMm" +b+="Vy6119kt+RcxqgIxstOnoqO36it3mKBZQrKoW+UbP31EpRNnkEBJj7Dk72OkQ2/SumLSaG8O2Of" +b+="Bl4FIZsGbmqUrm4Je94mIvkgRR1FP+eRXzyJYk13jD3vItxmbr9beQgY5ABtjlbzm4QuvofzZS+" +b+="b6lkDE0zMdznh7W5E38rAY9yPpgFPlL1gdjoAeBazDCz6VIXAIm1JX4GaFmo5+LkLFkfTAMspD1" +b+="wcXIUbI+uAR0JMjZfbG4IS9hB2R+KX5aeRs/K/IR/Awh+TUN5XwUP0k+hh/mL1kf1PIOfur5ap6" +b+="Y8jU8K+WM44zzcZ7U8gw/YZ7LMOJQamVqu4TitDB69w7JE7Bi1w5BTY1nGdLbZ7lJ6W9hwllaEn" +b+="aISXCN0buyQVOjm1YjQjXrmFU4h2E0xqyIJqJzo6ZJ5wZBjTaM01i3R/DQBj+vjYfRpUOz5hKcH" +b+="qbTF2eX8FMv5ac2/FNBDjeMp9b5qRfxU1fJU2HhXImn1vipKT+17p+KeJohPDXip67gp9b8U6GL" +b+="J1mTn9rip0b+qZB5P+SpsyJrIhFYDkdyIbGYx0ddV02QGQi9yPpgMt0MTZk2bGZNXlt+oDcoXYL" +b+="QLxXQ7QufB8TbORkdlPurn7fAb+rnL34eUG4/b2+rmpfKACaJXjrhcMWp5DMOLRNE0xx9J5V4tY" +b+="yc598JywmPtFtIie+BIArHqJd3SmknD5MeAGFol5ws2gJB6GYs8hbYXqZ0DG1KR4w5m9LR5iUQ+" +b+="Le2NiLNLOxgL7qpbx1ue/Ug9VuNqqLAi0/6QeWW3tV9BWQl8UL2bRf/Xl/8awKXIC99QjP0xmoQ" +b+="HKwlx4CMwgC7qeC1+Kads1mwc1NwEwC5ujLlSEJbiX6QsUbyX3sjDx3aSjdKyqWrdGMjd2wXs2M" +b+="DZJW5ZLe4rZUL1ljrFt6KfQ9OyDvSO31vfA2LypneJvrUNuA9ONLkz7SwbtPmMzZdTKa8rYpp8p" +b+="Pv9+0ntqph72Z3HsjAPPae49bTfs97jpeu94bEAx97j3Va/W9UlBkW5m+wR/M24216CI4wgfN7N" +b+="8RqFXhASxYmNwQsfcK4xK57/u3Y3wn7+yr7e9OM/J4KcMB+yUoYVH8QVH8IVCUAisQfiR6MJLkH" +b+="jQ7SE0sS80aFxFyAPKG0zUJPNF7y3p8KL9lb7FNzgjJVs7QOBOAH21QKPinnEMfj8rXsPsTjroQ" +b+="I3JgpxukrbPoM88Bsyja9AVkTcgHqM5QUGY7uLmqO6LdxDx1X9059S04N3U27r9r/sDk3NFsEY0" +b+="U0pe7OYxMKjF/fZJQhwZuusbe/cC64u6jfVoyMZfXKsR8cM6RqZXS0dtuY0UwIosMEdmNhEPvVx" +b+="gytWvFtOYkQLMW7m7OMHnmvZUVF/X6Qys6jKT2lqDigy+ke88WfMqd+CsUH3byT0FrVuUE926Bf" +b+="vTE8Q78kl4RPYT/aGJ7GL8KFG3ofCwQg/p6Ga7nNwtzUa0maXWd+A4wwfDqcCv7FmACr7eFj/nC" +b+="Sfy9iuwXr5vEuWBI0ogvVtjFJN0FvrFVAb7zLxFnneEHd/Raq7V208bl/CJDSZ9wcaHRpWR6nHp" +b+="UXnOfPXNwtRvMOqVx7acK4cia7kjb1rWP5WB9lybg5TUM6ADxV38ZgO/dpz43fToO3s7kVmoO0q" +b+="lyj2gWGZubjS7fjq1IvnkE/BDSYuv9YoW1zLwT2fEPOp33n5+eVvSCSCxqLLnBP0HJBtOgCeQad" +b+="0v7Ua9/2MBLPF2rmOCk7d5kjD8dd8+X0J6jujwe3tjj+aRft/M4HkDVSBfkaaXyMHhxCQ4QeKA3" +b+="rwNS+t9J3vbdgiHQsqZPoC9JOmMV75zCfuOv13gIn5rKaPYK5by8fcWXOceUbczhIovBNnLTvpK" +b+="1MlxYOEjYOF+H+h6mOB74cCOH4wj3/DNmFSRP5zSev2dIiLc0MYO/+v3o63IJO3eYzcoD6slCSP" +b+="oO7OW99YJ6t2+uewba/ZGArHVJmkDYHt4zBphUZZH87+M6avZ7qgD3cQd24Zup47uGvRvY01Yx3" +b+="6XySj9DACu/lIPZ2tmaGJCDmGzHpTxZrsrHjxWXfL4sC0kHW7mYgIohJSJKk0zPHsw79XjaTdba" +b+="MFZdBmbvcxsAG2cgbIZFmnelWHXvZ6rsQk6myoktS46TEumaXT7dAltRmThmJNxqh18KfN+ZID5" +b+="CYhYePI5HysY8et4mUs6wgiTNABegzDs5nI4fpFbIofQUYYlEKLXcdPHrrGD0xp2rhA+V1zDWcU" +b+="62+n4dNJpQXAwyBRjW5cjFybZFCSrOg1JKesVfiWvD+l9knIOWaVIUOoSqIZ9dUh3pi7n4vVblj" +b+="nj1kq2xeoC2z1jzo3wE928x/5LhoXeZBnM/NI/58h97w1Eft6Z7HBPyy8VzlrVmp75in/fVjx/P" +b+="1mCcm9AE2B4wjdix/hUw2a+gL5fAU1maK1b0Ez4vIkRbNNEA8FOFt6NhXhWkR3dbiBKRzmd7e4l" +b+="iV7SDJp3mHGn51pm+kNXo1Fo1y/lFjG/QhRUcDDmB4OFOcq3o1gCeBeUCx+Lwa+YrgJQzMg+4IL" +b+="Y9HlPyepinh8OfpfrXnp/dM/eb7jz9LI3b+Q186+JjGIH24UMfzyzE/HC/agqhfLeabS0bRWFJ6" +b+="kLVnjtMRgLUul1Dd1RIPdTkd7/gLbY9PaaFZPUGPpoVrtTkUd20xByUD+eqss0GfRGb4UdKnBjk" +b+="vAX2TCUi7HVmAV5uDcZeW8w4GCAP/GRyu2K1PTyhG0LHGkG1QATMGxWCEGn0KCQTlkUEXBY0hSv" +b+="ZcfZbUQHoJGjNTklYWAj8JmAHbamhyvwfTLqaX+SK8kXFkSlLZhHJ4754lLqqcZSNPAw46LOLFW" +b+="CsQUqUkF3p/WgV6HmfLuRGiYoFIJPqzjToINdvJGs2SV21BSrPmioSmbwQUFUii+MT9QpBdwCko" +b+="Vwbmqltbowi+poVslKO5XRO10UQjEIuwZqKRMnU4D7N2S/U2E02Lv4ZcJmPm7Ak3qEaq7ba6y5/" +b+="jPG2XUZNEve1GK8OevpP26HnaKiuET6K3sTLbUPzKCZ2ijUOqQEhRe+sYtcHE1tYlWSCZpAIhu6" +b+="bXhqtJSfRXIZTXe2fzy7An754r7sX5WHiTpDkPiiuyMfqhZqMGV7Pd4hpH5F8UWYELJqG1d/mag" +b+="ibqK2j6za7ZuoPuwJV02xaafya37KBnjHHZ/Gb0pMtoctXdIsdcCFOSnfcefL+b947gwGrziD9w" +b+="Rq445g/c9wAd2GBO+QNP4MBG8/T7/XQf7cNjdhVK3hAvMoJqj8ioVlJzzN3FmMAlR7bQn7GtO+K" +b+="sSID55856JQxitn9QcV5NAXcOfQYo2idrmEjxbytkGOqFNRmKiq2G8Nkyj8gM14VGv/inM1czrt" +b+="XNWO3o/rHN7P5PDGcZJSkOA1dBx7ocz7wcqOU2nrGKJVH6hG0s8O1Kb2dCUGVC7rEm3GKnKOm0E" +b+="sr9ovTokcoJ+fLU0ZDxHemRb3TfW/ofHxZZ5kYbc7DcmeYyZ7CZC/EZr9jUIiPoA+wgmZAhJysR" +b+="57Rcujq5cuUAIM5DJsn0w5JDuI3vtVK+cBufS3BaGP95G5+rjWUkMZKa9PLj9EXW02yPuf7ybD0" +b+="JJkhp257JRkkwKVp8YSGT8FOglZXPRw1cnb5fYB6N9JL8lXamx2WgqoG+6i+kbnMwRp3owldVLq" +b+="QOsOhC6lDU+6nKr6bfJ3Q330C/L4bdfCP9PkSj9ToqKKSCrpfhnwflGjNB9cmvwe/BOJ+UeSKfo" +b+="Pe4jDvjZXlWZTGkyZUlGnrWZTIztiGJyWn+BO3plnIjxra/5GmB9DCBf9RpuUOOcIv3dvrsOund" +b+="ZfdvSH8fu5lmiLEl+ztV4ApMh6hZmyNrcnwvfER4GNqYuq6wHdfOXpVp6yqetlgxGIEQRzPX9/i" +b+="ZK89yXHO1m7n4spxqchUmr+/xk1eeXY0DOU1eed/kdQVbrYpAcudC1UbCTEw0gbxdYSsCxMb1/i" +b+="FUpi2bqrKFxzrNM7nMM6nvmaZBr9bmDFXZJP5RC43IjDLCjRuyAKC5bTdyS7aXatu2a1saXZolQ" +b+="SRxHaU5mQQt2ptuJSQWZl0zSXN0NgNZqVn9BtQ3aHSxzS0fwQAYqXyIEfkQI/gQV5UfAnyDlQ/x" +b+="PeWHaNsPcXX/h7i270O0s+/ZQn+uxodoy4e4FgeW+hBX9XyIkfN/iFf1foh25UO0Kx+ihQ8xwpL" +b+="mFSRH5lckWNN4XbOd/JKlOvkGN6Ev/hDBMp28bOARmsCpgZfr6ZUGpilomQYeudAGHkEDj0gDj/" +b+="gGHrmABn6Jnv7KC+vpLd/TqYHpdaiBSbLFPxZeqIEvkmmot4Ff/fJnkbKB2zaxmm9gTLfcwEFfA" +b+="9Pc/l1vYLQtt/JSDdxGA7elgQNp4LaTWdDA7awtQ9yqFP5ByjcyzdAQWxY1cmAbWXEjj2bsncWQ" +b+="p2OTlu6Imnu4X1b0UgTrq22RItQiKaKGHvGypAh6l2WkiGXONJc5s5wUEeM1R82L77dSBNLR0FR" +b+="nnsMBNkQXdJr32EI94kQO3vt2RA7lRURtVUUWORZLiPQliuwyfGdjc/P1yDs9ynNH1uSOfJYOhL" +b+="vOS30WdFwv3fV8F3+mfLl46Q8TL/th4mU/THyB4h3SCPU0cPwyGrjjZHAMgU7Zwh20MNRrCGGnt" +b+="dWEvA1HJPH4AiTxdlaZUkaweI4sM6XwpHJOzSKOG5mCkLOqQI2DbJQtjtkaS/lEZxJZb0E+prI1" +b+="MMfy+xfTPoe7fVuoIOzKu35axCohl+ZBSrpWRh9fdbdxGkGFFRvKP6/YEanE5tqsYJrNNeZaRKd" +b+="OokLTcoCvLuzVZhJK5eVVUx2JvMd/ALXctoOkgzUwY7FfrkDtCul5VbGc3tLc9wG3h9H04Afc+K" +b+="FSbm0FfPARf/AV2eU3qAb9FPBVvCJbg++22pyuARbFPMKVIWjmoXmPVjTvcXOSBtW4ecB7asaz8" +b+="avCA42N4UIjydZn469QJxsFG2HGMf7GJ/RCA39PAGF1pZjL02txpEkvP45w5CgxIFQdN/oGdaCR" +b+="Xcn3HqSbr+QHIMffgw2c3qAfwO9RRgPc35DCcLvi25U9v9B7PvzOig9foniNVgntuePlOXmaXKO" +b+="q15xY8hoE0o+bUw2rH42z1gGXx7oNaLvx7Hs3oCXXig0wvZx+zzaEct58Ac6Ny81zHy+tkpWvOM" +b+="SB5bmyRHKZ+JV01a8kIcjL+JV0r19Je7/SyFgROr9S0ONX0v1+pc6SfqXOYr8Sx5qPsF9JwUcUT" +b+="ClmjSj9SnBzlY6rxg8WNBOE7FdSoNfBPdavpMaykS5iK7JM3aDeTD+ctj2DV+nHaS8ENVCGAfbv" +b+="NMtRMMfg6+brJaia1fnSoaThOcrX0+9r9z8Mi3zpVLKnjBLHkupxKgVwogSLnUqk5WVdWhMyM9T" +b+="NRwWl0u435NJZMMn2m24jt5kWobiOYMCaK8I7xMx/Z2Qz/ZUeJZxpW18S5gD4oqM9jm7GupfC0r" +b+="xbdOBe6sDdci88tvjapeuHzzfkfNp3nt1LfEEkFzQWXeCeoOWCaNEF8gw6pe2puOpeojuDW2h6b" +b+="0/tyzqHixr8QdHdiH+k3+2tFl7UviNeD68a8mn6vb3VglNtGSeVck4q75Gqlyw+OqtNvfbuQt9b" +b+="gJimWLG3GMDvMGfwLmrZir1zWS1ruBvqe+W6i+eyAeeUCrO6OKUai51SeTqlTNDnlWKf1MC9VA2" +b+="1J29ytLS2DrEI5ftyK54wfgCogwq9xFNaSOu+N4/cCo865vDhe7+cpQHgBCqx88HFeOTKvcUl9C" +b+="z6GcTuKrxv7B4c7y2GcPSiuWywrFcs1RlaXJNiaG5KzRWD2QBM/c7lppzLTfW43JRzuXVo5a+63" +b+="DpjsnCVLjfFLje+Tlxu7pKBrXQILjdVdbkpcbnx9c7l1vEuN2Vdbnzau9w6Y0neydK5HEHczbvz" +b+="EB4dSAX5WnCDZA1q/7msNVdcugev2MI1kSU9JWHojfm4N/isFFjsKJSVccBGVmPFb+GybPwuEow" +b+="OZ/T5GxjdmvouFNibW6FZycIHzHpm5bYxccDDKYbMo3lNPGGay6VBNAimqQH2hBUdy6xKwjD7yH" +b+="L0aroAsIwm9fI7hGEVcpBZCRkqQorhgax+J4RCertkD319er0cce4Dt7dW0DGNK+jWFSR2jEGjQ" +b+="pHo7HN78kFchr5LV+zJOW0xQrLpXKGzge3UgxJ4cptzd+4Q3haFzJRjLGRLbWvZINrQ1mDgzhaY" +b+="ROp7gGSklq9nLdS5OZSYlfT/0w8f95j+leZFv0ftZO475AQh2wAdOCk7cFJ2qk7KIw87M/bZj9C" +b+="B9ebgw8t4/E69hy3j993fZ/c+/ZE+y/jCR/ps50c+0mddP+gPWPv7gY+UD4V0Kt0FCkYLDU69kL" +b+="tGfCe9CD4LzUZqLq8zdRjNOArfRN+xQ1gY0djDcxnNRSkG7Yps5R6arVbtyS7akw2hKVdlNG6H5" +b+="rJL5vJoCqnMQurF9PmaUzq7FMxY2EnY79qYK1bgy0X00TDhyZfjG5hkkEXJHD6+GenNeD6yEtGX" +b+="pu4wkK24XXgj58QfOweKryzeg/U7G7yjxYBz2gDNPpcpdCsrzXMP2+8nY2czfMDybBRGfby+nbq" +b+="D3oPetefOHYz/zVpT0Z47AFS4c7YFLcjlR7BbEUxKa7FajHCQACcKy7U8QuERDfeIOh7R2J415B" +b+="EN/4h46o69WTR3B28O760+KPQP0pUHBUwOMpKNMnNOm7GHLHLg0qyCw4JtBqCiNtNBWjhTG0EIl" +b+="YCDoC/GLfAxbjSbHT4uUCq31eiaB9Fbr+a0LNmEzsSHfjqAa5mFEbiVFwYZSXdBOYqXllGWcC+D" +b+="VbXqYF4XjOZXOD+zyqz62eNnbo9t0AexGDg/Mw5EQpPg/czUw2+ETi/3htV7T2q+N/T3PoLL2HF" +b+="c3h3dCH1V7o6qd58N+e7I3/0ELntKV+82L4S9Pm6Gf4sTgmT+mH3c8bI+7rb3cY+Ij1uxg5vuPq" +b+="S6bvO0Lt3e8sAgG+l3eyvxeRdB2vF3d/zNHX8v9R/nCVcT1LjAJpsHmArJOj0UbK5HBzEiJqgNi" +b+="g5tddjiOrG1NVT6uepihqRFrw0dNxYL6WopDp8Uz85HGUeyRiCk49ko+/nGusWV0qGjbrEmW4Nz" +b+="60hXtQ5MQCTGt9CfK2G4Y3/gmmwdDqzZsiNfQxc2qGDuzgxRuAyGu8v6HJgH39s3xZ5+b98k/OJ" +b+="7+6bpEw/0TeT3vc9NwmujfXjMLrYr0/tRtdgeWYy5Npaqw+ZQjIq9dQz21lGYAtck3h02bJu7Xb" +b+="ovnT9MYbwf5SiHB2IquA3HwRZriR2wrnK2WwRsOrHuaKmPmE4C+ci8NwrbySh9uNGq7SQYy0dhH" +b+="7jidew0oJKbDFAwcC3wfNXnumTr1qhzXdL8vsiytcYd5U8d9JnsgmXNjcGy5sbgpcyNmPTo069B" +b+="C6yxTkvrka3R27Fxa+mq5L6MUaxQoz0OyxExbil271htHICOfCSRYXGQjdEntbgfaud3+o70thw" +b+="GZdl6I5XWK88s34Ij2cgyLbjMmeYyZ87TgiM99qVvuxW5nw/ZWWgJvy/3c5qaO2jDIbatSsj12R" +b+="At03mJHsjTirSj6u2F5Zn/H3vit9NyituOppiOmK9lSumUTQfrapx1ErQRJ5djPzWP9dL/rTKaK" +b+="hdqaGf2f/M8ghAU0HJRZ6hcSB8AaETr/y4vPFtffOGBAboQ/u1XC3L5oCp4aTgwQHP2SLZOloZt" +b+="/GkejOEeV+ZEDe5xZZ6rwz0u5V+J34Vafg1+n63nkzCohzeJC69nXrN+6jE/w7n5bJTnw8XzGZW" +b+="0Fu25zTupAZC7rMd1tzZT1FT0gr1L0mpeksStRCuPX5Xs9D7uViW+YgwQSHiU1lQ8SmNbeLlavD" +b+="CtrSxM3mWn7DJSQcAE4lGz/ro1dsULgIAJBAGD9aNhB85BuKVpzcWcNJJN4p9zh5JSQNrXEu0pv" +b+="unOEu3ZWbI9gYBbwh+6uFFXc6NS91pqnV/cqJ2sg9MTPY0K+WK8v1E7pJllEy+x2p+/UV/V26id" +b+="SqN2FjdqthYu5rXJS0i77ewa/NsK+5V4hha39gbrH+1v7ZFlVuOytds5C2qdSmt3pLU7ZWsD8bZ" +b+="ca7errW3bore1R6j64/Dir/Fu/TYaZeQCWrvT39reI9rrcl7jXc5t73JGa/Pc37GtTVP1WmBkr8" +b+="Q/B6y4VIAVS0o5Tq5hKeelJJyyTTtVyIS0aRUyIW1KZV9Ymy7Tg5do0wvswSPLtqmI68GSvbjd0" +b+="4vbpXSyls1QQKmthAloLMu7dExczCNWdhnHgHMe/ovh9urmnfOIl4fUsg3f7mt41OT82sRqTKF0" +b+="51poE0CsrxURam2T8V3ygdbKB1qLD3T9+RSKq6xCMWFxRVWF4uqqQjEBUNGEgIomRKG4egv9mdi" +b+="6+ANd3/OB1soH6hX+R+nWUW6JPvHf9ZVsFF9oTSn8r3UrO1pnbSn8uw9Gn47b6UpaNtZmV27xn+" +b+="elxf7RHrF/Dab1NUuL/e3silsg+9/CNg0ece1S+h+4YOm/8U9M+q+LRgMdlF5O0p6w7szSSmA1q" +b+="hKWy9AhBz0G3QFG2/M0B4y4dhZQNlp2pEuviDbPaRhKz3Lfnlt6y9IKltGkH/A4vLUVmn1U1Jj7" +b+="imYfnM6j+PB4QN61ua6qTmfAoliHyEZK9/MYY4C2QO+gXzOZjbLjmR6Ts7sZXn1AY3BqDKcwZbP" +b+="NsEMFmklcIloSEH006HFrB4bS9zmUxjg6fEULEKuqO80XP/c+Z0dd24PZoHOQv7yXuSNe5lxAOg" +b+="vIctMcliLu87CPf1RVbRwfmn6kg4/D2jf+UspFqaSFfcrFBShp/+gdXfcraeM9n+Dbbs1x25qss" +b+="o2XLTqOFh1Hi46zyrZaWnS1tOhqtOjqC1fXwn+C6pqutCG36OrvTouuRouGdnVYXbboarToarTo" +b+="arYwkgJVUaI4tkJXKmFHXXWv3VPB4PygjV5YVcYJQDIz4RAc9B9zGN0GR3k2oW/Dn+1Zdo26g6Y" +b+="y+KjTa3EoyhV+2KKdAbqQAaaMMOXMYiLW8tUMbzWhnDjuT9gbMkZD+PMnFp8HKCYzTwcWVJShze" +b+="6gn+/dgFpl6zeghrBWp5fTL+ejG+pvkfbSbYdzGxHfG9jIeJa6QF5ShDYmHuHrIJnPFJPMgyyFS" +b+="eaTf6P1PrW35LXjqToSrlTHlmlN8Hnoop+DnujnIAs3Mt+OEh5AiT+WVNzCape8+gKC0DkBJv3R" +b+="nHqIjiWvZh4eE5iFgKZ8oWqh7Zfg26k8a7PQ1TDzkCQr5UOet0YIJHE0+Wc9LAWhZ17ipIgNpsd" +b+="2zEu6TKXq2JSuDyS7hKRAhzzuM/6tDIKWouUqBPNLMiS5wJiWkZMMb1riufg4SOxgk1wFXIXFD7" +b+="3BkrmCCgEiI7LIgibheaEbjDMtzAXdzHJFlamO+N5+jh7hqfkZzqYgz9W9z7WEDq+27JIBZ0EQf" +b+="knMGkI3pU3zrjJgfCixsfTJhpe46yn97d0WLHnbS9Ux3rXUXa9QihMcHc7U4b1F/DCSAnFWKjRB" +b+="zM4Szgejt3bh6Pqc7iF35WQHbeE1HhZqDFAWHzh8nEkyHLl4yQ+pJTlIwTnBbT0bBeeX49SZDZ+" +b+="XnKPxK4NUSLAksj50wd6OkRKgQbDcMCJQm3vOLQj7estl6REWAORRT/KwL+JfmWfedlwYKpmVXg" +b+="gyQfyS/l9BmctDEl7QIDrPxfxkc7U5+Dbne7AHDrgDr/K90DJjpX8mvbAIpDWE35eOP+pnk+SVz" +b+="FEriy2SmfJkFPHACsw/4CgylMo0hdNDSZD8p1ittE9q0pOajla/koe8WGH2329pvSWp9lCFhx9f" +b+="tYi7WZx+QmcxZFp82n0785VMQpQzuVOUMyVRkK8S3vCGIDFJug7ymrOz0JFVwAbQZ+fs61k4TYt" +b+="puJldieFWSSroCVnDxCYS1OaF99A0yJysNSy0zNsTFC1zz/+7EDDH04ANlqnBiUpz/0VZuK0Foo" +b+="VQshqG29zzOCWFe8xNt9BTmBj2IrZ0Ziu7rUiCdtMuFSZV+YEWZwrHTRnThdTAHUxt1SyPU9kzT" +b+="Io+BB7gwJL0N/07BHKTebZ8E2qHHA9vVDN00P6A+ZtgZkVD1et1XUdiDnv0q3Q0rjUaDXSnn6fv" +b+="RceK6VZtlH6fDm5u1c176CAJ/+Zd+I0T8078Rol5B37DxPwsfsEdZZ7+2vG3hBtQz6wFwp3n/14" +b+="achMnt2+B8qA8FHG+kxo6B5JhUUHvpoISo90RcC+e+rkFCC1P4f1OMN4aCb4bsp4OZnXJQ4O2rX" +b+="a2QW4tl24+G0yfVNRDua9fKxPMvCqXh8Iy8aZfUZysxGfmlBS21wecRhgTkWPklQRvnhdk2POe9" +b+="GTbSbYGLug3tKzJNIZ87mDaW1dIesz0o2H6J7rFMkTGrmHJ0iUzFWZLmkh9vSsZfnH1Sk4u+IJj" +b+="V5ZKr6fLTT0XHkfQWocm3gpirukdyCWCVI3M0TUAeq5ksnftchRED34BOWaFguihL4CCyC1YnwL" +b+="zrwxJVOF3ObeFSk9rS0SU/oUeSvpzObO0UeZxBl9xXxpnYYfLAknjHPg0zvxWpDBIGudg2TTOuk" +b+="zjrCtpnHkmU+nu5DPaV1svqjaO/DlVG+CrStU1X92bgnrj8hmowQqnOQn1dyH/9AVV5nz5sL+rt" +b+="Ulmq3TPfSKWXbMiJxIVnJpw6xikn1Aw3FrGmhO9IuHmdnzmPXycrp9dYzl2GoXQWG1xixjL3rlO" +b+="KsSHoKBav1gICyBzLl36K5a4mq1B/6Zy+du1u/x7K1kkhCoeEN040BqYZGDCAgZImyy3SCyqv9o" +b+="nqwoJy9LoV5oDv7vg9DGfzpuFyCA5ZXl2J2UVrVvutvTNTOEp8mOGnMaxbIMBqrZb9A9lVuyWpq" +b+="APshvzK1OO0lYoF3cKMKKBTh4ja5C26ry1irZqcknbJpxn+j3TpK1BOTFc1PhBKzixPB7U4uLbu" +b+="0mB50CNHZsCzXcN7zavncXMjkMDfP0lu6mDIosODjWlxBSvscrXdqWvbWoJK21tL/a1Hfa1vchK" +b+="0uCl2c0TM2JbaOtSy6FPr4HajnGFUNvRSm1rUtshvquntpfw9VJbJbUdkRKDgqbLcaEfp+LWCPE" +b+="nba3mLSk4loI79N2Y2/JKqyJEzPCww+gd9mvz6ODjOJJc1stsyEsDGjpMPxg6BtWlrtnWd83aJa" +b+="65R/VdhEpdABErDw7qecc1dd3fDKTv0uzwzKOLOy967rW4l75oZhfJ+WhjNeFWYNWEyh1XeYVCp" +b+="feqwi8dP8zag0Ri8Q3LXjl7wVduvOArb3W6i195z0Q92Ysj1kixQEbmiXuFtDiSpTpyfP79DP66" +b+="zAPkUtdF1RRFkTcLgDPYSRFQK1hTjWaM2sWzqGjDO4pQNHTRIS2xGPOHpR/UYgeIq8TTjY1hO7z" +b+="J5qHDZAymU/sarOVwsa2Af0WRicCIAxW4xaBMnp8A/A1FO445tzqNE8zDQskY0lh0s7JX22nrHD" +b+="OIChdgRasOS606dFq17teqm9omQlwnuSLNfGqXrnnmd8ZU/tpZWp5o2F3De6t2m7PYW8d7td3+9" +b+="CskwUB5YL2JXL7CRdecWbKI9UZytlbuWO+uWeA7DCtV68CQvN+m96sk/YRsrxPGcAiHpM259T19" +b+="4peSDMJW+TRZerdfg17i0rxy6WVM2bdN+nXZn4cSSaVmuf7UPl7OhAVaoiKFJIDGwnCSfG1ANat" +b+="qHs8pn0AqxiPKrlFZM/2aoinv2UA0wIPaDZQDqpvV03cza+364ICSJN+0+R6aTL8CvszomuDd6g" +b+="b1FCt798MYRIMqwJoXmQdIANnEQi2GV/BHOPcU02PUQU/Np2z+k4Qel0DBHAAeVftEu+lXRMJjL" +b+="nc+8EdW5PsvMGZ9kbSMzS1l6yy52kMTII/vWuryB/hh991DQvAJl8gWqU3+v+7eBC7K6mscf5bZ" +b+="mBlwUAQUlwfcwASGHXEdBBQXIEHcUBiYAVkHZwYRQ0HDsrS0srS0ot1cysrMzErTzMytsrKytNK" +b+="ysrSystx+59x7n2cGtOX7fut9/5//6OV5zvPc567nnnvuueeeIxJf9DAC0kz70T0nFgotE9JIaJ" +b+="WPl4c6ja7zvJKYbztqrFvgmN9Jj9VBntiB91gd5KkHDtnqIPF4R2yPMuKhofHNHpjED1dgzEmiV" +b+="i2lijBfSWNaLGD+kdzwFG44cZZHiorWMTRQVIjkZ3oJxfvYfRrT84gtvvTJIfRJCU/Ql6CFaefL" +b+="xqPJO2I1mn4pejtpZt6ZvRyoaUyLxFAR1phQHZ2n+uhZFWCTB9YhrFTfR9Ipb4DK+Um+VNgJz1m" +b+="FePRY2BtjYg+lcGnQQ60CWzX7kF6H/n+Zt/xGLLqaelNPj83ERkZoBbwOa+Mv4TzXzmHCWe6aHh" +b+="NmECP1p9AwjelugXnB0ZkuUn+oQE3RfKcQyUlYXKJob7qHBzyDHKDlxTZ4JpDe0NEpPJJbzyOi+" +b+="ch4RGx7YnOrTQ/wWEEenhOLnyTqSwL9SoI7YtUQagkDy8crB1z7pWGttwuKH1teMkRyY9HUEDln" +b+="W0EGFCuQhVMzQ84G6h9I0gM1RjENjiY9xsY0ULd5l5evUb1pA089XzJnifIg19OpWM9cX6poBxH" +b+="OWhsuzCCOErF7CVHxpArE5BV0i8RTJ4EYRX7DKZrzxA9sFbN2zvJVpn6anxa9kK1BmdRGgipMNH" +b+="BCI/g0iUxyT0iKh9qd5dqsuw1A8ryd7BHHkeyB7GUyTAMsO8qKANdtxLypx1i6ClEC25C4nNRR3" +b+="75Ajnw8JEIj+dCR5iOS1hhJ/ONqyajSWs4/zEy1+3gNMB94AQNMSwaYDr5fRBgyHF6EbrCRg8OL" +b+="0A0F1lUQuiHDkkYhNkgcLIRahFvQAl5X6DTiBQi9UVq6UedAzNuD3hLgcRhPYKPHXzxaCjdQI91" +b+="k6lNTBAqnbgiAARqASaoxSRWiMyuBGtNUWQZ7YCPC8QymeKY2LWuLZ2ra32riKh3xiyItHZMqtq" +b+="RMZ24CZH/nYUZKJcmuCalUmC99soejOx44Raqp5QbmEz3ML0k0k50HFPtiWY1JzK+j5EvvejO/I" +b+="kQajKYP/ZII76iiVMT0Lk8rQTcwlGrI3hOpGDpcGEVEFFA4MvpPcB6vRcnUUvVRr0fo3x4uhz2P" +b+="0IHE2CQxnPoyglEkUpF4hBieRIYKJ5vw9XJPgk2vAEbFIwkdZVCmsX8wymirozQdR5lA3SsA6WB" +b+="sCU7E1LUpmTmocJ762e5Andz3a+cw5AhgO8Rooa6UHhBl9x/92QmWYOBv6R31hk4NJos65XwLZw" +b+="j7wzVWo7wy+uMok5VVGC08kZSPk21uQ7RnhTDOlzfgqsiwiCednUH31CSi2USEYWb5pI7oWQVR6" +b+="aGo2E+mOyOKH3ugKJt2tFlCUbeg5Bgu8QfKoRQlXKKbzMSXMXExTcwr9yIdj+vMeTMVOYOyBqWr" +b+="sB5MVs9tSIW79XMxo6wwsnLmTRbDF4KgaVLN83L9A49f4ql3Eto5yRXEu4IyP5qpQ3MFDqeTgzJ" +b+="dqsgd9TQpVZji/jOfQN4sB+50Ehk5oYQicc1EbtWUKIbpcPddR2ij2pv54KmpZxg56HEnTCeb/y" +b+="b5hmnwmY9sCJyUIEyLz/QeTz5hBuqthfrGlUhsrcQiGLB6pO/JSgwKg4zGdsFUJbtFEdr49Alr5" +b+="3sHGRQ/guqNMqbv5xXHuww56eTAKz3j8ZwiNwhwFg+xBuG9Zgne2zsnb1onEq7biwuVHTqJ7Rw6" +b+="id4OnUTFTY1SbGDPIb92JaeCZkn2AMHGUQ+6yUTdOzOTiuiNBnd3fThDT16YJ9FTYniI/uYwcaE" +b+="kzsXD85MJVr7P8+om5h6O7deilXllke5pKDIRw1xjoe2KluDGEC/DVAZMXPJo6C6ZSKzt8+4w0g" +b+="GSkBmCVpIsqnEhYbi7SRadzRLuhMGEXkjWyKFEtskxZyfhjAxKXtvZlM4ZqM9o3uO8+Zq+lw3dr" +b+="tUspFE03J+8NPzZy+A/e9n1z152Q5s3Qtt2Fj3t7CUzRXS8tszU0IXIWZAcNjFyuFxMhwnfQHAA" +b+="7eD8gVBMInvxpCRhMsEMp+Y3q4istOvVBSfFBjCAEjWVsrLFpWwY3Yag037rszs4i9oURGxerEZ" +b+="AZQoyBLdPkqkbGH7Q87om2WXnTXyYCmqjUsP4U3m5+PHaBzJWeLYnmRezYOpNCDnzYDzYGMl1oV" +b+="O6mnqgJ8TwBzzTrDG027qDuF1hURJGqV4ktULzMZdBVIa+5Ojj77kMYjLnHIMvMNhcSYxJ6NF8H" +b+="PH22zYzFHeZdqG2SEszLA9E0zyUAmiMfspzNLEArUOeq42+8nN0SJnuqzIa6QODN3HiTNu9LFsg" +b+="94jNKt/jAsucwQYNxP2R8Jc6X3Lx8SqwQDzlWGLoA90YX5FQf5PnI5OvBi/+ykdoNgiLY+RwMkZ" +b+="ZF6otihY/6qxJZM6a1OSdimzatnn3E0/c2bTJIx2P7kL0ALLnD7lB+aNoI79OVFMQjU9yI32Frt" +b+="gWMyCal2IBFMbCh6qpAWCSqGzXH1rFl6OOWbzqLKnTVXJMGoencSQnZJJBVBDUWHAeC059U0BPq" +b+="onhAqRJasKfmWaEEhfzJH+O3CvaQ2oDcXFCF/7p0Mx63DfWouxQQ/xzIAQYrmFOOsjWs0hOFYkG" +b+="woXQRIGbDVXR3Aim3KxgEJ6V0FL0xrWG6X2C9yZiXUmLt/6hKgPhe9ESCjPxRM/068i5fjws3Xb" +b+="IqOlQIHaE2eDBM7hkI0ZFRoPQFUBEe95yazPZNn50vrJt7D2QPmFD5BJHh9IAGEmoFkwSg6RGAv" +b+="7zMngBQDWrIiF3cm10pDYG4morlLhp0qXL2Kc2WMSrhpoP7uZR/1k6qj/gKf1IJCgkLxgUaovWc" +b+="DVRgHbRepWJ+zOaIl79Oak80BC09aAMYF/1/yiVFMLcYkWp419N+4jQuawLlstdgLLZ9tFQ8hIu" +b+="UGvZ2DYG5vBMgmS70hmHKI+SXXFqmwFQ0tCVqWlRE9LElQzu2j0jsOkGvWzDK5h31IQqo1qOIYi" +b+="TJwPZfwikuUw0dOQsePqGn1WJ252WniNDDIHcNVnlAJlVtrTQfWiTnOw1djdM1IsaKmfAtXIm+R" +b+="rlLcwBCbkxGDjmGhfmp6UaXtOEKoehahldLT7EiSHRFNCiths2LCzXTU8LoVAxegODmt7AkGS3w" +b+="KMAHwSUu5F6cqyoqLTUz7SIlfKuLOqxwHeEJ5a/UVdK4pgQlhSsqZ8UMbZpsRimMj2uOATxbIGa" +b+="PmXb5sR/DG9peXsHke6TgwvNMoCswX4BTe1jShp03glMQiY8gAu6DtRYmgWcm3hTmpGMs8UiYVH" +b+="xqQb5sErgoXSZhGmV+HEzcVJjnV+B+rk4q/WswA0BUnAcKLRCxM0ysntE8o1VoDfnebKIYZe+2K" +b+="QXD5HSYuHgo3GeL3j5C56mJlCkIB8QNo/UmvQ4KrCcb5NOJqoKtSsMWRSqIEVEd+QfGMcImaFrS" +b+="MxT413K9UCSCR2mSzgDaVgJnVqSzGjOZNOBuk72kfVPwniqceqDGwQ+GE+Hg+wsfET+4G7BPGh8" +b+="cVb9TMRXpZx0WXtV7eVLX1pgHcBwRRUm0eQTRhbxKBXH7rPMtjQS9AhBlg43n8XMEJQ6qk0BSCa" +b+="1xO8krq/p8674Ah7T6epTIOOcaY1oMHT26LKh7S3icq1DmyHTgWg6oBEm1FRwGjpzMm4oTqGBqw" +b+="tkDp956pxKxfREu1CG0nIa1aDJ2kN+08HDPpqW8gYGq5gPawOQDGbpT2JOweThbnqAKNtYuJEys" +b+="aDlIQlDrH06uopDaSLbbsDuURPVRGVkqZnyIW+ZL2QzlXINSuj4ylAcLYr+GFFcmw9rGhhdmWTY" +b+="zRcqJc1IX1xsaBMpw0KWHQF4RTkCNVumsbCViqYCv5fT49lnctwjm0lctQE9vakloPLBVHEpM0x" +b+="Deg9PBsmakmSrid6S3SPqXQouGdQpOsecog8fRdgp3CUk9SY+r8I0mWTGIXsQAhIqkazYxOyQMB" +b+="HpAGkBVPuoJLsOtC2ozjJVGmJJc9RvY6gGVaw0tCAaWhANFkRPay3X2MdAX2gF2shhmA7mjeeCB" +b+="OS6hs1E2zKWnjMJy1RIDz5o3BLnDCUWYVCuQP1uWYgOIHyEu4OAlxq3k3xam00FXOimjpqtU6P8" +b+="znITlVGi4E65P8wxwY/aMriC+K6Fu12ccrvtBZQGJcMdXMwoDU0UxuJmFMooEwXiWpH4OCwid2g" +b+="JZhK5M1agNryaeANMFEZRvykd0Z7kWW4mFlpUCu0Mo/vAGcj2EEzobSFubQDHYO7H2etKh3F4iy" +b+="tmjKvKDEFdfIIh4fgJtCRu2ZJKqD2VYLenvSrcviFu9WqIxex+2Za/WekZSqVp9cOV6vdWqi+R6" +b+="qtlBUpNCCkyFlT0FFS8ds/I981/txcmKQXKUQo0imqKaiyHt8jGbYkTeSCLKqLCaXkZfcNcBxC1" +b+="6IQYSkgv0e9UE/kaEe/pKM0ZYCCmbGUXhQY/nLVfJoTI9DNPKJNMDCF2V4N/2wfAAnVop8pu4qi" +b+="n2LbMTHvuhpFU017gO9gDFVNXhlwWCLzWW3WLy/SSzxCxTKhGER6RXRKijKEmXryFJio3gbUQCm" +b+="vIskZL1G7pEgGnEMLwkQUEhWAeelYI06WTowGy6rWkayuD0UhMc0JiZpS8XVDL7usEy5Yz25mq+" +b+="XJyF0zdUuvIAsCy5Ox26r7umkIcKnNGY4mGWCbCICcroKK4wPLoQaiu4f0QO8cjbkGfkIZO1/AZ" +b+="50umH5VFmAl8K7a99zdB7HWwxTTTopqlQNJMi5pCnm4LZnPg53fLqrMcVZ3twKJRd/c5BqPnCEi" +b+="VgSkJMHwzcFQdDmc95TPiOlxSYnIjTY+I3phpUWeQNBmYrry7DO+EDKWYkN+DgkFPJ3iJm0lyw6" +b+="qL8I3RS4IkZ0VbliQHUFdxOJEE1LdxVSyyQx8Sp/iPFehdN+VOlsCLlvXPefmUxX1+IoGn+lSyW" +b+="1kUvYfjHc5n1D0uwZD/Jt99/0f5Nm/6n+frSw+/WXgipkUohvOGZJoRQaAIUX6HvdoLd4l6cQYt" +b+="R9msKnL+CllfWDWFUl0harmQaHCsEQjTS3eYiNowMbdFF9htj0B89tdHIK4ECJ3mGXHx1YWpgwT" +b+="ix6E96e5EkOIlNEjxEhqkeAkNkh8kK6/Myl24dyRJCgrjiSJ0sEWHDHpPajVeQil9KAoUQyDTbl" +b+="CM7pJAzrfjCfauNG43NMAvda2waMeEoBF7FOyHbGiUepAtj3mN1J0TsV8WikYRVRXEcxVcuuMZx" +b+="gpydh3PEZNVexDuTcD/kESPJW92UJHa3iGxAqUgtgNI7qQk6O9AlBgEefZ5A1HGE6Ts86JH3wrS" +b+="Ogocjho92BTKEzMqHGAzKU+Iv3ZsQvZEgCt6n8OLKAVGiKZQP7xwoR3wogs14SU41BcvUqg/FJA" +b+="jOm9FcCcmiZPgok4Sc+DinySOgotvkjic6QdRzAjE7VSyzaBOvfzC5V8+3XhlBW+6he7uSurUh4" +b+="58fX7D2h1LdnL0IW7mEOOkDgqbZbgDhYdXUnt22vap4ZE47VXJHSdPvdI7qzxgCaJSCrGLp2+fI" +b+="mrY6K9KsZU89Upxo/KApbidphgcZriqjPDGcHUZyVPvMioP5DIKJEUpzHhVGeGN8eoykqfeZVQe" +b+="kBQDiQ4NR1eJFB3IFhy9BrOrjvqARPQwNaJF0bwNjRSUGlFxRgHNjbCioGAjKp/nbQhTN4Z1RBs" +b+="IxGqvRNQ2I8TaxjBtPgwmrYSWXE/RdxrkvCLEIvgS36GY6Qh9o4N/8CYHksU3ItUSwDc++Hx4o+" +b+="QDecpFwTKoyBVjN4Z1wjgb+UZcuOEp6giyl0jK28ormWF2K3nvgizjvfJbxLOSwItmvlHSsYxEr" +b+="4xIYY7zWA4e9dS8MjrUNqM9ckbwajukpvFKJYDkLTSGdcZsBZYKZis0ytlRa5J66LSO+RvQRCh8" +b+="iS2tIqZfN8CHW2gOWqkTfkHqHiGe5bHIOimARDklV8mHRiHFbxVIM0qd8zDKSpp9gNQ5n0QR6Ta" +b+="/gdgy3QB/tUrGGpbxeblqWq+MNwqkrbDVsA+EthmLVI3AeI1URWwarI7QNlWR6iDQD0TS3Ujvea" +b+="pjhR6feWVGov5L39675Iunj/x41KWQHDG15eVPt3z03is/bWtSSI6Y2qSQG2qwsrYtubkqJXIC9" +b+="6qkjnNeaZ3l2iWmkJqrUiPKfFel1sp7pbZRpipXfbz9mh8fovGltrEDicYlRxVQqHFSNs7VbJyr" +b+="6NiSO10mB6TNG2ksifVvDnavMihFNvxUbLDIHSwTFjXrYEYxfNioR81u2ttHuGvg0DKeZrKIvzq" +b+="TjbyCEmSw0XFFRzilN42NCn1TI6Y2IvGh6HiKa4OOSilWtsVkz6BiWVOEO06U2gLxnUTmymV8mD" +b+="hXIvPlSj5MM5dgcYd8oIRzw0T6LS7eJVM+6ggMuxnek6m2lYcYjUoUlCr55W+Y20ijkIl3jRzFH" +b+="6GN/FyvuL4sbqNpBMy+8HoLj3+3k797yN9D5O8RXo4RHKYZKpznKWBCf4tnGaALUw8VTjGAQ1bn" +b+="OALo53eocBFvVeT2HN6qye1pvBXJ7QnELiAdlBULxKlJvl2k3OKlWWC2tzmqSxFI57cKuMGpkJN" +b+="Px1NOibBIXbBEzUISsSkSXEEzYkxMFxzVJDvlga6CZqowPkT30fCAIIjUbABl2j3qHOxMvqRyEl" +b+="m3orohohjYRNhxU4XpCDk+LCrsJnLr8p3Mu4p4MVnoCTKWOtnqhCqq2aINGdFGkifczMVGx3Paw" +b+="24OVXvnzaESoEnxmi56WDuOao5IHljnrRToyZxuAONuDznLJLukwvUGVndmOxsEenndqpdveVOR" +b+="YTkvbwWFCp5D4J6dZ4EsUyv9RF5gW/pk6YKz4ZXNuK1NzRy3vICHG6np95/wuRFW3lSsfhzBTgj" +b+="ynu/xcOQufOFD9vothzbj9wZSeejLy21LZf6bpTJSFTCmFtZbudu2mcoglMM0fVG4xhFLDHRHjS" +b+="PyvXDiEABw4TGeVmU+FrGfUpWjzwPY56qqXDvTw8+3y/S6v8wU60/OPT3Gs6XbtXvFwtMTVSI6d" +b+="RCJuwtPY0CLb4FidsViigb51D5v2bfF012HtpDuIpXavkXurnb98zC+0FvW40Wk3bQRv6tVummR" +b+="0KaY5v+smBcBZyx9vYv5R0157oX/vP9o3V74DzpsS/tcov5+h2VfYxTJdeIt516FYqgtv71KeoC" +b+="IwJq3w/0y/KOjTbsS7k2VcsseuNYA+INyX9zSrtwxtNwCkVSHe2ogNKGwQC47yp85NpKIXjI9+P" +b+="fH7bP8xXb5xP799qm6ZnW8+lxon9umg/9xb8iZ3Sz8KU1rrxlEKIkPYKVKrdHqfBg94RmVe/Itc" +b+="oSbDJuNb5Fh40PM7uFzf0QtshOwCEETglpi+nuvDGoISURQjSDRx/kOQQ2CRAvlJII6NhB4y34E" +b+="gxWiswnBLtcYn4vwRSfLqr0eJHp0b5vxeexaZERJQ0Ullz/g7p2P1+5dqEjPBJPzqfS0KbWig03" +b+="wO8ZGqe9RuDENsizcvYMScVWFZdlufBRK8ozkjGgCJpLzRQE0UgImh+bCeJSlqmamM1mS5denyJ" +b+="lpTwHIETF88wu+4b03FlnNZGnpR9eeJ7BXVXQX1qKmthK0VLvMqBxgRJTazdHDX5xFW8GMEsmiL" +b+="UTIAfTSG53EPI8iPYliI9EZlgcXTMymXlR528iOkrVPiqdJ8TSp5X+elDJkTgt/Ogf+fSz+o/Hc" +b+="vLfdCHuT+2uySnD/4JuAct0U3H8GwR4K7i9DMFTB/d/3ABio4P4pBDsquP8SgpEK7i/f02bCPY3" +b+="2E8KvTb+vohhH32hXn73c3ydQ4fIWALYk2p60HL+DellH/mEZvcXdhLxr0hZCR6li5PmdRNvv6v" +b+="H6+U42AcNAPbWzDb9jkCW7plmGM6LHxAIzXOBFLAWLQI6IwjQSjSdFIYX4CkuCov4uKq3C2mcXb" +b+="QSk/cQsz9/8R3SrTG5nmCB70grkFOTSG4y+fh1M/h07deoUYLAIRvgjGjsZLCpjR4NFbfQ3WDRG" +b+="k8Hig45i9EY/g8Vo9DVYzEajwRKDvnY7GvUGSyfU5woAFLJ0BsSxBKLiSRAqfgWjRklXVAfpTo+" +b+="WERt2wEYYZlmkmeS4O55f1LhhAY9TmCWAKv+JmSHOUNSnMKRww5TeNpO7YWyIXcTNSWrg4RxXoR" +b+="y0Rvg0wAtQQ5mCF3fL6CTgjj6XOp+8E4voMe0CeLKIfZ3HzinDl2OVW2rIzgv1hlciWnrPVtQox" +b+="ALNn3JRf7e/GAkIvEYvBXQOJBzXd1AlixZRMxDBLxWwM+FuEdQjGIDgod0yX9gJwX27ZbTuSMbt" +b+="bnn680fwBeWtCcENSlJEPfgRBfRDcNVueb7zJTPpbqL0CKARwcUI+iJI9C0vvg5gBwT1CJ55XX5" +b+="LKNFnCPoplOgIgj4KJXr7dbmChBK9piRFKNHzSlKEEq1XvhWpEkIosfoQyfHK7HGtUyYGxhy9vr" +b+="3tQX3RIrote3Zt5xjivc5ddeyEzDoSwQidzLP+xxmf3vUPZMz/DzJe/Q9krJBfo0IAv+e9gJMCO" +b+="YRtOY3c1W/wRybRYVyIxdfSQeJCkCaTONsxznvt4nS2BLE4nkRf8wZ2CoZXBF7Dxp/K+1gOORYk" +b+="oIzATA7hkPOJ1GKLpYmIOMi+ndq0k5d9XIlEBYAYlWVWWcj3AXjwAiVuAj3jGSqKTOMHvyVrJBX" +b+="RZyXax/TIkS4MTWqFacmmOR6A60bNFcTDZRfhjc30wWClqHSfkZ4KQu0KgWzJ0wbHChCmX9JYmj" +b+="LwjOc49FalJHlISZKjSW48sJ2oaLDElRTSfanGKjt+A0yYnm1RN7nILdvUNnKWlsPQI7EmLeeRP" +b+="USy2CrL7JnKLS/fGtvcziIarNiz+3cwtdFf0OCvP8+RFIlipinI8J4o8PNUsjElNmWqPf6UiFmH" +b+="MJjNCMupgimEOktiW6dUCwnhUDzEHEr0U6A3VezggeIjWkSFZr6SGQx6ghhvgE5Cm0Eaanwp1TS" +b+="F5IDn92k0kZmOauUhFrHvQOcegRgXSm2GqUNI1S0KFZhNY2Z3CK/z+WxfoZ1VITVaFSImhWh5/q" +b+="NSJ/2tQif9q2UWDO2NT7UD1XRSlDjDLo+pKblTVe07VWSdKrJOVfbKQwlR9zKapfIy9kSsZomkD" +b+="cS2VrNEajVLvNpqFvVb7DGTpfI2k0WN7V4rt6R/JbO/bEUVa0XB8DSxM8ajRjQasyK6qfR0ANUI" +b+="sYhQOtQBFukb4jRRjeUkzrZ5SZVJDO0SKymovttI4qMqHzcaTx4Tzmv+ghZdFVI1PNdGTFNZiAY" +b+="vTz8W0EYxTm5MGMs8cntnI9CYnGEElJepQCIaIx1XUQNQaqIzTwkt8yFN7MkKDA1VkrqSsn/Poe" +b+="oUJgIYzaosXFVlNasymsrTkF7TkJUiJ9syJMqUQHppydD+HjSADhtAW0Gc+hJLnCImpyLn7TlUA" +b+="BUxgoZoA6A3M5gTw3wqLcEzUVEbcRmzwq0Cn1l0NayRVG6nlwaBGltOTdsDy0ySBSwhXUOUbLk/" +b+="iG2QdNjOuDWhJc54VVS5vIJ0jEAaUW5x2nZYPVFueD3RCxrOFOB4y/HLjEuj4KnLjEszjOG8nOY" +b+="p2l+cov3FWVa+LbMGy972WpPpPBM/YQpg3q9U1GzonNtGl4zdbXpb1iVjGmRsmqNzhxuXN/KcF0" +b+="zuBihzHs2LHomg1XhkBVSjs1KrlhWMjSXVN72Hh0xltcDJBh96s1y45gHTcW0PmNL2y8H2Y98B9" +b+="6KlKGfI8rY6Q6kXRy38Ux06HTWRIVsOZsevyarP9BMfSm3JsCOBEq4XLavp+YB0ou0j8RXsWkmu" +b+="kB67VhoeVfMqGAy4f6qYYCACCOb3D7fYlDPwwRWWLTBrmy6zA8ocGi8gll9URLnQcnY90CQjsSw" +b+="axoQyvqxCujAyoKhGNme5mZiclVdhJkyGCkEG0yVVPBItYofWTNGDSipNhHXB0YZrJ1MvOsnQsU" +b+="JN2NHtDX8jl7rn+eMH99708bu3NI335Tw5L/pncvalYihidhgX1EYFzZkUiSfpS2yblaL5TSxvn" +b+="uK/SDMVaaZH1v9lpkjAOMpcifQMUTBOCufeIyuovfRYqEkVxpvUxAZcqEjZxQC0qzCcmrIaTBnG" +b+="ZIpXpG/VpjcFGtGIZ0HNMo+poqNHpMUB0kE1GC9jdgLNjpi/ljyoKUSIwUkicpc0UXKkFNUmNZR" +b+="FJGpl9HwPbyLz2nGO6opaDiFDmESiWRZhFifgj2k+DwhNdNYWiQZf7141YB+/tnbBI1t/XKdB4O" +b+="0XH/32p213vjvdIHLAhp7cSVytN2/nDB+K1iqX3Vlnr6uqKq9x25011irJ7nQ6nCmSHWG7Taqrc" +b+="dqtJTOsxVV2qcRhs0dPgC9c0RUO14wqR01ZdFSJ1VnmiHbay8pdbmdDtMtZEl1eY7PPjipxWt12" +b+="V1S5IzKxNCbJFhtbXGyNSTCbY0qjIQmbvbDC5aiJjIkyR8UNJJ/Z7FFOF8fFciauiOO4CpHj+nI" +b+="e2C3i8oTjgJMlP7wK7WCxHaxiVx27V7d7r2kHayFANepK3FJueVmN3ZZmdVul+nL3DClZslfZq6" +b+="FZoIhcAPRSaLu08eoqLyt0N9TabfBZoYukgH+t7jqnvdA1w+q0kz+FpIWqHCXWqkJ2aaitK64qL" +b+="ymstDdgIjXWavtVBamMTUi8ujD3Q1n6QN4Xr3h+wKefuBF6OFzFXhx7eVdE8bHVR5aZW2bvV59d" +b+="/35U6K/rpIdPxo+6WdVdYz7KWfa1QPzXA7BG/0gf1zrLq+0O6GdnpDkqJi4qhnxmLS0tr8F+zhF" +b+="MnA3yMkGGPnD1hkP/qTIUW132mMQSN5QgNspMvqkqLyZYdhjym449BqEX1xa2QDDHxMbFJyQmJQ" +b+="+0FpfY7KW+8MzIetoPQgcsKwSrlFbuqq2yNkjl1bW0T6zuckeN5LRDp0PHSdYaOqZgKNln19pL3" +b+="HZbVQPn74V1HbG+zjqXG8aANakkwVxiTh5oS7AVx9ri7MXW0tjYpFK7OSmhuDgmLj6xuNRqJ/Vw" +b+="WqEdrFWAP6Rm0CzlNWVYuV2iiRsDaZ70oWUF/KqCghSNt7vqqtwpKXU19U5rbXhEkQTlhOIVpTu" +b+="dRdIsa1WdnevE6oghAEJ5DTwvt9G3KdIASa6DxHEFKhNph0q4GuBaXe5yQRGk0nJ7FWRXtIi9Xw" +b+="FX3iutKntNGSAxt6bd97a6WhgC0JtyCvBsD7zz90oDa1riqC4GLAL0qIURUVhiLXfDYHPPwLqfh" +b+="ng9OYpDIzA46iClGodbstkBo8qhAHPsrK7d1CYuBOJ09urbQAhB/2XfBv+Lfduq/p/3bZd2fRvs" +b+="Rb26XtW2lVe17SgNbdveEJDiyHAsazcZjmPpy3A8hB5e8GgInf7Dsoe0K2u3dnX5K7xQaWne2Lc" +b+="x+B2DMa3kdnCBFxzSLj7C+V5wd1Y3b3iYFzyAtZUMD2R1d0HlrU7JUeeWHKWS01pTZlfaI7sWsa" +b+="x9e0hFWY4au9we3dvNgt4wlgfzkli7yDSvm87E6dlz7LNMNh5hzpFw1kqG94j3crx+jNb91eTB/" +b+="zNMQV2xu8oeGRsVz+YKudjcfCgP9olNoHNF274ucRWW1Dln2aOrHTYa/yzEx/YwMzxRpmCp1FqO" +b+="Lex2SLOAFpQ2UDrhzR38f4APgqe0Hm4fE2eFa5qG0hEZjocCD/KChwKcBNewAneBs6CmoLSguKC" +b+="gIMwMeZhjzXHmeHOCOdGcZE42D4wxx8TExMbExcTHJMQkxiTFJMcMjDXHxsTGxsbFxscmxCbGJs" +b+="Umxw6MM8fFxMXGxcXFxyXEJcYlxSXHDYw3x8fEx8bHxcfHJ8QnxifFJ8cPTDAnxCTEJsQlxCckJ" +b+="CQmJCUkJwxMNCfGJMYmxiXGJyYkJiYmJSYnDkwyJ8UkxSbFJcUnJSQlJiUlJScNTDYnxyTHJscl" +b+="xycnJCcmJyUnJw8cCEUcCNkPhKQHwmcD4dHcGwakOF1Oe0m5zcML/aOcFrTdOb2J4MFFPZ2LtAY" +b+="6NwUaKBwKV+QOw9k12kDHyEAD/e4qZq0t23ZNXu5/Oi+UOJx2gimAj87oart7hsPmApTZAmXJgb" +b+="LsB3zR/1M8lMteEgP8UxIblLUOGCGQV7CRjskKjo5Jb7gnZ9l0L3CTPM9ZtuONyYs1vXIZAkS4D" +b+="56reUKxLLsQeI+/KtY/VYcSZ0Ot2xFZXF4GhYfKJLDK1AEYba+B8cxmV46b5GviquG6DALyHYMD" +b+="ngw+bP6qgd/8XeHFu7fWmfoU11/nutCwe0LSY7MKlwXr8+8+MDH3x08KTnTZemLL6MV9fgr9ZNF" +b+="Np95ZOG1Rn+ArMxdC7R5dDbX7Tvi/qZ1rBhKTZD8TNwPyS2WzgwynsxlNhkexWsvwEMZJecP+/w" +b+="e9ctaP9kozy//6PiUXX9v74k8tDwQ9seH3L7fJ7Yptildo9Y0PQqsfFtbcGTPPevJoQ+rBxe/mz" +b+="3V9yiI2YWJ4/d+uyaEObWsi/VOtWWaH2bC8JNLqdFobcMkVH5XoNY3mmej6KoHNoWFe/FMvtnKW" +b+="W+8Cw1D8oSMeFXuutLJl2cPQuDqePecsWxA2to1zqF0cNB5q2MH/VddZLImHlkx/59VBraOe/vL" +b+="oU1svX2n7+0caC6lvm2WpE9hEIKTlMPsSxiy6vtxmj4tFoupv4mqhbF8zZh5Q68ijUBPprwrKWV" +b+="ofY0TwLN6YYzZ+nH6fdNeppr2nZgbcunZI529b7jyxrOrU/srDT4S+c5N554lX9U825TnCF/nx7" +b+="88bcQJw+HH4rmhm065bn9o0s/Nuzc/3r9d1DNvVLt6A/GeGrNlv/6A63q19XR9+a/uCHLyx4/Om" +b+="PQePvzbwjdsvvti85tFV39Vf+uLDKT0PPjLsufGr10P3PcEKumgN3LzJ/9ttXF1XRUaDLsDElUK" +b+="bzgYsiYbryqDzwuv5rdyDd98mJL9QJV5cJYg7XntILIjQCPnPfC8c/W2ecK+jB7flsEm83Oscv+" +b+="teC9/5vjB+U9Alrn9qi7j91Wxh1t3+4iN964XNfh2xr/as3Y5+aSDx7/m7+W76qUKngnu598cc5" +b+="jPPruZTfH3FbxrShBct3bhG+3XClK098KPV6+CjF4X/Leq8unNb6izDMnWWYZk6y7BMnb3h/wvq" +b+="nBfYlqZBC6JSv2H4Xw2RVilkRkb018e65zw60VUzcVq7102cpeVpmU3QwnBA4CHx38ZORUYFuW4" +b+="MMnHlcD3N2BxvOJQthZMZGe3zL7NcY4Mpi7UQQn8IMrwIQqSXeMVtLVPebWflkuFVHGMN/1vW0w" +b+="UstD263M3WKucg/SxId6IWUcBy/FnoqZM9rW63vbrWjestW/ksoKhScYM0x+50UOSiayyM0SA1R" +b+="JY4HE7AKWiVf7MRuRVdaEvoBTrYctNHxOBq0IWCHVqgqqpyWIGXSGRZKZEvJRnjaRTs8a4mMmGS" +b+="72l9ymC1PgO+I1HIc0tuVlSMvJTkuAL4BueQfJpdDqaczhLOqSxxISaFe03MESjAIklbXDUxbd8" +b+="hBtCVDFm/K3lsZ3nkjBmR2ytZslaVOQhqS7VWJyx1oMNcUrW1qtThrLbbWKS2xcfkcFl1VbQ2tQ" +b+="kPMRHBSw4pwxh7AxN2yOVDjMxRshwnJwURlXtSqQHt6lRXU1njqK+Jrqtx1dXWOpwoavRUIjszD" +b+="Sq5HPJGpiU3Z0zmXxa+XR+chG9RmGuR08y0wRq/vLTc7mzTRFSWmV1um0AL5Ci3kTlKLisKF9pX" +b+="JrpdXZQ8vBqCpstxjd0o/khWt5SWPh5GhtuOzGBLN1o+pfys2TEOEf1I8BgiroZ4iL9up7W8ChG" +b+="T1NqKmGpDkRLGr7a7XNYye4pks6PMwiaRXFwD2FWCsWctryHF4XZBethnP3SjC9rfulFh0LX6w1" +b+="MioDUpknk2UsLudBvCIwltHw0mCoiDAjYlxgCJmw3PkLLOhysKssocbmk53KvaUjSppq662A4Dr" +b+="7U7xW9WLvKuGiq3rTstr9NutUFX2hxQPxT7slJL7hl2qO/MOrsLM3bU2p1Elssdhu+w3+AB6XOg" +b+="AoAQ5XZklo09qPA5J32cgkDhPahAwFM51spSuQsInUNCkoULxx5UCIUCpTIokANoTGmVo97Wg5Y" +b+="zNz1Pys6QyA6JN11phPed/6DdKfZD30OcLm1wBN4gte/BcJuUjVS/xFrjqClHyWIDpWE4nFxYbo" +b+="h3BOLjFtinPahwshwiOJ3QNbKInqIaZ+pJy4REF+ZGoPpyBFu5C6XU9XabGeKgsC0zOltpq7yef" +b+="9JWmBmK1d2An14IYS1x11mrJG4GfItj6M6eFD9Ky6vspEaljroa6Jz18ByFk0pPMuHerp60fW04" +b+="kbjLq+2sZY/2pAKddIQqyzEJIoyV6U8K4oDDVY5JDfQaxyhoy8dxB4jm/XwwhAnu0mTvZ8iA5bH" +b+="xiEIeNuw47zhDCY56xp33OxQc51nLGMXBMdr2/XD5vdxe8pWlI29/4gYWbUeInUUGDpP1AjwOis" +b+="RyGE/GSo6C+WkE8XPs1e3KhYxpNuAv7fRshsm5dnc2w962ZLLNt0gn4bVCJ7McNQpOjiXpZSpYx" +b+="WCH9/fxRFAto4pc4UIoCq0h3mVAx2c53BmIGRkEC6D17XnQ+bkOlO6NaNfGKEgf0a4vc8Zn5lvy" +b+="0qWp06RwnHeNYRTvOsMV2zU4jG5A4b4mIMks6NoaKtWz2+JZ3CFhFN9HZGflpU/Ki8zNSR+RmZE" +b+="5QprKcZPCKN1qn54lJ2ds5ghLXmZ2FkbjWsLoGG4fL3VcTi7ZBcovd5UXV9kpMBJX/WRPy4bVnZ" +b+="A3Ai+ZlgQ5rs3ucNtnUyjPjk3IgBz447YqCQGWoPiAAkCbctOvn5CeNSJ9Ql5GMn2YnjVhXPp4a" +b+="KK08emWsdmpo9NH5EmZaelZeVDF9PFZE8aOzR6RB1QtN298ZtbI1Ez5LhMaY2T6+NTs7LHplizA" +b+="wHDz7BTJ3YvSnjm9KN2X67m8F50XKS5w3EivfhrVdn5BsowyYKnKWmyvkqkIEtOwMG4TpIPqAx/" +b+="1oukqNBwID/B0LnckkENrrauuilKPYkQeYHHbxnPa/yQavLVW0w0BaMryGqRpdMIic3E4NAmZaC" +b+="MwMiOYLEbbons/nUHGpMuLsiLTPD5jRFJ8YnKbwnkKhlsa9tlufIsiYRgYMOG05VjxXarVZU+M9" +b+="7BC3Le9KU56CEoelGksFkmhLGO82n8stiM0Xbp3k6TKLeK0/9Fz0kq0Q0nio0gd05QapnvVJA8q" +b+="MkKuhMwc05K3Kcs4L/6AVYw2cbuHcjMwAiiTHALIySs02+EGMpJe46grm2Fxlrho5HRcoKTBOti" +b+="dzhqFUh6OrHjk8mTjGEV9g9hk+DTP4UgtL4MblpPVWcK1jY+4nOO1+XT9P7ZwR7oUCXQYVj8Do2" +b+="LZ6rYENwiW9aWqNEjvkOeR4SQGAxfh4Zu93uN80OXfLB/b6jP3M3GFkM8atkrNLq6A9vYw6EiYW" +b+="/tRnuyZfnRc4zf4i4Kwjz2j3K3VSRkG5PwUmuECUskd6Uf5nf9tQQkXTgUlHZg0QYZD2MazVaIb" +b+="/cvCKQ8uw8jPy0oTrfCuUzvcj0m8Bu7DQzn3f3q1fyqcrvZ/pav9Q+/Aav+r4D9c7ROuqJzuu7p" +b+="mQIUq8c4KtM+JnDGMfWtJubuhKsJE5Cn/vbqE01pfCBM0lHUlpIlU62mmZjTeawTmogpClcOFG8" +b+="PQcI5KKCEwv3WwNp9lB3YZqKy1FClpsZ2sr5yO2locFkVe6iK4/Vr8X6qLlPyL6iIr+7dVF9Hrc" +b+="93WksoUPfxormeH0Wvv4fQ6mV6HL6XXRTvpteI8uTa3RCFzyR3qWEKuLR+sIFf7/v14lQpbBWQW" +b+="T80alYTXh5d3rYbr8JOrzQ/DdVmPXdveh2t8358rjSO45uNJDTstI7jWIwsnxs8awe3JKqvesW4" +b+="EN+SOohOTPhsxfMnzs7s/3Tkt58zn75/oOibtzvfGaQ6ebU77ZfRnbwiRz6dtuv/DhhGzv0m7Qw" +b+="gf0H+xlJ4gxr5wbkNeutBy+cTMD29Jn9+xZ/RX/banh37w5e/HY86lf7OkdeDkoREZvTfqFp25r" +b+="TAjqEb9/PNb7spY/WZG2BeP78kQG498s+rQ5YwF495wWlPjRn4hNRz8reOMkSHlE0dsCXpg5DMP" +b+="BfZ/98A7I7uPXn3u5gXaUY8V7PwhomTIqK+6dE36fZpzlLX1+K7ZPz8+qmFP8C/vP3t01Ni5Byf" +b+="vPuOf+UDBiLMvVGZk7o7LO/2YpjGzoHXTc/1ansl07XmoNebkycylKXt186aHjL7PNu91v5DrR2" +b+="+/9Mmsd6wLR5vn3h0wcuvW0UNrPqmq2nR29IE3Axbd/FnvMZaLXSq+7jJlzJNDcj6PyVk2ptO4E" +b+="1OG2naNmVh0/w/j5v42pnqLquaho9Fj03567cSJr0vGdt74U/fpJ1aODVld+1hd94Nj77CW3lzu" +b+="FMf9/Nuwr8Xs5HHO80u/2FVcM27khYF+L116eFyXOXvejnj5g3EPrkzJcK/3zbI9eGLdnsWpWUP" +b+="e+OT9rVH1WcaBdy8p/3191hMjPvl1frfPs+5Yfrju4UcCs59/MbPTYmAC/QP8Tr//9PzswHv9n9" +b+="gXsjl76pX3Dr368LfZ97668PMX0kNzmqL7fdxnxYScwgtnrz9z8dackPsT7+r86fac4jTV+fs6/" +b+="5xzwwT1Zn5q/+urJ+z0/2x20fV7+sfnd1mx/Po5CTvWHdv25vVVOya9ZQjkxr/xQ9Qrt4fEjx/4" +b+="1NZqZ1j5+DcmR/h0qHxwfPcjL9q/fvjd8b2zwl99ZLEud4P1x6eWPDU01zh34ndBka7c7IINp6a" +b+="dfyK35LkjxXW/fJLbo/aNaT5bO+b1GTvw+cUzRuZFPXjzw0+lzs2bu3N5nw2Zz+YVnPutJvjol3" +b+="mumVtu7XFXtwmnMp4L/Onj6yc8HFx09Mz4mybs7TH73XVfvTRhWKfrbG/V/jDB70jCkMv7+uR3z" +b+="Lpx35DhU/PfMr3zYF/dHfmXl+8eaR79ev6QlC2Tt63+Pb+0d6ctPz9kntj8XVBf117bxOOn7j/T" +b+="4dK9E5c889rPEUMPTTwzLc61aZxqUmUCtyzUOnDS66ncufIXHZNeimhO/vzdRyb1j2/d/dGeI5M" +b+="SLKNm+1/wm7wjPPLbbwpGTP7Bef6xPvGzJ29YOqtDtOWpyfu6rC1/+dTnk4e1Buw6/XDQlOw9XX" +b+="5+YvG4KbHdzb+Nql8wZV7vxqSQzi9MeSByqrr4o9NTFlycNGKuLmzqI4Oil6++NX/qEv2gF0dEL" +b+="pm64stduaNX75g6RNp8qkD8Zeq4NV+ExbdcV2DOPHB3a6y1oPFjy0ujmu4umDq+4zddj+0taHCN" +b+="eaf2LW7axJxPNeMux0+rPnH3qONDKqbtempa5PrS1ml1XZ9Pnth8eFpH6+ea6laf6esax/VOUw2" +b+="f/v7HRZET1O7p+zq+OHut5snpTRO/Cpww6tj0p+/JiUq4rVPh1G0nGhbUjip0fjst+JEl8wr7PZ" +b+="dy5mTQc4U/FPpUHvvkq8LvXngrfeJ73YvOjX9wcf5j44ue6Xdz1Pqsm2F0hKdMDHu5SFgxuWVWw" +b+="o9FOy86+hx+ra/13IW3om5xFVhnzx32csKeO6zvFywdMCJlt9UY/9yv7+65YL2ZOzSnZVpM8ZNc" +b+="y70nN9mLD3Mnr/QIW1XcIp0pzP35UPFjp75JWhOrLjn48Mn08U0pJTsWPl1519LaktiyVRmzn3u" +b+="05PLw1En5xz8seXBGxK8JA0y23a/95B6RlGab/Zx5fEB6gy3/+LbSyfc8bUs0Jh7/9eUvbCOWjj" +b+="hStyHYHuDKy3r3SJb99BvnTC0jb7Sf+i2ms73LFrt19rwpr/T83j7EsPT8+++GlRoPPLt536KJp" +b+="UvnF564UnFb6W8bX/r+WPFrpcn3V3yz4sIvpTelqU/O3Tqg7PDoXk/ffs5adkv301OenXlP2be9" +b+="n/ihh9++sk71uonvLuJnfLB87wDdtwkzfFMuJe21V84YlXa5+IGeD82Y8t7LFxaWvTfjmdEb5pT" +b+="t0Jc/nbV+/fEtw8unFH/wQfBX7vIfUvb7HpPWlr+f1jpjcd7xcmP+ntSnygMqllbOebdLS2aFSz" +b+="N5lHSyqUL3aFJk/JnnKvS3LUzmvz1VMfbs4zft6NOz0pwffm5lfW7lS5WxMU0TFlWu1TRd+rTil" +b+="cr+Nsf0t4SfKhOGGBLn7exXtcB4+85pm6ZVvf1G8n1bl91Ztfu33cO/jn+jKmnL+WW9hEtVvVyr" +b+="UvJDY6u/zU59c92TpdVffnHnS4F5q6trDwxKuH3T29XG12597ZlQTc1SZ2Rcj7WDau4tu3hs/Oi" +b+="ZNU3zL6z4avVjNcesv88NVX1cM2Dutu+Xf25yzFpd2T8lJN2x/EbN87riOY4hHXvPTJ+70bEvsH" +b+="r/PatPOJoK9jRv29ml9uDAuYcmdM2pHbFoddq3Uktt3tqdnftGvFj79fL4VQ7XmVr/T7gdfdb0m" +b+="pkfYImJvnPSzMrJd1zauvn2mV98MOfT+NidM4/e1iXwtcu/zsz94cFVzsuRzsO/jHhI+2qx85Zz" +b+="y295s2aFc13M79/eMHq/01DY6LotS3DtnzX1kPnzRNf8PKfq5fuqXIfcb4RtPv6QSzW+Yd0Xk95" +b+="33fT4xHu6nTG4A/b88snMOos7eI57woF36twPrHz7m/kj17lLrrwW+4zxM/fgV11Nn2R3rjM8nX" +b+="Ps8COj68qq7zTYH2+u266rz7p8cFPdD3sDPr8kflP3/uWxG+alSrOWDG2d1CM3b1Z01p7vT5bdM" +b+="usl65yKYztendV57pKHr/vwp1lTVkcvnnUwvL72xguReWJhfd/Yl1cHFN9Vv3He6Z33puypL3jg" +b+="q/jhmZfrf3vNFLrnu9jZW37Ki0h5smz2Y+a1zy266/7ZZdNH1yY0vjOb/6VgX2qItmFBnLup0+e" +b+="DG2Ja10SP9XU2DNlz56AHlz3eMG5Ovf6N+KMNtetvLb3Y6j9nycTI5kE+GXMcG5KLbl18wxx7Va" +b+="/GxKRn5jSNHBCiWnhyzvTJv4amf9n1ho9XpCR8ezDnhneG3CJ8KS68IeO26248lrb1hrHJF54xV" +b+="J69oVAz54EDC3s3/nJzcEbqE5Mbf887WHmLblljcv+du9fpdzW+cc61Jd/3t8bzPywrXZ8TPXfQ" +b+="iq7bK+8smasfErpRU79y7tglEQV7lh+Yu/HXewde6ibOW13HLRp8ImmeeBe3dswn1fM+nzp8dPb" +b+="ah+d95DzU7Yu8D+YtW6o6EdLft2nrhwtqrk9JbYpY1mvvyT2zmuLc6wf3vGF9U+uebxf+tO+zJp" +b+="sXz4qqarhjXvbP7TVeSwURheiE098ebyL87a08VbOVYeSnO3nBr/BU0ifDm3i6eyXDW3gqyZPhD" +b+="kLb7/sJdJ+S/4sf2Vw++y1TV1j+Hdzc5XvlP/x5jHKwB9Tqwx9/8Ffv/49/f2dxtTzpn19cbU9q" +b+="u7gq91oYoR5g5X+5MKr6FxdGjcltF0b//RLZ7YyuxSWwswbTPwLpo0jospoOHG841AvWa9q+Rxj" +b+="fW10wMr22NVIkl72qNKrcVYgSvkJZDBleY69HCXiEXB9U1vL1Sm+xiuq8s4UtpFeF8mvJPrvEbr" +b+="fZbV7iVLZxOMM+W7K7AG/sytaiIlR0eR45qqutQHZwJ8hKxIywjnY6yvD0RnmNVyK4IVsNbQura" +b+="EmWZ6C81Omo8hJWhhfUmeEXiZeYjAi6ySPVz8BNn1qrkxwrkb+WhRx1NeW4vULUsekuPd0jbKNU" +b+="L0emr2SIFs0jFCLpKiDZZlWgchQ/KVDRDUUoGCiaWuR5NIA+mnv1o2lej1KK0rMzrqoSyetaL2i" +b+="ZrvGmRnIQsdi1PqoCyo97wNBFdgkapqquukYiO17hA8hDPMFDH6dIEc8NoiL4FwdRcdOOQVSn+a" +b+="1Bbc/roKC63dEf7vQguv32+yC65dE2bk1dVVXb+MGD6XbovzhpEQqCY2845IVClWd5quIhw5sZn" +b+="ZLhl9u9383TMw8yvJdNYu3PgtWxXzEgXKmz7qofaldajv+Ok1QBZ2m5CDe3d2Ea4LOsznJrjRuI" +b+="5FDagO46IImex1y3oXT/BwY22SCQ38QPpfuXgPVKKmPhGRJcO2B30VC6Z15treWqhtK9Ixfud9e" +b+="U2GcPpR0sp0nLwnGLWBnogROKi60sTZYPnjXhNg2liEF0FIiCKcftYc+YhJI7OpQqxnvGdFHR6a" +b+="EUOX4dShGqtMphJfszVKemSDeM7tXK7+W9cpSwhQ+je2ryu2KHAyhNDXmX1u6dPFrq4mK5ei9uC" +b+="fUSUC9ljtdho79zuKZlGJUp19XgaTTU4ZiD9BHxy+GegXsr5JaSmWp7tcPZcDUdxQ1rr817zz41" +b+="OWLirKvFjQRnWR1Oh3TgytoD8ljCFPB4Aj6vttY04AiudJU4HS5XpM0+q7zETp4gpXGSiDYgxTD" +b+="VVdpnA7Unm3skDam4ztXgtLscdc4SCpCnJDvkEhByNbjc9mppZp3DbVUmB5fdXonNA9WAOyW9Gu" +b+="A03A4n7uO7gLuw1ztRIwAlvbjfbkP6670RJt+X19RCi3l0bNxW3NG3u+sdzkpazhnWGluVd3GqH" +b+="I5aiex22cpRL8Ezf4Xbo8qiJFdDNWkBjBeBTGuko6aqQfJKAT6WywpFK6+rpglBj5G9AaJ8Vu4C" +b+="BFCe42Mv0NNv9eQoYTFp4Bo38FSStQrzbID2gu5zFTsd8EKqLa+1y7WyOeprrDYbtD1VRrHOguk" +b+="T21F+CFNlnctOFDUcNTUEf9gN5mgtJqgjp+Z1BmmGA/DFC/b6CNK1u9vApZCF7Sr9FlYHRaVCCn" +b+="e4GBeGRE8eA4+l0jG8MZWONYruEuGpaLsArjN9IsqqcNy+VKov8lkqpWUys+Ry2+h2FH6MlHqEi" +b+="RxCnMAIc4m1BotT7bCVlzaQfZtaK0zy0gyHAzDE6aiGjiFPKpGIuGdg64dDGvHXyEOJB/nYRlDd" +b+="lFvYvosMpzIdQBm2CPTg3A1ejGwjhHqvfbq5EOYxxhbhJqb46h1nPoQF7JnMwN5I9lkVcjDBm7R" +b+="kI1HJrnNnl44jrevZj013lGZ6yIWFkYuxgG55DsdYh7KtmcFIBTwdB5RiLBKKEUgo7K40QingQm" +b+="lDukIb8JtUIAbjGWXAe3yGKSNZyFBG0fVIFdIZUchyuHMZNcilIysDZvuJSAOmAAlA/QMb1IUVD" +b+="NVg2G0mjv9cHPVZFKExg1FkyHuyGgsjGdVSsmEce56myaMRt2dxyGa6LN7PPMBEHKSpWFELHZzp" +b+="ZGymkrGZA0OT5Z0GI9MCgxA/lgclwpk1wKDAwxHycByhjCQLHY0sgQmewTcKBqMX6PliPA5Fb5C" +b+="MxPb6NrLmiofSuOpKoMdcpXVVdHFiYgdscUwZ2L0vu+/E3v+bwZ8twGS4E4N92QFR+QC1gd13Zn" +b+="ucfixuX6Yl3YUdwDWycahn6QWxd34szQA2lnBfdNhwExcNoQsEFYTfgC59AeF9CG9B2ALh7tR/N" +b+="7RAcEIohjAewjAIkRAkCB0hXLKYuB8gfAnhbQjbIGyA8CCEJRBKIURB6AzhMtThRwhfQzgG4SCE" +b+="LRAehHAHhBYItRBmQBg3nPJtch90YKEjg+V2NLG217P2k69Gr77zY3gj95OOfWtgQe4XI4uvY98" +b+="YWZ6dvOLKuKdm9z0ygI+EcCndxH0P4RiE/RC2QdgI4QkIKyAsgbAAQh2ESgjTIYyHYIEQDSEUgg" +b+="HClTQTdw7CaQhfQDgCYT+EzRDWQngAwhIILRBmQaiAMBXCKAhDIOggmCH0gSBB6AThzwQZspBEU" +b+="dKEOrVmUj2Dlkw6N/gKtL5XL8yBKFYB0zR0iGS+SioAjHm0rbyhkHC+RKL2dSY1HTKWtb8MZzGY" +b+="Z/2HUr9TwMSbYEXSehPPDU/twDXfsxIm1Z/V3N77BglsnOzB3VhgvCVIYLivyDW3wIwWGcNzr31" +b+="r4JYnQFV2OH68qReZh+afWb9wqqU68nsVZ1l99w7O0InvWfGq7bvkmu9WPPHRObIfGMxZtuOrvv" +b+="zQu6N87j0mXkru3CH6hLvX6Z8Pvqs7qtr10cb927o0xT0u9u35dZbAWRbdA7Ef1fONUSun3vzuK" +b+="84HPzxyc3TnjrtzPq2srRl9sMORu9+rmfls342luzf0Tuzcfcq7qYP98q6UbHdN2Bd05jf7j+Hb" +b+="Jvz6xtHmo9/VnDtw5mjhr7lq7prNWFrljrXZiaAFZ86GaBvMPQ4UtlzdJbYo4Jfd0lDJzOWNofq" +b+="9ddwf9R9ELq+pc5HYnBJ/1p/Er62i0eW49X+WNhQkqmSGHZhGWyGwfeH08wgU5bgc1XbUaZHTmf" +b+="1303HVFYezYnsnJKfT8IfpFNeVRgGnEB6B6DrOMqkwN3NkYVrmyMy8XK+6z2Hfy/AOhpsy/Bvee" +b+="8G/MzogwyinjfOC9Xzb9AztYGM72Lcd7NcOHsNTPk2G7Xzb/Gfy9GSO0pd82/LeyMqHv2PpXYeI" +b+="B7t+uePCvssI79193xtBl2vXHb1wmMDZR7e9cvGZ+iu/XDhKYOP7lZYzd+S/4n/xBIEHX2xatqH" +b+="nodsGXDxN4BvvmxATXnD9uxkXzxH4+Tcf37B0/cz7rRcvEvitxd/3qg9b/c0NF1XkzGN17uzhd2" +b+="Tue+qei0YCTzyweVpDx8ELnrkYQOCk/AvjEpebXnvrYjcCZ68clez45p5lX17sTeA3Uhb0eWuh+" +b+="wPu0gACn1vx6or9B29qDbkUT+CT6/sHrdTHn0m4NJjAtz+b0P9CWfKzOZfSCDxo2O53jh3e01J5" +b+="aSyBt+5/t2u/tE9eX3gpj8D3vNnnpQMPVt7VeqmAwC2PFc/tXbX+462XbAT+5aNC30ml6x5571I" +b+="Vgfv+sPPTu85//tOZS24Cb2m+snbNhuef119uJPDi0Y1V6sLim/tcbiFwrnlHfNGVbW8Ou7yEwB" +b+="P6br1jycKse6ZcXk7gl+dF1Pau/+2Y+/JqAi/dcnLLgy8fe3zp5UcJvHyue9HBwifPP3l5PYEPr" +b+="lqz9K7atBd3Xd5E4MrOHV49f1Z367HL2wi8OSbGPqHPxv2/Xd5F4PVNNxza/fmwewOu7COwZtB1" +b+="/XeZCk5EXTlM4HfvdJXf27v32swrRwnst5e78cfnb75UcuUEgb/t6n+nTXdy27wrpwm8b1GOw2f" +b+="ftiX3XjlH4AH2Lp9PCnrh7eeuXLzCWTa3ArFUD1994AqQ4F0IvD/A9NjhU6euGBk+Fq9//dvZG0" +b+="RC26G1fZafnz1w2PweZA7iuOc6a9+84cCK7ckEvzmutuCbGw7EzluaS/TYOW5G89frHk1+571qs" +b+="ibiuPSw+4L69st+cBHR+eO4fhd2HY55uOS7h7k0Aq/ZsGdJsv3TjS+T+YjjPrav63q77o0bj5Dx" +b+="wnH3dZ+Z+lv3abt+JGemOG7SVyGPDygfd6cvbyPwN7fVdrV9z3/Uj6fC+tH1Z+6795Hqh1N5N4E" +b+="XVs7ddMNsnx8L+EYC1wd/0vDQibxN9XwLgV97fdXUO2+aetOd/BICD5l2z57XcxP2rOeX0/q2rv" +b+="i9YFP/u9/gVxP4i8LWe19+MOPTz/hHCdxnycCP419b9dhFfj2BCx5c+Yjzvt2/BAqbCHzgla/zc" +b+="l89+kKMsI3An1vCfgz66eKiscIuurqdXfDuqgPSvlJhH6UGuaE3/DQlcOV84TCBU8w9Vxx9vvXz" +b+="VcJRAt/z3BcFuW9/uGazcILAg9OeePTDxlUXDgmnCWxKe/SJsWNnvfStcI7AXVcP33zm9nWLNeJ" +b+="FAg9omfi46UzPQ5KoInbHImLu+Prko6ZVg0Qjge83rn7owirTVxPEAPr+3KDiD6Xw9bViNwIvPP" +b+="jEnOlj0poXi70JHPnJenH4idBXHxMHEHjplbTp0avLbt8uxhPYsmXJ6vuD4g5/JA4m8JMhX2y68" +b+="+MuD/wsphH4w/pjW2tevefbDqqxBP57M2+Zs9xVR7iZQ+NNRPNyLuP6ZfhJNoPI8Np28Lp28Pp2" +b+="8IZ28FN/MTNK18nT8mApPEYaPFhKjInw+v7pdunhjITc3Z/pLMpxfZl0QoYDeXoiQoaHt3s/kr2" +b+="/uqyhOP3CdE2kTuER/4FIUk77KP8X7eBVffmbT/i2df+0HdxLoG0hw32FtvUpaAdvE6hWvgy/C/" +b+="AYL/gYe/+nuMSM9XSbQE/ybfszjmWqeRpwW8UF/cwFKJ6Xv3n5D7+ptTrdLg+fE+/55hX2jTkqK" +b+="vI6vJbXlGZZs/6CUaq2zoZ7OY0mgXIbEVFR3KUJ9PQC2bKQN57I5pwrhQiw4Ds87ATpUUVkGhGe" +b+="wAor30TMP4TnUy387ROoxC3F6z4vn0rd5CuVauGOqVvq12+A1Miez82nEv8lXhKn2xgsS8NvJ7s" +b+="DbuAhXaFDhgy5us5F4VX2UrckOcvLZrgjivSShDA8Lxqgpw/xnpwceCmfnkA7zMr+ZT7dNfiRla" +b+="PoT+IET6RlJqdVWT0HT6TtuMRL8raUmWG5AxVL8XeDfoB+AFykudLccH34gHb1u/NaOFda7Ua8Q" +b+="1xbNpGae7OzlZN59v9fLCS1bYe7kCuCcPcftQcbe62TaHvUaqgU1Pxf/uT0KjT09K/bWWcvRQuj" +b+="uJpm79b40Lxk+GkfKpX4A43zant1CTGRMGoyHSszmVkysrcrudww0NmQarPrSw4ukiS8VOdnT6Z" +b+="4eCtcw5Q0cLeGprBtMt2Nkt/T7+k7kpMLRx0ZyfARAbijEBfL/+NkKulmeyz0U5Yv0BDlNCoZf2" +b+="iK0I0n3Ymsr01U0xQqOe8DV6RPFyfIO2PyCTipzl0amUyPC8v7e1Q2TksKPOAUenJS2ScnHyhxv" +b+="cT1nq9WT6EnczdPoW30l+oNU+gJilQ1Ha/ecJgXnK+mekEynKChfIIMl7SDbQyeGhUVNY3UkfUu" +b+="UMw21BXvgMhMm0p3J2ZMpf0g05Zie1l5jTR4COnecLyJkOpn2Glz4+YBfLtyKt39fHwq3TldO5X" +b+="2v5wG5kk3g3BPUzn5NUgqd9Pzqy7kF6Rw2pgRpERyeY5OpafPhAIqwdMX0K12Oe1rti8bl8kFdG" +b+="xoeWrW76q4TPEBTazSI3z0dImtgJ7A1jOzdzKM/ZpIJgVRrdZoBK1Gp/Xx13czdDF29TX5GTuoT" +b+="GLHjp18AvkgVTDfReyqDeG7CT0DJfE6MdIQxZvFGCGWf0J4UlirWqf7XbigviRcFq/4bJjdsPi2" +b+="h80TJy1esqzbJ34dxoy9cDEqeljBtMLPW267/Y47n3xm60uv735z76cnTl7hVP4dI2Lik1IGDck" +b+="cPa3ldni5aetLu/ceOHjiJKfy9SNvUwalZ2SOnm6zt9yx6v43Dxz09Y+AR5kTpxZML7TZb7vjSf" +b+="jk9TePnTh51tc/PdNmb255dtsrr773wdkfbly4+NHHX3n19TcOfvTxqJUv79994GBmVvbEydMLb" +b+="7l96TObX3h1x+43PvAPDJpa8Muvl680V8/89JhfzxpHt+6Fc+c99XTTS9sCg3r0zBiZlT1pSsH0" +b+="eU3Pv374vaNnf/jZ6Vrqrrunb1T0E0+/8OobBz84dt/wFSvNS3u+c/jAlazsKVO1ug6mftHfn6l" +b+="xJA0Zlpq+7I7csro9bx56+8iHX12+wkmFYQuOqRak6UJUGv/56/2a16l7+swPEbvoeFW0Kl6lFX" +b+="mtRuuvz+nQUTtBK6q66X1EnagVBVEUjSq1aNDwfp3VWdoQ7UStoAky5qhGiJEir/LXdDCmqLr3K" +b+="ZSqVRV9mveoF2wUu2oWXBInawN9gn0CjAHGCo1e01UzWXudOkM/QGVU8WKMYYCqq8YgNq+HV9Ex" +b+="48TmR3WDxQ7iYG2y7jr1giv+wbpo/0gxtENoh+YlqgUruhg6L1qujlYP0gp+wT7Nr4S5jc3vdzW" +b+="qm6+om48Zf7xfTPKZXxDQvEXX/JZaHzxI1GuSdRk6o8Zt6CFOUU32ab4xuJs+0GesqvlWzbpHjU" +b+="GqmIdU8z/qqzWq1c2Pm+b/rOWl/hp4e5uq+RUxROzgy2l4HionqLVaQafzEfRqg+CnMvH+Qkd1J" +b+="/8AvrMQJHTx7aburuvJ9+YrVJXC0+IzwjbhoPC2cNj4ns/7wgfCR/xx9WfCV6pTwvfSWdV54Xfx" +b+="Am/sN2hoVvbSBx548IbFd93z8LNbb3pGo/VJHDI0/6dDb6sCghOT8ic2rX3q6ZcTjne8+ZbbH1C" +b+="QEXExK9tmL9j8Qkg3rU5vCAhKHJiy5skjH/okLbtjjVY/aGhp+dI7/R2Fr35/ZkrxuYtXcvPuWx" +b+="UV3S98wv2tDz3y6BNrNmzdtktjMHbunjIs/frHn9i3v1XbpWtYn6HDvjp95srru1VSrz59w+OSU" +b+="0aNHpuTOyEfca+oxF5a6Zo9t+nWR9c+vXH7oaeernG8ctf0sBvUoipSLBX56KjmBd3FmA7dVL19" +b+="eqivU6ep/Po3r9X0VvVWheviDVkj5if5BOp1wYPSB4olOh9zoDpUDFHzw5NVY9TRKr3WRztc6qc" +b+="y+iSKKequWpVRm5OZFOcbp43S6ef3HT/mOl3/wK59uwUE+WRBBmm+XbR6zShdP586Q+rQ/ppBar" +b+="3meg2vNonq5sXFPUbp9M2PTw9LN+g1vp1SNPrEAaqg5hcH23KNo3z0Gekho3S5vplaffMvGfru4" +b+="sjMJNFPp9cM1OrnJ3bRDhK75fMdYn1vXFVaZ2jedevYEt8Wsylw6doFIx96ccFAbX9VgaavPkMf" +b+="ru60YONU+xjVQK3/cESJFed1Le/393n4q/lxHfjuGj+Vbv6SW1SVal/RR2u6s2ikj3tw8y96l66" +b+="2c8YcHAoTfbo03zx/pLgwtUPnlpyeGk3ze9eph4bytZFiV5Uwf3hP/xQ1P/9Q/wVfNv8aMValVw" +b+="k3+qeNHdL82mANr5qgDokX5vsNUNmM+frmp5K7+w5Q+cCI0DTfd+MRlb/oK9arCjUwvjoYVclQu" +b+="XBdWNb8PGN3KEuizg+i+mib3+qjb9H8IQ1n10JUlAAyfs01U3F5GWNhuZxiavVjPU95/KuZ+BpH" +b+="scPpdNRfY4WIR1hxgRxvvvol1WsZKpnxxDwuPNvylPfIlhPQ5AG5IbxFYV1todtBlAZQC7HtNyt" +b+="wbQPlDWcnXcO94AK2G4WLhRtVEneHuoib1qmV6xgk9TRKRT3PDGi9rr9ZGuB4/PgAYU1RZI8LRV" +b+="HcZSnxgStFiZf4zxJ5fWhSb9/Pktb5WQdGBz800NzNOuqnHg+NHR5vzTlb8dD12Y7Q8fdve2g8d" +b+="9Caa3/7oVzuo9A87vhnE5763Drx9InQyYdOPTRZ4r6ffJZvmsLVcloukud5Af7xowzmzibeDhRX" +b+="EHhVL75HyFRDio8PH6zifYBAqa8TB+v6B/NSEnyg0gFl1eqF7nwKfq7SQRS90JUXhIFAyVQCUHK" +b+="+hyDyBoTVEIEPEAKBzqVgXhBbK+qFHvwg+NYIX4ZD8pCqqAYyqBUMJFUsEmQqINxNGCh4cunOj+" +b+="JVPCTO6/jreUFr1BXzgo9BmymEEE3pJD8eclQb+N4+fKmK10ChhC6CSjSpfOFWw3fgoe3F7kIP+" +b+="Ddc4LU6XjD48DC/8HVCGD9LVAk+vEb8GBoBSqvFFAWdRi/w5p4xKjPAaj7cxyhIUEleTOZJQcQU" +b+="nSCsFHlfXosZisLu4Ry/M5QTb+OLJE5TLnAqXi8JOQKHlJ7vIqj5FULXjr58X10XQ5Ro5rHJ+vE" +b+="joOUFwQj1iubjIFVBUEO9+ws6/ntsNh4Q32TC5SL/OX+3mhOhlqpwUcU/BulzQo6YYYhR3cAndo" +b+="iAeurFGEhTyw8Re6t53VDeKMT7wBDnC0VsSmgU/n5e1HUmLcvzgbyfVlTv1GFlgrBVNdhR2AnfQ" +b+="tk0cA0RJujwSQVPPuftInSqmvPhhZ+hTwAj+GWQn4qX9OEa0lMaQYyCBgdmDmKPD4SiQCpzNCKm" +b+="Cq04CrPiOejdeLUa73hNBw4mXY4fproennNRQhAHbaBS63SCtodqucglqWJ1vB8fqOY7QKr+JEW" +b+="1jW+Fb4aooAW01VquqPksdyPvU+t02OpK7E6XoKuCxU6dtczOq8bXudycEV6hioHdFlncIKqJ8n" +b+="OfmKgkc5Q5sgZX+lUNUriiDC3BAjgu0hwXGTMwQlNvrYLoGnNUzMAosxHoTHVkMTDpZfaajmhmP" +b+="zleCi+xW5NLSuJssRH/DzHnAiY=" + + + var input = pako.inflate(base64ToUint8Array(b)); + return init(input); } + + From 73e0629d3df4ec1e18a081fb7ce97c65f9d6cd5f Mon Sep 17 00:00:00 2001 From: Josh Long Date: Mon, 8 May 2023 19:52:51 -0400 Subject: [PATCH 002/193] refactor combiination entry point for new method signature --- packages/crypto/src/lib/crypto.ts | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/packages/crypto/src/lib/crypto.ts b/packages/crypto/src/lib/crypto.ts index 245c8691c1..8256ec905a 100644 --- a/packages/crypto/src/lib/crypto.ts +++ b/packages/crypto/src/lib/crypto.ts @@ -211,7 +211,7 @@ export const combineEcdsaShares = (sigShares: Array): any => { // filter out empty shares const validShares = sigShares.reduce((acc, val) => { if (val.shareHex !== '') { - acc.push(val); + acc.push(JSON.stringify(val)); } return acc; }, []); @@ -227,23 +227,10 @@ export const combineEcdsaShares = (sigShares: Array): any => { }); } - // R_x & R_y values can come from any node (they will be different per node), and will generate a valid signature - const R_x = validShares[0].localX; - const R_y = validShares[0].localY; - - log('R_x:', R_x); - log('R_y:', R_y); - - const shareHexes = validShares.map((s: any) => s.shareHex); - log('shareHexes:', shareHexes); - - const shares = JSON.stringify(shareHexes); - log('shares is', shares); - let sig: string = ''; try { - sig = JSON.parse(wasmECDSA.combine_signature(R_x, R_y, shares)); + sig = JSON.parse(wasmECDSA.combine_signature(validShares)); } catch (e) { log('Failed to combine signatures:', e); } From 767c18f035d3a59b48892658cf7a41a86afcf0a2 Mon Sep 17 00:00:00 2001 From: Josh Long Date: Tue, 9 May 2023 17:58:16 -0400 Subject: [PATCH 003/193] update ecdsa-sdk from ecdsa wasm --- packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts b/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts index 241f45612a..bdae3be5ea 100644 --- a/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts +++ b/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts @@ -471,7 +471,8 @@ function initSync(module) { return finalizeInit(instance, module); } -async function init(input) { const imports = getImports(); +async function init(input) { + const imports = getImports(); initMemory(imports); From 3c305caa35c7467cec190a3768482ebf810c3b2e Mon Sep 17 00:00:00 2001 From: Josh Long Date: Tue, 9 May 2023 17:59:10 -0400 Subject: [PATCH 004/193] updates for new cait sith ecdsa-sdk --- packages/crypto/src/lib/crypto.spec.ts | 61 ++++++++++++++++++++++++++ packages/crypto/src/lib/crypto.ts | 38 +++++++++++++--- packages/ecdsa-sdk/postBuild.mjs | 27 ++++++++++++ 3 files changed, 119 insertions(+), 7 deletions(-) create mode 100644 packages/ecdsa-sdk/postBuild.mjs diff --git a/packages/crypto/src/lib/crypto.spec.ts b/packages/crypto/src/lib/crypto.spec.ts index 42623f460a..4a01cc7f36 100644 --- a/packages/crypto/src/lib/crypto.spec.ts +++ b/packages/crypto/src/lib/crypto.spec.ts @@ -1,9 +1,12 @@ +import { initWasmEcdsaSdk } from '@lit-protocol/ecdsa-sdk'; import { generateSymmetricKey, encryptWithSymmetricKey, decryptWithSymmetricKey, importSymmetricKey, + combineEcdsaShares, } from './crypto'; +import { SigShare } from '@lit-protocol/types'; describe('crypto', () => { it('should generateSymmetricKey', async () => { @@ -78,3 +81,61 @@ describe('encryptWithSymmetricKey', () => { }); }); }); + +describe('combine ECDSA Shares', () => { + beforeAll(async () => { + await initWasmEcdsaSdk(); + }); + + it('Should recombine ECDSA signature shares', async () => { + /* + JSON.parse( + '{ "sig_type": "EcdsaCaitSith", "data_signed": "A591A6D40BF420404A011733CFB7B190D62C65BF0BCDA32B57B277D9AD9F146E", "signature_share": "01C4E0EDD498B14DFE8D87163C39F738B8AC17172B55A6A9518E3704362B4FC1", "share_index": 0, "local_x": "0203899AD2B6B56D65130DDAE01A099D867FDC5DF9219CD1B31A48B03FA0AF05EA", "local_y": "0203899AD2B6B56D65130DDAE01A099D867FDC5DF9219CD1B31A48B03FA0AF05EA", "public_key": "03D589E6B6FF8B611D073F6161E8A8D9A9A737C6B102D284984ACE0F0326073402", "sig_name": "sig1" }' + ), + JSON.parse( + '{ "sig_type": "EcdsaCaitSith", "data_signed": "A591A6D40BF420404A011733CFB7B190D62C65BF0BCDA32B57B277D9AD9F146E", "signature_share": "FE3B1F122B674EB2017278E9C3C608C60202C5CF83F2F9926E4427889A0AF180", "share_index": 0, "local_x": "0203899AD2B6B56D65130DDAE01A099D867FDC5DF9219CD1B31A48B03FA0AF05EA", "local_y": "0203899AD2B6B56D65130DDAE01A099D867FDC5DF9219CD1B31A48B03FA0AF05EA", "public_key": "03D589E6B6FF8B611D073F6161E8A8D9A9A737C6B102D284984ACE0F0326073402", "sig_name": "sig1" }' + ), + JSON.parse( + `{ \"sig_type\": \"EcdsaCaitSith\", \"data_signed\": \"A591A6D40BF420404A011733CFB7B190D62C65BF0BCDA32B57B277D9AD9F146E\", \"signature_share\": \"55EC4AF9F1883B19FF84825CBEBDFD127BC8FBFF48DF6CF705CADC85ACCB3056\", \"share_index\": 0, \"local_x\": \"0203899AD2B6B56D65130DDAE01A099D867FDC5DF9219CD1B31A48B03FA0AF05EA\", \"local_y\": \"0203899AD2B6B56D65130DDAE01A099D867FDC5DF9219CD1B31A48B03FA0AF05EA\", \"public_key\": \"03D589E6B6FF8B611D073F6161E8A8D9A9A737C6B102D284984ACE0F0326073402\", \"sig_name\": \"sig1\" }` + ), + */ + const sigShares = [ + { + sigType:"EcdsaCaitSith", + dataSigned: "A591A6D40BF420404A011733CFB7B190D62C65BF0BCDA32B57B277D9AD9F146E", + signatureShare: "01C4E0EDD498B14DFE8D87163C39F738B8AC17172B55A6A9518E3704362B4FC1", + shareIndex: 0, + localX: "0203899AD2B6B56D65130DDAE01A099D867FDC5DF9219CD1B31A48B03FA0AF05EA", + localY: "0203899AD2B6B56D65130DDAE01A099D867FDC5DF9219CD1B31A48B03FA0AF05EA", + publicKey: "03D589E6B6FF8B611D073F6161E8A8D9A9A737C6B102D284984ACE0F0326073402", + sigName: "sig1" + }, + { + sigType:"EcdsaCaitSith", + dataSigned: "A591A6D40BF420404A011733CFB7B190D62C65BF0BCDA32B57B277D9AD9F146E", + signatureShare: "FE3B1F122B674EB2017278E9C3C608C60202C5CF83F2F9926E4427889A0AF180", + shareIndex: 0, + localX: "0203899AD2B6B56D65130DDAE01A099D867FDC5DF9219CD1B31A48B03FA0AF05EA", + localY: "0203899AD2B6B56D65130DDAE01A099D867FDC5DF9219CD1B31A48B03FA0AF05EA", + publicKey: "03D589E6B6FF8B611D073F6161E8A8D9A9A737C6B102D284984ACE0F0326073402", + sigName: "sig1", + }, + { + sigType:"EcdsaCaitSith", + dataSigned: "A591A6D40BF420404A011733CFB7B190D62C65BF0BCDA32B57B277D9AD9F146E", + signatureShare: "55EC4AF9F1883B19FF84825CBEBDFD127BC8FBFF48DF6CF705CADC85ACCB3056", + shareIndex: 0, + localX: "0203899AD2B6B56D65130DDAE01A099D867FDC5DF9219CD1B31A48B03FA0AF05EA", + localY: "0203899AD2B6B56D65130DDAE01A099D867FDC5DF9219CD1B31A48B03FA0AF05EA", + publicKey: "03D589E6B6FF8B611D073F6161E8A8D9A9A737C6B102D284984ACE0F0326073402", + sigName: "sig1", + } + ]; + + let sig = combineEcdsaShares(sigShares); + console.log(sig); + expect(sig.r).toBeDefined(); + expect(sig.s).toBeDefined(); + expect(sig.recid).toBeDefined(); + }); +}); diff --git a/packages/crypto/src/lib/crypto.ts b/packages/crypto/src/lib/crypto.ts index 8256ec905a..6bdd43a223 100644 --- a/packages/crypto/src/lib/crypto.ts +++ b/packages/crypto/src/lib/crypto.ts @@ -37,14 +37,12 @@ if (!globalThis.wasmExports) { } if (!globalThis.wasmECDSA) { - let init; + let init = wasmECDSA.initWasmEcdsaSdk; let env; - if (isBrowser()) { - init = wasmECDSA.initWasmEcdsaSdkBrowser; + if (isBrowser()) { env = 'Browser'; } else { - init = wasmECDSA.initWasmEcdsaSdkNodejs; env = 'NodeJS'; } @@ -204,12 +202,12 @@ export const combineBlsShares = ( */ export const combineEcdsaShares = (sigShares: Array): any => { log('sigShares:', sigShares); - + let type = sigShares[0].sigType; // the public key can come from any node - it obviously will be identical from each node // const publicKey = sigShares[0].publicKey; // const dataSigned = '0x' + sigShares[0].dataSigned; // filter out empty shares - const validShares = sigShares.reduce((acc, val) => { + let validShares = sigShares.reduce((acc, val) => { if (val.shareHex !== '') { acc.push(JSON.stringify(val)); } @@ -230,7 +228,21 @@ export const combineEcdsaShares = (sigShares: Array): any => { let sig: string = ''; try { - sig = JSON.parse(wasmECDSA.combine_signature(validShares)); + let res: string = ''; + validShares = _remapkeyShareForEcdsa(validShares); + switch(type) { + case 'EcdsaCaitSithK256': + res = wasmECDSA.combine_signature(validShares, 3); + sig = JSON.parse(res); + break; + case 'EcdsaCaitSithP256': + res = wasmECDSA.combine_signature(validShares, 4); + sig = JSON.parse(res); + break; + // if its another sig type, it shouldnt be resolving to this method + default: + throw new Error("Unsupported signature type present in signature shares. Please report this issue"); + } } catch (e) { log('Failed to combine signatures:', e); } @@ -305,3 +317,15 @@ export const generateSessionKeyPair = (): SessionKeyPair => { return sessionKeyPair; }; + + +const _remapkeyShareForEcdsa = (shares: SigShare[]): any[] => { + for (let share of shares) { + const keys = Object.keys(share); + for (key of keys) { + const new_key = key.replace(/[A-Z]/g, (letter) => `_${letter. toLowerCase()}`); + share = Object.defineProperty(share, new_key, Object.getOwnPropertyDescriptor(share, key)); + } + } + +} \ No newline at end of file diff --git a/packages/ecdsa-sdk/postBuild.mjs b/packages/ecdsa-sdk/postBuild.mjs new file mode 100644 index 0000000000..3c660b618b --- /dev/null +++ b/packages/ecdsa-sdk/postBuild.mjs @@ -0,0 +1,27 @@ +import fs from 'fs'; +import { + greenLog, + readFile, + redLog, + writeFile, +} from '../../tools/scripts/utils.mjs'; + +const TARGET_FILE = 'dist/packages/ecdsa-sdk/src/lib/ecdsa-sdk.js'; + +const fileContent = await readFile(TARGET_FILE); + +const newContent = fileContent.replace( + `var input = pako_1.default.inflate(base64ToUint8Array(b));`, + `// The following line is automatically modified by encryption/postbuild.mjs + var input = pako_1.inflate(base64ToUint8Array(b)); + // The above line is automatically modified by encryption/postbuild.mjs` +); + +try { + await writeFile(TARGET_FILE, newContent); + greenLog(`✅ Successfully wrote to ${TARGET_FILE}`, true); +} catch (e) { + redLog(`Failed to write to ${TARGET_FILE}!`, true); +} + +process.exit(); From d9cfb71c21b417663d2b648b8a62b1afc34fba8d Mon Sep 17 00:00:00 2001 From: Josh Long Date: Tue, 9 May 2023 18:31:20 -0400 Subject: [PATCH 005/193] fixes to key remapping --- packages/crypto/src/lib/crypto.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/crypto/src/lib/crypto.ts b/packages/crypto/src/lib/crypto.ts index 6bdd43a223..efdda33aff 100644 --- a/packages/crypto/src/lib/crypto.ts +++ b/packages/crypto/src/lib/crypto.ts @@ -209,6 +209,7 @@ export const combineEcdsaShares = (sigShares: Array): any => { // filter out empty shares let validShares = sigShares.reduce((acc, val) => { if (val.shareHex !== '') { + _remapkeyShareForEcdsa(val); acc.push(JSON.stringify(val)); } return acc; @@ -229,7 +230,6 @@ export const combineEcdsaShares = (sigShares: Array): any => { try { let res: string = ''; - validShares = _remapkeyShareForEcdsa(validShares); switch(type) { case 'EcdsaCaitSithK256': res = wasmECDSA.combine_signature(validShares, 3); @@ -319,13 +319,11 @@ export const generateSessionKeyPair = (): SessionKeyPair => { }; -const _remapkeyShareForEcdsa = (shares: SigShare[]): any[] => { - for (let share of shares) { +const _remapkeyShareForEcdsa = (share: SigShare): any[] => { const keys = Object.keys(share); - for (key of keys) { - const new_key = key.replace(/[A-Z]/g, (letter) => `_${letter. toLowerCase()}`); + for (const key of keys) { + const new_key = key.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`); share = Object.defineProperty(share, new_key, Object.getOwnPropertyDescriptor(share, key)); + delete share[key]; } - } - } \ No newline at end of file From 4bf4ce31ae81529a194765e6e155980073bd011c Mon Sep 17 00:00:00 2001 From: Josh Long Date: Tue, 9 May 2023 18:31:41 -0400 Subject: [PATCH 006/193] update to crypto tests for ecdsa sdk --- packages/crypto/src/lib/crypto.spec.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/crypto/src/lib/crypto.spec.ts b/packages/crypto/src/lib/crypto.spec.ts index 4a01cc7f36..8a4473e838 100644 --- a/packages/crypto/src/lib/crypto.spec.ts +++ b/packages/crypto/src/lib/crypto.spec.ts @@ -101,7 +101,7 @@ describe('combine ECDSA Shares', () => { */ const sigShares = [ { - sigType:"EcdsaCaitSith", + sigType:"EcdsaCaitSithK256", dataSigned: "A591A6D40BF420404A011733CFB7B190D62C65BF0BCDA32B57B277D9AD9F146E", signatureShare: "01C4E0EDD498B14DFE8D87163C39F738B8AC17172B55A6A9518E3704362B4FC1", shareIndex: 0, @@ -111,7 +111,7 @@ describe('combine ECDSA Shares', () => { sigName: "sig1" }, { - sigType:"EcdsaCaitSith", + sigType:"EcdsaCaitSithK256", dataSigned: "A591A6D40BF420404A011733CFB7B190D62C65BF0BCDA32B57B277D9AD9F146E", signatureShare: "FE3B1F122B674EB2017278E9C3C608C60202C5CF83F2F9926E4427889A0AF180", shareIndex: 0, @@ -121,7 +121,7 @@ describe('combine ECDSA Shares', () => { sigName: "sig1", }, { - sigType:"EcdsaCaitSith", + sigType:"EcdsaCaitSithK256", dataSigned: "A591A6D40BF420404A011733CFB7B190D62C65BF0BCDA32B57B277D9AD9F146E", signatureShare: "55EC4AF9F1883B19FF84825CBEBDFD127BC8FBFF48DF6CF705CADC85ACCB3056", shareIndex: 0, From 7507936f6c79e2fe7656c8f6aa6580ed99d14098 Mon Sep 17 00:00:00 2001 From: Josh Long Date: Thu, 11 May 2023 14:30:20 -0400 Subject: [PATCH 007/193] update tests for sign recombination --- packages/crypto/src/lib/crypto.spec.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/crypto/src/lib/crypto.spec.ts b/packages/crypto/src/lib/crypto.spec.ts index 8a4473e838..a130325e27 100644 --- a/packages/crypto/src/lib/crypto.spec.ts +++ b/packages/crypto/src/lib/crypto.spec.ts @@ -7,6 +7,8 @@ import { combineEcdsaShares, } from './crypto'; import { SigShare } from '@lit-protocol/types'; +import * as ethers from 'ethers'; +import { joinSignature } from 'ethers/lib/utils'; describe('crypto', () => { it('should generateSymmetricKey', async () => { @@ -133,9 +135,24 @@ describe('combine ECDSA Shares', () => { ]; let sig = combineEcdsaShares(sigShares); - console.log(sig); expect(sig.r).toBeDefined(); expect(sig.s).toBeDefined(); expect(sig.recid).toBeDefined(); + + sig = joinSignature({ + r: '0x' + sig.r, + s: '0x' + sig.s, + v: 0 + }); + let msg: any = ethers.utils.arrayify('0x' + sigShares[0].dataSigned) + const recoveredPk = ethers.utils.recoverPublicKey(msg, sig); + + + // recovered keys in address format, currently unmatching. + const addr = ethers.utils.computeAddress(ethers.utils.arrayify('0x' + sigShares[0].publicKey)); + const recoveredAddr = ethers.utils.computeAddress(ethers.utils.arrayify(recoveredPk)); + expect(recoveredAddr).toEqual(addr); + + }); }); From 47646f4e3e1b150f52f261e68b7dbd262e18cf01 Mon Sep 17 00:00:00 2001 From: Josh Long Date: Thu, 11 May 2023 15:14:04 -0400 Subject: [PATCH 008/193] remove unused import --- packages/crypto/src/lib/crypto.spec.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/crypto/src/lib/crypto.spec.ts b/packages/crypto/src/lib/crypto.spec.ts index a130325e27..3a419b886a 100644 --- a/packages/crypto/src/lib/crypto.spec.ts +++ b/packages/crypto/src/lib/crypto.spec.ts @@ -6,7 +6,6 @@ import { importSymmetricKey, combineEcdsaShares, } from './crypto'; -import { SigShare } from '@lit-protocol/types'; import * as ethers from 'ethers'; import { joinSignature } from 'ethers/lib/utils'; From 088c89ccd80cc7a85652412272f789a16c4b5feb Mon Sep 17 00:00:00 2001 From: Josh Long Date: Thu, 11 May 2023 16:07:25 -0400 Subject: [PATCH 009/193] Add new ECDSA signature types --- packages/types/src/lib/enums.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/types/src/lib/enums.ts b/packages/types/src/lib/enums.ts index 26bc71c841..a92bfd55f9 100644 --- a/packages/types/src/lib/enums.ts +++ b/packages/types/src/lib/enums.ts @@ -12,3 +12,9 @@ export enum AuthMethodType { Google, GoogleJwt, } + + +export enum ECDSASigTypes { + EcdsaCaitSithK256 = 'EcdsaCaitSithK256', + EcdsaCaitSithP256 = 'EcdsaCaitSithP256' +} From 4af74cb30d3aa8225de1e5fb152e4113596e594b Mon Sep 17 00:00:00 2001 From: Josh Long Date: Thu, 11 May 2023 16:56:21 -0400 Subject: [PATCH 010/193] remove enum from types --- packages/types/src/lib/enums.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/types/src/lib/enums.ts b/packages/types/src/lib/enums.ts index a92bfd55f9..856b9adcca 100644 --- a/packages/types/src/lib/enums.ts +++ b/packages/types/src/lib/enums.ts @@ -13,8 +13,3 @@ export enum AuthMethodType { GoogleJwt, } - -export enum ECDSASigTypes { - EcdsaCaitSithK256 = 'EcdsaCaitSithK256', - EcdsaCaitSithP256 = 'EcdsaCaitSithP256' -} From 153afc6b684ba98a864811493f145e5fd027068e Mon Sep 17 00:00:00 2001 From: Josh Long Date: Thu, 11 May 2023 16:56:42 -0400 Subject: [PATCH 011/193] add enum for ecdsa key type. --- packages/constants/src/lib/enums.ts | 5 +++++ packages/crypto/src/lib/crypto.ts | 17 ++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/packages/constants/src/lib/enums.ts b/packages/constants/src/lib/enums.ts index f4386d9687..6b7a5daef2 100644 --- a/packages/constants/src/lib/enums.ts +++ b/packages/constants/src/lib/enums.ts @@ -10,6 +10,11 @@ export enum SIGTYPE { ECDSA = 'ECDSA', } +export enum ECDSASIGTYPE { + EcdsaCaitSithK256 = 'EcdsaCaitSithK256', + EcdsaCaitSithP256 = 'EcdsaCaitSithP256' +} + /** * The only either possible error types */ diff --git a/packages/crypto/src/lib/crypto.ts b/packages/crypto/src/lib/crypto.ts index efdda33aff..d9c69b6367 100644 --- a/packages/crypto/src/lib/crypto.ts +++ b/packages/crypto/src/lib/crypto.ts @@ -20,6 +20,7 @@ import { // import nacl from 'tweetnacl'; import { nacl } from '@lit-protocol/nacl'; +import { ECDSASIGTYPES } from '@lit-protocol/constants'; // if 'wasmExports' is not available, we need to initialize the BLS SDK if (!globalThis.wasmExports) { @@ -209,8 +210,8 @@ export const combineEcdsaShares = (sigShares: Array): any => { // filter out empty shares let validShares = sigShares.reduce((acc, val) => { if (val.shareHex !== '') { - _remapkeyShareForEcdsa(val); - acc.push(JSON.stringify(val)); + const newVal = _remapKeyShareForEcdsa(val); + acc.push(JSON.stringify(newVal)); } return acc; }, []); @@ -231,11 +232,11 @@ export const combineEcdsaShares = (sigShares: Array): any => { try { let res: string = ''; switch(type) { - case 'EcdsaCaitSithK256': + case ECDSASIGTYPES.EcdsaCaitSithK256: res = wasmECDSA.combine_signature(validShares, 3); sig = JSON.parse(res); break; - case 'EcdsaCaitSithP256': + case ECDSASIGTYPES.EcdsaCaitSithP256: res = wasmECDSA.combine_signature(validShares, 4); sig = JSON.parse(res); break; @@ -319,11 +320,13 @@ export const generateSessionKeyPair = (): SessionKeyPair => { }; -const _remapkeyShareForEcdsa = (share: SigShare): any[] => { +const _remapKeyShareForEcdsa = (share: SigShare): any[] => { const keys = Object.keys(share); + const newShare = {}; for (const key of keys) { const new_key = key.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`); - share = Object.defineProperty(share, new_key, Object.getOwnPropertyDescriptor(share, key)); - delete share[key]; + newShare = Object.defineProperty(newShare, new_key, Object.getOwnPropertyDescriptor(share, key)); } + + return newShare; } \ No newline at end of file From 350a848b50ac78c7e50feee36bee21fed25e72f3 Mon Sep 17 00:00:00 2001 From: Josh Long Date: Thu, 11 May 2023 17:51:41 -0400 Subject: [PATCH 012/193] update enums --- packages/constants/src/lib/enums.ts | 8 ++------ packages/crypto/src/lib/crypto.ts | 6 +++--- .../src/lib/lit-node-client-nodejs.ts | 10 ++++++++-- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/packages/constants/src/lib/enums.ts b/packages/constants/src/lib/enums.ts index 6b7a5daef2..f545829aa9 100644 --- a/packages/constants/src/lib/enums.ts +++ b/packages/constants/src/lib/enums.ts @@ -7,12 +7,8 @@ export enum VMTYPE { export enum SIGTYPE { BLS = 'BLS', - ECDSA = 'ECDSA', -} - -export enum ECDSASIGTYPE { - EcdsaCaitSithK256 = 'EcdsaCaitSithK256', - EcdsaCaitSithP256 = 'EcdsaCaitSithP256' + EcdsaCAITSITHK256 = 'EcdsaCaitSithK256', + EcdsaCAITSITHP256 = 'EcdsaCaitSithP256' } /** diff --git a/packages/crypto/src/lib/crypto.ts b/packages/crypto/src/lib/crypto.ts index d9c69b6367..81f147793f 100644 --- a/packages/crypto/src/lib/crypto.ts +++ b/packages/crypto/src/lib/crypto.ts @@ -20,7 +20,7 @@ import { // import nacl from 'tweetnacl'; import { nacl } from '@lit-protocol/nacl'; -import { ECDSASIGTYPES } from '@lit-protocol/constants'; +import { SIGTYPE } from '@lit-protocol/constants'; // if 'wasmExports' is not available, we need to initialize the BLS SDK if (!globalThis.wasmExports) { @@ -232,11 +232,11 @@ export const combineEcdsaShares = (sigShares: Array): any => { try { let res: string = ''; switch(type) { - case ECDSASIGTYPES.EcdsaCaitSithK256: + case SIGTYPE.EcdsaCAITSITHK256: res = wasmECDSA.combine_signature(validShares, 3); sig = JSON.parse(res); break; - case ECDSASIGTYPES.EcdsaCaitSithP256: + case SIGTYPE.ECDSCAITSITHP256: res = wasmECDSA.combine_signature(validShares, 4); sig = JSON.parse(res); break; diff --git a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts index e83d18d73b..702fbc62fe 100644 --- a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts +++ b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts @@ -1315,7 +1315,10 @@ export class LitNodeClientNodeJs { if (sigType === SIGTYPE.BLS) { signature = combineBlsShares(sigShares, this.networkPubKeySet); - } else if (sigType === SIGTYPE.ECDSA) { + } else if ( + sigType === SIGTYPE.EcdsaCAITSITHK256 || + sigType === SIGTYPE.EcdsaCAITSITHP256 + ) { signature = combineEcdsaShares(sigShares); } @@ -1396,7 +1399,10 @@ export class LitNodeClientNodeJs { if (sigType === SIGTYPE.BLS) { signature = combineBlsShares(sigShares, this.networkPubKeySet); - } else if (sigType === SIGTYPE.ECDSA) { + } else if ( + sigType === SIGTYPE.EcdsaCAITSITHK256 || + sigType === SIGTYPE.EcdsaCAITSITHP256 + ) { signature = combineEcdsaShares(sigShares); } From df72f76fbedd9f8522e22acd16c2b058340967ea Mon Sep 17 00:00:00 2001 From: Josh Long Date: Thu, 11 May 2023 17:54:48 -0400 Subject: [PATCH 013/193] remove static v value from test --- packages/crypto/src/lib/crypto.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/crypto/src/lib/crypto.spec.ts b/packages/crypto/src/lib/crypto.spec.ts index 3a419b886a..bf7bdec151 100644 --- a/packages/crypto/src/lib/crypto.spec.ts +++ b/packages/crypto/src/lib/crypto.spec.ts @@ -141,13 +141,13 @@ describe('combine ECDSA Shares', () => { sig = joinSignature({ r: '0x' + sig.r, s: '0x' + sig.s, - v: 0 + v: sig.recid }); let msg: any = ethers.utils.arrayify('0x' + sigShares[0].dataSigned) const recoveredPk = ethers.utils.recoverPublicKey(msg, sig); - // recovered keys in address format, currently unmatching. + // normalize the public keys to addresses and compare const addr = ethers.utils.computeAddress(ethers.utils.arrayify('0x' + sigShares[0].publicKey)); const recoveredAddr = ethers.utils.computeAddress(ethers.utils.arrayify(recoveredPk)); expect(recoveredAddr).toEqual(addr); From 309503f92485c336113dd38f385eecb81d72d1d1 Mon Sep 17 00:00:00 2001 From: Josh Long Date: Mon, 15 May 2023 10:57:20 -0400 Subject: [PATCH 014/193] update ecdsa-sdk with new recid calculation --- packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts b/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts index bdae3be5ea..fd6afa2caa 100644 --- a/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts +++ b/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts @@ -1782,4 +1782,3 @@ b+="zleCi+xW5NLSuJssRH/DzHnAiY=" return init(input); } - From 5b81f85ee27f9f9f521c726286ceee2ec14d4ef0 Mon Sep 17 00:00:00 2001 From: Josh Long Date: Mon, 15 May 2023 11:35:58 -0400 Subject: [PATCH 015/193] fix update to ecdsa-sdk for recid fixes --- packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts | 2652 ++++++++++++----------- 1 file changed, 1366 insertions(+), 1286 deletions(-) diff --git a/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts b/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts index fd6afa2caa..bc13439c97 100644 --- a/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts +++ b/packages/ecdsa-sdk/src/lib/ecdsa-sdk.ts @@ -471,8 +471,7 @@ function initSync(module) { return finalizeInit(instance, module); } -async function init(input) { - const imports = getImports(); +async function init(input) { const imports = getImports(); initMemory(imports); @@ -492,1293 +491,1374 @@ export default init; export async function initWasmEcdsaSdk() { var b = ""; -b+="eNrEvQuUXsdVJnqqzuM//6v79ENSS61H/cey1LIku2XrFceT6GhFFj3COHOvL4u7btaynNhO+Ns" -b+="4liyUzL1yd8cRiSYxSSc4oQETN8HEIrGSHvAEASG0jQYE1zBicC6aGc9Mz8XD9OUa0gRzUYgT3/" -b+="3tXXXO+fthyWFYYy/1f6pOPfbetWvXrl279vHuefjHlOd56t+pDUf1+Lgax1/vqD/Oz/jxjio8K" -b+="noIxjkdjsuvR9nyTA/RuM0NbAbVGuPXY5Rp31J2ZTx/9LyjVUmMjY1Rn2O2obExTqMh+qmPF/8x" -b+="SHgXolnubMxC9IgkH7HJU5LEj/6Qjv0PvPu96+6++wPv/tEH733vfQ/e/f53t+97z4m77z3+/of" -b+="uPn7f/V6IAqtKBR4+cfxHH3zv3e+974Sn8sqcvvvmffffd8u997xn13t23zt88827PQ8FNkiBB+" -b+="578L0n3nf3fbvfsv/+d7/n5t33v+U9u+7dfb8XlBp58L4P3H3Pu++9Z9/e+/bvv+Xd9+y/Z8/9H" -b+="oO4Xgo8fOKe94zevXfP/pv3veX++3bv3rN713vu3yuA2CL3HT/+/uN3379/z669e/fdc/++Xe9+" -b+="z/3vsUWSEh4n3nf8/R+g7C/6Z30/8H3l4a/nhcrTyte+8rt05Gnte4qSqub5PX6zppSnuikjqPp" -b+="epRn1en1hpKmqF9M/FRHHBF7QTwU8XzUjaqbiRVVFeauiKPCpJvqg1yisK7pC3dBbtVqpMPLDWH" -b+="lhjVpQgdYemC/A30CHoedFsR96QaioJICglgK0pgC40kEQRKqWaH5Hj5Ff9RX/V1FhQNhESnGL9" -b+="Fahfz9UXID+VELf5zwCBw13eapSXbN2UNWVH4WeDryQEFChT8xQDwgm7YVEJa/iBQHo5WsiI2AN" -b+="AqJcFAQ+QRPUAxT1QVJNcIcM6fL/BUHCVRQhrbUObC5wJGLEKKCCRqMRBhX1kJqi/6k1r4cIO66" -b+="yiYlZr16ZUFH0Y/f92PuP/3Pt9bzn/T9Go3zf3Q//6HsfvOfEjx+/z/uy6ikN/Y/d88AD73+P99" -b+="9Ubynz+H2S+0m9qZR7z7333n3i/ZbvHnr/jz544r7j3v+ju0tF7j9+333es7r6JPFBpuo/rb7iT" -b+="/k/7f+M/7P+E/7P+f+n/i3d+zv6v+q/0H+sf/CL9Pa8/qT63zj1Ff+T6nmNv18hPsT/X6H/v0mp" -b+="/+Nv9V/TiwX9qv4b+v2W/gi9+P908/P+h/zv6Nf13+vv6m/Ti9Zr+nv6iv4rNUHVflf9HWWd/HX" -b+="156iqPuz/BFU67T9q2/xRZP6S/rz+Gf2z9P/P6J+jf4+rn9dP6M9qC89X/N/TPzCjLrr0U3pe/7" -b+="T+hvqnz+tP6y/q39FT1NDvq3/yefWL+pz/jP9R/c+Ov6he0F/2/wvh+Uf6SfVV/YvqM2r3V/wv+" -b+="5/yt/0vX1Kf9v+b/p+eUgf/59rvvRSf9X9rtb5ufM3YdV42qUdTf7Nn/GxetdPAqGygvU17+3xk" -b+="zVFWSFlJkXWZsiLKivMso/jpkqK3l7w2/lKZJPmaMoHRRXMhJfKGIkqUmtBFEwvUBFf2qYDxh/Q" -b+="D6QB+HlNp3fh79Il0C37emW4bS7c+nWokHkqHDCXfetCcebqdKqNHzFZ5JuhR4K50qxkaS2+gnE" -b+="1GjZgb+C2K0ssPpjeg9s30UpstZutYesvTIAW9+pF0B+rtpLQxwYjZKa1G5hY8GG2CI+20Ym7mF" -b+="PVLqZh+w5F2Wm2nNdvBqfRmdLCTO9hqbhhLd3MHW8yOsfRGhpJKvSu9BX3dROkWtWBukr4a5kZu" -b+="PTAhtd40u0s9rzUVUztiYlM90qZuoxEAs7MAhqDpAGRCpTsByY0Wkpulu8DcAEiGGZIt5paxdBc" -b+="jSTWOprsB1HZKp9S+2S5AdZld3EtoIgKj2wyXQFwnkFsQe03VrB0hOGMCsWaaIwC0MQI63VgGVK" -b+="BsEIYW1tMqvRGwDltYdwpUgdkBsLczrDcA1j0M6xazeyzd+zQIQJXvTW8C2PueZhqNmH0Cdo/Zy" -b+="31GpkKg9Zk9JST6BTeLxCqLoCCxmiDvHbF0bph1hETTdDMqXRhqi79FJceji0hjsTmj0mFgs91i" -b+="c6PADWx2CtyhuRnY7GNsbgA2+xmbLeamsfQtT4Ng1M770l1A7NanQed4xNwqiPWatzAETOZ00Ow" -b+="voblGsLdorrckEDQ3WBIImhsJt9UjNGC1I0BwFSHYZfrpb7fpY2R7GNntb4BsD/DdZurnMD33WG" -b+="SHBUMge6NgGJqdQHY/I3szkH0LI3sDkL2Vkd1ido2lt9Fj3QyZgXPp9rF0iFIDpj5ihgTrPnMbg" -b+="xKb+hGUu7VEg35LEaHBKksRocFqSxGhwXWWIkKDzUSDjQUNNjAN1jMN1tDfHjPIlOhlSux5A0r0" -b+="WmJsxbAPMSV2gBJbmRI3Os4FJSznRuYmsPY+S4ldQh9QgnDf8jTGlUZ8i+C+xmIk2MYWI8HWjbF" -b+="g68ZYsN0oktFiez1hu7nA9jrGdjVji9Hv5dGvmx4WL8QDGIyVZq3j9m2QJVsY4WFgOWQR3i24A2" -b+="Ea5B2M8C4gvMcivF0EdC8m7A1uwu4p4VUxO0p49VlMBK9+C5jgtYom7PXAqz7S5gHtHMvYdDNGa" -b+="1gObSljVF8sirYBB4fO7gKdmwp0dgngkdkOdHawfCRZuUNw6BZkLNRRB9SrO6BeQwCvGhF2JgT6" -b+="GXbMvIppHnHzr9IJb1wCGcDudsDeBGZzwO5ywG6HuLmBl5Uwp3KzA6awA6YeGv41Tn5XmTci5hY" -b+="FAQjBW4am4gACKDcVdNvlQNkOCQBQqlhO7SJd6+gxIAL0jMiQE9Hq3BetG1ibyn1F3B062uU62g" -b+="6ct/GkIRVgm7ReJ7wqR4T8VLc2wktvuSWFuhqChVSWkXbyMols42/z4336Ih7jvfoCfqt79Sx+G" -b+="3s19BPTtVefx2/vXv0sfgf36hn8DuzVz+B33V59Fr9r9+qn8Jvu1dP4be3VT+DX7CVNjn437SUN" -b+="kH7f+jY9qTKvpUySedmsl/yUv84/QMrWrHc4OCCKlVHQsCb5YUh7e7VH74N2SzVUnfQj0rBSZVW" -b+="wMNVo5DP+OkJOJf+Om6Z/mv5RBy3ScPS4CbNhNNSi5SU7rfmR1JHsjDySEpA9Jo+VzGt49b16B/" -b+="S1vXqIfoK9ejP9JHu1oZ/KXr2efqK9mhQ2E+7V/UK7hNo4q9oHrQY5XTxO5Y/4mVSMrBFcJx2uy" -b+="UqonuHX1PI237Y3wTnTpZwrrJBOFTkY10m1z3+Isl/jdltKeoMqCe0zTbLzTxHd/lQbzyQgXbbp" -b+="ZPKrOnkA5XR7s1f/y5buHldQn5PRtL7Z0weK/42X/a26MziQxVmcfEW3oqxfHsIskQcaA/uY6RO" -b+="jNEgTE6egNJqo3R7NPnAs80dpDMGbg8a7oxlRi0FbqgbZq5ee8wjoQ80w80ww2qIhxEM2oUea3r" -b+="psEz2+/vrrlSOUoMeI/sUn35t6oyczdYwaUidGs7e162lEXWeX//A5DxRIVRN84dG/sKHrWSI9W" -b+="hjDUeMdGbT9WyzH8TdbEFgI2CDzT6beScLFP3aIhi/Irsi7O5p1o6l1C3ZKgNeNl/xH/b5OAJKP" -b+="+4wN8ekv69QLDhAreJKJcaFR8EdSPUgFPFBmkAbN45JNj3iBAEi+4BPfquQdFmzjH2mG/OI/ayK" -b+="tnzyjHUwAIiAUP3gsm/8jAoA4e+KP+Q0NlsNJZ9QDYXUi9Y4dampTGdJxw6/T+Ops/GEmZjv1M5" -b+="/eZwt/ZNEIacvClakqN53yxKXkXt0gyGnaxMS83Amx1ZjxP3CM2LoOAKmpZJpATc76Lb9Rp54Yg" -b+="k3HUu9E8q8gn7wTx0A4ELmjV9/2qjp7Va5XVerV4Ud9a9u3LzTymYYpdmn+CSZ7B8mCAytQjPgv" -b+="54MSzag8k8xhS2Acxwyu1Fv0B0IiprwIEEaQHPgheOM6twzp4XHnoBlNW6FKLW9Mf3+N+fREIGF" -b+="TaII20ZseqenUb4aNAAtFlHxJn4Cok9ngY0KDOWlIA5pgWKKYIe+kZ0UMp6kqShLjtjziDxrVfs" -b+="cCEB2mkm04mQXHaDbJGB0exItBwE2TsVUxijmYgDxOEwd9EhEjjLibM8fAr/7SSdOisaM3qo6pQ" -b+="hyE6YKpeCe4noEcOZaqQQCJTTrPnWLKhIeaXjFNU+8Og6kVjN55rInGeD5FxI3vID50M+oOGtRQ" -b+="uCXiGQWRq0nWcfIwiQ7KyHlEL+IMv+AMvRxnaAymXjSYuhhMjFtYjFso46bqZeGrD5RxOkIEfc0" -b+="lSLdoaiuUqQ0rlZ2Ua5MQDuiX5lVy8gDWhHqGTvFDPE0S+hgN7fjtqUeLfMC5KktOGCQ9U0cPMQ" -b+="tRv2G5DiOkHelA2VQBHrxCy54DsyVPnIdJDiGghd3jOvgNI2HZV6EeszSXpgwMgpYhsZUqdYATt" -b+="xrZGRSk5yCt8TN1RsoBmngMQDz2x44yCi0dASZCw+y0vCJwL9NQtjwWxnPaxLeTJKQ3MTMRlorH" -b+="XSOHqI34yHGaRxUI+J+kaUE/nyBl6TCeRKTadlN1RzBuuKWAFvcjtJTVaSC5saJFAzaIR5jAsan" -b+="Rum+hAYg+yzcqB0lnIVIE0KK+b0ezttdWNa9PtatcG7zLmFWJOeoFahnPriq/S90KnnaPZmtoGM" -b+="F4nh3XUdJNUnCIHehqe2QwbWIkumAikLGzmoC/RBMQihB2MdpU0oRCFySJKxgpsK+pwRKGSRy2o" -b+="QuNpj4LP5pRmDmBaz907etc00AhagtLJil68Wi7jfKToPPExAR4gaH8z5pJs42IlJgu6i2bk+Q+" -b+="KtBlEvrJXqYcaL5e9hKeanhCJWh4HpeHPsyskoFn6YcwCFKoErQbajI9m7c3K/gx1VGiGuj7BT/" -b+="5FJZLkSPIOQy+91aWI961yZGqyJEqBEhV5EhV5EiFB9pjXSKWeQROJBbD1OahCC0heeGxA9PCQB" -b+="EZR7Hr4VlJK49bO6nzUTACrSDtUVLTLM8Z4U8nEG6HHKeuSEvK1OFmqEXJoe4EfS95B6SclzVyN" -b+="cIu7bKgMxZ6pQU9JMLYNZ12cm3S70mSMwc2QpkFJucpJxdJEqaecJMn3ERLoJMjZbrkFXgins4n" -b+="qdcxG1IMKDE6s61CBq+93DczLfFwJ9Nqx7TKMS0XYgYCxssyLfB5TcYcctV1kYMlUjN1QtIi1ik" -b+="nQ6scVJwsdgK5TBKIV0uPQOQTcwwGqUJE9sC7gR08ykgOu9KkCQQrs3BwbSxcERZmhaYig19hFn" -b+="a9kACeAt6vb9p71Rn6Kj0xOMwCSCzYxEL5zel/A0rYxJVyscfwZuLfSGKiXOxxJM7YN2fKxZ5AY" -b+="tImJsvFnkJiyiamysWeQWLaJqbLxZ5F4qxNnC0Xmym/+RoSMzZxvpy4gMR5m5gtJ15AYtYmLpYT" -b+="LyJx0SYulRMvIXHJJi6XEy8jcdkm5sqJV5CYs4n5cuJVJOZt4jUkFmxiofzmNHOqTVwpF3sMbyY" -b+="u2fEpF3sciTP2zZlysSeQmLSJyXKxp5CYsompcrFnkJi2ielysWeROGsTZ8vFvobEjE3MlItdQO" -b+="K8TZwvF3sBiVmbmC0XexGJizZxsVzsJSQu2cSlcrGXkbhsE5fLxV5BYs4m5srF5stvVl5kOxbxT" -b+="lHIK3VpEed1mBZxry2S8b+TPIS+4pdV3Tua3j9UQJIaSXsWnAzW/2yLXjvWGrenhRspbyOfFm4q" -b+="nxZu5NNCUz4t3MinhRvKp4Ubi9PCjXxauJFNVW/Bgd+m8mmhKZ8WbiifFm4sTgs38mkhV94I8m7" -b+="EaeEwfh5T6S6zEaeFdfy8M43HUv9p2h5txGlhw1BynZgHNc4D/fzkEAXuSpumgfLt9FYYEn17Wr" -b+="gJLz+YdqF2+DQwq5vmWBpwKxtxWtjt6r21qJe2TGDNmxtGQKGQUxvMphEmjtl0hOqzFXIrWjmVJ" -b+="ugg4iO3pumSvq6jvrqlLwbjXemA6+s2asn1tdn2tQm2/PR621dqrjvCw2XMiIBhWmbrEQAT2QJb" -b+="RwjBDQ6QG9DFhErXApIKtTtEkCQC1FbSCLsLoAYEqBZqHE1rDqj1ppUDtcUC1WKgUgvUdeiTmhA" -b+="ItpqhEbSigcwGghOT5Xr6u9ncwLBXuNiQuQGAmhKsO9DzaZX2ANYqdbeNYF0rYN9guh3YQwT2gI" -b+="C92dRMXcC+HpXvTXsd2Dfj2MCCfaMFe7O5niDYbsHezIButWAzPNSgQLeNYb2e4CfkNxlzBGr7d" -b+="YxKSn+3mB1HgGPVFt4BVDZ1YrMHAJ1RaR+w6ScobiJsegSxnYSNRWyHSYBNxNStOSZJaTx6BbHr" -b+="0M770lUOsf0Eh0Nsm0VM2OKGnEm2jIBMgtgWQEdtC2I7zE4eOYF8p7mJR86AWJsI1zZhvHkEyG5" -b+="lZLfT3xvNHqZFP1e5yewBsq0l+O41u86lq4FsTJDtI2T7BO9bCFmL924zUOBdcwO6nQa0V/DeSn" -b+="ivErxxfjd8Ll0jWO/B6ZbF+qZ8OMF3Oy3WWwEsyQrBejtjfWOO9e4R9CNY32J2H0FX/Ta1jwceE" -b+="40YG5xqeJA3gIxEiSGmBHEHDfTeIyBezBX3mn04c7h+eWI0zWpBfx8OXQX9W0wPxrrClKiBEsLP" -b+="iUN/C1FilRv2urG47yiN+LDF/Toe420W9y3MyjfkrLybx79SwnZLjvs+HvEW6JliPhDiWxnn7Yz" -b+="zjYzzLsaZWIXGe29p9C3OSxHGIK92g9znsLyJsOwRLHeaXiAsszZxWKaEsMVyFxF98YRNwYylCb" -b+="uzNGGFd92EvYlxTjtHcQtjNMQY3cAYbaO/w+aW0uRl8ixBZ6dZ7XAYJhz6BIdtNH69TmCuAjoie" -b+="RKHww0loTOUj9T1TH8nK7eVZOU2M8zCHQy34vzbiTEheCsW7eEji+TmNoJwtUB4I1G5TyDcTsCu" -b+="cuvMGgDr8wRbbonZXpLm27m7TQQI4WIYJif6QM8hs6203GwzNx4pLzdD1P9qx8t9rv8WgWIpdF1" -b+="pNbk+X022LF0xUl4xhvjYu8TkrqPNRP/Vjof6XOubSjxECgz6kkVyMziCWiqxlbRUWklxWrjRbH" -b+="SnhRtxmncBv9fxaeFGs5VPCzeaG/i0cKPZxaeFG80OPi3caPbwaeFGs59PCzeam/m0cKNZz6eFG" -b+="81tfFq40byVTws3mlv5tHCjWZefFr5ludPCje60cOOKp4Ub5bSQS9qTQtLx5tRoup50vPWkjGUL" -b+="T816Vu9aT6Wz+XIadqJy+nI5Medh0VHuBHJ9ZtpmvxxC3mzWm/VDpC5tPZcOHvzt737he3osHWA" -b+="aU/Zd6eZzaf3g3zz/1Q8FY+lal/3OND2XNg5e+O3/+BPhWFoTlczUXfUeLtdw1XpdtR9MrzuXNl" -b+="21Plut4aqt4nJNV221q/YD6fXn0i5XbY2t1nTVWHc0Xa5a7Kq9I22dS7tdtX5bjV7sICbrcrVFh" -b+="HS72hVX+0BqzqWJqx1Jba4+REzY7aoLXyeuelD0spn00MQVE4ZGtsGRMK+Gitd0zboIyRaovHwo" -b+="rgymxE1HwA4bRiQHQlmzBqNNpVSSxTKX3GRLriuVjEsl+yWf1WoA9jO/e+GLgV2cjuRaNRRwqUu" -b+="gDhe1V5VaXV1qdQ00b4HUgCqlVnXR6gZuFSW0MZjWhHTeHHW0u2iwp9RRb6mjvo6Ouq6hI21oiR" -b+="s+0tHR/qLBgVJHa0sd1To6aq7Q0TauR3rDriOQ2NT0bZCc9PuudPs54go77jFL0UHHHv0sMuuOq" -b+="6osWBuujwqLv+uwBmG9tLnCUpS2lXxxD3makB10ZSx7UiHbkbClD5fMQVdRBGc9x8ixtEwYUQ6q" -b+="tiGFJUKWBloubmQexSJ8PS8gvDgThSp27WmxOsm0b9H/m2SXwHrJpiWM7fL9Un5KxOONBWYDXka" -b+="ll5uJhB2TYSstGPAOA50tMj1CpF0FmUTokEZyjhC3pZzEGS4IJTIncLVE5gybLeeIPrbWGkeosF" -b+="PiBJ0Sx18saXZQiQ4h43cKmR1m6BzJzsUSZieV6xAuO02tU7yQplRbJFj2GFmZ94ywuxGNBzNoQ" -b+="XvRciByHFmXFynR03Yk83LXIlBq5WmyqbxNdwLFiCswV80Y9syjJX37SLp1sGh/Van91aV+1+T5" -b+="Q6wVFOIjY8pQW2jGVe0tVe3Lq26x8sEVy5jytqor3pMXTy3wKTYO58zWc6eoCqNpq6T0ljJT6CK" -b+="odO5U6gbcXEcJ/236KC2u15/LOeUUk4Xf3EtvWudyxiu9eR+92YQ3QtLSmwfoTWDMuVLWQ5S14V" -b+="yRPkFpXUp/kNLKpStv06do7Z9WWPz/V3q64lmXn/Ww3bjH+fwRP0dJRzCkytwsvkCsS5ib27adm" -b+="9t7SI1Zb39NtunkuVOPoGOPKpBuc7MwAgk56DjrYYOSftMN23wvjaTHS5wLdx+N3FByL3LuPM5J" -b+="kRtwrlm/zT+a+vv8WQhork9sjh/icSlBL48azwIo8PKES35VM4T0K14j9HBcfInWw17GpjTxKfq" -b+="TNfr68QA+RbOBc8mfCuAcByNb2p974E8G8GmDmS3tzjPPBHDpg6EtXbXIMX8ioPfngza7dlBLq/" -b+="NKMwGOsmBnS9fnmWcD+BjC3kb06vTPnw7gP5VNBOwdn03Tb5x8m9Yv6piWuS5bHMDROp7YJMCiK" -b+="dRTBsswWACI6m0s3QmgeptsEkBg6pWBMAIEdEmc1Nm+L9N4tUqdX6J0Wur9IqWvK3d/IO8eVTeX" -b+="+kfV60sAoOqWMgQHLAQHRmlTlMPQn/fenfe7zDiEpivvK8l7WUwZbn/Wh18mOvh7dLA672B93sH" -b+="i4eEOCmIWdFyWhHM+O2FKBzSYPvxPm6YqCPnglF7rNGf9CgdsssFXM9K1ZZc6172PAe2zb+A8SA" -b+="O6ziZxYE0DOliuJ9CU4MDUWUNQfAdQFBxVMNOyfNTKsU5zrBePOPVTIujGvOlNedOL6cRNF9xR8" -b+="MUyHJGjUCJiX06/dTnpFmNvqQY+7CqRDXyYlOgGPuwpVz2wmHDwfcwJd838+OYJd82c+A8gXMF4" -b+="Bc8ty24FyQpivTGZpgsyEdV9eIeeVyLuRf5d4rwZJQuD5F30racpieFS49OK1gSf+dTP+dTP+bQ" -b+="TDMCbXZnkHXI6xEBnCza5jSHP5m3yBnv7yia3WxxiE4A8JBsUvMqbgkVgupNpX5god3ONxAW4zE" -b+="CdLrCzyokB1S7G9k0w7BXAUOptQWHlKfrD+dDqctU51+OElh6/86Z6LPoqelm+/WmdYxSYrUKba" -b+="+QTIq0ukUPlwOkcuCUMwNDJeBoZRyPjZ7bbqWPHDUL1si5YDVL1ki7YDGL1oi6kp4yTtj305hgM" -b+="5BgsnhKLJKnGPYScS7ocl1zRZS5Z0GUumdcdXDKn3Zj5JZr60tKbhSjM6Rnl9KyYJdhSFdyDsPx" -b+="Bs3MRyWYWkeysLhYqGRRdMKlXrFqR9e5eW0bXW0TuoyVpZ4dsShUrWN16ig+W+j+jCsnNbUyovP" -b+="8pv5Di6H/SL6Q4+j/jL5IoE36JZt+GX17TifTlmHElvKdKNIvEaz3V5X4X02xCL0X8vF/McCa8X" -b+="8xwJry/aIZP+xaAAuUC2TdGEwodMP37a8J0wmG6Lu9oMO9oyVh04jWQN742b3wxC1ybwJlegsSB" -b+="UYcECZIASv23e/QGq9SHo6nezD7ByZO0/AFjRX8kQdrkOkoeGJXkVAjdjPX+pl0xdTYZymYgKVR" -b+="8nZ0JZTMQF3q9dus79NvzodzgJa1sTV5pJpQ7vMOYHS7zbAi9X4mGVmoJGhpamgv4Wk02QeUA4z" -b+="T9slzTrLPFEApV48Ct5epG3SwDWGi19vW5jiBa+4ZcUxCtfWO56gGGJGZPde4XKo/tV3doUDWry" -b+="RfsK5q8Y0wNzjogkORr8qbONdl0rsktoZJbk1MLC6ThtxVvJSAoegoJx4KiN2cdzYKirwwAMydq" -b+="kk6SyjIBrcQ0Rb5qKCal9mZK67kuXXvhtqZdW7O4AkMtERNWZXvVLBFluJjCddlerS63YuzgaHb" -b+="caJQ6v1TSfXhfpApJylVnHQBzFoDvKGYHP2cHP2eHZXos+upfsph0tg/1oYTgVL5iAb/JPAX0zu" -b+="gOGrHYEPSuLEJvYRF684vRm8vHynb/bXTfyLvuXyJW8mquS688mAteeTDnvQ5Aj7qxLPryzbrFm" -b+="kx33sBitpZxKNOpJwe0UK2X8CIDKrPACPcb4XqTOoDYymB5HtS/ojsnHWkTHZOO9InOSTdXjMFA" -b+="53RJOmdLvGiyeKXJ//c8+bF2kvCOZdL0u0lDa255EvplOp/xOxnCd4Pq57Qi0SYtFbD1LlFWloP" -b+="oGoaG1Smmo992052mWgA9TUPRcYWzSwE0fA1lJ8+7SHkJZn4nV2PZnw1EBPrluXDJL8+Fi52oz/" -b+="r5OJz3OwcC63x5JLDOdyA+7S8WxHN+m0eCeW1NvgQM5EvA4hWFuy6EfyH2ryLwAyvwQa/LOR1Aq" -b+="Ut5CjS62EmjWUejq86D6YIuML6pMisFWENLzBQUyqWwU7AY3umg7Ti0mqs1NbNmyfY2r899N99A" -b+="9XBSs9xRIERhBSSQp4E2RjZgKmi+n4CMmVIGrhTA2OcyGPsgf5zz92lDxYZQbN4v6g0jY6GUsR8" -b+="ZV/IM4u4Qqs/5RGm4DF7yWPHpvKVz9f+Nt9PzMjXatVppPwijSlyt1RvNru6kZ3VvX/8qD0y9u5" -b+="3xHQad3da2F2iyV357lp6G6em183jaT08erqsqXvCSX1Itv7F6pdovXkvtVSvV/tq11O7HrR7ci" -b+="tirf9CIiz/uz3KLOm/RPvW3s1vk6Ym8bW5RI7/BxxGov5+fTBu3bfH0gteGn3i53z7pVxW9FfDb" -b+="p7mvL+pj9/J9dDbcuxI5Xvj6NZCj5+pgnV0M1p5rAStZ0rBe3PDE99Vw90r4Xvqta8C36+r4nv+" -b+="tRWDdeC1gNVcC6/FrAauxUu1Xv3YNtesr1X7pWmrXihmxEkme/doikuy9FpJUVwJr+lrAileqff" -b+="paaldWnBW/eQ21o5VqP3sttcOCx35QhIhtZ33+tA9X9wmY30AjWDKVIyiLDoyDf6v3DqMPnpmg/" -b+="2hhuI2e8Wj26d35oz+Uk36An4byQYgtMMEbyDt/ZXn32G/8A+Wdf3WuEhKW+th/LVylrz6Dv/br" -b+="349gUSVKZZSxAgss/MbVWAD3HzNcTMQauia/gr6SGDz9m28a2qaqr4D61DU0tnS06rJj5+sGX65" -b+="rNd6C0WQmPwmFAVIlj2k5qSIdnR853gOUNlKg2ayUVpJ/YcM5IOOsnwbGZk1L1gyuuNusGck676" -b+="eRy5qVrDPUkumSLNob8t0uaUUjEUriEicim5Cak6WaE7pUc6Zcc65cc05qTpVqTpZrzpZrLpRr0" -b+="j4iO//5WU+ogbsQbPPC6ew2/yJRRYpBLUTO5Zw+sNgEcg5AGzoOiYH4UrBRkBp3Kq2eSsNTiAC2" -b+="zX/oVBo4sBLUsk1ckt6O0j4lwJWFwER3nROb6zaO9hb98LlTp9JaHn4D4bMoK22K5dw2v0APcX4" -b+="+AUvAXagW4t0leldnYBwERffD3Ps70170jqudtbvOpX1syqcaeVwQ0qGb1GDaw2OvGB7smQAGad" -b+="ACsSsZA2IL14QWuC47uOo/nMM1R+30n+LAMgm3IPt33DWQFrpLNDMlmg2gWGuVWGjxuFoM3HhcI" -b+="8cDeBwQ23trrdjEW+vYmt4a5HNXPK2XowI8bsit9q2NTE/d2sTnJi3Dx6140RKD5XCaylDVTfcP" -b+="n0uvQ15CwMoR2DbemvSAWJuZ+BpUY/KJlV0KNAVDJuNMBxnF2rKIjJOWjPOOjP2WjFUQVA428aJ" -b+="q+u7iWhhvIliDm7wsLxumV172nkr79tHWBLF2ZEhoENaZtQK4GTA9ZjOzTw8GQGBfUwDdANwC7u" -b+="oCzqaA0025q2gIr5OuIsBdNb3g2CrtKfsY2v0MT2JSKdS9z58HMAbAUH1heoJpE1CgGhvpt6eAi" -b+="CExG+i3cZeDKJR5YdaXKIdBqmKQCIh9/gK66OggtM27wxzXyykOngSebOGoy7a2z7/i89QJ6UXA" -b+="LYhXCHxtzsKno+J8O2jYaQM8heeuff6kzYOx4AxuE7PXgHibJDeJAwnt9P5wlR6UaDgLtNcLNiO" -b+="uxHC7VePbw2l/q0fu1Xe3mrSoVekfKRstjvXTCnmr55uYttpZdQQLVfb5v5v12rRwwRWqSCCkDh" -b+="aM25uoXcW1uTZHMyLStBCZha/HY9FTJh6lbjxZqanZ7OxXn/OSTyhck8OdefHfrt4u8WSoDaMHc" -b+="V9a4oK0U02QIAaABZTv1qlW1AFw5eoA31EGOOoEuNIJcGW0FV0V4OhqACMqDw1/BcG6RlI1mIZZ" -b+="9Q6+VB8ZSimqAhDvZKDxhoF1MNMC87iPAB8ZEZe27EdaMWMfE2go0PL9Awepu12e9xGz/jQeCTK" -b+="k5FmXnn15ZjkVtAnmKKOVPELMiAB0rViaIhJVleiqISPaaYMpamNQkAwfNXE2/rDgxzGhxh/Oqm" -b+="3EDoiy6p1N1Un7qEhEjCNRrEmsBbpr2yFRplWFRtrIOOBTdVRgYWWRCH/eEZ5aq2YXFw8D+y3en" -b+="kaDrJuRrBskzm1h0EzlMKlEi3GLCtzq14ZbNAoqLMGtUSQadzBujWVxi4BbXUCNVsSt8Qa4NRxu" -b+="jcW4gTPBNFVmqMhURwZHiUe8VgUxciR4jeLgOpl/rBUhM1OjmT9iGU0UXJWdOtbS/3CO0uAozaF" -b+="sokNNr6MlLqWE75TwHZEfuyJMrilg/mfaE6qcyVMgOade5ohM9O7Kv7LvVmgd+KWI3wN7oYkHZY" -b+="aP00iQSMrG6y1taowp9F5aoqAW1yR2Wg23+nEPsQm1vAZdeT2OPrGNquHCfj/9hNjd1Mz6faQr1" -b+="0S/rkHTrsrT7jZqe+XYN0N6WMJv7beB3ILsn4BrCKQge1nCBmkUO9qKKedt/A4zsNr0JayXCcGl" -b+="cHAUPgtvbyoYB2iZau+g3cRvj/9gsy7JFNRlUTeb+pn3Q03QW7ucWnbghyABs03HwIFR5rs3Tfe" -b+="m+1gLMVtMM3v7MRYR2K5UjmXRiePCSZXsdXXsUDPC0NVQSOFdnSO2uVTLlWtC/E5MXECUDT2ejS" -b+="OlOCjaGB4TfnwkO8WlgpHBOkRoiInT8OqImTHE9yWD7IKE1aq3W02DMA6vSFqPkroG0pHOSc9ra" -b+="I7UR1t9sK5z8MBBxCYdbTWoxmXPBpYLoCa7kbjo2UB7+VB00eOL8rjWBNv8/a31NBZ1ODHS//Uj" -b+="g2YtYg4lxFmjtJ72cUSpBKK8Lu/brR6qEMKLc5S0gq47MYykSoSmFxPmzEH14Xce4vhMa9rEA7W" -b+="WcrzCN4XGb+d3q4ltTQ+9b9DC2sS0NBXEaase4hBq1GqEaFUkT0wVP1X4O7ehltKAlSYDmllHWb" -b+="djSkRYhkOTNGOSS4pNMaZ2RxOIhW20ydGx2tzYqjbPpZZCe9WihTrC66BdtAOZ09d2GTybYRv81" -b+="qyT2EQD3Hfqys7neQM4C8hThEp2OU8lLNQ0wcbDTxO+ncbQSziI1FCbL8Y/9W0q/oySubUj4J8h" -b+="sOnwKHguq41gJxxAy0fxZ6V4ZmeZwbwb0puz+M5gPPsSSYKM1ucsTp7UiHmEMHR8dB+1Kj46HUA" -b+="rlexCudP10unAkk4rpnukiQB/CWrRbjp7EfXGWftClQR/+pMRE+z0hlFySO8mcgcw/UNPr2Qvd1" -b+="aI8aexqAKi53UfaULIc8wwSt3JccC6IRlCiIJ+lgwHfqAZcCAzG2OngnGyc0uYAw7Z2TwNQDacT" -b+="f0NdX2B1x9aZKAH1FlsuZA3EHGkcvJx0DA9Acbk95mqASYWz6SsPwuS39YSnQ5Ss2E8CdvFceMC" -b+="if/jSQw8Ige2yKSeet11rvlJn0CLebULs7MA6Osk7C9W1eAYGthD2ivx9R7SXYMxJD24UuzRjbQ" -b+="ydgrpGMG+Uaoq6Qb8M1CsLukELtl7tEmbY4bfbE675E0/7boovT5NJD1AWy2Fn15Jr6etrEKxfk" -b+="kbEkwKDa6W9OZ0jQEQtH6MEQZotWHQVrdBCz0G9foMSlfMKvobmDX0N0Zxn4vXuHiDi3dz8R5bv" -b+="I+Lo1KVK/moFHKlmCvVuFKDK3XbSj1cqY8roSpuIZ9KNxxcd+ZUuo7/DvLf6ODrr7++6cPp+oO1" -b+="j5xC7KkxaghNJ9xELzfRz02s5t6jjmoDByf/3mOYqmPY0DBMoPagLTDI7a7Pi9UBOoZnnS2wjgu" -b+="s4wLYVI1Z+KgFrmPhXM9/1z6NYJqbjkkcRdL6UWU1oxozqjVGtUF/ByxCPWMcHgEI9TFCqxihlV" -b+="FZu6inhHtajZ76mbQx91fj/hrcX3epvz7018P9reL+rr2nfu6pHz31MiFlKGvcX4P76+b+ekr9r" -b+="UJ/fdzftfc0wD31oqeEe+pnNpL+GtxfN/fXw/31lfpbM8aX26+1p/XcU4KemtxTL/fUzwwr/XVz" -b+="fz3cXx/3tyrvD9fKuSd083r3h0+lvu0w6OgwzDs01OEGKWMCbsOnElKNGrC1Qq4VcC11DJofYt5" -b+="2fYSqrMatmYN/TKxlWdSVQ+sQXett65bFqV5EvQSdQFLzb2Ox5+d1g/qvR6oLR7ALkduWX4zgvK" -b+="WyIb6TG7C3Q2J8cfuqumwkKniHh5otAH+qel4CqZiL4KnBZYL87XTE3zQwleQo4jHCM4skrE7+O" -b+="fJsKbyP+f00uzPLewYxb6koA3+jpKNMjkR2hd3ZSCRQSQY6r1vjHISxZOHPblYk/jjXYYuadc6p" -b+="lWo2OmrCn5L2bKZbYCn17mpLrl6xhVkN5z3iTC47z3fI4+QMTJoq+SZHqKUHvIOPKKlIyR/BpcQ" -b+="Ri9UrRh3eGhUOaHu0IFY7pwVudcS2LVDkDHRQeCpQT2hySXe4A6SlO3gTfBPxzC5LeUoeXVzBl6" -b+="KI98lNT7D/YSTVmyWiVJglOgcjkXBHjMclNkZEFg84HzaIF7mZeEkz9SXNgK5HERNRqpQHM3Ycn" -b+="Vdplqp4YrhGNdrjciHxcXAUXIhg0/pETSlMnWFxXhh/Uy4LPUtcFjw+2dnpqVs96Bub80OYHfm5" -b+="yaXvzdojGo/P0rK/9CCiNbtG8UmKPUJJWO8dwLmJPTxH7AF/pXafXdzuX11Du8n30e43r6Hdbm5" -b+="3ux+/ZcV2pxa3u3AN7cqhOqmG0P2Wb/fKdxe1+9fX0G5T6KCDnA5qcbsvL273W9fQLp+2d7Tm/E" -b+="/y1k6/NmsP0Ljdom59pbqzV69bW6nuM1evW12p7tTV68Yr1Z24et3KSnUXXrtq3Wilui9fvW64U" -b+="t3LV68brFT3wtXr+iuO0dXr6pXqPn71umxN5oCfdguW/Bo3Nwx5uFBR8bgNb++3s1PHUo5xR/uh" -b+="IyTSgyPHEQ8bduNKxnGyK7ABwjiIXawHKzj2WJTns3HJg+2TTYOGtn8c2Rl2wQgpDu2rxdb0T9t" -b+="4UvmTzp98fmoB/KDd0oWFuW58tgeWG+FiMJXCWDGKkN0ScruNYMAmxrYWIJ86RmuSrdMKYF0F2E" -b+="EBAmfqPFPbTOx19ckWh5tvs/kEth/aLcMd28DHfFbdOZgGbBelJUafaMVsZHhNHUsrYjnVQn9q6" -b+="ESbTy9AB4T3FsGG6MnjD2eVk4RIdPJ49qFHT8fH2uws8AYv4zd62VjxZUuzwyAi9B6WYOGIzQ/0" -b+="4jYCk2bxyez1D71WOUaP/NvOPjQRPJAlJ43PVtdDOI3IjcIdqHlsk4WO+rp/DFH220IXxZH12Vh" -b+="saxB58CWDY3w0Amr8DyMEA52zlxL2egNoWuLF0fIKC3H9KlTrrltqdVv7uS7bz3PDOU7NfOPlk8" -b+="PLJ4eXTw4vnxx+AUaQgyHQlxrhYkoGVjmbul//VEWF44gY73OUX4TAR2xf5XSd5DHfBvbmOe0l/" -b+="0kfYouxz/iTivU0omHayMeHYfizkY/9w01diu0vd2I+pVk38NtMbwklv2xQ5Fw8peFhiUeP3Xkg" -b+="ZqelQZH9PCgyR/L/Q82mIumx4YLH5+GaJc5yCegi2npnjGAtkdRtCPZuG17ZWxJeuVTOBtksBYN" -b+="mec1fFyBNuc1D7pBWgrTKkVadkaAt0upqSANXBDEuDUSJ9rTWFMHni9D0dQ4uyvS4k0hgI5N6Sy" -b+="KT+st9yITjlBYfMuHxPTJIgswR+dAbNUmrki6C9gds8PY45mmqEdTUxXJX5VjuqjOWu1oulrsLC" -b+="y8EXddAfnJkFENse3NI30FZHFx1nEjBvp74topiSh6WeMtTUhLTRUKoNqmtdd11Lp1HfValqM+0" -b+="7kC8nTyRakR9VuWoz8T1HPVZ1WFGlwDPfunjHWx7wtcsfqOiemCZZEshqZVjYl30xTQYjIlJsSK" -b+="WQ5iN2ORYFZtlbezUQfURmETiMbbyINwr28jYwllnewhbMxu2pEYhsXRV2MjmW6sQ2zibXCrtZc" -b+="tGN/2Fmwsajbmk2Kvq0lSaiNXE2lJ6DtY+IqZLtp1xZz7A0mzUDGCwo0xrNXG1uqwtpYluI1j2G" -b+="gxPYt8nbH3psaUieme67atufpXYV91i/GvCQsSQO/h6xMTUYfSro6PAsAXXwdrFzVWAbgxDJA2g" -b+="fbM8xNGidmHiQxtsZuNYpGKadWSvjrGt8Q1osLhFmPJqGK4YLQbcos5bFHh9gpKAro69CUgHHKS" -b+="xkKHG7TaYI5r5yHGT19giDHSBgT0dLcbcotgA/UXwVkGHsGzm0rZtv6PtoMMW13vwe9ZKhjY0bH" -b+="G60xYXcC2/wxanYYvz2Ran2RbXffC7YovzO2xxPdYGZ3mO6kXW4lcCMrfF6ZIt7nOxqozzmv46O" -b+="2WoLDwp3iSaP2AxrdKAT271CeO1ab3GCRIcRPI0NEcor9nWI60Ax0XNgF1ISOUewmlahFjyLI4i" -b+="Ka6lFVF5s3FR5VRmRvjrRzYY4KxHIr7BKuxQtnDBuQjwe+qPtVd1xyAJd80f/5DjFRJleaqBjvI" -b+="UXInDPNUPvShPYXdcyVProRLlKWxNqnkKrsm1PIXNSj1P7aBUI0/B0bSZp3ZTqitPwTG2O0/dhh" -b+="15noK22ZOn3kGp3jz1A5Tqy1PsQZ2n3kmpVXnqLkqtzlM/Qqk1eepd2FnlqaOUWpun7qXUujz1P" -b+="koN5qkH4Kedpx6i1IY8dYJSG/PUBym1KU+dgpdunprAetPKk6eRTPPkGSSvy5OPIbk5T04ieX2e" -b+="fBzJLXlyCsmtefIJ9uKFl9NQBwf55VT2s/+als0NknGBGQwsjx0Yf19NtkFyakfZtOzyAAm7syN" -b+="CS/zPaAuB5TTC93dIpT2Z+rxFkkLQYKmAsV7lpNMGsiNeES7xdMAmJD5inRV4ryiTLh7lzRwlR2" -b+="WK+fwtE1M5gQ8Se7hDfZJXbj/jb5fFVoMecftLQJOy4kvbyxMiQgKHYTZehuR0scGG4lLL1GE8J" -b+="dAcDuObaqwcqsO8z9Y4NvfkS1NAkwCBSMCeMnd6waaWRDMNjB43Pin7aZh5P8QOXiT2+Bt/qg0d" -b+="099Je4i3026d3hD6CFNy9x0siqITJj7OJbUrqeF3EbPfBco/hB08HBoaJ6Sg35atW+8JUgYXvGO" -b+="o4+d1juNLJ+KhwbSswz3b+KPwTZA3h+1XfBhyT+AOCG5q8ujIcfr70Mhx8XDBQfiSXiyEgNyiBc" -b+="iOH7e9ir4P5wb+vMYdvNn02fGJ+5UPeZmKO8+GBg7f9AqW+MEWf0cLD5RfO8QToCGfRmRuTayLY" -b+="tJHfAf/eNn+yjP2dKFlarfNDYzz+mfjh8uBbGfMZT/n53s8P9/j+fkeL1jiYiff9upshIuxm0YI" -b+="5gi5GNF+RL5bMpoGcNhyRmwDdx4M5uFBAhscONqlPcX0icBiMsbqZAuHPnDIONmK6q4HuxXHhB3" -b+="S64kr5CtXrKnLWnSItemQfRR6PO8QO1t21/nKg2MQLZ87YI+EHu012cuNN67R7Xaf7PrrbIn7MN" -b+="FIN75PZWQXY43D0hQG1O9e9lV9JtJqvAuurBPaxmvgiwN89UBv88+rVgO/M6pVw+9ZRdOAr9+zS" -b+="9os0eLKL4g/voRFoHcXFc7C4ADO176RdVnhwEqy+DjCxKcQdG2bf5Q0DnH1B7NFUuTAKF69E0dQ" -b+="4kVM2uFd5/J74zgjZh/j+qm0VtSHX0jexDD3ewDnX+yQbQJuwDpYk8bNDVQNY/dQ2gVwanA55la" -b+="7S62aolVcH6Bh1vDUB11wk6HAH/nDaYIOAXHMHVp375i98uE9XmE/cHc9HvE7+AUTw0O31g+6yo" -b+="CQqHkE31+Atz9HNxCn9OQue9WAPam1eMkLlRgrzY7uPj7XYDEiefOIxFf74XMptckAQeEyFertk" -b+="YNv/yguUVjYBmxz1aI5AyfsCsBAu427zj3Cp6mNR9IAjRN1T7k2QgZ1yPq/V+31hkiq0MMjuL/g" -b+="KoQSNYD0yOhtvIZzxOy38fptmNXmadWEXkrrEEiFcmeKcljJDRNvQcoFlvS+vY8RvY2Xd1scS7u" -b+="M+RUuDpmQO4kTmG/j1Z4jab8NK70nUTeSUxKIYbNX/9Me1eAz5nXujBmfOaHhtMdpU6pd/qxHwF" -b+="dzSp/2CPgzrqXPewQuhpj1osrmeqHiugjXcl7MTnQT8ClCwGqPbwnBEc7GvoZ3Iim0NvR0SBOoF" -b+="dqPxhLHl79aIvdYSt8s4RsJ5S+WuHBpBxDEBTrHZo89C/mEG4FbaBf/S9QTHLAQSaySnf1CHgZb" -b+="cSCxKJsuZyGOWDWbKmdNusQ0+8dRDg7FawmuK9SzmS9w+5VsvqgTZXNFoppdLrd2qdwaJmxo0JT" -b+="iECUNQd93PfOhOBPAZXFEIyGBzbJ31ycUB2bZXwRYQAwZm6iyE0G5hrEAkPgCAH+qORgj4rS4uB" -b+="lN61fgLrx32bAvXeVmDkjH2ZmnS8hPPF1C/koZ+YUO5BGFvGLxx/yvAAzc45DYHay7kWxs5omht" -b+="sRx0DLy1LvGN21mOVYnbrJYpuI7VMx0WqKUBnyPC/a+g1wbVHZPSf4U2yfIUTZzYyG9ghhspWgv" -b+="7KqAs/lSzjznFFFfAviLIurLHI7hr9AciQ66ypSousQ8JWo2gZ+5Xv5gGbs62rlUkUkGc15LE5c" -b+="faOObxgVm0Df54pN8DzCEm6JvpxCnE/lMc56O23JTSS9GFTTBIAgRUyvAHY14mcrTHJ9gKE9L2A" -b+="Nu7sAoXwmcJBYo5My0FkTidqtu8ViApmMRuWI/xFtp8xU1+Sg2Fh0LWcheKvjq5xUXB3/YKQCxT" -b+="BrnT9DIXvgiwQ9vlCF2BHHeF6GVJfTX5sjhGS7vuT5DDO1mHj7+XhIJOYSD/bS61fscrujERfpJ" -b+="EtkycHYwlwwjYnbCQBpkn/PFw+PA1aogrCjHLcqe9Nlrhqr4yU8p6zpSZcdiP3nEZU7zt9wr7Kh" -b+="BmSSGW04Kr+NvUiYnhHtKby6ua7ODCu2hSoPUgkdRFa6ls+uS9/OHKV9hfxRkzRdZ8lFtb7PEqK" -b+="BmTfK7rKM1wLC8OxLfUCXWdP5GVdkrtG5twnUYcgM5OQogvSdCe5sUtg7CNVklAUlrlBYvJmTA+" -b+="cUrHG/YQSaEIymcSERakSr0TW3Dy0UkWs5gYYzETQYPR+W6aRqJs8ySd3Bmip2Lj2978nDeCA8p" -b+="9lOK+YO+R3nP6yCZ4oB+0kg5H75FEQyASVLqS0Cc1wLGN/ViMDzr9MMORzUqz1g0C0+iXmk15lb" -b+="jnP1JSjMlzvsCJXysIsyEWHD1SyWrXJemDGaLA+kME9iScI75kd9EPH0sUBOhTJyomKxqNJciWI" -b+="YzI5tUwOkJ+1quVLjVwPzkgcU8YWPLmJ0vbXutbOGscwsn+bkOis3PVlRTNuSabwNkKR6CtIlNe" -b+="Rc2G7wnL59x4uCj1c1qC+8JeUdeSePS5ptv7FTsHpz3UbHdfgey/fbd9tvHJjY4DrNCBtlmy/IG" -b+="POANOKSFL63xPhx7POzDuVm/2BxX4Jbkah2n7ZzbYcXYOVbq2aOUboXZcP5597JTk991XaTsfzp" -b+="QylfL/BfyvuslajWgh+RWbNH95IebvCv8EHfHBofj7830yazyMPajLXxyO3sVG2S/nn3LY2NN9l" -b+="d2w+y3OG5AdKTJJ8OHxO6R36ljNwkcr9mduoYpJ5JSkZSKDjd9GZUov7micbcC1eS2QFO2fTSC2" -b+="H6Graq9GVGl3UzY0gw5EeYlr1Ur0yTDXg9EHMVR7uu/492BCxpdPpFBXNmz73rYH+b23QZbK6hI" -b+="WAlpH01oayr0HSqEz5D69Py3eKb8gJ7RHUgywb3TfruGJZuNIz7fSuSb7yPNMOMv1Gavdx9pBnB" -b+="XaeDTooPUwnD2p/yp8kyfOJl1HyPmq43wjcEa25Bpc0/FQN9WCILUTFd5G+5nHPITd2RaHOsg4n" -b+="tguNCBCxsRfGidnUZ20FF29leeE+95Z/Wwh/7lEQuKEcNY+PlYqNJY4IPmgMJgwgGsbtcJqdeuk" -b+="09FmuYmtunTykUIwDMtQC0x8WhrU+dbTGG2bUTAYBeEBrtmyIXMKhvpWk2+dhPxa9jWI1CKbUEN" -b+="4dwAJpSatbWxyYc/pJPyN5aZcrjTVcuG7hzMhkZbXaZyrtVz0Gsl/IGeJhX3ZHbx0tRF5IAzqPH" -b+="3aI82XQhk3zN2Kk0QxD6hzVYrcWYduRdDw8YQVGDkqfCNM3qXPJ0GsKWQEIYmwTZQiDPYQAMskl" -b+="V3pbRsAFXZ+MM0pB15sAjU5JppTKMel6/F2HJ/JrfitsmdV9BMTKwNZ+gkpD0mXt26eoS4R4Sbr" -b+="zATAWdrqwphoWzL1RiPL6QgzD1hV7WEjLCgCCG7TbUgZECErLpLuGzg6u4kZPgGhATjs5BlCKog" -b+="ZBWE1CVCgtWdxbku1mYhZEMI2WE7phaJkJWlhGQfa98SkvBahpDWmMXspfIbVEP555kgyGKxlvE" -b+="3MNCUNOPRxCBG/4yP6y7TilNYrn4z0iFNiQ7RrbLKsVQH5TMmXwbQl0lq74bqE9kzjz/n4XsKLe" -b+="m1wz8nFL8lXfhraaBjvXNC47xzcEOGD5f5sw8ee2algXA3st0HIaxOvcKbxgpv8NiqsOkAd5Iwf" -b+="jBjylpX5tEoOLAiOFTTtlPcDDWVp1NeX3CyxnZHGXgtln0MTV1O4KfZIyM+hntbOTlxVzcnZ1C/" -b+="CvkOeiwKNAhfkNDl5nAfnHj+T29alpLuzbLEXO5lY+WXK5F0CaevTOBlAP3vQePkGH82/TXiykw" -b+="ng3xsKVmnP/Mcvi/PWbOe5D2OvIrkTSjJm0Fel83TkjePvEHK616E4JVIRfx528StJjAC6bKZCD" -b+="bYspVof4fRygW+H8YWoUtMQ8O0OiR/ImFT0iB5jJ44aNKsh1hKfmZwXOmDBPthj+WjTOiWAZjp0" -b+="r+lfdPa7Py/tbfkWPc0wYMthHOe6YbTHB/Est9TwKrfAvVb4a1RtllMbO4aXba+AFbnFjbdD2uf" -b+="CUdJJUv5qjGbI/FvZFBi9gT5HuOC17YnTP6Q3k9CiX5uu5OPmDRHQtqPnN2ywsqFV5gA0FfyC1w" -b+="6tgyAjRzc9KnHhabREpe72c5IPf85QnaSdXzn8ZdNNA6zLgz7dTt7/GdmYe6zG4K5fPeO9x0vJQ" -b+="KQKpILOAyEvsStJrcL3+Q1GNxJOMFlr0lsCg52ozL/ZFvuuM40OnsgOX0MuhX7rAbQyqRlARcjV" -b+="JFasFkDzYchF+KT8g2Y5HLukQq73pyzYgClwKKENjArcxzAWGiKm03YK9NCT8pR3i0o3rClIxPw" -b+="M9EX8VD4ebLp8qG3FdiM4n4mkwE76nrdHlYdyxuW7kY74IGpMrEyGEkZqEydpFIPtBN2c2csAyk" -b+="glQs066+GcIsYB/zZdlZyIVkH0ir1nKpBUsNwSMxqPGWTaruTsqC51dmFlpbxY4W+yUekicR+8J" -b+="O+VsSAHRL/SR9iWIrYEzhWcvjNqWMQgzzupN7lJ28qP3lT+cmbyk/eIrtWF0oZKa1y8lZqhIvxz" -b+="eg6pGFdIhbAkTau58e9QIHYTjxKK7kzK8dxJUxeUqxt5+t6nDtD8gFelZakJqZyPIqbxLQJ4DM8" -b+="mD/92/kET/EJntK8fXijbrCNQEQHUoCZNBGO9hTra3iquJu8+SFfJId8cfmQT/bncsgXm2jJIR/" -b+="pmO48lu8hF0iyb1CIKnzmx1+31ONQI3EqS+XX5f13tsx90iozImAzTHBiGWaHI6JGqyGYZ+pWzw" -b+="gBopwA1QIEPkwb5T4W4RJlw6a6DC4Rg1y1IOOEv8FdmDr1Lf683ThBRinPHjO+Fqh4XAxdFdwuE" -b+="stCAC7AjmhI7FuOCusQo0PbEYdz+zoUifkbTI0HcBZSoZcI41AEgrhJ8U0krcXJAfYx0kaeYydJ" -b+="61QKDRT9ZS/8y+dwumJ89FaBZD2AuCSz3hGrX5Hg9sUh4+3si8E18n0c++Yih/do3DTv42iegZt" -b+="s64zCY/kuUUx2bK8VrbeoRySHdkQoYHtbzbxbPdjjsNwxduOLcVS06+aWoLigGqll8xXClNYUFm" -b+="h/5JH+HDaY+5FRG2nSOpXBB+FlecUNBO06uxVnEWZVyOwXiq4bZl/7l079qWBdo700IpyQJDrGX" -b+="s9idBGFh2/81B4kKGoPjGbDxwl+tMGXCRAgw+p5tHGHjhihaC2rPSQlWWDyZcS8MlV62XtQ/BSo" -b+="79vZIaWF1ZQ34AJPBwmJLoISK3/xYfaCBeQs2s8FOpCPEuDkjKNVuNOCS8XjxfwRPwf4dM3cLr4" -b+="XONGB9TfkT7Ap+xvhyDCGGshfJ+SYR9hs2VOO/W2JjCGfVoulFwQeYKMqf4WtKplDbek/DZFZy4" -b+="87DqT1fb6ROAm2Pi3SthIRwZas80GQAK/lJyyjgmG1CsZilAKLim9/tf26XAkr/WawCpfDqrIsV" -b+="kpQCgWfSgkZbBpijul8MA/mfDCP4myf5Cc6JyA/wqAyAwuWh9k9KmwzZjzjjp3jYwDGG5vn0tCx" -b+="a4/Dsf7tUK5CJm/iKuQ1xXFGGOfVLLv//e8gMkbyaxqBmVX2IpIRkquQvIhkA0kbOhm36XAicxY" -b+="vatmv8HuW5tn8LD1/nfNZZGannyOlcrQc/Bg1P4sSWkpM0XNyP6IYq+wjyE/QVU9nhQkGKTuH5n" -b+="2pN0PPyUPlMMMo+OrzAGa5gnyzY/55h0tXZ73ff55x+ZPni3qXn+d6TdT7OvLrqNdA8qvPO4Kx/" -b+="foZroxkKZQu41lq7onnGc8q4/m8wzPmDdLzjuC8wn+LaEZ7J0pGSP7fz7nCYWfrz+JFM3vuOY5r" -b+="AlyyF/D8Ev5EJeRHXRBYh+3jzzG2n8NPIAWfeo6x9TuH+MVZJuccfiqlIb6CP9WOIdadwM3OFm1" -b+="fmGXUVScQZ1EiXGao6rx7Ikn5F4HWEtmOVkTZGNLU9pJv8a22laYCXM+GoTbzlgiurYgCmXxSWR" -b+="+6XSRzU7jABdlOGMWC7M9JF4J771/RLyblq/SLw8z/wGb6IPsO/cJ02xH/xc/q2DMKUMlf8+VOg" -b+="S9Tycck4uNB/5+xqx2f2O7v+LbT8D4/sbsc2jH8HN/vpBXrVm9YWkHuPWAP2oBqdjYUl2FfYt1A" -b+="A03eAgwNPIP5eHgzr64hN2FChAkutVSxLVkQvTKInmwWlwGRT+EFPpwl0N6TNg6RawrXWiYwzMl" -b+="YyhvooGl33l7y6+jKe6saFvMxQRCUqp1GNb+oFnRUm9Dlen6p3kcX1fM76lWAuqumGd7N4oNKg9" -b+="VJ2XryFB9x+HKcHdS/HaiavXEunObf6g1ZkwG+DAAuYh9qX9ysfbkawhdFYl06qaqxQiLOoancI" -b+="CS1lZVf/wTMdc5AhSMJmGGhTLawbXH6MBzRsWMXF7mA9+xWGSWI2Uzpi5sPlyeNuOnziT13wncE" -b+="wywu7HOs3Xp8yzILT7BiLiC8fSUIVAcEqgyBBE6EtRp2DVpcmEw0OfrFGGNYK5C9CSMe84mMl99" -b+="cC0RREqdGzVqbfwLhzBrSeXZa4bYa9cd7mojVfHQawZ/dd6GEYgnxlTcadDaqbKNRR6ORbRRnHI" -b+="h4xK2tx8E4RpbjL2GUSJsoiEzEA4W1Iy10SUOqxWF7rZCxMZUjjmQgJu7fUitMPb7SWyIg9e3h7" -b+="pEScUFi7hsV1QvWm/Ad7+EIWj5Atc2zBi98Ekc+P5VnwYFBPj7lsozip8uKPxTLHxFKPqPt9ytV" -b+="8pqSE/fIcAHalyUvkoovflRJ/n0M/ohoT+nTY8OLPlc2JF2wc1XTNEwk30U8w5Eym5KsZi9/OHc" -b+="LqmUvFYl69mKR8LMXXOIy6uaN4fN53QRnk79qkp0+XWrstXJjr5Ybe6XUmHxfLjLdpkFt4LBKOx" -b+="+5CfaoiZLHYRnB+fwntPgBwVpUuGdJzJIu5uiyJ1DaxwxYdgXy2BMINhqd/DgHJEv7rY9JRdqPW" -b+="VvNPa2CwnWrj7XTcmvGtoYoWT/OWmIaG9tOaHB778fFWoXALiaW7C5SEn4cpUyXZFQyw+VmBQjC" -b+="12bPeZw/bR0dIkF/govF2X/CW3YVCmzo6NxDiN0Hyy5CgQ1ZLT5CAX/ICD5IuJ2FVhU3/zne9bO" -b+="T0GbxOttc9p0QvpzmoCwRvSbGvKQcZ54vfWDKL32Qp55HRe74Ah+NO8b741oCSxuwkEo+S0L44f" -b+="JHoNF6Pf8ITS3/ME01/2KQj43vlO5geMDVksAlF9iDipBGkH4P9lmZT7+pJVo6TeuXA1W1intgP" -b+="8Aybg1OtBllC6h1X2eZmF82Dfc6+0OcajEyQwilvliaFQtovswAw0pVrC01pAZgiVKmRhuIKoy8" -b+="uQe2letEiU1y9uHkesn5Ght/2JPYRJMN85aH7Tds6oaaNPul51gFwZUBcVE3lTsGEeUUISFDPul" -b+="tPAC7Rm4k0GVDCB9PUMdyKYQFuHjf6zYVo41/YTUIxWrActLg+BzBI2EyCNlkUG+FLHlbzGFtDk" -b+="jZsIEFmMjK+dbDfIQL0gxNlMmh0GiX7ynP3TewZ+UwsGm2b7FnfW46daY2sdtJTFk+GDzEl75iD" -b+="IizSuWkdQQPkk1smMDkSDaxSUNjBwz7A9vTbCeL2uEejD9S56vcVTFo1WgwmCAtti2w45WufyNQ" -b+="wTjfg/6CjyvMb3g7HOGKmYGX3g7XS26Hu4vTpC7x7XD1j3k7nDqxd8OlP7a35vfCNXsPXsO9cHW" -b+="N98LVyvfC0foyl7Jxt1iuiotxMqeAFgronALahTsQl0dLAX0NV8XVoqviqhiIerecpN0pNEoOcz" -b+="q/66wX3XVWfNeZTw90+a6zsnedNWaslrvOyt111vmV57j+uVD5EF6m8MIUyeMnP5Hvvoze6cWs7" -b+="u70qqL2+qIbYwNHeyJn8rUhIAPaA4hY2OnVSH/cIY6732XnULXTC5ocrOeNm8BGJpvofavyeHuM" -b+="WuDnC9peuSD40H4iF9KGdL+MLprgeDQ7vR6BuNddTwvfuEOOW0yLQcCW3Cx1QN/ON996r1rZl21" -b+="Xfx4Mhi+G+LKBs9bnhDZxMlb9wkykagY0poJBytNzgEb21c+w4eElDXkIdxE/e+0zbJqQLM1ZH/" -b+="0sZXXbLL4zlX32s6VSAWf9ArIqNivkrLPlLNYSs698lm0bklXJYs789c9aMAbr7BzDNuIAi6ESn" -b+="qANCUHcqPMlVvFy6H9jQok/GdUpDZfmPOItapcWGTbkwp2ZFtcnPq30arGi4gtnTdEraIcgPKvc" -b+="F8+yF/9QptrrfNYfHEh+yWcfpws2H78caqCplinPZ8GS0/L5KTs9OcuS4QWbHfMTh/yhoaPm30Q" -b+="FhmRRj02P2mh62UUuBJwFRo9jTUu0nJgvQPaEfPWxzUEdZLuC2AqkD/bziT3RSdyP3AeIFD5AZC" -b+="8ev/SR53gfq7LTr89KKCI50oZel0189Dkv+a8KLi/iQSV3hJvuBN0foCze4ia+u7pmHS4V3xCDZ" -b+="55CBIou7QfE0U1XnmSXTmOcvTchU+JEwfUsTnFOKN3chmkKdzRSQZrwSbgNH/HGlWH+2c9t0Q4l" -b+="RjzaJhMaF5qgIlWAQGxYU4oNn8ZT/m2Io9zELqZKPwdG7bl8E9cO9uMTSlTGpNzEwO3sqiwqGxU" -b+="eaLdC4SjfXq5JazwtY3YlTStHcBwUDlnPnQQbsjCZwxzhAEYnUvdBgMEUVYI76JeUJHr80je++A" -b+="1vBFdd68ndGM8ALtpDcId0Q8mBmQz7W4fAJsg+ROT/IGaVRDAXc5A4YNvowR/TTjcAVq2YSbneo" -b+="FNo+00os7Azg/jVghKwI8kXlewJXzPb3U7Oyfl+E/qtsFATHw8SHmpmF5mzMWwXPznLF7ebcu8b" -b+="45NdorfMQ0x0+mPaZcoP7PP3w08X93oqfFOAlDu5Gx3mbDahZKyhNDsNTMtJXoDYHy/je430+xJ" -b+="/M3KvvsxpqNKELaXnWJUklS443lpNj5f9droGwnWgsBf6VmcSLSNkXYZb5E74U0tUEV9/Tr4CZX" -b+="SePfdD3i/RCv0YYfm0zl6hTl50lwzgxI79+5mf5JepV7iyhPxx0TqfIuRZF/kbpF7h0BLa0Muz8" -b+="JibC+QGxJS0xoPhuhrSpxXcuYeIbtll/UC75Qv/xpvtIJOOP0pvHkyD5AMm3ubHrbXUJj5MrW0w" -b+="AbOWOEJqKf5EdpDQxoeNQlgptI3rp2wgvUDi33i8QxGlgFT2E6yMU1GYkYwvChsCamPT626iIFQ" -b+="29r0ujUjY2PraNH+I3CY8fI2n5a6v8D1X65ohfQuPx/ITIp4lrp+FjsVo3Lf558N9/kVwAOKuJq" -b+="T+W6rVaAOXj9X5Ck0Eu+kLsxlK1fPU2Uo7/6wstziLb4xWhKfYeXUaHrnwjcRxXsgXJ/hc8iLRt" -b+="xtyDaa0bjBSLKNL1I9l6FskqfEzKN9fjwse4e+HrpMnItlafjKDCIII+QxaY7Pmy5Vz1uvjw+Lh" -b+="i6+vZOFJ49+B71PAHHwCrg7mDXufCBd1fyXI+18IygDMQ6qZNm8OefDmg3bya+4bLeJqmdFalU1" -b+="+ejYPZYEgpfKR+dR9UZ67SOVULfXzzAX2s+PgZ24QPBsHcx75l3yZJ/OYEclf4kabJ/eDumjT/x" -b+="wbDTTflkvXilkgxvM6MRjATJMO5o3OB+l6kJS/2yoo4jjR4j3cNrboeiwRHltLgAVc02rCPsnHn" -b+="P1RJX+gkv9Ls4l1qF1KzMMhzzpKy9XFAeH5tERwtq3EhUBg00pcSAPFQyVvSLA+9uXSfbvhdna6" -b+="nB5qZ6+dK6VfdQkjl/+yVyRDCCS3pV62WeskizDMXrJZg5L1ok0SLQ7w9VJ7OK1wpdo9zueP+Dm" -b+="KkskLir8hwS6LKvmGTmZZMeAQW1+V24m0pfgG3D++KkURqYxvSvrZM2XEJjlU3VPlLBgca9kT5a" -b+="zHXWLCNl63t0W7iE2JH9aKjW2dmH0EO4zwBL7pgDIQMaLH4NAoB5h3z+D8GvO6eFr77oKeb0+ta" -b+="/wbyKk1nwG7+AAiuZIzPlUepxq15KcFXfghqGODrC1xnCu+MaqS8/b6JGNBKZ7cAOmr7l7lPx7Z" -b+="0Pr3Qzcj0AvsNKm4JcDOX3rAvDwqcn9A7igX3yxmZ7+FUgYfb8wXGaQovqBoLGAKUeJzbdgCdiZ" -b+="MSUm+zJYbPmXHonbZl/VDREYyLXJI7n2xlMklziU2q7M4yvMuK1mgSW6VhdA8yf5ZZaVPkE38cn" -b+="H/0ePvAkZlETrPGUmRMccZ+Zz2TCSGaqx68yzXcpHH17IaplZAhG+EsyzLoZlV+/xLQHPOyqXLc" -b+="g2NZaSf/JVmzyiVrIV/vl3tcMagStcqk/y2GEco4LOB3jwHwuLVLxKSLlp5wtcJieV+wU/+vZKr" -b+="6HxPEIZWr3SB1uMLtF7pAq3HF2i90gVaRsJeoC1QL5BeCd2LgVy6ZBR9dnBdayQidg8QLi6Q4ji" -b+="FtCAszIFD+jyH1hbnkFqmkudFqQG38/09dhOU3GE5J5HcKPMl9zLb3CmDs7tc9oTqzNaSfVYufJ" -b+="OGj+wGbcA5+5It3bClV0v2FVu6y5beIdkwjCd56YRAkPyLGkxBOZzf44ovLCpuIZzypfHINr5Gs" -b+="vFV9SjvM8pCyRYddwn2sza7brMZzRh2+Lw0LmQ+yBMVYaPmAtHSzshdW2Il3FGNWcLUeNjind4l" -b+="nerkEC94PDjCbzEfLxUDU4qzHvMU7bKvYj7OqRFQH6Rn4uMuelB5OPkY1okfQfCGW7134UIj5q3" -b+="V/ny2zKLzXrlEqTgYeQKp7OFWVLTTeyfYjX4ePmb0w7d670R/vtwhhgKAO7GQR8nXNHYK1Wz607" -b+="NsL6/KhqmK7fQ6MQ7AX1ZW/+xVAaAqAR9Nd/LnmMNzfO2SlPkp1eLfx2Eood9JJReN3FZHYauTv" -b+="fZxQmW77E6y87QRyc5ii/AhG+Ap3yrF2CpdiqTeC5FslS5GovL3U4/9MAImX9ZWse2BVYWU2Wgz" -b+="/EP7k7/AWF/RsvhB2YNRoIv+NegfLlzidhAixPRmHp/3YoFchY1d3Z240ZoWseUQpyC4cmzY72u" -b+="n12IPi3CvnoLze5BNhexMofiDUJvrLU++znVB07LjCRntUYpz/4AhkhpKaZf1HzxZAr7Dv2jufJ" -b+="30o0eJKGnLg4dGhCEd4MiRt3oDVNSunRGMdOzFFiX/msPexC0+jNvpNTJ17FbvNbiQEgBXKnIgc" -b+="jqW3xfxOx22+SIVAY+dZh9/TWiyivOxK5V2svVN+mxRp5NVS59PVQmvKvvqdsX1WlyJwsDXTJ3H" -b+="q4TThnrnB8hOx2mVDZTzcjxX+poPjudIk56LTb2pLLSXH2W74LtQdSpkp5grXPFsWBx5TjAmM6W" -b+="cM5xzPiw1DiLw+wW2RDwR8sfFskuPsqnwCWLoBn/OS6qeLeCyzU8XB6oWhKnOI9ZJfIuTtjJdOf" -b+="B/9ijbOR3wqHmW23o2LOKbTHPOM6WcKc55qsih1gneff5ktSGUJeC9xvp63t7FEmzS3mwpR9o73" -b+="wntTIz26qZxqFkz3ficV3Ko2TC9h5pN9PBinNbly1KXY3yzbEhfivl7ZDNhW4iUk+cs5xCRChA4" -b+="50oJhK9xzlTV6UtBdoFzpks5L3DO2SIHYC4QmFOhJXB1n34WR9gvBW1L4dvsxYgznDNTbdPKabO" -b+="e5QvfZ2qlLKg49LeUNaTn41Y3fufiFknxFpuqXo4bm+rZZz5ccMa6up0qX9DwVFnVGKwLlYIDrt" -b+="zPoxyyAZgt/aiW0Wr2wX+wFz6+nQUmtBtOyyNrBUASvAIi7Vp7+UJYHw3QNdQfEJzL9ROqH6P/7" -b+="muov0bIWK7fbXB1rYfvDy+u/yFt6ynbziqq0IDTY9fSwq+r0kQgljV95cA/s5xRCvxznjNKgX/6" -b+="+GkG3x3tgrukmwj9/E1LcYFb3BumufQqfrxnYVakbnPuneaMUrdTnFHqtspPk+i2DrdMjHNfXWQ" -b+="ZzO+PFsPft/zwH2LQJuJ28htaZF5u2mTGnqK5PRE3GvXsWyLumOe669l3H+XzDk521bPTHy6SzX" -b+="r28Q/z0QcnG3ny5+1bW/jn7VvbFCfreUecrNWdpOJkte6kLifjutCPHitA75JD4/JyaFyy91CXW" -b+="8ew5PEylq9hnlvDAl7DHo9lDZuMczJOUm83F8toMZDTodzN4Os92QUgO4t1dAIwB4heV92rX0WD" -b+="PARpfa9e4BQEK2p20VrZ2c8Nbo2aCrt85fl8h/f8ktVmNl682lyMl6w2tHcIwavF9FqpI08Fqp7" -b+="pDhQYgX/oWtHR5X7pjpRcjtPKYSn8pX0ysI2OmnuWAhssA+xM1cpk6iI4nmqnwqqVmwmXaQayK6" -b+="97FTCiZepDdhZgLAbiZiuAtDAQu9Gl3aBFZZm2hFFaiSVLb776XYwXr36zpWBYHUvt97/yzbzZl" -b+="e/FpSvfi0tXPsnCzRvViXJJs3CPdebbBSLcWfcNRjev25jVUXKXBN1h7diplwImA8g3+xp87EGZ" -b+="ojkEJbBm+PtUBG+RdbrSFnjzLGwKFqDdJnv1K/jt3qvn8du7V7+MX5rJcxWZ8C/hl6b6ZYTchJ6" -b+="pWBkzYKpZbbtgz7E5/kR3ScxLGLcE0hBRB2hDgxm0UGHP7KoV7MmMlrdWMGZrltsYLMldZpvAsn" -b+="ROSItt1mH4QHi5VmEF7VltF5pDNqzphBuMequ6eDAevspg9GJLyBu0wKyygzKXD4pTiXCeNwPQn" -b+="80HJ39F27LT2F+cyQfp0uJBathBqttB6rKD1L1okJLlBqn3WgdJ54OkikFSSweJP1IL2vMsMW3X" -b+="fg1w5INB7y/xBBlwM7CGWZfs0xe1uEd5cMdePIbobrbelqN8+O5+DT5mEe8lsR3NLktnUfJ1lXo" -b+="EaQ+/tNmYZT22vR7UvqLtLrzIteG6DVCCI3IDg49ISLwP77eHS8QxPgJUaNmJ42IVjtvk2G1C5U" -b+="fGMZ9EISyin3shiFWjymfGHl9+SDWfGfuyOsP0j8iZyX+BzZQ9H06kfBSGzzak7El2B/3ibI+ev" -b+="/fodzWfGdeSu/m0TQ7dPLZO52fGviDGl9vLZ8ZVufAvrgEmxvFdbM+M4xzXMzysfLDIVsUHEN8p" -b+="2mud2sxqN8QcShlXE8waPrK7CEMmhnnABaKzp5I4VsahLk7hQF7KnQtb/PsSpKHEf8MBK+49PaH" -b+="a2SvubC6RK9gLYelsFVG/4Af4jCrOTxc8nBuF2VNFnglpnVb7/PfJkCT/Lxo6i7t9+ekeIssG5d" -b+="O999GKAEBnVL5ISsjeW73TWqwvjyuxokwq63nisYXxUn68c4a/5e7sqhJPEUbKv+OQsoUNS1nvZ" -b+="H6jWGf73ynxy+LCn/LBq5hafxKccUkCICZn4Uj4nKZZm8pd0lb2xMysvRopN9KS7yoT249y8Bl2" -b+="9swM3+yXj+8xk877cL34CW3PRj0x/CQfBvavsI3US4AybN2gr99xrjrv7/PncKE23EmEudW7EnD" -b+="UQaJz8nElp/g4eEdRWmT5TD6GwUnOsqnpH+JPBvOgE0dAGyBmuByKzeulEL6VPjyZwSk4eq7I54" -b+="QrwtfcCjhJoTIfz+OUQ5GMKnEZN84H9nb45Q6rqbBzQSIey5Vs9mNEm+8pmbAS9s65y3i5u4yXn" -b+="f/YLLvLeNn0GXGXsaH4ZbySX5IDzs2euAvMVsT5JrtM9bJ91kQ3CXvdKx93JjpmqMVmvLMw480/" -b+="ZssAuzfynohhZAv4GrPgN2Dxg/NEspzvRCX3nXjBF4Je8IW+s5xm34kUn8676C/ykEjYoxbuEXC" -b+="evCDOwymbPSswDYPaFT6H8PiuKzHps58QBwhtv+ouIYjhNnQGA4KrTNkFlPk9xV2/+AnnMCHOQp" -b+="5sJZN/QaWJQ6gvqjXBduFK9ioM4Ha+V+xnTivZK7qd50EuNPChbY0bDDbXVLbplzQkgwBbY2CzV" -b+="/Oud9iuhwtAz/A3UmvZ6U8KrBV45Xn4Gcguew+0W9aYKl4ssCKy14X3YKqTD/A8aK1FmEMxgwvf" -b+="FF4X8C2CGXqKhXksgc6t14Xc7AH3szj3rNiBsOHrJhwJv+r8LyBfAoSmY3+ixAZqIvktH1bCV9W" -b+="Fkeh3s6MsdTWEPQuGIxCTgTsdZi2BN+/ucJhvAbDGYM+GsSHy5CSdD/bW5id66/KjvEE5w1tvHT" -b+="u8kmNHlcOA8SKQyNfClUgpCWBGsO0gMvCsoznCzmkv4Pmxj7lp5DsfEP6pYA1K+zC2ys0YDLl/i" -b+="RaDi1o4NU2Y+cSLfx1uRCjc1+guMs4HhR9IBUEocz+QSnaWBOQq44LocuO0ckwjPNg0ru0iTDvi" -b+="nwbOHaTCZzVdzh2kS6IBOIcMnTtk6JI7iL4mdxC9xB0kkkhruTuILtxBtHUHse73K/bOsXZKvXc" -b+="4RRS9D7kh9JwfT/KrzhMkWt4TBIf94ghSnHXuF5ePgSIssSeueuwG0r3IDWRILoM6V4qDuf/Ewd" -b+="xzouSDIA4T4m+hy/4Wwx1BsOXUp+xvoa3LhJcfkPHB9p9oPtje7NlLsviErj0SidgxQvwBspknZ" -b+="z17N1/L3fySS4ALXMI8HyVf8uUyip97rTTEU4Vp3s2+SSWvlSGZap0n8tVFviqTJV+VfmHq5Kf0" -b+="1XxVJhHjbllflWiRr0q0yFclKtMuKvuqnHmy01dl4slOX5UrnyvHjv7cIl+Vs08u8VWZfnKJr8r" -b+="Ukx2+KpNPfp++Kn/Q4avy837uqPIr1pdEw+NCU7LT44LWtCcXeVz42eyTizwuqtn5ctbMkys4qj" -b+="RoFrFPHvsvlYe3cLhAmU5HFYE291Kp20M4LQtMlcMwL3FXqZeDLNjoCoW7inybAy4rDRuuwTaAi" -b+="vb+EH4fNvp4R0XsM2jDnfyijwsFVeyqPuqjHc2W4M1eNi7uwYckMudS55dnO5xfni2cX37Fuaf8" -b+="4w1F2fnlzYyFkxHPdji/PCvvgtz5JVjs/BIsdn4JFju/YG/wB8s6v8wEcH6Z6XR+mYKInWHnl8n" -b+="C+eW8EveQqZKjy6wSOTtdyrtonV/OBh2eGpPBPn9GWXnoZ5d/rgjF5WF147Dk+Yoxyxkl55fznF" -b+="FyfgnlrAFi9Cx7JhQLAsJqd+cumR57LvSTVClBM0Nr+aRv3Xe0oIs4xhxMOUhekQ+m62QDe61cc" -b+="B4hxfcDIDZmf7Ycs58yLpYzIH4ulTMGcuWopAh1isGgJAYl3shQx5ITWN9Xty4F1jc2V6PyJyMy" -b+="8LwD4IBlzKQzzBocPGg/+FkfAc1clPxlfG04Nj67KZSdnEDbTn+cSXjZKFOMRjEOK43AAoc+h8/" -b+="wKxxmjGbvBoSmoYw6X/eYy/1x5JMuWGD8/DsOfv4dhypu4yq+9xvRLAuTn0QSF0TrclNX4YOGyE" -b+="WwHZ/vqBrxaQklt5FFlBtxwOuf1BxQVopR6zh7VraY7cgDm4WmKrndfHsWlbul5wlW+aOsm5uA9" -b+="2dChOl2pXts6arr6pNKCjInkjJrW5EA4NlN/HKOP1uRED6CnAQp5yvDWgLWUJtVeTnNTiYIlTr1" -b+="edKgPucEgBaPL1ya1bYF2CT0Tu8hdn8FUf5/9t4Gyo7rKhOtc6rq3ttd96pLctu+3X2lrirLdht" -b+="LcZskki1nHJ9+qG0hFJsZPePnN8yEPGbg3TZZaUmIMNOSOthxROJMFGKIk5iMQkysJFYigzOIoC" -b+="QtIoiGKEEGgz3BMCIYngmGEcSZmDcmevvb+5xTdW93y3IS1mPWGnupb/2eOnXq/Oyfb397wCcIC" -b+="AVuVyQ+RUAo0nnR9EkCQg5H5K2GsPIXFhYV21huoYbQlYBwu9Nkk0a1kEwKQd4Re7cGAOcoBwa9" -b+="KWcQihOzSXraFPwAQKro1Ce8qZPv/JJySU4A8yLxhQkgDnikzaBH2gyKuj5YRdoMeqTNMxbzbZE" -b+="2KwRpc5aBSaS/ndE5/z4NtivRMUOrJKhslXnaKQRUE+gUoVUaclwE3FupgALz1qt+0tx8QouS/Y" -b+="wSJfuMEgX0GVJAn11sQxKUmtiMwvQ3lCQZ4iFCS8tv8ECj7v7v6DgWssjbi2p8JsRU8E4LMWNlC" -b+="ApuXISwG9VgN9JiN9ImN4+9dbHdKLR5lcVudOKtvXajusz0sBuxyuS0XtZfiyC9T5mOJWKcmwbt" -b+="KRvVQ+b1lTCBNtIVNMCM/mJ9Fsbzxm4z/60Q5Ojt3Tt2cAAi0183wUh55oPyfJtJUbIpW3pGq+w" -b+="9InBAGKsuzi6q6nsntehk4F8/QSPnaMRUXdZIxcaSM1oubTAMs44oVRhBsB5SkWKk4iaEnamWSP" -b+="dw3QW0dEjlwH1I4o6UxB1JHVAKDFEaf9gcwiG2E5wN3RNusMC2doatWaZtf5szzrrFQeH2pP1dy" -b+="7+Iqs7tOiWqRCVxAz3zq0qAX9A3SxoKlT6qE5e0gTo5BgHTuUgUVd2DxQ7Y7noffkPYb6X4lWuB" -b+="zNQCFuOmyYds12WcV7YSYLGIM3ussKAwkH8AOFazwLEmEJme6gLLaAkMC9cHKfeZ9cFKTvhHn+S" -b+="IYvrKI8r5f8IJPQyPzwq2pPgs0gwI29fzlwtatQgYhuIwkp9/iwWGrUjETb4EMCyS6E2s7nCqhw" -b+="IMY/YMAYbdr8XefkALNcyD9vcR+3vM/p6yv0/b3+fs74siWZ8MAcA9oM+LFsNTT4a2gf5zWEGGD" -b+="Q54ZBhV8VRIL3Vp0n/zBFWuaHJ82QF+HC1WdsgwzcEDNGT2M23SI7pYtZmpsQ/yhUd6LzxEFz7A" -b+="Fx7TxUWb+Usd4QsXei88ShceCpGtj68+BXQPOHA2M+PPAt9yuvcWjNujfDWNsdpmZhQ6zRee6b3" -b+="wKbrwJF/4nC4GNrfAZHsUBn6GwAbVS5/VLL3SpS/qItncAjcs+wKqL8ZrVs8bcG6sRRXEyx9U5f" -b+="sdUGXF5/khB0hlwu99TGw7oUn1GcTvfJgP4PcFzTzCLwR9b4W5Pgv63/FN5Tu8PtMMowN7TRVZB" -b+="4sLyBUBoTGq2ZELnirBLuUFzVE5aREp1ZPNtpz6u577cM8lcqICl6GDF/cAZujARb2QmZU9EC87" -b+="gmkihVzIHV2wXglY5vjL9GG9Lk7kHnv1z/Dge0y1BuAZ5q9ON1RBOcNL3yCf+1nNsBruHNJRqu0" -b+="McfZZzRxc6HdUcBXec9FyBeMrPuUKPrNcwU9pW+NTKLgKFFq1XMHo9CddwaeXK/gkE8YNApsV9h" -b+="T0Fi7oiNospESPKZqIVT6Iq2U34K+A4Us1qoKT0uVqFAoXi9RoYbkaHWWSOp5AqOAqzGlouYK1E" -b+="LlIwUeWK1i8RDyD9WHCVixXsJKcPVLwweUKfkBz+pNKTZuJNB4DuTBMXRnz4TJlvKAFlLXUGoLl" -b+="RtjL3PoRuPVDQFkP2vXjAe3fA7X+3qXnf/9VbT2KWABaR3+mB6A1mAjF94taaPAeU8XgBpp3mHj" -b+="gmNyZbKAJqfeZUj63nC0+YG7k/uIHrI/5vtAVTyJCWCmclsOli9Z9Rev+ohu26AcrRT/QW/TB3q" -b+="Kvk6JpMdQYB4FAr/qKLXv+ktUKy2pxApVoqfshED1Sqdah3modWfqNo76i4/6ia7boY5Wij/YWv" -b+="RD2940legKXXusvXdvST1VKP9lb+ulFpUMSW1R+raVNvad4K4w9xvgbFmEwvzM7jMyyB8JybZPp" -b+="8WDliMxrRypHZF5ZCHtG2P4Qc7OVUEIW1WUdDtmhI+twiLnHv5Mss48hK6qbU073Fnoy5Dml6bt" -b+="FIjm18AJxOUs2ys1auRmVm7qngEOhQIpCGK3s1n6/9YJ2QK+4nCsYWxSl29mCetKJL75FnlD9Ms" -b+="KZfpkEoed9khcN7WNKZoCj+KWx/5iScXVEleLEgvJShj5VkWKeKqUbKK7CpNUrBDZpblFCyjevh" -b+="UDvHi09bb8u5aSz4IoBake3JBODfCJzSlByK7gxQHDdQktphhm17ISe/p6Ss3ZOBuprsS6w6GhF" -b+="M+DpW3plNrAZiC73jbMa7daW+GLZRXSi/GzZqs3gYGpa/BiEoB5RCwpOIsId5JfyI4uAshnuzZ2" -b+="iBbMEYs88TWdq5ZmnyjOnYDnPYqH9P1keP8bHEzl+tDz+CB/XcvyQPT4oC+VmW/wD5+l3Oyv97p" -b+="Dq73cPqP5+t1/197sXgp5e8VL9DiF/rt8dUGW/m1dlv3tTT7d7tvKAmu12yfLd7vUv2eu073Wq7" -b+="HVqca+TTN7UmZqSYNPen61gOiv6GQRxDVBxDr8m/S6hU67RQgdfiwAVY4ghe9mp1RDIxwYvB18b" -b+="EgjdU66W2ZBABTh+4s3WsOWPWXxshhoL1zj6a2QtPyutjg/jBINp+Puxxu6eC/CCYBjSHtYT2Co" -b+="WsZ7UFiPYYivKwLQBe+1XhfVkeQRbAATbA59+PGEE24BjPdFLsp5YtFEfgq3mUtYsy3qCt8KnA0" -b+="KDsQZ3deXl/WtbCuJ2lprmTJ4KuoNtK9a4VBcDD4x15ug7GXcgJTyPnWf+gwMe9Bn2eq99BjsPv" -b+="au8lo1Hy5T5UG+ZT+nyGnwwvuZ+V1bCVDrpYU2/bJcbSph/xVxtDh2w+Wp+LVaJZbNlSMoUmhBD" -b+="L5M27QhKqy17w4JpS2WvKeeY/BXJ79g4xDaiRt5EOgj0Zsm+iNRYnHFDIaNGDVxWyIJBHxJGxjA" -b+="PeoTXmgm7Zm4WubOnOXVNjeEAoAuhjhKBN1/QA3VJNA92WTPI1MycpKgIwbnKAZd4yNaWZH2kHY" -b+="nIF3dohARgdRAqvf3+Q6eDnUULecJa5i0/c09jZtbM0++bZ5FowjLD2qvqnE1s0VWRgPHCbS3Fb" -b+="P/RFiZwRb6oLJpuqVAeKDXF8JYXEIC7YmjDzZaGF/V+FhkYvso2V1AMxkJVFAuXT4z25h8miKXB" -b+="BY5FJJyQTBFli6hRNoZT+Vw6WtogJwazruQNIc6iiuMSTtRCY/FWTo6hpIibua2jrFGEIs/Qd7s" -b+="V7ImGM8rTqB1AazNXLed2bNJtyMpmnv0EEkBlg57NFn4ZpFmhW2aoWcAgN3BztI+Gar1LqpDUOB" -b+="b6rgwGEOB9664AMGAxF24sXLhHQ+Gdc9l/e0jn9HpO+4lfJXRzWiBScFY4UjFtef0wN2tPN6dLu" -b+="rk/7qWbq5+/iDgRryq3Ui/bXKNkm2s4tjlLX6btDSAvkwoPVtjmzve80LPNcVWFSmv4pV7T1eaH" -b+="2bS8WWpzlW5uFDI1h2aky9aWBDvD2O+U+80u81bLviVf630jZY9F5bHEZllO/kBLnoKzgQscZoL" -b+="smpAM1tDTh2X+BhPPrx8+zvNPDYV0ZH3keteYYOqtSpDZJyrbz9B2JJvP0WYomw9+AgUhBy793E" -b+="E/9yowhiGH4XU0y/+45AWZ7HHW1sQ5671fNet8zRY/xW4+QZs/a+uxXP1eOHz+mvBWRlu3cZiHA" -b+="cbyFt4Cvu8m3mpzKq8arPq0ooI8612hivdVUgoOgCI1NY30kzQ2tnJiIpI+BiR7qxwHvXVDtkIz" -b+="LBvanaORaDdpEaYvZebn5zDvZ2G3O2N+CpRtnD6xtnUsUzNZsK3Fzm7h/rc3xnR86xhvF6E7Sm0" -b+="1kw5IljGdfpQnf8nfQxMKI1MCyQ5ES3WXJjY1M4urfMUgRL0jZEQbSw8zGYkNDGOiqWCGTzsS0y" -b+="h9gRP1uJ8rbNIhBtRnkVBUIbUp909F9wEgAvZO9zR6220t5k8EbSpDWWxhzG0r26EUHIFqMz0Uc" -b+="kGjyRcjXZekBJnzYQCvkS4oZ6FvWAP9QEGTGgawknRBgHRukV1aPHgiLjMKhDbP6lSQ/pBkJ7xW" -b+="zg3wUmpWMFkfS1vp13kKmArFGw++Tp42yqcgwxi+IOeAmZw5PHVO3Y1cXpwZzq2S4gmJbT1oAaS" -b+="nFQ2b3UByvg5SXRhFKGsZe7lMvDUbnHrfr/7FKfwb+ec7qnt38ocenBrcm9X5qXP5oHfYseJkiY" -b+="1jqSdoqetbkaiT61bNoRRnDeFjG0ANqXqVtqKF+hXTjAX+rWCa/v55ML2jpYVnF9EjUfqv0CLl7" -b+="mubPWcnBVwac35Iplgu6cVIGE1lAg2vDtvXgyCKkWLCUBkyoWjDtr5MkiFPkv4YaxLVz/W3iz5X" -b+="YiXY5Kym5a7PxlfPGrcz0rqxJ2vc0arzclnbsx1/p9S9dJD+3gmi55q7kjb2FLU9We0O6kfNesJ" -b+="Ep1m4RUCgskXiraRmJ60JbSfAW5sWLUMScnSE66chTwxmvAMlEXLawAwnRbq1FXIOXmTiortA5U" -b+="GNQorBtSKl0Mi9dhM6E6S1aTnAV4f2ajOZME1CCgcwppOfRNTG8R9ADbftaDGtSxd0xy4ppbVem" -b+="ec+6rI/Ye9Fv6dRKUmCeN/HjntvdnSDakg6y0ganLMYCwDgm1o39ypLbTsEEeOqMMsZn5UB73ZV" -b+="2CbtT+Gngb0UgU74qWEPeaVBL4akCQB1J9hDAP+QOQqUxn1Qe0i42cO8+MkeINKzwe2Hi/qeYjB" -b+="bsf0w7SZZ83bg7V77tgJfbmD74T34oQ+IPJ4DWW374TmcBFSicTudbGTxHkAx5nDIngS+KcKd9L" -b+="MHrTiH3TnaAmL27rkivJHlg3Aq238jN8MgzlBPp3O4uYWr6aKGv4glN1yU8kWcXJ4qHPIz+drUX" -b+="zvMmePo2jaupRoO8JUNvjK6EeERWcRXdqhpuKsfilTdNnt9LRxLDYF3N4qaG4Y86jEv0EeV5Q4z" -b+="pcxQVyPBtxbSbiTNgeTQ5aFUr86/pILU7QxMvwN20uAM3C14rO24rMs0irFaB0+t0NFWRCpl59O" -b+="azFOIBRzYOubm0ERbpuosFIWIl+9BIR1JKjN7MWDn0wZcyRkIAs34TxpEaLx5J6s+0S1Qt75/5x" -b+="hP4Zzqr6hhNokNptTgZhpr9a073O7rZluISBq8C0K3TYJFLdRXLJV4C5e9cyyhqVAlZXQCCIfDK" -b+="dIOxm7rXZkqawa/Y6N3nWj0rVdYI74vsP+5jflMj9GMaQJ5Gb9quBTMQ45SPKbGZ27gRAJ6ON0P" -b+="Y/Lp9+foQ3sCeRHVA3PtFs5EHx6nlSD4fl4YuATNa5y+QQUuo1sIXUfJwbb8NEXTanDqDlnjtTy" -b+="40+VJR3Zc4A/qYz4tbPcmzBlbc2sLYZ0QRDhcyRUecOGih8TmKN8TuQrJ08oH+bJpjphhAvKydG" -b+="bVzACRw7ZGpvdI5AB5RGYfweTReoaNP5u5L9iaZL7yHV95yIQPHiKFLTcLmB9hGjCnP8YHnncH5" -b+="BFrkSFb0m2bKAcmBMY2TBzIR5A8FJ6fD3wxE7hegu95SdVs8Hyq2fmK8KoZw5eWUdLORwleKmkX" -b+="Qgl+AUra+V/Y1eZWroPV0RAFG5Xv0ZTIDzF4eh0srVRY9RFlWx2MR85DmpSFivZMR6c8BnDKY/8" -b+="qufmA1aNHrbPkzaQUwTSD3sR4nZCxKdE0fIxZNAO7HQn6yG88odcVIfBcYQXPFXo8V2jxXC6jOq" -b+="e3zmMnaHEWoRrcddqs62LVxyjkbEJ+7ceckUgbNTbaWDB+JQuL5mAYXcYUcxiKtqlaGNc+ycYxr" -b+="GAzJjPzj9tAlC+GqrYPtnu7wtACdCVPgUj/XEeyn8D8zPwJoJcmOcNQv4TGNPvBiomGsv/pSKlQ" -b+="LfdfzADsp4PpFqfA2sT5y43a8WNG7zb1neAKeB66Ef3+HX6jxPwNfiFwConSW7g2dO/tVo1iFJc" -b+="vgZevnK6L5YOx+Tqyd9GDe+1wBiRPSABLGhbNmJ8Pto1xSgyqp6TEMP/AvCE+m0TMcz5dEtfjgN" -b+="41MVAs/wddhCqD0fIbAVuRDKxfeBxc6vNSZ/hlsXkzNBw0NBo4l5hPMNiP0S2T5kkOPqfuhZzOd" -b+="MfglrGMo8SgQEJZHMs5WgbSVSUDbKaT++3EhFya/8ti9PItRrOlxQiQWRytEHvYOedl2ILOwCKd" -b+="PKVJ2IO7TFoTNgHOuL2rC4MyTxE0VXAqMupbeYsB7rpLgnQdTaYKDY5hbr6gUBK1kiBzfQMmxkJ" -b+="lg9MtbZF/0JS2iYwCNSfE0gm7LPs9kEglZwK/wDObSz7WfABfCgmP7vt1WgmfQfWhCPIeKxL+WZ" -b+="Lqq4a3IDGc5iZUm0QNPEay0HLONdRVLyA1/OuQkgVE5EjyghOQhc4F9M67dnAGU91FChtE5yEe9" -b+="JYWx0HuhIMyi29mo05iPoOF+2rz4K+7dRpJuZO/0yQcSRCc7e4lerLa27mnxszrz5Ok9Zfigy0p" -b+="7fakU5T+H5r1bL2QvsthK0G6nlUkZA20q6ubkRkArjkyuZFJZ09/TJRhJzVKanDU57queYzBl5z" -b+="ViBNbygNU5QGh0JIu8YAJfsAEPYDfyGXZo+nH55HIetd431VN2Zurl2gxeYTpQ6GXS1EpBPsl7/" -b+="huCD/6Oxd+LnCWOY/Io1+WyKO/DZFHLynybGQpZvNSApj7GsNLzC3N3rmFZZyPD4geKa4tF6C+p" -b+="CZjrUp1eGWs6aMhAWx1tikNmPv/aiHAptge2MckkOKEi2hBlI+QFYGVFjhb/4jX5QFa5m7m3O/F" -b+="tL9XBPSVS1wec/QQngub8deo4/8ulMd4Ah64Cd1Jf6dSRtWyiNCw9NPKQZnTVrA8MHhlgQymMys" -b+="adZI5GmpgUFKPm6/SsTimYzVmVCmmmdPlGsmACqmE4Q+tHvsiJ7I1Rfon9M2B9oIUITsN7Fwj23" -b+="VeRWS7ximQZJuH86Bso7OZlmxzHpgB2eaHsuJ+h7zANarhnIqohLzyNQoDZP4FTtQ9f4TTCtDGU" -b+="fim6LKLeivdSMomk+aqccPgYzEOa6lz36BzsTt3Bx5Jp+TZq/DQm2Z4rkclbpWnI3gMhyBGnbbb" -b+="ZnDXDjZqobpHwp0iYJn5A8f2bbHi1vQOXp0i81oqTO3YFFzEe6t2m7PYS3mvttufXsUHmuWBlUY" -b+="E56Vfu/cY0x/NH/ncvp1SB26uQFJnzqtbhesoZdNypUb+kWeWrNFKYy1y5R0r3TULfIfRwj8TYV" -b+="sl1K+lOyyqn0ComvI+l/Se00scc7B/azgtQk6T5qeb0K5ikGWYWSQtx9sz1fGW4s9wz3gr10J9l" -b+="Y42SkFM4uBKeMKWEAijSamv+TKc/3IIMkTNPPY1q2r8ORQyujrZRfJ4TqJuDqlaLEZmH+7ejVxk" -b+="JBDsMgu/fZyRLnRxQS14M5pxyxjSeWGyjSVNHYf50r+bW2K+ztmhQjIO5+ndIqKDOyPBwds4xkT" -b+="vop7pH3HxblIMnozzWLLlmWyafd0nKudJPIGTWFifjrkT586RGAMfd5LDb42Mit3NnNeOPSbQEs" -b+="dm6F2fjHmJfjLeNiYUOjOId5HRLeKcNie+cJwnX2Z93ia26pBuMUfoaZYygBPkFZq93IHL1Jebg" -b+="/4KDaHoraGO92mbKDpm62Jdcp9jWaSfWPIkkqoH0EvDROynQDpY87dwaH+d/mQDY5xicGAMJ3xW" -b+="RL6KbX2LjppjuLfvBDileY/UnDqTPvtHPYfLw0XltHPuP2pTcCkymbBDswNJ04bkIYPJpV32m16" -b+="lGyRA00+aAz1QWx9km4LrsEWrCJIqMdPOJP0kkJJipLHPuIBGF1mX2swMpNOrWsJTYt+A90O7TE" -b+="ndWwxEaJv/Jq+IVUrqnHMCNqos5Ns6CQR0G1Mi0NIcqxYnso1cOJBKfwuLDVjTQ0//jTDYolXwZ" -b+="Ag02kSxIt0M1jMtWXMs37zkr83oSJrS3yb/SprSGi28+z9JY+z1lt1dVkthd68Jg3vIyZo84/mg" -b+="OzqJLKfuaF2YzUOuIQTyOh+O3eF51XtYy+FDnEnAMZM3hNc95GhkXN2wV18ih1+wV8f26nVy+KA" -b+="WevOG5Z0XXndG/XHmWyFZH3KXn+273NYQ0dENX8OG8LqHHKZd98+sm5ocfjaUGqLiDLSlFrJvVT" -b+="Km1/2b1anRfhqWVmqu11NZb+Rsb4f4C8jVyPk2AaAbx1M2qfHXOeLEsEr5zmx2SJ4Idov1wbwua" -b+="vzNj3CcZZi+Gd+ZnxZxtoMQ+yy+ScLW/vytmzPk8nI9hSG+VAZnonuKc2aKBgvqsk3B9gyM7yCG" -b+="/w1OdIu6JgcisZXZ+EVxH/NkeC7YJlFzjUKiIQUel/k8rnZSAmBJUmTTBK52cQwmTQY0Z7P6s41" -b+="+UeHx3ciQxnjECCtNW/JhDjMgKBJTXyrTLCARkDw5eQNWvp/AcIxgN4OWI+KzrFWxFbAjl21SUH" -b+="KclFAUVZ2+KwyS9LRisY8Bc4zh0m5adRivjFqP8+3x+oJkkKRLKiseKEg1Iicov+oP8V5FMljBB" -b+="yqySosPkGxTnxXxpmkkEXulFH8TSxvN/jJbJhRhQvWV6qSNpuE0liXTGX2vma3SSDRZvKF8XfuS" -b+="IafZtex1KrP+I4klNUHydqRStaakuPzSvFQgrafaXbCFIQbsg1m2MuG502bvLBwKrxGnxHU8YlC" -b+="6RVWKos5sGACpNqymAOYbUKSmRQ3Q/TO/shCYEXPiVyyGj3WZrPZGeAg4NcKE5NyKALNibjwFE3" -b+="1aJu5b23XJ1122P49y0Z5iQA8zv43YVJU4l7P6ljGunWAoIz8Jx0C7sCVYWQsxLQQ3FbwefN8W9" -b+="sJIT7rJ0V7p9EN8lpQxBoexdIzs6ViYIhHVIBI62yItKpKyncmCHrvXkQXRJBGkH1E5s8C9Bl+P" -b+="jig6AuDerh2FhqVYO0tSpnZIFKxR4F29t6QcsnZ1aK5iNbUHFA6ovgNYhsWAdVqLlmlpHcVT6eE" -b+="CAlYQAsZalSPNIhdqW0rkAhTVQfYFJtZvVieBSRxksR2FialtycISRvGDs9W97TvY1y9oBS59jC" -b+="GScVafbsWV5wheZGsrrGIbxPfWgOeTM0kt7Ukx3NIQG9lGD7xNCBTHoEVxCLELPftWnlvkidkOI" -b+="C9KuEjIwIue3cnEUksmC1pGF/BhEfPRkII8LXNajAUltP0UKCjPX8D7adezF/A+DJdlv2ZnhXWF" -b+="Mn2M5BRzDM5sVqLBEvsjzLcCTHMf7SnoqzUb8bCmRRx5X8/Kks4I86TfF5mhv5TbRL5xWWZqSFN" -b+="Ws6QuNDruEj9GverECKsejNjtgAXqNiGEORtIC5KUy8gjsX2YKyW589SBLwfb2TEAywU37AB8Ki" -b+="TwRzNwMuOC+aKBn717HialljXWZ4I3FrTA7zKf/STJ4dcEwQ1I4mqQ9QSUecFdVvHtuyKEIyekQ" -b+="s8df/Ka27NGHrB1tPEwPe7Pgq0MVtIzTNE50O3ycfYz2CdGy5Ys1orBW/tLiPquk2VKVS+Y7Epu" -b+="WHBqfBy5Ul0TmCuzcCZd49Clx7UY8uZVmZPd4gzawIbNivUuA7gmeDVkD1oujCBkRUCwTEiMYTt" -b+="Huj+7LgI4LUJ2WoRdmZeUEBYMbcUav5vbyKYJCsxb1K1MWKTMsU+ycM2l0TnOOZOuyQOXR3yp52" -b+="38R3gcT4zzyjzySQ9P7t2NXK6n5GFqwr0Y4FOf/NTXHzz98Ds/3AQuRW0/PKX2FFiN9RzoQ7Yfn" -b+="qNrXvzND33hlz92/L7PB3OgaQB4RTHyhbF3uDCUC9UchMPe8xHOR3KeOTsBb+m7JgaaBccKNfX4" -b+="79z3Z5986u+e3nk3gDVUKwu4mrrnM39y9Ct/8NmvH9t3N8nKGlWhLo6bapwAUOoC7GFj+2EIX7c" -b+="DxlIDgyaPa376m+4uojlJPXU7sC5ykUIqXM6ZSXfa147nSOlKjonqD/UutAlGaac5zZ6WYUZUDl" -b+="uG9GhMRDjRo5sisVjhs1kwjFa5BOJMOArrxhinoINsCDbYYabBYHs8FzUGSBM/RrvCxdMPUyqsW" -b+="5thSpQ6dWB9eOpLxwOmqGC7Jk23ZpihcFkwPWahCwjWFQCn7JL4+zyymT/vs5mjMM5mLunimSYV" -b+="8o0WjR/CCt/cTjLL8Flw6mLUXyI+Ajmd/KpWqzgzdpC3ZLmNxMK/QlbdWDg0hoQws8bGYiQYwU+" -b+="djc35SuylQHFN6OF8FfaGadFGJu38Ih7ypErTXicfxl4nZ/NRll+MvSwHE0kg9hZMNXRsreThXr" -b+="tzNlM7N+i1GRSeZnbxziyc3SlW34T+H7b7HQZdDWYX2f0246sGslV2HxgqsIastPspQ8fqWWr3m" -b+="4yxqmVDdh8dFav9CrsfceeMspbdD5LHtY68GSS0YJ/A+hoZ+2mUh8rGTvsoIsx+NbGJGM7mYa0i" -b+="/wNWkRhWERpoY6yKOLvFqMBVxFbABrPNks4mMH8vFoPyaoAH+NFCtt4GuiQUc0fozR2hxWA3ODR" -b+="VzB0RzB11/OAzhpw2CuaOEMWwuYMjwiYhU8PcEWZ1mDtClg6owW2G9HbXVdQSb3urRuitGsmmgN" -b+="uXBbKAGal4uvswpBZGgOL7cBAUSJ22IBv6OEu35yQHtEK+dJJEf4x0kN2kNLC3c8bc2E3gUuhgS" -b+="bODzPnV9U1u5NCiSPXcVXDYnxae3jD9uGb+vXdQ34O1TzMckm+BAsnYCi1c9yxLhrt4QoCCu3o3" -b+="fcwuCz3spdrMCRnULgh1hSsxEKxrAwhrdLZQgPqB6CmCUxXpuD3kArIS0T/Rk+3FuDX5ReuTtKr" -b+="O0qp0aFXpfYysfl74aeJMVrpINFCZjxoiFfNUw+oo66vN7lJaqe7RSnW/Vqr7tVK9pFaqe7RS3a" -b+="OV6iW1Ut2jleo+rTT9Hev6Er1S65DktkyLl51UEWUz3A9Vk3epHpgj+s+0nW8h7GghObR2XdZMg" -b+="QwXP7c4uCEWRpD/6TMfJuG9qIHTEW4e0LGxvGBd4FZgwDRaI/kMYi0wl0kTMVS9ZYXuHvhPBpFf" -b+="2tanJegcAdnipehtRKFS1ReEjb7cT37eRon0dpV9IoM1JIIJ07ZBn/ffX7nvH1jnRWD7QVD2g6C" -b+="nHwTer9Lkvb5eEfT0CvGrVIvw15xZsoiWOEKqd7TcNa4TSC8JsK2S9FKLKOUVTqBGK1lkFeXo9a" -b+="q5z5z5sswGTJ1B28wpqwtLCc3LXujWQvBC0RbNO3nN6W38ScwDj9PUdm6cjb7nxreNYZ5oJL/QM" -b+="0T/19h0Y/ODWqt9DSyZR5Q1I5PIf59mPxPNvti6Krwuhx4YtnOm6Z3EYiSQ8BCo8QFW4DC5XhVO" -b+="IBgckHBhNfSocAzCAZJfweETwi4PuTUCbJoP/ji7DRqM8GbUdWRR15Hw/9SzZI7JARt8rubOvZk" -b+="Lq/sbhIEIwL5DNpb6jpKs6DZOb8Cbt5S0RTdtDPeL7+ZMYCO802skFpo65gdC0dot3IQNsmd+fo" -b+="FGM3xo2kSbgraWVO/pk6oIW6yN2G/D2eXhZfgzuiML0ofdBXToGT6EqOXq0T9H0XH6fneo3RWZq" -b+="1HE6e/BqGefQUJNOxdgC4IcxcjMGBgmhGVVdBvoRXjeI3EF/NiQl6BLvvf+BatLKof7iFg3VVY3" -b+="VbN9l1FHwRjpMo2nVTVDE7IQBtOWBRAzwb39E/n2SQUf4VsHTdbbYOuDJrO4sJWFizH/ta+N3Q1" -b+="56FApNDp/T6taD9yT/elVOJCHpSwPB7Lg96AMluCpSu4fNIWHAEFIF2OZYHWEm+56zSJL2+ibRX" -b+="jpiGyecRKU1BF9MtbsHcqL6zbHBfSbOp4cSYoRxAOFlgYyFKMmWyRRT8H4cKiTr65mOdDG5pRAU" -b+="QsELVG0iuFC5gRjjhIE6/e9sw9j/GvFi7XY+2MPm409bDb2FOMx/3CuTzFkAYmPziS0yvbXUn8X" -b+="dQRk1C0DeARQrMQbBaXFB80aVwGtqaXRrZqHTMPuTwV53SYij4SYGVFl4lZjfubaLMJNFFWCJgv" -b+="/eAjU/unJO7R73XKER5tlEW7yWp/BjiSf3WbOII1XAGHQgYDl6uUWnewuxSw6wbGn5rlvLQQC3b" -b+="ps1JLmOnO1YLs4Yu8q1k9UmamDGUslFQKrzGLfllplMWkNhlaL9HMgZaSBhG34PqqGbu6B9k6a7" -b+="N92vPLxHc7rz9Ui4cStcuUap+wa911f68KXvdbpl1jr7GJoRZCrnLDxTisLCJxN7xMXVmjBgzzF" -b+="/+FvcZS38jqcsJ/w52QJoGmBtub3+q/kyQrNOizMryPShKlDCza7Zh52pWn0Lp7Ghc0Iegoen8v" -b+="80xJQmJyFNMjz5AhbC0BgEiE6n2vwInQ5ValBy4pa5sWP953JA4s4NcHNHlB2Tvnm4LmKFiqZQl" -b+="kQ3iyYPMXStxYtXVm8m0wtHLXfFLQFYJPaIvm0WTfNd128xF1VYQqR/mI1L49Jh5WaoNgGBG5sD" -b+="NgWGMRTxHTSXzy7XfofakG4Au9N36USlwYqSL7a2+2XkOv+5+/zf6rY3GWyLQyh2wc+BZKAoceL" -b+="EiHhRdhsiGJx5AvNGXP601dvoe0vfoS24y07GLj/weeTGfPVBMf/9Ena/I9te2LvrPng2cFp2vq" -b+="lX6TjK+zh18+aM18atAk5AvM7n6VOuc780ufo54Qyf7FAv78ZphuGEhCsmE//zeCMqfl6AUR29u" -b+="5dWxLWpB75dbp4wryIn/+ozQeO0e8ntdybfF1pLdaftMe6bXUrG3LrA5A5rI5WuFcAwBhzIG0sg" -b+="bQqmYJWwXxGTGVBK01tigQOWsSmgh+KbprSeY3BOp/+DE/R/N++t9K1IVPd8ywRpJPitYYtna1B" -b+="lRjZnutea68LFl8HixGkaWBOYNyByQFm3cTSvST3a9XY1/fKAgKNXXBh1L2VvXFgGzEMc9k2Ros" -b+="gN0KtK/nKbTywhAJHLs04MxlHYrENENBFd9+gtMTU1nlwM7exHbLaBsnd/9cCKi0GANSKBC4gGR" -b+="J2IWwvtL6qlpW1UAS1/T1/Zb2W1aHIEt1/tbY2NmU208etA09qxKTDtpe7VvmyHdE3SdoTdolVu" -b+="L95VvD7DXGH+fVa+TPX+ZihSb81UY0eymCvlsQn09Z1QoWxo6v0QvtcJxJrWwnlua4vlGeyL5Rn" -b+="wu5T16b3Ec0ZdXi8fhfwROfOnRuf3eBVajpR2wXZY3Q3XtuejeQsFJGe4w053uw/3pTjaf/xVI4" -b+="P9x8fluPt/uNtOd7pP96R41n/8UyOr5XjJFklf9jocZgKPIRkPSeFXefsuBEThgecTsA8eJbzmf" -b+="XHLF1A1nnGiIWMuJlZcSmJwVFcqzcGBpNma8VQunLVRcMXX3JpYAPeI8fWlP6aBtNwqSP2wpINj" -b+="EscS86GrVBUJwvFHyYNh2S2cLMF55r/dN/xYCIINgTCqmA+QftXBcFG3v9IuWOR5w5TIdEu2rzK" -b+="soJo85quIENZ5vy6VVoeeyuEvklZ4CCPPs+WZyfLXsdbURffQuIX5CuytPrLvIQiUgZhCRiFw4x" -b+="dJcmApeRX2ehLfrTdOnJuofd53wgsBMRkO7GC6V3Ui4/dd9wSnHX41LH/4PbbvhrX+Uo2qhWy7I" -b+="MRfzX5KkF6IBQRoDzBPlsUKUan3Ac2ZCzW4StAWm5egiXm7d8kxbONr3oxdv/bf6fdMewOY/cPs" -b+="DuK3Yuwewy7I9hdhd0j2G1idyV2fxG7F2E35ZL9Lq9l3/yG212B3b/E7grstrD7R363id1T32CK" -b+="WtrFPGI+688O8nP97gA/15fcwO7d33B1ZuTibz1PuzdiF0Gu5lHsDmOXIyreid212OXF+tzXXcm" -b+="sdT73dVcye0xPY7eDXbZ7Hv26bbqEdJDHznLiP2Z0ew7bJ//WcXxF6C1NoW9b57eGLdlMhPjdUL" -b+="aeDaBiRebUNxcsdpvN7owfm8g4OKGLHhbx2Adxe8bbWVc0/cilJhRqOIERnIWcEO61uQdCzj2Q2" -b+="SkmvY/XNDA2WwSltr1Z1hmHIxOCUCE6EQWQtdYi5kw5SH8TStSOOGFDzkSFVBGQ85Vl4RTNtqBl" -b+="fZLB4LxEDtNSuJE9MJ0uLfW8tdY6IMPMRu/VN0qiANE0099XxgrQQsXh4spD4UdLvhrpRvnGbmF" -b+="ljjvbBPKueH0tBDM/ypqk2FYiPj/RLRp4bTzwi4pTH3iNoZZ+ShqbTbZ1l2epzgaAunngwzYd2E" -b+="Al1dIAM5AxRDjhrB/7Q6T3qFXXa4d+UX3oF1WiX2qyXvu0rnDgrQ8mWGMaRUCbRaw3BA3mo2cba" -b+="OlKRt4GsHGRNzaQPCldcJKzkMj3ntjMghQp9Os2cpR7Bx/gRFAicYZx4DXlPjMnvsruy0eK0wNl" -b+="6L9A7SVunXtY4j4a9zEXmshGBhvqWwyKIMJZ6qSPJXIEfUxX+5h24cBFE31MO5MG1XJQrAr0Asl" -b+="Gu05YU4DYnXTW9H1M9/Yx3dPHtO1jf0ijas6Z2JGOM/w0XKyyDjNLXGTGf7Jo7ARBXsN8SrNQ6h" -b+="kUfoSjcYLXsafuMd0Fuv77Dp78q7d+/dSf7vuwhTc1TLjLzP8hdaarw4CtSMEtItriCs34rF8qX" -b+="KFn973BP+DsuTfMSp5OT8FQdxQM8lZxFr/fsTckksCCRcknlXccRPJVhJXBBg4ErxOKceG3wNTx" -b+="x+JBztlJazF3Ljo/tMuSOIstJIo0gL/iexpyT9OuXoysRPY1+EEV4iVDoeURjxNsYRu4Uwl1kj9" -b+="aRpD5YwJ7sF/MysjPKY8wCHsQBrHF9QnCoC4mSxG9BfPXFNwAIPiMMGiKpaIlCIMVgjAYEoRBKi" -b+="bRlYIwWCWW0YsEYTAsnWkty31dARRclA13RRhcma3qirg4lKVWFGllK7oiciZZsytC6UA22BWxt" -b+="W6RpRKlatGWWcQsWF+yGsGkc3JoSSmKPi8ggcDUp3k6dywYmIHd1tEXZAEKZQEKzQCqG/Isj6qF" -b+="+CqZTI6PWjJVWtoG5O5hK41xiXZrf3+Jg1Iir2F9BU+4giX3EH28L5Y2m9AidXnh6hZqa4nKhgu" -b+="eMykrjqSBLQaobGVR2ZHlFwkFlR0KFWbYh8oOLSo7zMQHyqjsCnGpIBhdBJFFZVvhGOgrh8pmBR" -b+="cx/CUq25JA7S/tcUD1PfGl4/JHqAkYkGD5M4Nb6OUehIMPf1hUZ7YYLAsgZYWfF/a3WNj2YoHcx" -b+="OYFNneCqOQelkkb5oQtX0uZ2LWodowp7JpTckm0D85/7ukrlU0ADZyGOy9xJKdlhwYAXeRKp+eD" -b+="Xkrqhw+TARPco+AKSSDjGBpB8jHLX+EDbTPxsFiBurSILY64jWU0uFBUibGtuDACuDCCiguDllX" -b+="rgLqeR7N3YAzL0G+zfJA68SCrjhfWlhaCaUtam0lWqyy9UaSilg1whA/w2M+VVOnrg2b6PpXkyu" -b+="UvUi0xJuChkXVimGckK43MYHBVuMi2Zh45o2UWJZ8ph4CdmJk3j2MnBJ8iOGUZBaB8CrMY8WSoM" -b+="o2C2I6C0I4CH5ugJTZBEhD3BSYw7RSa+F9LYAJP2IGdzC13L9tRAsF/Vbl7BfptRUhvonBJk8Xa" -b+="riT/lDclNwR4wqFmmzcFAxbBJvVIp3O4qWJYRwP7rpvFcAZSAQXTryUqjtiOrMWOHJdWVLEjG7W" -b+="sJXl0OVNyYlmLnDX5bTrU+9ReNVca1ivWN9Z/aZjDJ3E1vMMV6dGEeE9qtevDVMy+EP/M8+D7/R" -b+="HmGlBlkKOV8nhZhW2WpLvCWgTuFEsTCiMhQsCLWgwp7W76tupiH92IQHgngC1dkH55BXlz+mfth" -b+="7WvF4jrEKMt/TsJZFY+kBmbKxnzEqgABdLFiTN9Lyg2fFsD/EAPi4ASIi9r3/464PRshrKPkUdo" -b+="Kd5zVtlZQHKbWtN90+Iyhp09PPmzHmv4YjuKrJX0OevWRBIIECSyZvszp5CRxnwNP0LAYc7Sdvo" -b+="mqJ/KPInjA1b9VOb0Kc4GI+qnttTUTTrxcZxomaP4qYnbZEGK4VyoHznFjnJRTJU5yJdZxVSZ9/" -b+="DNVjFVZv8pzm7yax74kLwv9sFP1mwaVshtGBPGSaq3uPRhzBtMU4kLmLernkWDxBIhPs1eZhtgv" -b+="lLiPDCkJURem+e/5uMy3K1GCG96Dujq4OAv+mnvj/ER8Pxti1Ai3iP6ZpGKLLRVIt75GC+yxTT9" -b+="uWYa9ERPw77NLdbq6T+5bTjueHe4J/iQdIU49FDi0GMXhx67OHQlAdnVwvhT26pLtWPpjIhE18u" -b+="cQyR66M7dgYfyKcShxz1x6FuYl6CMQw+XiEPPObKamXfw2xuSfussCpaY7Gq1YxkTQs+jJAa7ej" -b+="5c8ii33KImsOMq197TxCnzMFQTa2TnGYTZTJ3lmuT8E+X4S5wTtndZyBH+GMD3k7Cjh34CiaKBj" -b+="5dXqVp6A8RhCMfpDbxKJLT40ipBP63KGgFkq2b4JktrsiBstp3efFNQokHVCypn/rusFEFlOUh6" -b+="loOPKk8ZEnkQQeRBBJEHEUT845HGTOCEwBhx51eRAVEfMiDqQwZEHhkQOyRCLIlb4COXTM3UWWo" -b+="7hSUuskEzyWE0eKnUWZ5hr9hxhiZMBhG6OqyfYhpzOl1slbXIKmvcHSDqiiyg08/ppOjX3CwjdW" -b+="CpOS9Ee3NcZx9WatBqMh5aEqRf5rV5ncgBE4UWvDYrdpkATTriEWoLpeNwwYpdWjQEhDIg3qLBH" -b+="e4/pO5YoBYbNKfrO2ezxmxWp7abzeLZLJpFO+pZdtDNr9k5yzb86R0IU1WinxxS1nZvQWWBeeEh" -b+="moNf4NShkVhzd8EeQE8IZjibCKeDNANCrDJPvai+mwrkBAuSkTWS2zntb/o5Vkboxf+SY4OB1Yo" -b+="zoT2Od0JrmCGRe9/O2bIkXMl5p8V5ZDNpJp8uh1t92eFWl+FWl+FWl+FW7xluPMjqMsjq/2iDrN" -b+="4zyB63WQ5cK4dI00uN824ljCgHJYERNj9MNf8aI96uCT6kblDPcqK+h8TM+QwiHySs22yyTUz3f" -b+="I3u+SW5h66/QTGOTm2gsuRJpEjWd9DH2mQTHCNutM4JNBrdHDQupyOPtky/ItzVTH/HB/5IDqT/" -b+="hZG98DsG+EqvwSTb4ND5zyjz9xLt/Bpxe0eIpoebDD3a5F3ZPWPz9UrgtZZM3z7wWnMS9FjIj9c" -b+="H+1UxkG52SYRhgHZ3acb5lHdx4uLI3qWLQb5LwrVrNjpUI0s4K9iIptcc4s15D9Kf5gjEiTKhL4" -b+="eTR/yrOTQcMo6E8Fcu1Yj99sVHNKe642BWQQdv2jh05FlF1m7EeCsovduFnug2+nmCG2QQwd4qG" -b+="6AfBq9gMCFA/rFPLAQSHI7evB2Sy2kOXmcTsELn/Zeg3NjHrkvJGStsaCaIrQmpLlGiIjk7GwCu" -b+="xi3+au7I6eFea6frdT0BmIkbw37dsJC+RWisdDEaq+HdRMNs/uxFY2VLorHabAV1aKz2Mmisxka" -b+="ZdxehpXiO+0Afbsar51bG95I7i0hhDx6lIn3LxYMkW/7D+WAzi0EzItv2ol+8FP+4jTY97aNNQ5" -b+="MLRi6EIpPLMKdB5N3xJ4MeR3kEC3PFUQ4PS9VR7uI9J63hv8e7MCR8F7kdTDb3e3q3MuPWYT40D" -b+="cmy4j8HvJHuAx0Mzz5BYWk7YuoaszOOGNOezOIFE+3m6D/B53OYb8yXyAOVxXdEu4XEOzZDs1KI" -b+="BogfxIrWL1/jB9sm0c78TsMwt/QKYuH+oF3TLDlV4B0PkE54RmqXuSRS5pko3RY2SXXpuAit7Y2" -b+="6zP2curqUbmLnGhL/RujlGnw8T+6JCIamip0RLUl+TpXBnVzB9YEkIOaVFcGgPmBTI4JSIiIibk" -b+="ObThmcj9FuREaYoa0tGwYJH9hb1K12Xa4ERVZCKrl4CakMEG8aSrwkhJUKyQS6OmcXzLXt+Cw5b" -b+="GVgVgyCHrbnCy8WLQe/zZJXU2woiIfoQ4ZEjMWaz5BPib4029EFJsLLJAIKec4tLY5ioXQDWaxQ" -b+="yfsBeY322qZzpUN4glgVph9SuXK4TpXeiZlhEiBf4OKZFf0moUO/Razkt4mAM6G34+3U7AY9h7V" -b+="rg34zEDLAs2tAeX4cuBdOaQsA5x2Z0Lgj8YXipUYa8Jct8oNtk6H5Fuk4d7FsNyP2cj702rtE4M" -b+="tmxHTOO50ZsZ7zTnvG+vJZ9psRGzrvpDPWcMjz0YxFvrE0OGPjocy3vkWPEOoFa8gyf3LWHgpg3" -b+="kz+d5kKnTdRm3FGApGYonfk2nkXP8oJ1mFXoQVhh8kw7s2hR22SdTp43Ap4dsR9VPUEbVRMESIw" -b+="BQWCsYFEFwrXCBaJPnPExz61AHwm2yGO0Hb6b0W3e+hTzmIgoS9idbgPR2MxN9wvV7P+du6xHoP" -b+="CC49Zq4U3KLyzXAyW5Br2+o52oOnQKTm6quToPiVH9yk5uqLkaMcb7DPSRXY2R0QazwVHBkuygY" -b+="X6zZZsANQ3dctvsVAvyQNom0VkK30wF0C4KTjK4pgcJ5nv6EBXBHBlFhoSdis34kSYfgVBvMC+L" -b+="zTKpWeh7qZ7YVQ+WRMjyck65kktvrAQbAErkUkG2V+8tM8ye2jnd3shtUPfabyB+KDdu0WonkzU" -b+="7pCiBmGPQ2mjC6VjhSB4RiTZqEw/QXqSafLg1wutkT10RvbQG91wbpBxstNOulV+bua0H4O9t4g" -b+="E1PS+j3fw+GYXm/W7iamHvu1WjlCWfDJZLIDTeFoy3sDVs44G2E23wKsZciY/ucYTqHLPwDWf2/" -b+="f9kqYqtpwUnxXLg9CoR54KJkjeWsLmvJNsWIz+qbimmoxGcD6sdX7rNd7XdfRnF8SFJfnVQsA7X" -b+="sUOrckue7K4KQDpCZmPhsNXIYE9qmzUafL2shpiGmcfSSxaV79rx9Um9rWJUZu3Wi74BQ6vzXy6" -b+="N05K9CoODpP6xGzHFtKamKXIScsDxumH7raLflrCJIwjWebvZR6y5HiM4OCfBmebjiHXCG84yyS" -b+="SCKyoSWQ6hA+Hi2RO3RhreSDJe4Rz3i1PSTJvV3bng07vU6ZjR9LcNNiWdkj4hZ0MMAXtwlThic" -b+="m1JybXlpicffucNtFE5sRhmYMdtwUmksBOClyHX7Cf5MCyQWKY1l4vEVVtLGe8lYIOhLdo3btFt" -b+="ui6m+Ty/TYC6zqJ2uLQMgnpQiCZT/yeYa30qJpnAwnPOsDLI7VMTYaPrIARsxiEW8ckz47L9kMT" -b+="zLQPMOJQKG3xvzUzgNQ/l24lRbu+y7xnfp5U8x2OrpndgQ0L3gwljDMQeUl3wawVJP++x9r/7So" -b+="BgmjfJAvCYiG/trSQ/++9T1uEFlAK9zgMhz0MsOO3nFuaZtD9CzYwIRD8ILugtbigNetOFoQn8D" -b+="12QTvt5x5lcadrTf0ukUUggfCOxXJ2eMcCPtu8Y1Ghw7xjoaMp71h8aZN3LAi1wTsWqRrxjoWzB" -b+="rwTJG9QEcg49BRJWueG7obM5jajvez0U1PZ/qK2FxG+dBlt673gysju5fhBhlwjchDC2N6M6Tjo" -b+="HN91z9wcKZfJfKhrIh2e8XAxl1bSRnFZLR1z6zeV5VoRTj0v1ocWjeVF+woqrOEPlOMDYUcyIaa" -b+="vRJBThfH6AmDJZUgUK8BRGZUVmecPWzCWC8xqIDKqsTgwSzuQcgGynmLAo6fZAhNXoEgWrFxEJR" -b+="iJoc5FA9v1jG9lLka0tr2gAaoCGWdZlysDS88CGIJcgJ/lonqDn/10qUMoC1oXQ62guDOLbCBR8" -b+="49t2GTIIPWoRwUIe3R5nt9+TKS3yRlhTrdwbh7NuitDXiZrOxfAXbgxsDKbsqiywMpsyn7zwMps" -b+="yn5ymi1+Ql7ltDCsweo9w/SgNLQ+yrk0SQSWSYBRBVYejkUeji0rq3xNnr04yo62rGV7UxBUUnk" -b+="lP9WHeVHiww+WR6U4OGZojj1yvBef0lwC8SLLuUCGWWzSvGjuK/PXsJSOobxCB4pFaY7b5jZht3" -b+="D6qJWpm6wxhBLTkwoVS8n5Rr8r46BcdgtGvKNgKoBRTOmwmE3pd67URgI2Pl8k691j71oISlaHL" -b+="HAWJHDR8HjD5zPP3MsIcvvt0s8jHP3FexnNGmDEmsfeRjsH9js4K25KhwCH5d76rUExyp5xeSCp" -b+="N7A8/J1HqYYSsRl+x1GqMNjUBZnVFEjWoA9WrTA9gjR0drPLjRzzOdoYcOd2Fw0Zikx8MJA1wD4" -b+="HJXwA3y5pAVUp2GoQsgqMobGBcaDCs4f5c8DHfw7gZMPiCoS5rIl0dYhSAGFAeiPTp0gKxGpcY9" -b+="QT6xqtDxCDq6SxMB8HN8vAaHB6e5k1BEvAnAwWkmEDZzihnLJVqju0qS1eVuogfR8S+dWllHomv" -b+="rylQ3X9N6uE6oY+LDNcNlT3iWqobs+Hd6G6Qp0LUz/Ib5ljqIbNjJlyJZNxTYLQuQ9q2ymdXxlG" -b+="cXyAOoZTw3Dq6EYRjRVhtI9tbJK0VrE9ipvQ1HNx1Qqjk/VIUx/huRKsdelfK3EyxYaT7Cl8C6E" -b+="9t7COeId5pTW0QZPjmVXIPKVtO+k36OtKL627w8xoB/OBsrTUBrRLD1AL3SumCgllgV3hnveJKK" -b+="s5ZZ+bQTkSM7BkIvzN65zxWlaYXsIgl0UiEFOictOwscxrvOYjUMJcJ1Sacrs0qzBRuonFTWX0Y" -b+="2cVmQeCRdYMTHAkh0YzoOTttWYEvCjLDOYQiQH0Hrt19rEFmc4kzDQwV2zQ6xjbNWGhlAHrWRNs" -b+="F0kBiBdW+hOPuVAHRl5Fyz/iWP8jrnzpR7Bt5BfwiMus3USbe7C7iu0mAffhcmpVnBOjd2ZVNK0" -b+="qlgXEhSDmW+x7opXSg1Cz0kK3GtwLMSGk3kw9mqfDoC8QLOgLBAuqroLAbaXHVa5Ee4gdAA3r6z" -b+="shA5sDDzvPZhFwXvvyADyAZ1X/kWd1/5EzYf+Rp6L+I6fj/iMnaz1Hkl8KffYrLDwQk9KfxeQrG" -b+="HrrqwTWb2XdJgGu+VxbmDtYYcs4S29R6lTBFrcCRHbO5tXCQU+tMrzNGm7z2GWVqovfJsobkkQC" -b+="unvd6F3lOiDodwyZRGKg0yIW7NUukIoIlxkr1Ig8YH8hCm1gqYfNigY8CBMG0l/RSVHfLPGI4r3" -b+="B1JGI4TiPkdATUwz9WCsFY8h4NPegfa1kdOD3HTb3ud9bsGYMKwWBuYPOspjDmG1entK3a6cp2w" -b+="AFMOmzdlFj3TfgHMx0ekc1k4qE4VI3n7Le4QrBDStliJ5b+LhkiuZAFHi45q1kJmqbEUc4a2eXi" -b+="c8ZAmI65QFp/9JbU2SKuq5nGMBhXx0GCt2iMgyUHQYZixJZNyXZJP0Dbcdl8sNV2VwUF4n9YEME" -b+="+wUYeBHtAD+MN1CKQbzJWiaJJ09pR5WSvi1M94dOLN8ReKCDefBLxwNJwq686Kr8bKXM2bdKs3g" -b+="2YBZYmdxrna27CFaKpFxMWhwL/sC9x+3HtMiFd1tLx+nAh8MjuluJyKhKkREFFjLBu8mdg8WHPD" -b+="zMPP44Dc5LfXzUMexebOOj/LS3hESpRKJUVqLc4dvYE3XHzO0vdFHMl/Knji8FfTraFDS0DEdwr" -b+="HAOAOAZIyFmTp+VY3KhuyyPHBV0FiVzoXJgztRDzL1AX4I5g6st1U9onWzXhw32VCJoORKWOwbh" -b+="kybNjeCO6/K4QMt1+iPO4NXtNWtUIdI9loy1PtLwgZ9dsGPEjowEH11yJFXDGScEH11aMV7+o57" -b+="+dh91e/UripJpE0HYkaIrIwXihTMhAxlxc/rhUKyvTTdEbGPdUV3uqnOIXfAEhZ/2rXqLVjmfLO" -b+="0yN238W2/YEq1l/t3OuFTRLvoKXiKOGu148kPsZqclzW7RwDtDxaVXB8n/zf4tJpdkd9lWcQqqa" -b+="RzMmFGTSUTxZ5jZNJkVlI1ks/yfoI9mheWcu+fj9S6CiA1DBs+Nb50FNCn5P3pfiC+V2PELf5PI" -b+="YwaqTfUvXuIbfDvN/12q7f5Hj5+/toHUNph4Wd+0v7avC8w1gnYqghna2DQzaxo/SRvXzAAmtgH" -b+="HvhDMGHBe8alZNMMf8rX/Dx0/Ux6nySX5UY/JEhGDnfxgxVItj1ORnu1ZsRTTJ2iOg4dV4Fl3cc" -b+="8cp/wcp2hd9FYCSIqRRSJcLqYfb/ex8AKxiOXS9ScEcTThqPSRMbAHPpD8iBR+QPUW/lvB+Uo/b" -b+="kfWSYtoOhlUH+BVGTF9397fQb6N3nHoLxf15e9GsUt0un/l3VyRd3Oxb0us8+Ldim7u9W55zxVm" -b+="HVo1nOcqWuS5+lGfFFAMPmLmKdWwQNIFBN64o8zf/4oN1q6adxbrIAGbdljWua3XnCZCtU4nODi" -b+="WLb3OEWt9H9YoBnEz/c9a0BsNsfxOVsFOaaWxZWYT+DkNjOYbpecwdp81VvYcQd0SD02FZIxlKR" -b+="4VHKHZtJkhJKVaam1h/NnSM8oSHzp8O0+eYfqoFnuWNRGs9QbSrT3d4mXOFtwVPqZcX/jX/mO9h" -b+="M5suRwwrtMPqzKonHXFvqDyUldM9odCC+eCuvsUv6hP8Yv6FL/IKX69QvOUF5envKBst9jmbulS" -b+="AGTiUJtsRvp0t+DcR2o3y0n1WzkTWW0bp1LjODszviuLd3AAq2nQ/0d+0UUJUO8xB/2eExjY5yb" -b+="Bn1ZOcBmDEdiBEhb8PWw50Vx/62NQjklssjzSELDShD8C+1dm2cN70Akvydovn8AFOf2f/ZMJ5P" -b+="QPUuWyl4t2qOAkbC/6ocVlp7+vv/Nyt/fJPS4cPeijjwn66GMC3+llC532la7Q/8m75P2PVLvkP" -b+="Y+8/C750CP/RLrkUt3mye9Ct1mqq8PVlt72nZfdJwvCZ186eO3W/V9YsFqLFSJ+2zKqeCKVdldS" -b+="CmowYtiS314irEJnAXeudElEAdv2UoRM4RKETKU5zi4bNsEMCzplyiUrGku6cy+RJe/XPfjK0PU" -b+="TP0pCRv9Wl5zQ9RM/UkJH39Rn8dBVc0dUtXXE3tAR9hk6yuhMi7gQqskK4iJmT9zLQlzEgrhYOC" -b+="hmaqQoyaMq4iJ2y6/1gfJ32sZa0pTv9lO+I035LjTlYKWODFP3EFGVKqWT8c6WJg74NP7aRoEOy" -b+="JC+TqwbbOM2Jx9FBB1sGEeAHn/Ur7rrA3wQIVbZthwUwgEhjGPwA31+P75Z4qWaHtyw1blkReKw" -b+="Xva8BGfCSwKkfcDSF6Ca7IITs4kHzk9WhNreTnyyGkjtcB3iTuOfgTHqnf2peMV5YIWiG6mKgl6" -b+="WJrv/E9a1jnhB5kCt8J3oKhWYJg0+me6RJ8s3dNBgq+ekF/tzoz2430lBB30kUgNl+Hy5yAifVR" -b+="nSZHH6kc3e3Ej/O7NONBGtTf/Pf9nP0BOcZZHdrPXI0ndgDhukWzRnOcDEUu9ulZQH7aLBXOUtb" -b+="R1VLjUuAjEscA7ZpmqcbrwrI79oIFtLzcS3zrbAznIumM0GTH3Xjnwgq1FjNRY4Mj+R9Fw0E2wt" -b+="C5KoSuvBE5OtuLbxagNCisFJV2HzYq49zLhl7Yel3qmEdE5IhrFvBlt5HeSS1NRbHPWqddFNvMm" -b+="Vy6119kt+RcxqgIxstOnoqO36it3mKBZQrKoW+UbP31EpRNnkEBJj7Dk72OkQ2/SumLSaG8O2Of" -b+="Bl4FIZsGbmqUrm4Je94mIvkgRR1FP+eRXzyJYk13jD3vItxmbr9beQgY5ABtjlbzm4QuvofzZS+" -b+="b6lkDE0zMdznh7W5E38rAY9yPpgFPlL1gdjoAeBazDCz6VIXAIm1JX4GaFmo5+LkLFkfTAMspD1" -b+="wcXIUbI+uAR0JMjZfbG4IS9hB2R+KX5aeRs/K/IR/Awh+TUN5XwUP0k+hh/mL1kf1PIOfur5ap6" -b+="Y8jU8K+WM44zzcZ7U8gw/YZ7LMOJQamVqu4TitDB69w7JE7Bi1w5BTY1nGdLbZ7lJ6W9hwllaEn" -b+="aISXCN0buyQVOjm1YjQjXrmFU4h2E0xqyIJqJzo6ZJ5wZBjTaM01i3R/DQBj+vjYfRpUOz5hKcH" -b+="qbTF2eX8FMv5ac2/FNBDjeMp9b5qRfxU1fJU2HhXImn1vipKT+17p+KeJohPDXip67gp9b8U6GL" -b+="J1mTn9rip0b+qZB5P+SpsyJrIhFYDkdyIbGYx0ddV02QGQi9yPpgMt0MTZk2bGZNXlt+oDcoXYL" -b+="QLxXQ7QufB8TbORkdlPurn7fAb+rnL34eUG4/b2+rmpfKACaJXjrhcMWp5DMOLRNE0xx9J5V4tY" -b+="yc598JywmPtFtIie+BIArHqJd3SmknD5MeAGFol5ws2gJB6GYs8hbYXqZ0DG1KR4w5m9LR5iUQ+" -b+="Le2NiLNLOxgL7qpbx1ue/Ug9VuNqqLAi0/6QeWW3tV9BWQl8UL2bRf/Xl/8awKXIC99QjP0xmoQ" -b+="HKwlx4CMwgC7qeC1+Kads1mwc1NwEwC5ujLlSEJbiX6QsUbyX3sjDx3aSjdKyqWrdGMjd2wXs2M" -b+="DZJW5ZLe4rZUL1ljrFt6KfQ9OyDvSO31vfA2LypneJvrUNuA9ONLkz7SwbtPmMzZdTKa8rYpp8p" -b+="Pv9+0ntqph72Z3HsjAPPae49bTfs97jpeu94bEAx97j3Va/W9UlBkW5m+wR/M24216CI4wgfN7N" -b+="8RqFXhASxYmNwQsfcK4xK57/u3Y3wn7+yr7e9OM/J4KcMB+yUoYVH8QVH8IVCUAisQfiR6MJLkH" -b+="jQ7SE0sS80aFxFyAPKG0zUJPNF7y3p8KL9lb7FNzgjJVs7QOBOAH21QKPinnEMfj8rXsPsTjroQ" -b+="I3JgpxukrbPoM88Bsyja9AVkTcgHqM5QUGY7uLmqO6LdxDx1X9059S04N3U27r9r/sDk3NFsEY0" -b+="U0pe7OYxMKjF/fZJQhwZuusbe/cC64u6jfVoyMZfXKsR8cM6RqZXS0dtuY0UwIosMEdmNhEPvVx" -b+="gytWvFtOYkQLMW7m7OMHnmvZUVF/X6Qys6jKT2lqDigy+ke88WfMqd+CsUH3byT0FrVuUE926Bf" -b+="vTE8Q78kl4RPYT/aGJ7GL8KFG3ofCwQg/p6Ga7nNwtzUa0maXWd+A4wwfDqcCv7FmACr7eFj/nC" -b+="Sfy9iuwXr5vEuWBI0ogvVtjFJN0FvrFVAb7zLxFnneEHd/Raq7V208bl/CJDSZ9wcaHRpWR6nHp" -b+="UXnOfPXNwtRvMOqVx7acK4cia7kjb1rWP5WB9lybg5TUM6ADxV38ZgO/dpz43fToO3s7kVmoO0q" -b+="lyj2gWGZubjS7fjq1IvnkE/BDSYuv9YoW1zLwT2fEPOp33n5+eVvSCSCxqLLnBP0HJBtOgCeQad" -b+="0v7Ua9/2MBLPF2rmOCk7d5kjD8dd8+X0J6jujwe3tjj+aRft/M4HkDVSBfkaaXyMHhxCQ4QeKA3" -b+="rwNS+t9J3vbdgiHQsqZPoC9JOmMV75zCfuOv13gIn5rKaPYK5by8fcWXOceUbczhIovBNnLTvpK" -b+="1MlxYOEjYOF+H+h6mOB74cCOH4wj3/DNmFSRP5zSev2dIiLc0MYO/+v3o63IJO3eYzcoD6slCSP" -b+="oO7OW99YJ6t2+uewba/ZGArHVJmkDYHt4zBphUZZH87+M6avZ7qgD3cQd24Zup47uGvRvY01Yx3" -b+="6XySj9DACu/lIPZ2tmaGJCDmGzHpTxZrsrHjxWXfL4sC0kHW7mYgIohJSJKk0zPHsw79XjaTdba" -b+="MFZdBmbvcxsAG2cgbIZFmnelWHXvZ6rsQk6myoktS46TEumaXT7dAltRmThmJNxqh18KfN+ZID5" -b+="CYhYePI5HysY8et4mUs6wgiTNABegzDs5nI4fpFbIofQUYYlEKLXcdPHrrGD0xp2rhA+V1zDWcU" -b+="62+n4dNJpQXAwyBRjW5cjFybZFCSrOg1JKesVfiWvD+l9knIOWaVIUOoSqIZ9dUh3pi7n4vVblj" -b+="nj1kq2xeoC2z1jzo3wE928x/5LhoXeZBnM/NI/58h97w1Eft6Z7HBPyy8VzlrVmp75in/fVjx/P" -b+="1mCcm9AE2B4wjdix/hUw2a+gL5fAU1maK1b0Ez4vIkRbNNEA8FOFt6NhXhWkR3dbiBKRzmd7e4l" -b+="iV7SDJp3mHGn51pm+kNXo1Fo1y/lFjG/QhRUcDDmB4OFOcq3o1gCeBeUCx+Lwa+YrgJQzMg+4IL" -b+="Y9HlPyepinh8OfpfrXnp/dM/eb7jz9LI3b+Q186+JjGIH24UMfzyzE/HC/agqhfLeabS0bRWFJ6" -b+="kLVnjtMRgLUul1Dd1RIPdTkd7/gLbY9PaaFZPUGPpoVrtTkUd20xByUD+eqss0GfRGb4UdKnBjk" -b+="vAX2TCUi7HVmAV5uDcZeW8w4GCAP/GRyu2K1PTyhG0LHGkG1QATMGxWCEGn0KCQTlkUEXBY0hSv" -b+="ZcfZbUQHoJGjNTklYWAj8JmAHbamhyvwfTLqaX+SK8kXFkSlLZhHJ4754lLqqcZSNPAw46LOLFW" -b+="CsQUqUkF3p/WgV6HmfLuRGiYoFIJPqzjToINdvJGs2SV21BSrPmioSmbwQUFUii+MT9QpBdwCko" -b+="Vwbmqltbowi+poVslKO5XRO10UQjEIuwZqKRMnU4D7N2S/U2E02Lv4ZcJmPm7Ak3qEaq7ba6y5/" -b+="jPG2XUZNEve1GK8OevpP26HnaKiuET6K3sTLbUPzKCZ2ijUOqQEhRe+sYtcHE1tYlWSCZpAIhu6" -b+="bXhqtJSfRXIZTXe2fzy7An754r7sX5WHiTpDkPiiuyMfqhZqMGV7Pd4hpH5F8UWYELJqG1d/mag" -b+="ibqK2j6za7ZuoPuwJV02xaafya37KBnjHHZ/Gb0pMtoctXdIsdcCFOSnfcefL+b947gwGrziD9w" -b+="Rq445g/c9wAd2GBO+QNP4MBG8/T7/XQf7cNjdhVK3hAvMoJqj8ioVlJzzN3FmMAlR7bQn7GtO+K" -b+="sSID55856JQxitn9QcV5NAXcOfQYo2idrmEjxbytkGOqFNRmKiq2G8Nkyj8gM14VGv/inM1czrt" -b+="XNWO3o/rHN7P5PDGcZJSkOA1dBx7ocz7wcqOU2nrGKJVH6hG0s8O1Kb2dCUGVC7rEm3GKnKOm0E" -b+="sr9ovTokcoJ+fLU0ZDxHemRb3TfW/ofHxZZ5kYbc7DcmeYyZ7CZC/EZr9jUIiPoA+wgmZAhJysR" -b+="57Rcujq5cuUAIM5DJsn0w5JDuI3vtVK+cBufS3BaGP95G5+rjWUkMZKa9PLj9EXW02yPuf7ybD0" -b+="JJkhp257JRkkwKVp8YSGT8FOglZXPRw1cnb5fYB6N9JL8lXamx2WgqoG+6i+kbnMwRp3owldVLq" -b+="QOsOhC6lDU+6nKr6bfJ3Q330C/L4bdfCP9PkSj9ToqKKSCrpfhnwflGjNB9cmvwe/BOJ+UeSKfo" -b+="Pe4jDvjZXlWZTGkyZUlGnrWZTIztiGJyWn+BO3plnIjxra/5GmB9DCBf9RpuUOOcIv3dvrsOund" -b+="ZfdvSH8fu5lmiLEl+ztV4ApMh6hZmyNrcnwvfER4GNqYuq6wHdfOXpVp6yqetlgxGIEQRzPX9/i" -b+="ZK89yXHO1m7n4spxqchUmr+/xk1eeXY0DOU1eed/kdQVbrYpAcudC1UbCTEw0gbxdYSsCxMb1/i" -b+="FUpi2bqrKFxzrNM7nMM6nvmaZBr9bmDFXZJP5RC43IjDLCjRuyAKC5bTdyS7aXatu2a1saXZolQ" -b+="SRxHaU5mQQt2ptuJSQWZl0zSXN0NgNZqVn9BtQ3aHSxzS0fwQAYqXyIEfkQI/gQV5UfAnyDlQ/x" -b+="PeWHaNsPcXX/h7i270O0s+/ZQn+uxodoy4e4FgeW+hBX9XyIkfN/iFf1foh25UO0Kx+ihQ8xwpL" -b+="mFSRH5lckWNN4XbOd/JKlOvkGN6Ev/hDBMp28bOARmsCpgZfr6ZUGpilomQYeudAGHkEDj0gDj/" -b+="gGHrmABn6Jnv7KC+vpLd/TqYHpdaiBSbLFPxZeqIEvkmmot4Ff/fJnkbKB2zaxmm9gTLfcwEFfA" -b+="9Pc/l1vYLQtt/JSDdxGA7elgQNp4LaTWdDA7awtQ9yqFP5ByjcyzdAQWxY1cmAbWXEjj2bsncWQ" -b+="p2OTlu6Imnu4X1b0UgTrq22RItQiKaKGHvGypAh6l2WkiGXONJc5s5wUEeM1R82L77dSBNLR0FR" -b+="nnsMBNkQXdJr32EI94kQO3vt2RA7lRURtVUUWORZLiPQliuwyfGdjc/P1yDs9ynNH1uSOfJYOhL" -b+="vOS30WdFwv3fV8F3+mfLl46Q8TL/th4mU/THyB4h3SCPU0cPwyGrjjZHAMgU7Zwh20MNRrCGGnt" -b+="dWEvA1HJPH4AiTxdlaZUkaweI4sM6XwpHJOzSKOG5mCkLOqQI2DbJQtjtkaS/lEZxJZb0E+prI1" -b+="MMfy+xfTPoe7fVuoIOzKu35axCohl+ZBSrpWRh9fdbdxGkGFFRvKP6/YEanE5tqsYJrNNeZaRKd" -b+="OokLTcoCvLuzVZhJK5eVVUx2JvMd/ALXctoOkgzUwY7FfrkDtCul5VbGc3tLc9wG3h9H04Afc+K" -b+="FSbm0FfPARf/AV2eU3qAb9FPBVvCJbg++22pyuARbFPMKVIWjmoXmPVjTvcXOSBtW4ecB7asaz8" -b+="avCA42N4UIjydZn469QJxsFG2HGMf7GJ/RCA39PAGF1pZjL02txpEkvP45w5CgxIFQdN/oGdaCR" -b+="Xcn3HqSbr+QHIMffgw2c3qAfwO9RRgPc35DCcLvi25U9v9B7PvzOig9foniNVgntuePlOXmaXKO" -b+="q15xY8hoE0o+bUw2rH42z1gGXx7oNaLvx7Hs3oCXXig0wvZx+zzaEct58Ac6Ny81zHy+tkpWvOM" -b+="SB5bmyRHKZ+JV01a8kIcjL+JV0r19Je7/SyFgROr9S0ONX0v1+pc6SfqXOYr8Sx5qPsF9JwUcUT" -b+="ClmjSj9SnBzlY6rxg8WNBOE7FdSoNfBPdavpMaykS5iK7JM3aDeTD+ctj2DV+nHaS8ENVCGAfbv" -b+="NMtRMMfg6+brJaia1fnSoaThOcrX0+9r9z8Mi3zpVLKnjBLHkupxKgVwogSLnUqk5WVdWhMyM9T" -b+="NRwWl0u435NJZMMn2m24jt5kWobiOYMCaK8I7xMx/Z2Qz/ZUeJZxpW18S5gD4oqM9jm7GupfC0r" -b+="xbdOBe6sDdci88tvjapeuHzzfkfNp3nt1LfEEkFzQWXeCeoOWCaNEF8gw6pe2puOpeojuDW2h6b" -b+="0/tyzqHixr8QdHdiH+k3+2tFl7UviNeD68a8mn6vb3VglNtGSeVck4q75Gqlyw+OqtNvfbuQt9b" -b+="gJimWLG3GMDvMGfwLmrZir1zWS1ruBvqe+W6i+eyAeeUCrO6OKUai51SeTqlTNDnlWKf1MC9VA2" -b+="1J29ytLS2DrEI5ftyK54wfgCogwq9xFNaSOu+N4/cCo865vDhe7+cpQHgBCqx88HFeOTKvcUl9C" -b+="z6GcTuKrxv7B4c7y2GcPSiuWywrFcs1RlaXJNiaG5KzRWD2QBM/c7lppzLTfW43JRzuXVo5a+63" -b+="DpjsnCVLjfFLje+Tlxu7pKBrXQILjdVdbkpcbnx9c7l1vEuN2Vdbnzau9w6Y0neydK5HEHczbvz" -b+="EB4dSAX5WnCDZA1q/7msNVdcugev2MI1kSU9JWHojfm4N/isFFjsKJSVccBGVmPFb+GybPwuEow" -b+="OZ/T5GxjdmvouFNibW6FZycIHzHpm5bYxccDDKYbMo3lNPGGay6VBNAimqQH2hBUdy6xKwjD7yH" -b+="L0aroAsIwm9fI7hGEVcpBZCRkqQorhgax+J4RCertkD319er0cce4Dt7dW0DGNK+jWFSR2jEGjQ" -b+="pHo7HN78kFchr5LV+zJOW0xQrLpXKGzge3UgxJ4cptzd+4Q3haFzJRjLGRLbWvZINrQ1mDgzhaY" -b+="ROp7gGSklq9nLdS5OZSYlfT/0w8f95j+leZFv0ftZO475AQh2wAdOCk7cFJ2qk7KIw87M/bZj9C" -b+="B9ebgw8t4/E69hy3j993fZ/c+/ZE+y/jCR/ps50c+0mddP+gPWPv7gY+UD4V0Kt0FCkYLDU69kL" -b+="tGfCe9CD4LzUZqLq8zdRjNOArfRN+xQ1gY0djDcxnNRSkG7Yps5R6arVbtyS7akw2hKVdlNG6H5" -b+="rJL5vJoCqnMQurF9PmaUzq7FMxY2EnY79qYK1bgy0X00TDhyZfjG5hkkEXJHD6+GenNeD6yEtGX" -b+="pu4wkK24XXgj58QfOweKryzeg/U7G7yjxYBz2gDNPpcpdCsrzXMP2+8nY2czfMDybBRGfby+nbq" -b+="D3oPetefOHYz/zVpT0Z47AFS4c7YFLcjlR7BbEUxKa7FajHCQACcKy7U8QuERDfeIOh7R2J415B" -b+="EN/4h46o69WTR3B28O760+KPQP0pUHBUwOMpKNMnNOm7GHLHLg0qyCw4JtBqCiNtNBWjhTG0EIl" -b+="YCDoC/GLfAxbjSbHT4uUCq31eiaB9Fbr+a0LNmEzsSHfjqAa5mFEbiVFwYZSXdBOYqXllGWcC+D" -b+="VbXqYF4XjOZXOD+zyqz62eNnbo9t0AexGDg/Mw5EQpPg/czUw2+ETi/3htV7T2q+N/T3PoLL2HF" -b+="c3h3dCH1V7o6qd58N+e7I3/0ELntKV+82L4S9Pm6Gf4sTgmT+mH3c8bI+7rb3cY+Ij1uxg5vuPq" -b+="S6bvO0Lt3e8sAgG+l3eyvxeRdB2vF3d/zNHX8v9R/nCVcT1LjAJpsHmArJOj0UbK5HBzEiJqgNi" -b+="g5tddjiOrG1NVT6uepihqRFrw0dNxYL6WopDp8Uz85HGUeyRiCk49ko+/nGusWV0qGjbrEmW4Nz" -b+="60hXtQ5MQCTGt9CfK2G4Y3/gmmwdDqzZsiNfQxc2qGDuzgxRuAyGu8v6HJgH39s3xZ5+b98k/OJ" -b+="7+6bpEw/0TeT3vc9NwmujfXjMLrYr0/tRtdgeWYy5Npaqw+ZQjIq9dQz21lGYAtck3h02bJu7Xb" -b+="ovnT9MYbwf5SiHB2IquA3HwRZriR2wrnK2WwRsOrHuaKmPmE4C+ci8NwrbySh9uNGq7SQYy0dhH" -b+="7jidew0oJKbDFAwcC3wfNXnumTr1qhzXdL8vsiytcYd5U8d9JnsgmXNjcGy5sbgpcyNmPTo069B" -b+="C6yxTkvrka3R27Fxa+mq5L6MUaxQoz0OyxExbil271htHICOfCSRYXGQjdEntbgfaud3+o70thw" -b+="GZdl6I5XWK88s34Ij2cgyLbjMmeYyZ87TgiM99qVvuxW5nw/ZWWgJvy/3c5qaO2jDIbatSsj12R" -b+="At03mJHsjTirSj6u2F5Zn/H3vit9NyituOppiOmK9lSumUTQfrapx1ErQRJ5djPzWP9dL/rTKaK" -b+="hdqaGf2f/M8ghAU0HJRZ6hcSB8AaETr/y4vPFtffOGBAboQ/u1XC3L5oCp4aTgwQHP2SLZOloZt" -b+="/GkejOEeV+ZEDe5xZZ6rwz0u5V+J34Vafg1+n63nkzCohzeJC69nXrN+6jE/w7n5bJTnw8XzGZW" -b+="0Fu25zTupAZC7rMd1tzZT1FT0gr1L0mpeksStRCuPX5Xs9D7uViW+YgwQSHiU1lQ8SmNbeLlavD" -b+="CtrSxM3mWn7DJSQcAE4lGz/ro1dsULgIAJBAGD9aNhB85BuKVpzcWcNJJN4p9zh5JSQNrXEu0pv" -b+="unOEu3ZWbI9gYBbwh+6uFFXc6NS91pqnV/cqJ2sg9MTPY0K+WK8v1E7pJllEy+x2p+/UV/V26id" -b+="SqN2FjdqthYu5rXJS0i77ewa/NsK+5V4hha39gbrH+1v7ZFlVuOytds5C2qdSmt3pLU7ZWsD8bZ" -b+="ca7errW3bore1R6j64/Dir/Fu/TYaZeQCWrvT39reI9rrcl7jXc5t73JGa/Pc37GtTVP1WmBkr8" -b+="Q/B6y4VIAVS0o5Tq5hKeelJJyyTTtVyIS0aRUyIW1KZV9Ymy7Tg5do0wvswSPLtqmI68GSvbjd0" -b+="4vbpXSyls1QQKmthAloLMu7dExczCNWdhnHgHMe/ovh9urmnfOIl4fUsg3f7mt41OT82sRqTKF0" -b+="51poE0CsrxURam2T8V3ygdbKB1qLD3T9+RSKq6xCMWFxRVWF4uqqQjEBUNGEgIomRKG4egv9mdi" -b+="6+ANd3/OB1soH6hX+R+nWUW6JPvHf9ZVsFF9oTSn8r3UrO1pnbSn8uw9Gn47b6UpaNtZmV27xn+" -b+="elxf7RHrF/Dab1NUuL/e3silsg+9/CNg0ece1S+h+4YOm/8U9M+q+LRgMdlF5O0p6w7szSSmA1q" -b+="hKWy9AhBz0G3QFG2/M0B4y4dhZQNlp2pEuviDbPaRhKz3Lfnlt6y9IKltGkH/A4vLUVmn1U1Jj7" -b+="imYfnM6j+PB4QN61ua6qTmfAoliHyEZK9/MYY4C2QO+gXzOZjbLjmR6Ts7sZXn1AY3BqDKcwZbP" -b+="NsEMFmklcIloSEH006HFrB4bS9zmUxjg6fEULEKuqO80XP/c+Z0dd24PZoHOQv7yXuSNe5lxAOg" -b+="vIctMcliLu87CPf1RVbRwfmn6kg4/D2jf+UspFqaSFfcrFBShp/+gdXfcraeM9n+Dbbs1x25qss" -b+="o2XLTqOFh1Hi46zyrZaWnS1tOhqtOjqC1fXwn+C6pqutCG36OrvTouuRouGdnVYXbboarToarTo" -b+="arYwkgJVUaI4tkJXKmFHXXWv3VPB4PygjV5YVcYJQDIz4RAc9B9zGN0GR3k2oW/Dn+1Zdo26g6Y" -b+="y+KjTa3EoyhV+2KKdAbqQAaaMMOXMYiLW8tUMbzWhnDjuT9gbMkZD+PMnFp8HKCYzTwcWVJShze" -b+="6gn+/dgFpl6zeghrBWp5fTL+ejG+pvkfbSbYdzGxHfG9jIeJa6QF5ShDYmHuHrIJnPFJPMgyyFS" -b+="eaTf6P1PrW35LXjqToSrlTHlmlN8Hnoop+DnujnIAs3Mt+OEh5AiT+WVNzCape8+gKC0DkBJv3R" -b+="nHqIjiWvZh4eE5iFgKZ8oWqh7Zfg26k8a7PQ1TDzkCQr5UOet0YIJHE0+Wc9LAWhZ17ipIgNpsd" -b+="2zEu6TKXq2JSuDyS7hKRAhzzuM/6tDIKWouUqBPNLMiS5wJiWkZMMb1riufg4SOxgk1wFXIXFD7" -b+="3BkrmCCgEiI7LIgibheaEbjDMtzAXdzHJFlamO+N5+jh7hqfkZzqYgz9W9z7WEDq+27JIBZ0EQf" -b+="knMGkI3pU3zrjJgfCixsfTJhpe46yn97d0WLHnbS9Ux3rXUXa9QihMcHc7U4b1F/DCSAnFWKjRB" -b+="zM4Szgejt3bh6Pqc7iF35WQHbeE1HhZqDFAWHzh8nEkyHLl4yQ+pJTlIwTnBbT0bBeeX49SZDZ+" -b+="XnKPxK4NUSLAksj50wd6OkRKgQbDcMCJQm3vOLQj7estl6REWAORRT/KwL+JfmWfedlwYKpmVXg" -b+="gyQfyS/l9BmctDEl7QIDrPxfxkc7U5+Dbne7AHDrgDr/K90DJjpX8mvbAIpDWE35eOP+pnk+SVz" -b+="FEriy2SmfJkFPHACsw/4CgylMo0hdNDSZD8p1ittE9q0pOajla/koe8WGH2329pvSWp9lCFhx9f" -b+="tYi7WZx+QmcxZFp82n0785VMQpQzuVOUMyVRkK8S3vCGIDFJug7ymrOz0JFVwAbQZ+fs61k4TYt" -b+="puJldieFWSSroCVnDxCYS1OaF99A0yJysNSy0zNsTFC1zz/+7EDDH04ANlqnBiUpz/0VZuK0Foo" -b+="VQshqG29zzOCWFe8xNt9BTmBj2IrZ0Ziu7rUiCdtMuFSZV+YEWZwrHTRnThdTAHUxt1SyPU9kzT" -b+="Io+BB7gwJL0N/07BHKTebZ8E2qHHA9vVDN00P6A+ZtgZkVD1et1XUdiDnv0q3Q0rjUaDXSnn6fv" -b+="RceK6VZtlH6fDm5u1c176CAJ/+Zd+I0T8078Rol5B37DxPwsfsEdZZ7+2vG3hBtQz6wFwp3n/14" -b+="achMnt2+B8qA8FHG+kxo6B5JhUUHvpoISo90RcC+e+rkFCC1P4f1OMN4aCb4bsp4OZnXJQ4O2rX" -b+="a2QW4tl24+G0yfVNRDua9fKxPMvCqXh8Iy8aZfUZysxGfmlBS21wecRhgTkWPklQRvnhdk2POe9" -b+="GTbSbYGLug3tKzJNIZ87mDaW1dIesz0o2H6J7rFMkTGrmHJ0iUzFWZLmkh9vSsZfnH1Sk4u+IJj" -b+="V5ZKr6fLTT0XHkfQWocm3gpirukdyCWCVI3M0TUAeq5ksnftchRED34BOWaFguihL4CCyC1YnwL" -b+="zrwxJVOF3ObeFSk9rS0SU/oUeSvpzObO0UeZxBl9xXxpnYYfLAknjHPg0zvxWpDBIGudg2TTOuk" -b+="zjrCtpnHkmU+nu5DPaV1svqjaO/DlVG+CrStU1X92bgnrj8hmowQqnOQn1dyH/9AVV5nz5sL+rt" -b+="Ulmq3TPfSKWXbMiJxIVnJpw6xikn1Aw3FrGmhO9IuHmdnzmPXycrp9dYzl2GoXQWG1xixjL3rlO" -b+="KsSHoKBav1gICyBzLl36K5a4mq1B/6Zy+du1u/x7K1kkhCoeEN040BqYZGDCAgZImyy3SCyqv9o" -b+="nqwoJy9LoV5oDv7vg9DGfzpuFyCA5ZXl2J2UVrVvutvTNTOEp8mOGnMaxbIMBqrZb9A9lVuyWpq" -b+="APshvzK1OO0lYoF3cKMKKBTh4ja5C26ry1irZqcknbJpxn+j3TpK1BOTFc1PhBKzixPB7U4uLbu" -b+="0mB50CNHZsCzXcN7zavncXMjkMDfP0lu6mDIosODjWlxBSvscrXdqWvbWoJK21tL/a1Hfa1vchK" -b+="0uCl2c0TM2JbaOtSy6FPr4HajnGFUNvRSm1rUtshvquntpfw9VJbJbUdkRKDgqbLcaEfp+LWCPE" -b+="nba3mLSk4loI79N2Y2/JKqyJEzPCww+gd9mvz6ODjOJJc1stsyEsDGjpMPxg6BtWlrtnWd83aJa" -b+="65R/VdhEpdABErDw7qecc1dd3fDKTv0uzwzKOLOy967rW4l75oZhfJ+WhjNeFWYNWEyh1XeYVCp" -b+="feqwi8dP8zag0Ri8Q3LXjl7wVduvOArb3W6i195z0Q92Ysj1kixQEbmiXuFtDiSpTpyfP79DP66" -b+="zAPkUtdF1RRFkTcLgDPYSRFQK1hTjWaM2sWzqGjDO4pQNHTRIS2xGPOHpR/UYgeIq8TTjY1hO7z" -b+="J5qHDZAymU/sarOVwsa2Af0WRicCIAxW4xaBMnp8A/A1FO445tzqNE8zDQskY0lh0s7JX22nrHD" -b+="OIChdgRasOS606dFq17teqm9omQlwnuSLNfGqXrnnmd8ZU/tpZWp5o2F3De6t2m7PYW8d7td3+9" -b+="CskwUB5YL2JXL7CRdecWbKI9UZytlbuWO+uWeA7DCtV68CQvN+m96sk/YRsrxPGcAiHpM259T19" -b+="4peSDMJW+TRZerdfg17i0rxy6WVM2bdN+nXZn4cSSaVmuf7UPl7OhAVaoiKFJIDGwnCSfG1ANat" -b+="qHs8pn0AqxiPKrlFZM/2aoinv2UA0wIPaDZQDqpvV03cza+364ICSJN+0+R6aTL8CvszomuDd6g" -b+="b1FCt798MYRIMqwJoXmQdIANnEQi2GV/BHOPcU02PUQU/Np2z+k4Qel0DBHAAeVftEu+lXRMJjL" -b+="nc+8EdW5PsvMGZ9kbSMzS1l6yy52kMTII/vWuryB/hh991DQvAJl8gWqU3+v+7eBC7K6mscf5bZ" -b+="mBlwUAQUlwfcwASGHXEdBBQXIEHcUBiYAVkHZwYRQ0HDsrS0srS0ot1cysrMzErTzMytsrKytNK" -b+="ysrSystx+59x7n2cGtOX7fut9/5//6OV5zvPc567nnnvuueeeIxJf9DAC0kz70T0nFgotE9JIaJ" -b+="WPl4c6ja7zvJKYbztqrFvgmN9Jj9VBntiB91gd5KkHDtnqIPF4R2yPMuKhofHNHpjED1dgzEmiV" -b+="i2lijBfSWNaLGD+kdzwFG44cZZHiorWMTRQVIjkZ3oJxfvYfRrT84gtvvTJIfRJCU/Ql6CFaefL" -b+="xqPJO2I1mn4pejtpZt6ZvRyoaUyLxFAR1phQHZ2n+uhZFWCTB9YhrFTfR9Ipb4DK+Um+VNgJz1m" -b+="FePRY2BtjYg+lcGnQQ60CWzX7kF6H/n+Zt/xGLLqaelNPj83ERkZoBbwOa+Mv4TzXzmHCWe6aHh" -b+="NmECP1p9AwjelugXnB0ZkuUn+oQE3RfKcQyUlYXKJob7qHBzyDHKDlxTZ4JpDe0NEpPJJbzyOi+" -b+="ch4RGx7YnOrTQ/wWEEenhOLnyTqSwL9SoI7YtUQagkDy8crB1z7pWGttwuKH1teMkRyY9HUEDln" -b+="W0EGFCuQhVMzQ84G6h9I0gM1RjENjiY9xsY0ULd5l5evUb1pA089XzJnifIg19OpWM9cX6poBxH" -b+="OWhsuzCCOErF7CVHxpArE5BV0i8RTJ4EYRX7DKZrzxA9sFbN2zvJVpn6anxa9kK1BmdRGgipMNH" -b+="BCI/g0iUxyT0iKh9qd5dqsuw1A8ryd7BHHkeyB7GUyTAMsO8qKANdtxLypx1i6ClEC25C4nNRR3" -b+="75Ajnw8JEIj+dCR5iOS1hhJ/ONqyajSWs4/zEy1+3gNMB94AQNMSwaYDr5fRBgyHF6EbrCRg8OL" -b+="0A0F1lUQuiHDkkYhNkgcLIRahFvQAl5X6DTiBQi9UVq6UedAzNuD3hLgcRhPYKPHXzxaCjdQI91" -b+="k6lNTBAqnbgiAARqASaoxSRWiMyuBGtNUWQZ7YCPC8QymeKY2LWuLZ2ra32riKh3xiyItHZMqtq" -b+="RMZ24CZH/nYUZKJcmuCalUmC99soejOx44Raqp5QbmEz3ML0k0k50HFPtiWY1JzK+j5EvvejO/I" -b+="kQajKYP/ZII76iiVMT0Lk8rQTcwlGrI3hOpGDpcGEVEFFA4MvpPcB6vRcnUUvVRr0fo3x4uhz2P" -b+="0IHE2CQxnPoyglEkUpF4hBieRIYKJ5vw9XJPgk2vAEbFIwkdZVCmsX8wymirozQdR5lA3SsA6WB" -b+="sCU7E1LUpmTmocJ762e5Andz3a+cw5AhgO8Rooa6UHhBl9x/92QmWYOBv6R31hk4NJos65XwLZw" -b+="j7wzVWo7wy+uMok5VVGC08kZSPk21uQ7RnhTDOlzfgqsiwiCednUH31CSi2USEYWb5pI7oWQVR6" -b+="aGo2E+mOyOKH3ugKJt2tFlCUbeg5Bgu8QfKoRQlXKKbzMSXMXExTcwr9yIdj+vMeTMVOYOyBqWr" -b+="sB5MVs9tSIW79XMxo6wwsnLmTRbDF4KgaVLN83L9A49f4ql3Eto5yRXEu4IyP5qpQ3MFDqeTgzJ" -b+="dqsgd9TQpVZji/jOfQN4sB+50Ehk5oYQicc1EbtWUKIbpcPddR2ij2pv54KmpZxg56HEnTCeb/y" -b+="b5hmnwmY9sCJyUIEyLz/QeTz5hBuqthfrGlUhsrcQiGLB6pO/JSgwKg4zGdsFUJbtFEdr49Alr5" -b+="3sHGRQ/guqNMqbv5xXHuww56eTAKz3j8ZwiNwhwFg+xBuG9Zgne2zsnb1onEq7biwuVHTqJ7Rw6" -b+="id4OnUTFTY1SbGDPIb92JaeCZkn2AMHGUQ+6yUTdOzOTiuiNBnd3fThDT16YJ9FTYniI/uYwcaE" -b+="kzsXD85MJVr7P8+om5h6O7deilXllke5pKDIRw1xjoe2KluDGEC/DVAZMXPJo6C6ZSKzt8+4w0g" -b+="GSkBmCVpIsqnEhYbi7SRadzRLuhMGEXkjWyKFEtskxZyfhjAxKXtvZlM4ZqM9o3uO8+Zq+lw3dr" -b+="tUspFE03J+8NPzZy+A/e9n1z152Q5s3Qtt2Fj3t7CUzRXS8tszU0IXIWZAcNjFyuFxMhwnfQHAA" -b+="7eD8gVBMInvxpCRhMsEMp+Y3q4istOvVBSfFBjCAEjWVsrLFpWwY3Yag037rszs4i9oURGxerEZ" -b+="AZQoyBLdPkqkbGH7Q87om2WXnTXyYCmqjUsP4U3m5+PHaBzJWeLYnmRezYOpNCDnzYDzYGMl1oV" -b+="O6mnqgJ8TwBzzTrDG027qDuF1hURJGqV4ktULzMZdBVIa+5Ojj77kMYjLnHIMvMNhcSYxJ6NF8H" -b+="PH22zYzFHeZdqG2SEszLA9E0zyUAmiMfspzNLEArUOeq42+8nN0SJnuqzIa6QODN3HiTNu9LFsg" -b+="94jNKt/jAsucwQYNxP2R8Jc6X3Lx8SqwQDzlWGLoA90YX5FQf5PnI5OvBi/+ykdoNgiLY+RwMkZ" -b+="ZF6otihY/6qxJZM6a1OSdimzatnn3E0/c2bTJIx2P7kL0ALLnD7lB+aNoI79OVFMQjU9yI32Frt" -b+="gWMyCal2IBFMbCh6qpAWCSqGzXH1rFl6OOWbzqLKnTVXJMGoencSQnZJJBVBDUWHAeC059U0BPq" -b+="onhAqRJasKfmWaEEhfzJH+O3CvaQ2oDcXFCF/7p0Mx63DfWouxQQ/xzIAQYrmFOOsjWs0hOFYkG" -b+="woXQRIGbDVXR3Aim3KxgEJ6V0FL0xrWG6X2C9yZiXUmLt/6hKgPhe9ESCjPxRM/068i5fjws3Xb" -b+="IqOlQIHaE2eDBM7hkI0ZFRoPQFUBEe95yazPZNn50vrJt7D2QPmFD5BJHh9IAGEmoFkwSg6RGAv" -b+="7zMngBQDWrIiF3cm10pDYG4morlLhp0qXL2Kc2WMSrhpoP7uZR/1k6qj/gKf1IJCgkLxgUaovWc" -b+="DVRgHbRepWJ+zOaIl79Oak80BC09aAMYF/1/yiVFMLcYkWp419N+4jQuawLlstdgLLZ9tFQ8hIu" -b+="UGvZ2DYG5vBMgmS70hmHKI+SXXFqmwFQ0tCVqWlRE9LElQzu2j0jsOkGvWzDK5h31IQqo1qOIYi" -b+="TJwPZfwikuUw0dOQsePqGn1WJ252WniNDDIHcNVnlAJlVtrTQfWiTnOw1djdM1IsaKmfAtXIm+R" -b+="rlLcwBCbkxGDjmGhfmp6UaXtOEKoehahldLT7EiSHRFNCiths2LCzXTU8LoVAxegODmt7AkGS3w" -b+="KMAHwSUu5F6cqyoqLTUz7SIlfKuLOqxwHeEJ5a/UVdK4pgQlhSsqZ8UMbZpsRimMj2uOATxbIGa" -b+="PmXb5sR/DG9peXsHke6TgwvNMoCswX4BTe1jShp03glMQiY8gAu6DtRYmgWcm3hTmpGMs8UiYVH" -b+="xqQb5sErgoXSZhGmV+HEzcVJjnV+B+rk4q/WswA0BUnAcKLRCxM0ysntE8o1VoDfnebKIYZe+2K" -b+="QXD5HSYuHgo3GeL3j5C56mJlCkIB8QNo/UmvQ4KrCcb5NOJqoKtSsMWRSqIEVEd+QfGMcImaFrS" -b+="MxT413K9UCSCR2mSzgDaVgJnVqSzGjOZNOBuk72kfVPwniqceqDGwQ+GE+Hg+wsfET+4G7BPGh8" -b+="cVb9TMRXpZx0WXtV7eVLX1pgHcBwRRUm0eQTRhbxKBXH7rPMtjQS9AhBlg43n8XMEJQ6qk0BSCa" -b+="1xO8krq/p8674Ah7T6epTIOOcaY1oMHT26LKh7S3icq1DmyHTgWg6oBEm1FRwGjpzMm4oTqGBqw" -b+="tkDp956pxKxfREu1CG0nIa1aDJ2kN+08HDPpqW8gYGq5gPawOQDGbpT2JOweThbnqAKNtYuJEys" -b+="aDlIQlDrH06uopDaSLbbsDuURPVRGVkqZnyIW+ZL2QzlXINSuj4ylAcLYr+GFFcmw9rGhhdmWTY" -b+="zRcqJc1IX1xsaBMpw0KWHQF4RTkCNVumsbCViqYCv5fT49lnctwjm0lctQE9vakloPLBVHEpM0x" -b+="Deg9PBsmakmSrid6S3SPqXQouGdQpOsecog8fRdgp3CUk9SY+r8I0mWTGIXsQAhIqkazYxOyQMB" -b+="HpAGkBVPuoJLsOtC2ozjJVGmJJc9RvY6gGVaw0tCAaWhANFkRPay3X2MdAX2gF2shhmA7mjeeCB" -b+="OS6hs1E2zKWnjMJy1RIDz5o3BLnDCUWYVCuQP1uWYgOIHyEu4OAlxq3k3xam00FXOimjpqtU6P8" -b+="znITlVGi4E65P8wxwY/aMriC+K6Fu12ccrvtBZQGJcMdXMwoDU0UxuJmFMooEwXiWpH4OCwid2g" -b+="JZhK5M1agNryaeANMFEZRvykd0Z7kWW4mFlpUCu0Mo/vAGcj2EEzobSFubQDHYO7H2etKh3F4iy" -b+="tmjKvKDEFdfIIh4fgJtCRu2ZJKqD2VYLenvSrcviFu9WqIxex+2Za/WekZSqVp9cOV6vdWqi+R6" -b+="qtlBUpNCCkyFlT0FFS8ds/I981/txcmKQXKUQo0imqKaiyHt8jGbYkTeSCLKqLCaXkZfcNcBxC1" -b+="6IQYSkgv0e9UE/kaEe/pKM0ZYCCmbGUXhQY/nLVfJoTI9DNPKJNMDCF2V4N/2wfAAnVop8pu4qi" -b+="n2LbMTHvuhpFU017gO9gDFVNXhlwWCLzWW3WLy/SSzxCxTKhGER6RXRKijKEmXryFJio3gbUQCm" -b+="vIskZL1G7pEgGnEMLwkQUEhWAeelYI06WTowGy6rWkayuD0UhMc0JiZpS8XVDL7usEy5Yz25mq+" -b+="XJyF0zdUuvIAsCy5Ox26r7umkIcKnNGY4mGWCbCICcroKK4wPLoQaiu4f0QO8cjbkGfkIZO1/AZ" -b+="50umH5VFmAl8K7a99zdB7HWwxTTTopqlQNJMi5pCnm4LZnPg53fLqrMcVZ3twKJRd/c5BqPnCEi" -b+="VgSkJMHwzcFQdDmc95TPiOlxSYnIjTY+I3phpUWeQNBmYrry7DO+EDKWYkN+DgkFPJ3iJm0lyw6" -b+="qL8I3RS4IkZ0VbliQHUFdxOJEE1LdxVSyyQx8Sp/iPFehdN+VOlsCLlvXPefmUxX1+IoGn+lSyW" -b+="1kUvYfjHc5n1D0uwZD/Jt99/0f5Nm/6n+frSw+/WXgipkUohvOGZJoRQaAIUX6HvdoLd4l6cQYt" -b+="R9msKnL+CllfWDWFUl0harmQaHCsEQjTS3eYiNowMbdFF9htj0B89tdHIK4ECJ3mGXHx1YWpgwT" -b+="ix6E96e5EkOIlNEjxEhqkeAkNkh8kK6/Myl24dyRJCgrjiSJ0sEWHDHpPajVeQil9KAoUQyDTbl" -b+="CM7pJAzrfjCfauNG43NMAvda2waMeEoBF7FOyHbGiUepAtj3mN1J0TsV8WikYRVRXEcxVcuuMZx" -b+="gpydh3PEZNVexDuTcD/kESPJW92UJHa3iGxAqUgtgNI7qQk6O9AlBgEefZ5A1HGE6Ts86JH3wrS" -b+="Ogocjho92BTKEzMqHGAzKU+Iv3ZsQvZEgCt6n8OLKAVGiKZQP7xwoR3wogs14SU41BcvUqg/FJA" -b+="jOm9FcCcmiZPgok4Sc+DinySOgotvkjic6QdRzAjE7VSyzaBOvfzC5V8+3XhlBW+6he7uSurUh4" -b+="58fX7D2h1LdnL0IW7mEOOkDgqbZbgDhYdXUnt22vap4ZE47VXJHSdPvdI7qzxgCaJSCrGLp2+fI" -b+="mrY6K9KsZU89Upxo/KApbidphgcZriqjPDGcHUZyVPvMioP5DIKJEUpzHhVGeGN8eoykqfeZVQe" -b+="kBQDiQ4NR1eJFB3IFhy9BrOrjvqARPQwNaJF0bwNjRSUGlFxRgHNjbCioGAjKp/nbQhTN4Z1RBs" -b+="IxGqvRNQ2I8TaxjBtPgwmrYSWXE/RdxrkvCLEIvgS36GY6Qh9o4N/8CYHksU3ItUSwDc++Hx4o+" -b+="QDecpFwTKoyBVjN4Z1wjgb+UZcuOEp6giyl0jK28ormWF2K3nvgizjvfJbxLOSwItmvlHSsYxEr" -b+="4xIYY7zWA4e9dS8MjrUNqM9ckbwajukpvFKJYDkLTSGdcZsBZYKZis0ytlRa5J66LSO+RvQRCh8" -b+="iS2tIqZfN8CHW2gOWqkTfkHqHiGe5bHIOimARDklV8mHRiHFbxVIM0qd8zDKSpp9gNQ5n0QR6Ta" -b+="/gdgy3QB/tUrGGpbxeblqWq+MNwqkrbDVsA+EthmLVI3AeI1URWwarI7QNlWR6iDQD0TS3Ujvea" -b+="pjhR6feWVGov5L39675Iunj/x41KWQHDG15eVPt3z03is/bWtSSI6Y2qSQG2qwsrYtubkqJXIC9" -b+="6qkjnNeaZ3l2iWmkJqrUiPKfFel1sp7pbZRpipXfbz9mh8fovGltrEDicYlRxVQqHFSNs7VbJyr" -b+="6NiSO10mB6TNG2ksifVvDnavMihFNvxUbLDIHSwTFjXrYEYxfNioR81u2ttHuGvg0DKeZrKIvzq" -b+="TjbyCEmSw0XFFRzilN42NCn1TI6Y2IvGh6HiKa4OOSilWtsVkz6BiWVOEO06U2gLxnUTmymV8mD" -b+="hXIvPlSj5MM5dgcYd8oIRzw0T6LS7eJVM+6ggMuxnek6m2lYcYjUoUlCr55W+Y20ijkIl3jRzFH" -b+="6GN/FyvuL4sbqNpBMy+8HoLj3+3k797yN9D5O8RXo4RHKYZKpznKWBCf4tnGaALUw8VTjGAQ1bn" -b+="OALo53eocBFvVeT2HN6qye1pvBXJ7QnELiAdlBULxKlJvl2k3OKlWWC2tzmqSxFI57cKuMGpkJN" -b+="Px1NOibBIXbBEzUISsSkSXEEzYkxMFxzVJDvlga6CZqowPkT30fCAIIjUbABl2j3qHOxMvqRyEl" -b+="m3orohohjYRNhxU4XpCDk+LCrsJnLr8p3Mu4p4MVnoCTKWOtnqhCqq2aINGdFGkifczMVGx3Paw" -b+="24OVXvnzaESoEnxmi56WDuOao5IHljnrRToyZxuAONuDznLJLukwvUGVndmOxsEenndqpdveVOR" -b+="YTkvbwWFCp5D4J6dZ4EsUyv9RF5gW/pk6YKz4ZXNuK1NzRy3vICHG6np95/wuRFW3lSsfhzBTgj" -b+="ynu/xcOQufOFD9vothzbj9wZSeejLy21LZf6bpTJSFTCmFtZbudu2mcoglMM0fVG4xhFLDHRHjS" -b+="PyvXDiEABw4TGeVmU+FrGfUpWjzwPY56qqXDvTw8+3y/S6v8wU60/OPT3Gs6XbtXvFwtMTVSI6d" -b+="RCJuwtPY0CLb4FidsViigb51D5v2bfF012HtpDuIpXavkXurnb98zC+0FvW40Wk3bQRv6tVummR" -b+="0KaY5v+smBcBZyx9vYv5R0157oX/vP9o3V74DzpsS/tcov5+h2VfYxTJdeIt516FYqgtv71KeoC" -b+="IwJq3w/0y/KOjTbsS7k2VcsseuNYA+INyX9zSrtwxtNwCkVSHe2ogNKGwQC47yp85NpKIXjI9+P" -b+="fH7bP8xXb5xP799qm6ZnW8+lxon9umg/9xb8iZ3Sz8KU1rrxlEKIkPYKVKrdHqfBg94RmVe/Itc" -b+="oSbDJuNb5Fh40PM7uFzf0QtshOwCEETglpi+nuvDGoISURQjSDRx/kOQQ2CRAvlJII6NhB4y34E" -b+="gxWiswnBLtcYn4vwRSfLqr0eJHp0b5vxeexaZERJQ0Ullz/g7p2P1+5dqEjPBJPzqfS0KbWig03" -b+="wO8ZGqe9RuDENsizcvYMScVWFZdlufBRK8ozkjGgCJpLzRQE0UgImh+bCeJSlqmamM1mS5denyJ" -b+="lpTwHIETF88wu+4b03FlnNZGnpR9eeJ7BXVXQX1qKmthK0VLvMqBxgRJTazdHDX5xFW8GMEsmiL" -b+="UTIAfTSG53EPI8iPYliI9EZlgcXTMymXlR528iOkrVPiqdJ8TSp5X+elDJkTgt/Ogf+fSz+o/Hc" -b+="vLfdCHuT+2uySnD/4JuAct0U3H8GwR4K7i9DMFTB/d/3ABio4P4pBDsquP8SgpEK7i/f02bCPY3" -b+="2E8KvTb+vohhH32hXn73c3ydQ4fIWALYk2p60HL+DellH/mEZvcXdhLxr0hZCR6li5PmdRNvv6v" -b+="H6+U42AcNAPbWzDb9jkCW7plmGM6LHxAIzXOBFLAWLQI6IwjQSjSdFIYX4CkuCov4uKq3C2mcXb" -b+="QSk/cQsz9/8R3SrTG5nmCB70grkFOTSG4y+fh1M/h07deoUYLAIRvgjGjsZLCpjR4NFbfQ3WDRG" -b+="k8Hig45i9EY/g8Vo9DVYzEajwRKDvnY7GvUGSyfU5woAFLJ0BsSxBKLiSRAqfgWjRklXVAfpTo+" -b+="WERt2wEYYZlmkmeS4O55f1LhhAY9TmCWAKv+JmSHOUNSnMKRww5TeNpO7YWyIXcTNSWrg4RxXoR" -b+="y0Rvg0wAtQQ5mCF3fL6CTgjj6XOp+8E4voMe0CeLKIfZ3HzinDl2OVW2rIzgv1hlciWnrPVtQox" -b+="ALNn3JRf7e/GAkIvEYvBXQOJBzXd1AlixZRMxDBLxWwM+FuEdQjGIDgod0yX9gJwX27ZbTuSMbt" -b+="bnn680fwBeWtCcENSlJEPfgRBfRDcNVueb7zJTPpbqL0CKARwcUI+iJI9C0vvg5gBwT1CJ55XX5" -b+="LKNFnCPoplOgIgj4KJXr7dbmChBK9piRFKNHzSlKEEq1XvhWpEkIosfoQyfHK7HGtUyYGxhy9vr" -b+="3tQX3RIrote3Zt5xjivc5ddeyEzDoSwQidzLP+xxmf3vUPZMz/DzJe/Q9krJBfo0IAv+e9gJMCO" -b+="YRtOY3c1W/wRybRYVyIxdfSQeJCkCaTONsxznvt4nS2BLE4nkRf8wZ2CoZXBF7Dxp/K+1gOORYk" -b+="oIzATA7hkPOJ1GKLpYmIOMi+ndq0k5d9XIlEBYAYlWVWWcj3AXjwAiVuAj3jGSqKTOMHvyVrJBX" -b+="RZyXax/TIkS4MTWqFacmmOR6A60bNFcTDZRfhjc30wWClqHSfkZ4KQu0KgWzJ0wbHChCmX9JYmj" -b+="LwjOc49FalJHlISZKjSW48sJ2oaLDElRTSfanGKjt+A0yYnm1RN7nILdvUNnKWlsPQI7EmLeeRP" -b+="USy2CrL7JnKLS/fGtvcziIarNiz+3cwtdFf0OCvP8+RFIlipinI8J4o8PNUsjElNmWqPf6UiFmH" -b+="MJjNCMupgimEOktiW6dUCwnhUDzEHEr0U6A3VezggeIjWkSFZr6SGQx6ghhvgE5Cm0Eaanwp1TS" -b+="F5IDn92k0kZmOauUhFrHvQOcegRgXSm2GqUNI1S0KFZhNY2Z3CK/z+WxfoZ1VITVaFSImhWh5/q" -b+="NSJ/2tQif9q2UWDO2NT7UD1XRSlDjDLo+pKblTVe07VWSdKrJOVfbKQwlR9zKapfIy9kSsZomkD" -b+="cS2VrNEajVLvNpqFvVb7DGTpfI2k0WN7V4rt6R/JbO/bEUVa0XB8DSxM8ajRjQasyK6qfR0ANUI" -b+="sYhQOtQBFukb4jRRjeUkzrZ5SZVJDO0SKymovttI4qMqHzcaTx4Tzmv+ghZdFVI1PNdGTFNZiAY" -b+="vTz8W0EYxTm5MGMs8cntnI9CYnGEElJepQCIaIx1XUQNQaqIzTwkt8yFN7MkKDA1VkrqSsn/Poe" -b+="oUJgIYzaosXFVlNasymsrTkF7TkJUiJ9syJMqUQHppydD+HjSADhtAW0Gc+hJLnCImpyLn7TlUA" -b+="BUxgoZoA6A3M5gTw3wqLcEzUVEbcRmzwq0Cn1l0NayRVG6nlwaBGltOTdsDy0ySBSwhXUOUbLk/" -b+="iG2QdNjOuDWhJc54VVS5vIJ0jEAaUW5x2nZYPVFueD3RCxrOFOB4y/HLjEuj4KnLjEszjOG8nOY" -b+="p2l+cov3FWVa+LbMGy972WpPpPBM/YQpg3q9U1GzonNtGl4zdbXpb1iVjGmRsmqNzhxuXN/KcF0" -b+="zuBihzHs2LHomg1XhkBVSjs1KrlhWMjSXVN72Hh0xltcDJBh96s1y45gHTcW0PmNL2y8H2Y98B9" -b+="6KlKGfI8rY6Q6kXRy38Ux06HTWRIVsOZsevyarP9BMfSm3JsCOBEq4XLavp+YB0ou0j8RXsWkmu" -b+="kB67VhoeVfMqGAy4f6qYYCACCOb3D7fYlDPwwRWWLTBrmy6zA8ocGi8gll9URLnQcnY90CQjsSw" -b+="axoQyvqxCujAyoKhGNme5mZiclVdhJkyGCkEG0yVVPBItYofWTNGDSipNhHXB0YZrJ1MvOsnQsU" -b+="JN2NHtDX8jl7rn+eMH99708bu3NI335Tw5L/pncvalYihidhgX1EYFzZkUiSfpS2yblaL5TSxvn" -b+="uK/SDMVaaZH1v9lpkjAOMpcifQMUTBOCufeIyuovfRYqEkVxpvUxAZcqEjZxQC0qzCcmrIaTBnG" -b+="ZIpXpG/VpjcFGtGIZ0HNMo+poqNHpMUB0kE1GC9jdgLNjpi/ljyoKUSIwUkicpc0UXKkFNUmNZR" -b+="FJGpl9HwPbyLz2nGO6opaDiFDmESiWRZhFifgj2k+DwhNdNYWiQZf7141YB+/tnbBI1t/XKdB4O" -b+="0XH/32p213vjvdIHLAhp7cSVytN2/nDB+K1iqX3Vlnr6uqKq9x25011irJ7nQ6nCmSHWG7Taqrc" -b+="dqtJTOsxVV2qcRhs0dPgC9c0RUO14wqR01ZdFSJ1VnmiHbay8pdbmdDtMtZEl1eY7PPjipxWt12" -b+="V1S5IzKxNCbJFhtbXGyNSTCbY0qjIQmbvbDC5aiJjIkyR8UNJJ/Z7FFOF8fFciauiOO4CpHj+nI" -b+="e2C3i8oTjgJMlP7wK7WCxHaxiVx27V7d7r2kHayFANepK3FJueVmN3ZZmdVul+nL3DClZslfZq6" -b+="FZoIhcAPRSaLu08eoqLyt0N9TabfBZoYukgH+t7jqnvdA1w+q0kz+FpIWqHCXWqkJ2aaitK64qL" -b+="ymstDdgIjXWavtVBamMTUi8ujD3Q1n6QN4Xr3h+wKefuBF6OFzFXhx7eVdE8bHVR5aZW2bvV59d" -b+="/35U6K/rpIdPxo+6WdVdYz7KWfa1QPzXA7BG/0gf1zrLq+0O6GdnpDkqJi4qhnxmLS0tr8F+zhF" -b+="MnA3yMkGGPnD1hkP/qTIUW132mMQSN5QgNspMvqkqLyZYdhjym449BqEX1xa2QDDHxMbFJyQmJQ" -b+="+0FpfY7KW+8MzIetoPQgcsKwSrlFbuqq2yNkjl1bW0T6zuckeN5LRDp0PHSdYaOqZgKNln19pL3" -b+="HZbVQPn74V1HbG+zjqXG8aANakkwVxiTh5oS7AVx9ri7MXW0tjYpFK7OSmhuDgmLj6xuNRqJ/Vw" -b+="WqEdrFWAP6Rm0CzlNWVYuV2iiRsDaZ70oWUF/KqCghSNt7vqqtwpKXU19U5rbXhEkQTlhOIVpTu" -b+="dRdIsa1WdnevE6oghAEJ5DTwvt9G3KdIASa6DxHEFKhNph0q4GuBaXe5yQRGk0nJ7FWRXtIi9Xw" -b+="FX3iutKntNGSAxt6bd97a6WhgC0JtyCvBsD7zz90oDa1riqC4GLAL0qIURUVhiLXfDYHPPwLqfh" -b+="ng9OYpDIzA46iClGodbstkBo8qhAHPsrK7d1CYuBOJ09urbQAhB/2XfBv+Lfduq/p/3bZd2fRvs" -b+="Rb26XtW2lVe17SgNbdveEJDiyHAsazcZjmPpy3A8hB5e8GgInf7Dsoe0K2u3dnX5K7xQaWne2Lc" -b+="x+B2DMa3kdnCBFxzSLj7C+V5wd1Y3b3iYFzyAtZUMD2R1d0HlrU7JUeeWHKWS01pTZlfaI7sWsa" -b+="x9e0hFWY4au9we3dvNgt4wlgfzkli7yDSvm87E6dlz7LNMNh5hzpFw1kqG94j3crx+jNb91eTB/" -b+="zNMQV2xu8oeGRsVz+YKudjcfCgP9olNoHNF274ucRWW1Dln2aOrHTYa/yzEx/YwMzxRpmCp1FqO" -b+="Lex2SLOAFpQ2UDrhzR38f4APgqe0Hm4fE2eFa5qG0hEZjocCD/KChwKcBNewAneBs6CmoLSguKC" -b+="gIMwMeZhjzXHmeHOCOdGcZE42D4wxx8TExMbExcTHJMQkxiTFJMcMjDXHxsTGxsbFxscmxCbGJs" -b+="Umxw6MM8fFxMXGxcXFxyXEJcYlxSXHDYw3x8fEx8bHxcfHJ8QnxifFJ8cPTDAnxCTEJsQlxCckJ" -b+="CQmJCUkJwxMNCfGJMYmxiXGJyYkJiYmJSYnDkwyJ8UkxSbFJcUnJSQlJiUlJScNTDYnxyTHJscl" -b+="xycnJCcmJyUnJw8cCEUcCNkPhKQHwmcD4dHcGwakOF1Oe0m5zcML/aOcFrTdOb2J4MFFPZ2LtAY" -b+="6NwUaKBwKV+QOw9k12kDHyEAD/e4qZq0t23ZNXu5/Oi+UOJx2gimAj87oart7hsPmApTZAmXJgb" -b+="LsB3zR/1M8lMteEgP8UxIblLUOGCGQV7CRjskKjo5Jb7gnZ9l0L3CTPM9ZtuONyYs1vXIZAkS4D" -b+="56reUKxLLsQeI+/KtY/VYcSZ0Ot2xFZXF4GhYfKJLDK1AEYba+B8cxmV46b5GviquG6DALyHYMD" -b+="ngw+bP6qgd/8XeHFu7fWmfoU11/nutCwe0LSY7MKlwXr8+8+MDH3x08KTnTZemLL6MV9fgr9ZNF" -b+="Np95ZOG1Rn+ArMxdC7R5dDbX7Tvi/qZ1rBhKTZD8TNwPyS2WzgwynsxlNhkexWsvwEMZJecP+/w" -b+="e9ctaP9kozy//6PiUXX9v74k8tDwQ9seH3L7fJ7Yptildo9Y0PQqsfFtbcGTPPevJoQ+rBxe/mz" -b+="3V9yiI2YWJ4/d+uyaEObWsi/VOtWWaH2bC8JNLqdFobcMkVH5XoNY3mmej6KoHNoWFe/FMvtnKW" -b+="W+8Cw1D8oSMeFXuutLJl2cPQuDqePecsWxA2to1zqF0cNB5q2MH/VddZLImHlkx/59VBraOe/vL" -b+="oU1svX2n7+0caC6lvm2WpE9hEIKTlMPsSxiy6vtxmj4tFoupv4mqhbF8zZh5Q68ijUBPprwrKWV" -b+="ofY0TwLN6YYzZ+nH6fdNeppr2nZgbcunZI529b7jyxrOrU/srDT4S+c5N554lX9U825TnCF/nx7" -b+="88bcQJw+HH4rmhm065bn9o0s/Nuzc/3r9d1DNvVLt6A/GeGrNlv/6A63q19XR9+a/uCHLyx4/Om" -b+="PQePvzbwjdsvvti85tFV39Vf+uLDKT0PPjLsufGr10P3PcEKumgN3LzJ/9ttXF1XRUaDLsDElUK" -b+="bzgYsiYbryqDzwuv5rdyDd98mJL9QJV5cJYg7XntILIjQCPnPfC8c/W2ecK+jB7flsEm83Oscv+" -b+="teC9/5vjB+U9Alrn9qi7j91Wxh1t3+4iN964XNfh2xr/as3Y5+aSDx7/m7+W76qUKngnu598cc5" -b+="jPPruZTfH3FbxrShBct3bhG+3XClK098KPV6+CjF4X/Leq8unNb6izDMnWWYZk6y7BMnb3h/wvq" -b+="nBfYlqZBC6JSv2H4Xw2RVilkRkb018e65zw60VUzcVq7102cpeVpmU3QwnBA4CHx38ZORUYFuW4" -b+="MMnHlcD3N2BxvOJQthZMZGe3zL7NcY4Mpi7UQQn8IMrwIQqSXeMVtLVPebWflkuFVHGMN/1vW0w" -b+="UstD263M3WKucg/SxId6IWUcBy/FnoqZM9rW63vbrWjestW/ksoKhScYM0x+50UOSiayyM0SA1R" -b+="JY4HE7AKWiVf7MRuRVdaEvoBTrYctNHxOBq0IWCHVqgqqpyWIGXSGRZKZEvJRnjaRTs8a4mMmGS" -b+="72l9ymC1PgO+I1HIc0tuVlSMvJTkuAL4BueQfJpdDqaczhLOqSxxISaFe03MESjAIklbXDUxbd8" -b+="hBtCVDFm/K3lsZ3nkjBmR2ytZslaVOQhqS7VWJyx1oMNcUrW1qtThrLbbWKS2xcfkcFl1VbQ2tQ" -b+="kPMRHBSw4pwxh7AxN2yOVDjMxRshwnJwURlXtSqQHt6lRXU1njqK+Jrqtx1dXWOpwoavRUIjszD" -b+="Sq5HPJGpiU3Z0zmXxa+XR+chG9RmGuR08y0wRq/vLTc7mzTRFSWmV1um0AL5Ci3kTlKLisKF9pX" -b+="JrpdXZQ8vBqCpstxjd0o/khWt5SWPh5GhtuOzGBLN1o+pfys2TEOEf1I8BgiroZ4iL9up7W8ChG" -b+="T1NqKmGpDkRLGr7a7XNYye4pks6PMwiaRXFwD2FWCsWctryHF4XZBethnP3SjC9rfulFh0LX6w1" -b+="MioDUpknk2UsLudBvCIwltHw0mCoiDAjYlxgCJmw3PkLLOhysKssocbmk53KvaUjSppq662A4Dr" -b+="7U7xW9WLvKuGiq3rTstr9NutUFX2hxQPxT7slJL7hl2qO/MOrsLM3bU2p1Elssdhu+w3+AB6XOg" -b+="AoAQ5XZklo09qPA5J32cgkDhPahAwFM51spSuQsInUNCkoULxx5UCIUCpTIokANoTGmVo97Wg5Y" -b+="zNz1Pys6QyA6JN11phPed/6DdKfZD30OcLm1wBN4gte/BcJuUjVS/xFrjqClHyWIDpWE4nFxYbo" -b+="h3BOLjFtinPahwshwiOJ3QNbKInqIaZ+pJy4REF+ZGoPpyBFu5C6XU9XabGeKgsC0zOltpq7yef" -b+="9JWmBmK1d2An14IYS1x11mrJG4GfItj6M6eFD9Ky6vspEaljroa6Jz18ByFk0pPMuHerp60fW04" -b+="kbjLq+2sZY/2pAKddIQqyzEJIoyV6U8K4oDDVY5JDfQaxyhoy8dxB4jm/XwwhAnu0mTvZ8iA5bH" -b+="xiEIeNuw47zhDCY56xp33OxQc51nLGMXBMdr2/XD5vdxe8pWlI29/4gYWbUeInUUGDpP1AjwOis" -b+="RyGE/GSo6C+WkE8XPs1e3KhYxpNuAv7fRshsm5dnc2w962ZLLNt0gn4bVCJ7McNQpOjiXpZSpYx" -b+="WCH9/fxRFAto4pc4UIoCq0h3mVAx2c53BmIGRkEC6D17XnQ+bkOlO6NaNfGKEgf0a4vc8Zn5lvy" -b+="0qWp06RwnHeNYRTvOsMV2zU4jG5A4b4mIMks6NoaKtWz2+JZ3CFhFN9HZGflpU/Ki8zNSR+RmZE" -b+="5QprKcZPCKN1qn54lJ2ds5ghLXmZ2FkbjWsLoGG4fL3VcTi7ZBcovd5UXV9kpMBJX/WRPy4bVnZ" -b+="A3Ai+ZlgQ5rs3ucNtnUyjPjk3IgBz447YqCQGWoPiAAkCbctOvn5CeNSJ9Ql5GMn2YnjVhXPp4a" -b+="KK08emWsdmpo9NH5EmZaelZeVDF9PFZE8aOzR6RB1QtN298ZtbI1Ez5LhMaY2T6+NTs7LHplizA" -b+="wHDz7BTJ3YvSnjm9KN2X67m8F50XKS5w3EivfhrVdn5BsowyYKnKWmyvkqkIEtOwMG4TpIPqAx/" -b+="1oukqNBwID/B0LnckkENrrauuilKPYkQeYHHbxnPa/yQavLVW0w0BaMryGqRpdMIic3E4NAmZaC" -b+="MwMiOYLEbbons/nUHGpMuLsiLTPD5jRFJ8YnKbwnkKhlsa9tlufIsiYRgYMOG05VjxXarVZU+M9" -b+="7BC3Le9KU56CEoelGksFkmhLGO82n8stiM0Xbp3k6TKLeK0/9Fz0kq0Q0nio0gd05QapnvVJA8q" -b+="MkKuhMwc05K3Kcs4L/6AVYw2cbuHcjMwAiiTHALIySs02+EGMpJe46grm2Fxlrho5HRcoKTBOti" -b+="dzhqFUh6OrHjk8mTjGEV9g9hk+DTP4UgtL4MblpPVWcK1jY+4nOO1+XT9P7ZwR7oUCXQYVj8Do2" -b+="LZ6rYENwiW9aWqNEjvkOeR4SQGAxfh4Zu93uN80OXfLB/b6jP3M3GFkM8atkrNLq6A9vYw6EiYW" -b+="/tRnuyZfnRc4zf4i4Kwjz2j3K3VSRkG5PwUmuECUskd6Uf5nf9tQQkXTgUlHZg0QYZD2MazVaIb" -b+="/cvCKQ8uw8jPy0oTrfCuUzvcj0m8Bu7DQzn3f3q1fyqcrvZ/pav9Q+/Aav+r4D9c7ROuqJzuu7p" -b+="mQIUq8c4KtM+JnDGMfWtJubuhKsJE5Cn/vbqE01pfCBM0lHUlpIlU62mmZjTeawTmogpClcOFG8" -b+="PQcI5KKCEwv3WwNp9lB3YZqKy1FClpsZ2sr5yO2locFkVe6iK4/Vr8X6qLlPyL6iIr+7dVF9Hrc" -b+="93WksoUPfxormeH0Wvv4fQ6mV6HL6XXRTvpteI8uTa3RCFzyR3qWEKuLR+sIFf7/v14lQpbBWQW" -b+="T80alYTXh5d3rYbr8JOrzQ/DdVmPXdveh2t8358rjSO45uNJDTstI7jWIwsnxs8awe3JKqvesW4" -b+="EN+SOohOTPhsxfMnzs7s/3Tkt58zn75/oOibtzvfGaQ6ebU77ZfRnbwiRz6dtuv/DhhGzv0m7Qw" -b+="gf0H+xlJ4gxr5wbkNeutBy+cTMD29Jn9+xZ/RX/banh37w5e/HY86lf7OkdeDkoREZvTfqFp25r" -b+="TAjqEb9/PNb7spY/WZG2BeP78kQG498s+rQ5YwF495wWlPjRn4hNRz8reOMkSHlE0dsCXpg5DMP" -b+="BfZ/98A7I7uPXn3u5gXaUY8V7PwhomTIqK+6dE36fZpzlLX1+K7ZPz8+qmFP8C/vP3t01Ni5Byf" -b+="vPuOf+UDBiLMvVGZk7o7LO/2YpjGzoHXTc/1ansl07XmoNebkycylKXt186aHjL7PNu91v5DrR2" -b+="+/9Mmsd6wLR5vn3h0wcuvW0UNrPqmq2nR29IE3Axbd/FnvMZaLXSq+7jJlzJNDcj6PyVk2ptO4E" -b+="1OG2naNmVh0/w/j5v42pnqLquaho9Fj03567cSJr0vGdt74U/fpJ1aODVld+1hd94Nj77CW3lzu" -b+="FMf9/Nuwr8Xs5HHO80u/2FVcM27khYF+L116eFyXOXvejnj5g3EPrkzJcK/3zbI9eGLdnsWpWUP" -b+="e+OT9rVH1WcaBdy8p/3191hMjPvl1frfPs+5Yfrju4UcCs59/MbPTYmAC/QP8Tr//9PzswHv9n9" -b+="gXsjl76pX3Dr368LfZ97668PMX0kNzmqL7fdxnxYScwgtnrz9z8dackPsT7+r86fac4jTV+fs6/" -b+="5xzwwT1Zn5q/+urJ+z0/2x20fV7+sfnd1mx/Po5CTvWHdv25vVVOya9ZQjkxr/xQ9Qrt4fEjx/4" -b+="1NZqZ1j5+DcmR/h0qHxwfPcjL9q/fvjd8b2zwl99ZLEud4P1x6eWPDU01zh34ndBka7c7IINp6a" -b+="dfyK35LkjxXW/fJLbo/aNaT5bO+b1GTvw+cUzRuZFPXjzw0+lzs2bu3N5nw2Zz+YVnPutJvjol3" -b+="mumVtu7XFXtwmnMp4L/Onj6yc8HFx09Mz4mybs7TH73XVfvTRhWKfrbG/V/jDB70jCkMv7+uR3z" -b+="Lpx35DhU/PfMr3zYF/dHfmXl+8eaR79ev6QlC2Tt63+Pb+0d6ctPz9kntj8XVBf117bxOOn7j/T" -b+="4dK9E5c889rPEUMPTTwzLc61aZxqUmUCtyzUOnDS66ncufIXHZNeimhO/vzdRyb1j2/d/dGeI5M" -b+="SLKNm+1/wm7wjPPLbbwpGTP7Bef6xPvGzJ29YOqtDtOWpyfu6rC1/+dTnk4e1Buw6/XDQlOw9XX" -b+="5+YvG4KbHdzb+Nql8wZV7vxqSQzi9MeSByqrr4o9NTFlycNGKuLmzqI4Oil6++NX/qEv2gF0dEL" -b+="pm64stduaNX75g6RNp8qkD8Zeq4NV+ExbdcV2DOPHB3a6y1oPFjy0ujmu4umDq+4zddj+0taHCN" -b+="eaf2LW7axJxPNeMux0+rPnH3qONDKqbtempa5PrS1ml1XZ9Pnth8eFpH6+ea6laf6esax/VOUw2" -b+="f/v7HRZET1O7p+zq+OHut5snpTRO/Cpww6tj0p+/JiUq4rVPh1G0nGhbUjip0fjst+JEl8wr7PZ" -b+="dy5mTQc4U/FPpUHvvkq8LvXngrfeJ73YvOjX9wcf5j44ue6Xdz1Pqsm2F0hKdMDHu5SFgxuWVWw" -b+="o9FOy86+hx+ra/13IW3om5xFVhnzx32csKeO6zvFywdMCJlt9UY/9yv7+65YL2ZOzSnZVpM8ZNc" -b+="y70nN9mLD3Mnr/QIW1XcIp0pzP35UPFjp75JWhOrLjn48Mn08U0pJTsWPl1519LaktiyVRmzn3u" -b+="05PLw1En5xz8seXBGxK8JA0y23a/95B6RlGab/Zx5fEB6gy3/+LbSyfc8bUs0Jh7/9eUvbCOWjj" -b+="hStyHYHuDKy3r3SJb99BvnTC0jb7Sf+i2ms73LFrt19rwpr/T83j7EsPT8+++GlRoPPLt536KJp" -b+="UvnF564UnFb6W8bX/r+WPFrpcn3V3yz4sIvpTelqU/O3Tqg7PDoXk/ffs5adkv301OenXlP2be9" -b+="n/ihh9++sk71uonvLuJnfLB87wDdtwkzfFMuJe21V84YlXa5+IGeD82Y8t7LFxaWvTfjmdEb5pT" -b+="t0Jc/nbV+/fEtw8unFH/wQfBX7vIfUvb7HpPWlr+f1jpjcd7xcmP+ntSnygMqllbOebdLS2aFSz" -b+="N5lHSyqUL3aFJk/JnnKvS3LUzmvz1VMfbs4zft6NOz0pwffm5lfW7lS5WxMU0TFlWu1TRd+rTil" -b+="cr+Nsf0t4SfKhOGGBLn7exXtcB4+85pm6ZVvf1G8n1bl91Ztfu33cO/jn+jKmnL+WW9hEtVvVyr" -b+="UvJDY6u/zU59c92TpdVffnHnS4F5q6trDwxKuH3T29XG12597ZlQTc1SZ2Rcj7WDau4tu3hs/Oi" -b+="ZNU3zL6z4avVjNcesv88NVX1cM2Dutu+Xf25yzFpd2T8lJN2x/EbN87riOY4hHXvPTJ+70bEvsH" -b+="r/PatPOJoK9jRv29ml9uDAuYcmdM2pHbFoddq3Uktt3tqdnftGvFj79fL4VQ7XmVr/T7gdfdb0m" -b+="pkfYImJvnPSzMrJd1zauvn2mV98MOfT+NidM4/e1iXwtcu/zsz94cFVzsuRzsO/jHhI+2qx85Zz" -b+="y295s2aFc13M79/eMHq/01DY6LotS3DtnzX1kPnzRNf8PKfq5fuqXIfcb4RtPv6QSzW+Yd0Xk95" -b+="33fT4xHu6nTG4A/b88snMOos7eI57woF36twPrHz7m/kj17lLrrwW+4zxM/fgV11Nn2R3rjM8nX" -b+="Ps8COj68qq7zTYH2+u266rz7p8cFPdD3sDPr8kflP3/uWxG+alSrOWDG2d1CM3b1Z01p7vT5bdM" -b+="usl65yKYztendV57pKHr/vwp1lTVkcvnnUwvL72xguReWJhfd/Yl1cHFN9Vv3He6Z33puypL3jg" -b+="q/jhmZfrf3vNFLrnu9jZW37Ki0h5smz2Y+a1zy266/7ZZdNH1yY0vjOb/6VgX2qItmFBnLup0+e" -b+="DG2Ja10SP9XU2DNlz56AHlz3eMG5Ovf6N+KMNtetvLb3Y6j9nycTI5kE+GXMcG5KLbl18wxx7Va" -b+="/GxKRn5jSNHBCiWnhyzvTJv4amf9n1ho9XpCR8ezDnhneG3CJ8KS68IeO26248lrb1hrHJF54xV" -b+="J69oVAz54EDC3s3/nJzcEbqE5Mbf887WHmLblljcv+du9fpdzW+cc61Jd/3t8bzPywrXZ8TPXfQ" -b+="iq7bK+8smasfErpRU79y7tglEQV7lh+Yu/HXewde6ibOW13HLRp8ImmeeBe3dswn1fM+nzp8dPb" -b+="ah+d95DzU7Yu8D+YtW6o6EdLft2nrhwtqrk9JbYpY1mvvyT2zmuLc6wf3vGF9U+uebxf+tO+zJp" -b+="sXz4qqarhjXvbP7TVeSwURheiE098ebyL87a08VbOVYeSnO3nBr/BU0ifDm3i6eyXDW3gqyZPhD" -b+="kLb7/sJdJ+S/4sf2Vw++y1TV1j+Hdzc5XvlP/x5jHKwB9Tqwx9/8Ffv/49/f2dxtTzpn19cbU9q" -b+="u7gq91oYoR5g5X+5MKr6FxdGjcltF0b//RLZ7YyuxSWwswbTPwLpo0jospoOHG841AvWa9q+Rxj" -b+="fW10wMr22NVIkl72qNKrcVYgSvkJZDBleY69HCXiEXB9U1vL1Sm+xiuq8s4UtpFeF8mvJPrvEbr" -b+="fZbV7iVLZxOMM+W7K7AG/sytaiIlR0eR45qqutQHZwJ8hKxIywjnY6yvD0RnmNVyK4IVsNbQura" -b+="EmWZ6C81Omo8hJWhhfUmeEXiZeYjAi6ySPVz8BNn1qrkxwrkb+WhRx1NeW4vULUsekuPd0jbKNU" -b+="L0emr2SIFs0jFCLpKiDZZlWgchQ/KVDRDUUoGCiaWuR5NIA+mnv1o2lej1KK0rMzrqoSyetaL2i" -b+="ZrvGmRnIQsdi1PqoCyo97wNBFdgkapqquukYiO17hA8hDPMFDH6dIEc8NoiL4FwdRcdOOQVSn+a" -b+="1Bbc/roKC63dEf7vQguv32+yC65dE2bk1dVVXb+MGD6XbovzhpEQqCY2845IVClWd5quIhw5sZn" -b+="ZLhl9u9383TMw8yvJdNYu3PgtWxXzEgXKmz7qofaldajv+Ok1QBZ2m5CDe3d2Ea4LOsznJrjRuI" -b+="5FDagO46IImex1y3oXT/BwY22SCQ38QPpfuXgPVKKmPhGRJcO2B30VC6Z15treWqhtK9Ixfud9e" -b+="U2GcPpR0sp0nLwnGLWBnogROKi60sTZYPnjXhNg2liEF0FIiCKcftYc+YhJI7OpQqxnvGdFHR6a" -b+="EUOX4dShGqtMphJfszVKemSDeM7tXK7+W9cpSwhQ+je2ryu2KHAyhNDXmX1u6dPFrq4mK5ei9uC" -b+="fUSUC9ljtdho79zuKZlGJUp19XgaTTU4ZiD9BHxy+GegXsr5JaSmWp7tcPZcDUdxQ1rr817zz41" -b+="OWLirKvFjQRnWR1Oh3TgytoD8ljCFPB4Aj6vttY04AiudJU4HS5XpM0+q7zETp4gpXGSiDYgxTD" -b+="VVdpnA7Unm3skDam4ztXgtLscdc4SCpCnJDvkEhByNbjc9mppZp3DbVUmB5fdXonNA9WAOyW9Gu" -b+="A03A4n7uO7gLuw1ztRIwAlvbjfbkP6670RJt+X19RCi3l0bNxW3NG3u+sdzkpazhnWGluVd3GqH" -b+="I5aiex22cpRL8Ezf4Xbo8qiJFdDNWkBjBeBTGuko6aqQfJKAT6WywpFK6+rpglBj5G9AaJ8Vu4C" -b+="BFCe42Mv0NNv9eQoYTFp4Bo38FSStQrzbID2gu5zFTsd8EKqLa+1y7WyOeprrDYbtD1VRrHOguk" -b+="T21F+CFNlnctOFDUcNTUEf9gN5mgtJqgjp+Z1BmmGA/DFC/b6CNK1u9vApZCF7Sr9FlYHRaVCCn" -b+="e4GBeGRE8eA4+l0jG8MZWONYruEuGpaLsArjN9IsqqcNy+VKov8lkqpWUys+Ry2+h2FH6MlHqEi" -b+="RxCnMAIc4m1BotT7bCVlzaQfZtaK0zy0gyHAzDE6aiGjiFPKpGIuGdg64dDGvHXyEOJB/nYRlDd" -b+="lFvYvosMpzIdQBm2CPTg3A1ejGwjhHqvfbq5EOYxxhbhJqb46h1nPoQF7JnMwN5I9lkVcjDBm7R" -b+="kI1HJrnNnl44jrevZj013lGZ6yIWFkYuxgG55DsdYh7KtmcFIBTwdB5RiLBKKEUgo7K40QingQm" -b+="lDukIb8JtUIAbjGWXAe3yGKSNZyFBG0fVIFdIZUchyuHMZNcilIysDZvuJSAOmAAlA/QMb1IUVD" -b+="NVg2G0mjv9cHPVZFKExg1FkyHuyGgsjGdVSsmEce56myaMRt2dxyGa6LN7PPMBEHKSpWFELHZzp" -b+="ZGymkrGZA0OT5Z0GI9MCgxA/lgclwpk1wKDAwxHycByhjCQLHY0sgQmewTcKBqMX6PliPA5Fb5C" -b+="MxPb6NrLmiofSuOpKoMdcpXVVdHFiYgdscUwZ2L0vu+/E3v+bwZ8twGS4E4N92QFR+QC1gd13Zn" -b+="ucfixuX6Yl3YUdwDWycahn6QWxd34szQA2lnBfdNhwExcNoQsEFYTfgC59AeF9CG9B2ALh7tR/N" -b+="7RAcEIohjAewjAIkRAkCB0hXLKYuB8gfAnhbQjbIGyA8CCEJRBKIURB6AzhMtThRwhfQzgG4SCE" -b+="LRAehHAHhBYItRBmQBg3nPJtch90YKEjg+V2NLG217P2k69Gr77zY3gj95OOfWtgQe4XI4uvY98" -b+="YWZ6dvOLKuKdm9z0ygI+EcCndxH0P4RiE/RC2QdgI4QkIKyAsgbAAQh2ESgjTIYyHYIEQDSEUgg" -b+="HClTQTdw7CaQhfQDgCYT+EzRDWQngAwhIILRBmQaiAMBXCKAhDIOggmCH0gSBB6AThzwQZspBEU" -b+="dKEOrVmUj2Dlkw6N/gKtL5XL8yBKFYB0zR0iGS+SioAjHm0rbyhkHC+RKL2dSY1HTKWtb8MZzGY" -b+="Z/2HUr9TwMSbYEXSehPPDU/twDXfsxIm1Z/V3N77BglsnOzB3VhgvCVIYLivyDW3wIwWGcNzr31" -b+="r4JYnQFV2OH68qReZh+afWb9wqqU68nsVZ1l99w7O0InvWfGq7bvkmu9WPPHRObIfGMxZtuOrvv" -b+="zQu6N87j0mXkru3CH6hLvX6Z8Pvqs7qtr10cb927o0xT0u9u35dZbAWRbdA7Ef1fONUSun3vzuK" -b+="84HPzxyc3TnjrtzPq2srRl9sMORu9+rmfls342luzf0Tuzcfcq7qYP98q6UbHdN2Bd05jf7j+Hb" -b+="Jvz6xtHmo9/VnDtw5mjhr7lq7prNWFrljrXZiaAFZ86GaBvMPQ4UtlzdJbYo4Jfd0lDJzOWNofq" -b+="9ddwf9R9ELq+pc5HYnBJ/1p/Er62i0eW49X+WNhQkqmSGHZhGWyGwfeH08wgU5bgc1XbUaZHTmf" -b+="1303HVFYezYnsnJKfT8IfpFNeVRgGnEB6B6DrOMqkwN3NkYVrmyMy8XK+6z2Hfy/AOhpsy/Bvee" -b+="8G/MzogwyinjfOC9Xzb9AztYGM72Lcd7NcOHsNTPk2G7Xzb/Gfy9GSO0pd82/LeyMqHv2PpXYeI" -b+="B7t+uePCvssI79193xtBl2vXHb1wmMDZR7e9cvGZ+iu/XDhKYOP7lZYzd+S/4n/xBIEHX2xatqH" -b+="nodsGXDxN4BvvmxATXnD9uxkXzxH4+Tcf37B0/cz7rRcvEvitxd/3qg9b/c0NF1XkzGN17uzhd2" -b+="Tue+qei0YCTzyweVpDx8ELnrkYQOCk/AvjEpebXnvrYjcCZ68clez45p5lX17sTeA3Uhb0eWuh+" -b+="wPu0gACn1vx6or9B29qDbkUT+CT6/sHrdTHn0m4NJjAtz+b0P9CWfKzOZfSCDxo2O53jh3e01J5" -b+="aSyBt+5/t2u/tE9eX3gpj8D3vNnnpQMPVt7VeqmAwC2PFc/tXbX+462XbAT+5aNC30ml6x5571I" -b+="Vgfv+sPPTu85//tOZS24Cb2m+snbNhuef119uJPDi0Y1V6sLim/tcbiFwrnlHfNGVbW8Ou7yEwB" -b+="P6br1jycKse6ZcXk7gl+dF1Pau/+2Y+/JqAi/dcnLLgy8fe3zp5UcJvHyue9HBwifPP3l5PYEPr" -b+="lqz9K7atBd3Xd5E4MrOHV49f1Z367HL2wi8OSbGPqHPxv2/Xd5F4PVNNxza/fmwewOu7COwZtB1" -b+="/XeZCk5EXTlM4HfvdJXf27v32swrRwnst5e78cfnb75UcuUEgb/t6n+nTXdy27wrpwm8b1GOw2f" -b+="ftiX3XjlH4AH2Lp9PCnrh7eeuXLzCWTa3ArFUD1994AqQ4F0IvD/A9NjhU6euGBk+Fq9//dvZG0" -b+="RC26G1fZafnz1w2PweZA7iuOc6a9+84cCK7ckEvzmutuCbGw7EzluaS/TYOW5G89frHk1+571qs" -b+="ibiuPSw+4L69st+cBHR+eO4fhd2HY55uOS7h7k0Aq/ZsGdJsv3TjS+T+YjjPrav63q77o0bj5Dx" -b+="wnH3dZ+Z+lv3abt+JGemOG7SVyGPDygfd6cvbyPwN7fVdrV9z3/Uj6fC+tH1Z+6795Hqh1N5N4E" -b+="XVs7ddMNsnx8L+EYC1wd/0vDQibxN9XwLgV97fdXUO2+aetOd/BICD5l2z57XcxP2rOeX0/q2rv" -b+="i9YFP/u9/gVxP4i8LWe19+MOPTz/hHCdxnycCP419b9dhFfj2BCx5c+Yjzvt2/BAqbCHzgla/zc" -b+="l89+kKMsI3An1vCfgz66eKiscIuurqdXfDuqgPSvlJhH6UGuaE3/DQlcOV84TCBU8w9Vxx9vvXz" -b+="VcJRAt/z3BcFuW9/uGazcILAg9OeePTDxlUXDgmnCWxKe/SJsWNnvfStcI7AXVcP33zm9nWLNeJ" -b+="FAg9omfi46UzPQ5KoInbHImLu+Prko6ZVg0Qjge83rn7owirTVxPEAPr+3KDiD6Xw9bViNwIvPP" -b+="jEnOlj0poXi70JHPnJenH4idBXHxMHEHjplbTp0avLbt8uxhPYsmXJ6vuD4g5/JA4m8JMhX2y68" -b+="+MuD/wsphH4w/pjW2tevefbDqqxBP57M2+Zs9xVR7iZQ+NNRPNyLuP6ZfhJNoPI8Np28Lp28Pp2" -b+="8IZ28FN/MTNK18nT8mApPEYaPFhKjInw+v7pdunhjITc3Z/pLMpxfZl0QoYDeXoiQoaHt3s/kr2" -b+="/uqyhOP3CdE2kTuER/4FIUk77KP8X7eBVffmbT/i2df+0HdxLoG0hw32FtvUpaAdvE6hWvgy/C/" -b+="AYL/gYe/+nuMSM9XSbQE/ybfszjmWqeRpwW8UF/cwFKJ6Xv3n5D7+ptTrdLg+fE+/55hX2jTkqK" -b+="vI6vJbXlGZZs/6CUaq2zoZ7OY0mgXIbEVFR3KUJ9PQC2bKQN57I5pwrhQiw4Ds87ATpUUVkGhGe" -b+="wAor30TMP4TnUy387ROoxC3F6z4vn0rd5CuVauGOqVvq12+A1Miez82nEv8lXhKn2xgsS8NvJ7s" -b+="DbuAhXaFDhgy5us5F4VX2UrckOcvLZrgjivSShDA8Lxqgpw/xnpwceCmfnkA7zMr+ZT7dNfiRla" -b+="PoT+IET6RlJqdVWT0HT6TtuMRL8raUmWG5AxVL8XeDfoB+AFykudLccH34gHb1u/NaOFda7Ua8Q" -b+="1xbNpGae7OzlZN59v9fLCS1bYe7kCuCcPcftQcbe62TaHvUaqgU1Pxf/uT0KjT09K/bWWcvRQuj" -b+="uJpm79b40Lxk+GkfKpX4A43zant1CTGRMGoyHSszmVkysrcrudww0NmQarPrSw4ukiS8VOdnT6Z" -b+="4eCtcw5Q0cLeGprBtMt2Nkt/T7+k7kpMLRx0ZyfARAbijEBfL/+NkKulmeyz0U5Yv0BDlNCoZf2" -b+="iK0I0n3Ymsr01U0xQqOe8DV6RPFyfIO2PyCTipzl0amUyPC8v7e1Q2TksKPOAUenJS2ScnHyhxv" -b+="cT1nq9WT6EnczdPoW30l+oNU+gJilQ1Ha/ecJgXnK+mekEynKChfIIMl7SDbQyeGhUVNY3UkfUu" -b+="UMw21BXvgMhMm0p3J2ZMpf0g05Zie1l5jTR4COnecLyJkOpn2Glz4+YBfLtyKt39fHwq3TldO5X" -b+="2v5wG5kk3g3BPUzn5NUgqd9Pzqy7kF6Rw2pgRpERyeY5OpafPhAIqwdMX0K12Oe1rti8bl8kFdG" -b+="xoeWrW76q4TPEBTazSI3z0dImtgJ7A1jOzdzKM/ZpIJgVRrdZoBK1Gp/Xx13czdDF29TX5GTuoT" -b+="GLHjp18AvkgVTDfReyqDeG7CT0DJfE6MdIQxZvFGCGWf0J4UlirWqf7XbigviRcFq/4bJjdsPi2" -b+="h80TJy1esqzbJ34dxoy9cDEqeljBtMLPW267/Y47n3xm60uv735z76cnTl7hVP4dI2Lik1IGDck" -b+="cPa3ldni5aetLu/ceOHjiJKfy9SNvUwalZ2SOnm6zt9yx6v43Dxz09Y+AR5kTpxZML7TZb7vjSf" -b+="jk9TePnTh51tc/PdNmb255dtsrr773wdkfbly4+NHHX3n19TcOfvTxqJUv79994GBmVvbEydMLb" -b+="7l96TObX3h1x+43PvAPDJpa8Muvl680V8/89JhfzxpHt+6Fc+c99XTTS9sCg3r0zBiZlT1pSsH0" -b+="eU3Pv374vaNnf/jZ6Vrqrrunb1T0E0+/8OobBz84dt/wFSvNS3u+c/jAlazsKVO1ug6mftHfn6l" -b+="xJA0Zlpq+7I7csro9bx56+8iHX12+wkmFYQuOqRak6UJUGv/56/2a16l7+swPEbvoeFW0Kl6lFX" -b+="mtRuuvz+nQUTtBK6q66X1EnagVBVEUjSq1aNDwfp3VWdoQ7UStoAky5qhGiJEir/LXdDCmqLr3K" -b+="ZSqVRV9mveoF2wUu2oWXBInawN9gn0CjAHGCo1e01UzWXudOkM/QGVU8WKMYYCqq8YgNq+HV9Ex" -b+="48TmR3WDxQ7iYG2y7jr1giv+wbpo/0gxtENoh+YlqgUruhg6L1qujlYP0gp+wT7Nr4S5jc3vdzW" -b+="qm6+om48Zf7xfTPKZXxDQvEXX/JZaHzxI1GuSdRk6o8Zt6CFOUU32ab4xuJs+0GesqvlWzbpHjU" -b+="GqmIdU8z/qqzWq1c2Pm+b/rOWl/hp4e5uq+RUxROzgy2l4HionqLVaQafzEfRqg+CnMvH+Qkd1J" -b+="/8AvrMQJHTx7aburuvJ9+YrVJXC0+IzwjbhoPC2cNj4ns/7wgfCR/xx9WfCV6pTwvfSWdV54Xfx" -b+="Am/sN2hoVvbSBx548IbFd93z8LNbb3pGo/VJHDI0/6dDb6sCghOT8ic2rX3q6ZcTjne8+ZbbH1C" -b+="QEXExK9tmL9j8Qkg3rU5vCAhKHJiy5skjH/okLbtjjVY/aGhp+dI7/R2Fr35/ZkrxuYtXcvPuWx" -b+="UV3S98wv2tDz3y6BNrNmzdtktjMHbunjIs/frHn9i3v1XbpWtYn6HDvjp95srru1VSrz59w+OSU" -b+="0aNHpuTOyEfca+oxF5a6Zo9t+nWR9c+vXH7oaeernG8ctf0sBvUoipSLBX56KjmBd3FmA7dVL19" -b+="eqivU6ep/Po3r9X0VvVWheviDVkj5if5BOp1wYPSB4olOh9zoDpUDFHzw5NVY9TRKr3WRztc6qc" -b+="y+iSKKequWpVRm5OZFOcbp43S6ef3HT/mOl3/wK59uwUE+WRBBmm+XbR6zShdP586Q+rQ/ppBar" -b+="3meg2vNonq5sXFPUbp9M2PTw9LN+g1vp1SNPrEAaqg5hcH23KNo3z0Gekho3S5vplaffMvGfru4" -b+="sjMJNFPp9cM1OrnJ3bRDhK75fMdYn1vXFVaZ2jedevYEt8Wsylw6doFIx96ccFAbX9VgaavPkMf" -b+="ru60YONU+xjVQK3/cESJFed1Le/393n4q/lxHfjuGj+Vbv6SW1SVal/RR2u6s2ikj3tw8y96l66" -b+="2c8YcHAoTfbo03zx/pLgwtUPnlpyeGk3ze9eph4bytZFiV5Uwf3hP/xQ1P/9Q/wVfNv8aMValVw" -b+="k3+qeNHdL82mANr5qgDokX5vsNUNmM+frmp5K7+w5Q+cCI0DTfd+MRlb/oK9arCjUwvjoYVclQu" -b+="XBdWNb8PGN3KEuizg+i+mib3+qjb9H8IQ1n10JUlAAyfs01U3F5GWNhuZxiavVjPU95/KuZ+BpH" -b+="scPpdNRfY4WIR1hxgRxvvvol1WsZKpnxxDwuPNvylPfIlhPQ5AG5IbxFYV1todtBlAZQC7HtNyt" -b+="wbQPlDWcnXcO94AK2G4WLhRtVEneHuoib1qmV6xgk9TRKRT3PDGi9rr9ZGuB4/PgAYU1RZI8LRV" -b+="HcZSnxgStFiZf4zxJ5fWhSb9/Pktb5WQdGBz800NzNOuqnHg+NHR5vzTlb8dD12Y7Q8fdve2g8d" -b+="9Caa3/7oVzuo9A87vhnE5763Drx9InQyYdOPTRZ4r6ffJZvmsLVcloukud5Af7xowzmzibeDhRX" -b+="EHhVL75HyFRDio8PH6zifYBAqa8TB+v6B/NSEnyg0gFl1eqF7nwKfq7SQRS90JUXhIFAyVQCUHK" -b+="+hyDyBoTVEIEPEAKBzqVgXhBbK+qFHvwg+NYIX4ZD8pCqqAYyqBUMJFUsEmQqINxNGCh4cunOj+" -b+="JVPCTO6/jreUFr1BXzgo9BmymEEE3pJD8eclQb+N4+fKmK10ChhC6CSjSpfOFWw3fgoe3F7kIP+" -b+="Ddc4LU6XjD48DC/8HVCGD9LVAk+vEb8GBoBSqvFFAWdRi/w5p4xKjPAaj7cxyhIUEleTOZJQcQU" -b+="nSCsFHlfXosZisLu4Ry/M5QTb+OLJE5TLnAqXi8JOQKHlJ7vIqj5FULXjr58X10XQ5Ro5rHJ+vE" -b+="joOUFwQj1iubjIFVBUEO9+ws6/ntsNh4Q32TC5SL/OX+3mhOhlqpwUcU/BulzQo6YYYhR3cAndo" -b+="iAeurFGEhTyw8Re6t53VDeKMT7wBDnC0VsSmgU/n5e1HUmLcvzgbyfVlTv1GFlgrBVNdhR2AnfQ" -b+="tk0cA0RJujwSQVPPuftInSqmvPhhZ+hTwAj+GWQn4qX9OEa0lMaQYyCBgdmDmKPD4SiQCpzNCKm" -b+="Cq04CrPiOejdeLUa73hNBw4mXY4fproennNRQhAHbaBS63SCtodqucglqWJ1vB8fqOY7QKr+JEW" -b+="1jW+Fb4aooAW01VquqPksdyPvU+t02OpK7E6XoKuCxU6dtczOq8bXudycEV6hioHdFlncIKqJ8n" -b+="OfmKgkc5Q5sgZX+lUNUriiDC3BAjgu0hwXGTMwQlNvrYLoGnNUzMAosxHoTHVkMTDpZfaajmhmP" -b+="zleCi+xW5NLSuJssRH/DzHnAiY=" +b+="eNrsvX+cHUd1J9pV1d2376+ZntFIGmtkqW5blkaWZI+MfmF4Rq0PlphMFLH78eOTzYf3sQ22IXc" +b+="c45EVQfLkmQEECOJNFOKwYtcBbZbECosSkTiJEhwYEyUoYIiSGKzddbJ6xGH1doGnl3WyzovB73" +b+="zPqeruO5qR5CT7ef88g+Z2VdePc06dPnXq1KlTwT0P/5gKgkD9V7Xqbj0zo2bwN7jbzPAzfoK7F" +b+="R4VPYQznI5m5DegbHmmh9D9xjPuLdWa5tfTlHC59L42UzwGwd11SUxPT1Of066B6WlOo0X6ac9U" +b+="/6MCzd6kmUHhCP0wiNMOxEck+YhLHpIkfvR7dWLe/bZ3rLjrrne/7UcfvPcd9z1417ve1r3v7Qf" +b+="uunf/ux66a/999wcRCiytFHj4wP4fffAdd73jvgOBKipz+q5bt99/32vuveftm9++5d6xW2/dEg" +b+="QocL0UeOC+B99x4J133bfltTvuf9vbb91y/2vfvvneLfcHYaWRB+979133vO3ee7Zvu2/Hjte87" +b+="Z4d92y9P2AQV0qBhw/c8/bJu7Zt3XHr9tfef9+WLVu3bH77/dsEEFfkvv3737X/rvt3bN28bdv2" +b+="e+7fvvltb7//7a5IWsHjwDv3v+vdlP2n5pwxoTEqwN8giFSgldFGmT4dB1qbQMVKq2ZgBkzQbio" +b+="VqH6lTFinsrV2PBgsiWJNrGOCJOCyQRAG4ZCiMoFR7ZiaqgVxfami3GVxHBqqzR1RAZTXukb/bx" +b+="hKUhG1XKkoNlGigqgZU0sq1DoAY4YB/xfqKOJ0nJgoCCPqJwJM+AlD+htSo0BGK63DMA5rsWqmS" +b+="nOhOFSxqVNX+K9GZQlNAKy4ReoDUBsTKS5So7+RMZynawZ9mL5A1erDK1aqBr2Ko0DpMIgIM0oR" +b+="qzRCgKmDiIgY1GhoQ9BTE0CAPwyJsHFIufRfI0RZA0JoQoMqo5RAstB/YRikhn+pIlFEE3buDcF" +b+="FjRP5A7TZarWisKYeUk/R/yKixEBcp08wn52dC5q1WRXHP3bfj71r/0/oYODt7/ox4ob77nr4R9" +b+="/x4D0Hfnz/fcHn1UCFRX7sngceeNfbg1k9WMncf5/kflqvruTec++9dx14l+PPh971ow8euG9/c" +b+="MT0V4rcv/+++4I/1fW/Im7JVfNz6jkzZ75gnjZfNGfM75v/qp/Xg3+pD5sPm0t632/T2+f0x9Vd" +b+="zxGD4n/PmY/Im+fMx9U39Qf1N9RHNJ6pnHmW/n1NfZHSP0dPP0W/R83PmpP0/C/p34co/V71cfP" +b+="z9PyYOWb+Ff1+zHya/v5r0/6y+SXzSfPvzCfMvzW/QFmd4+YXzePmw/pT5iP6P6p/Q1n/+x+pD3" +b+="CzT5hfod8T5pcBDTX6IDJ/X39B/6b+Lfrfb+rfpn+fUL+jT+tf1w7Y58y39MSc+i8+/bT+kPkN/" +b+="V2195v6pD6r/1KP/TtC4bD6dfOr6nn1WfNr6i/UG06qU+ZZ/WfqP6sf+B31IXX7aTWnv05Y/qK+" +b+="893fUf9Nf8PMmuf1d/Sn1df1KXVcbX3OfMP8jln/w7+rftd80Pyvn1VvfEvj0yfq58zvLdM3zCy" +b+="fviHIj+rJzKwJrMkvqm4WWpUPd9frYLtB1gXKiigrLbPOU1ZMWUmRZRU/nVP09lzQxV8qk6bPKB" +b+="taXTYXUaJoKKZEpQldNnGJmuDKhgpYM6ofyIbx86jKmtZs1Qeytfh5c7Z+Olv3RKaReCgbtZR83" +b+="S575Ilupqwet+vkmaBHgTuzdXZ0OruJclZbNW5v4rcoSi/fk92E2rfSS23X2nXT2WueACno1Q9n" +b+="G1FvE6WtDcftJmk1tq/Bg9U2nOhmNXsrp6hfSiX0G413s3o3a7gODmW3ooNN3ME6e9N0toU7WGs" +b+="3Tmc3M5RU6q3Za9DXLZTuUAv2FumrZW/m1kMbUettu6XS83W2ZhsTNrH1iS51G48DmE0lMARNDy" +b+="CzKtsESG52kNwq3YX2JkAyxpCsta+ZzjYzklTj7mwLgNpA6YzatxsEqD67mXuJbExg9NuxCogrB" +b+="HIH4qCt2+vGCc6EQGzY9jgAbY2DTjdXARUoW4Shg/Wwym4GrGMO1k0CVWg3AuwNDOtNgHUrw7rW" +b+="bpnOtj0BAlDle7NbAPb2J5hG43a7gD1gt3Gfsa0RaEvs1goSQ4KbQ2KpQ1CQWEaQD447OrfsCkK" +b+="ibfsZlT4MtcPfoVLg0UekcdgcUdkYsNngsLlZ4AY2mwTuyN4KbLYzNjcBmx2MzVp7y3T22idAMG" +b+="rnndlmIHbbE6BzMm5vE8QG7WsZAiZzNmJ3VNBcLtg7NFc6Egia1zsSCJqrCLdl4zRgjQkguJQQ7" +b+="LND9LffLmFkBxjZDVdAdgD4rrfNk/g8tzpkxwRDIHuzYBjZTUB2ByN7K5B9LSN7E5C9jZFdazdP" +b+="Z6+nx6YdtcMnsw3T2Silhm1z3I4K1kvs6xmUxDYnUO62Cg2GHEWEBksdRYQGyxxFhAY3OIoIDdY" +b+="QDVaVNLieabCSabCc/g7YEabEIFNi6xUoMeiIsQ7DPsqU2AhKrGNK3Ow5F5RwnBvbW8Da2x0lNg" +b+="t9QAnCfe0TGFca8bWC+3KHkWCbOIwEWz/Ggq0fY8F2lUhGh+2NhO2aEtsbGNtljC1Gf5BHv2kHW" +b+="LwQD2AwFvtqPbevhyxZywiPActRh/AWwR0I0yBvZIQ3A+GtDuENIqAH8cHe5D/YrRW8anZjBa8l" +b+="DhPBa8gBJngtpQ/2RuDVHO/ygPaOZWL7GaPlLIfWVjFqzhdF64GDR2dLic4tJTqbBfDYbgA6G1k" +b+="+kqzcKDj0CzIO6rgH6mU9UC8ngJeOCzsTAkMMO768mm1P+O+v1gtvUgEZwG7xwN4CZvPAbvbAbo" +b+="C4uYmnlaigcrsHpqgHpgEa/uVefteZN2LmFgUBCMFbhabmAQIot5R02+xB2QAJAFDqmE7dJN3o6" +b+="TEkAgyMy5AT0ZrcF80bmJuqfcXcHTra7DvaAJzX80dDKsB6ab1JeNUmhPxUtzHOU2+1JYW6GoKF" +b+="VJbxbvo9EtnWrDfJdn0Wj8k2fQa/9W16Dr+tbfop/PZt06fxO7hNP4nfkW2kdtHv8Db9Gfyu2KZ" +b+="P4Pe6bfpT+M226eP47WzTj+PXbtPH8Lt6m34Mv6+7XR9VedBRNs2DfC5IP2dWmJ2kbM0Fe8Kdol" +b+="hZBQ3rKD+M6mCbDuh92O2olmqSfkQaVqacChZlGo38nllByKn0r7lp+qfpH3XQIQ1Hz9goH0NDH" +b+="Zpe8sOaH0kdyY/IIykB+aPyWMuDVtDcpjdCX9umR+kn3KbX0E+6TVv6qW3TK+kn3qZJYbPRNj0k" +b+="tEupjROqu8tpkMfLx2PFI36OKkbWCq5HPa7pYqge4dfU8nrj2pvlnOOVnJdYIT1W5mBcj6rt5iH" +b+="Kfpnb7SjpDaoktM8szV/4VaLb32ob2BSky1cfTP9Ep1Mop7trguZ3Orp/RkF9Tiez5ppA7yz/Z4" +b+="P8b9S+cGee5En6Vd2J8yF5iPJUHmgM3GOuD0zSIM3OHoLSaONudzJ/91RuJmkMwZsjNtjbjqnFs" +b+="CtVw/zMN58OCOg72lEe2HCyQ0OIh3xWj7eDFflqenzllVdqE5Sgx5j+JQffkQWTB3M1RQ2pA5P5" +b+="7d1mFlPX+Yn//HQACmSqDb4I6F/U0s08lR4djNGkDSZGXP8Oyxn8zecEFgI2zM3BLDhIuJipO2j" +b+="4wvysvNvbblpNrTuwMwK8aYP0Zf3OXgDS3zCMDfHpl3QWhDuJFQLJxLjQKJjxTI9QgQCUGaFBC7" +b+="hkOyBeIADSrxniW5XudmBbM9GO+MX3NZHWpF/WHiYAERKK75nKT18gAIizz8kbGiyPk86pB8LqQ" +b+="BZM3dHWtjaqk5Zp0vjqfOZhJmY3M7mh9/ncBYdGREsWrkxVuemMP1xKbtMtgpw+m4SYlzshtpq2" +b+="5t1TxNZNAEhNpU8RqOk50zGtJvXEEKyeyoID6Z9BPgUHpkA4ELmnV+N6Vb29Kt+rqvTq8aO+tev" +b+="bCI0M0zDDKs0cYLL3kCzcuQjFiP8KPqjQjMozyTy2BMZ+fMG1Zof+QEgklBcDwhiSAz8Eb9Lkli" +b+="E9Au4cNKPPVqjSKBrT/7DGDD0RSFgU2rBL9KZHajoz7agVYqKI0z/SByDq5Gsw+KDBnDSkIX1gm" +b+="KKYIffRsyKG01QVJYlxOwHxB43qkGcBiA5by68/mIdT9DXJGO0ZwYsRwE0fY6dmFXMwAbmfPhz0" +b+="SUSMMeL+m5kCv5rLP5oOjR29UU18KsRB+FzwKe4D1zOQ41OZGgGQWKTzt1N+MtEd7aD8TLNgr8W" +b+="nFU7um2qjMf6eYuLG3cSH/ovaS4MaCbfE/EVB5GqSdZwcJ9FBGQWP6HmcYUrO0AtxhsZg6nmDqc" +b+="vBxLhF5bhFMm6qWRW+emcVpwki6DM+QbpFWzuhTG04qeylXJeEcEi/9F2lB3diTmjm6BQ/xNMko" +b+="adoaGd2ZwFN8iHnqjw9YJEMbBM9JCxETctxHUZIe9KBspkCPHiFlgMPZkeeOA8fOYSAFnZPmuA3" +b+="jIRjX4V6zNJcmjIwCFqGxFWqNQFO0mnl51GQnsOswc/UGSkHaOJ5dPh8QRmFliaAidAwf1ZeEbg" +b+="naCg7AQvjV7RNdpMkpDcJMxGmihcKkUptJBP76TuqQcD/Jn0W9PNbpCztwZOI1Gc9O+wNZyy3FN" +b+="LkPkFTWZMGkhsrW7Rgg2ScCZzYBs37DhqAaFi+UTlIOgeRIoDm9b0bzbpeO/WiPtWuc23wLmNWJ" +b+="+Zolqjl/HXV+V3mZ/CsfzJfTsMIxgvcuE6SbpKBQ9xA17vjI1kbI9EHE4GMndMEzGWagFCEsEvQ" +b+="ppImFLogSVzDSIF9bQOWMHzEURe60GRmWPjRF4UvJ/TtR759XWgaKERtYcokRS+Z7HZR/gLoPDs" +b+="7C15gKL+vmTTriUip7aPe8lOS3E4F+mxKP/mTlAPNN8g/g6cGnlAJGl7A5aEPM6vk4Fn6IQzCDK" +b+="oErYbaTM/27nYNP7Y+SVQDfb9m0s9guhQ5gpxx8H2wuBwJrk2O1EWO1CFA6iJH6iJHajzQAesSi" +b+="XxH4ERiMXzaPBSRIyRPPG5gOhgoIuMkVj38VdLM4+dO6nwSjEAzSHeS1DTHc1b40wuE3ZDj1BVp" +b+="Sbna0460KDnUnaAfpLsh5YK8VagRbmqXCZ2x0ItN6BERxs3ptJLrkn5Pkpw5sBXJV2ALnvJykSR" +b+="hFgg3BcJNNAV6OVKlS1GBP8Rni4806PkaMgwoMTqzrUIGz73P+rkXPNzLtNozrfJMy4WYgYDxgk" +b+="wLfJ6RMYdc9V0UYInUzLyQdIj1ysnIKQc1L4u9QK6SBOLV0SMU+cQcg0GqEZED8G7oBo8y0nFfm" +b+="jSBcHEWDq+NhWvCwqzQ1GTwa8zCvhcSwBcB+Surt131Cz1DTwwOswAScy4xV33zLBJnXeJstdjz" +b+="SJxziXPVYi8gcd4lzleLfRuJCy5xoVrsRSQuusTFarGXkbjkEpeqxQ7/H5R4ySVeqhabrb55FAn" +b+="kIHGkmngMiSMucbSaeByJoy5xrJr4FBLHXOJ4NfEZJI67xIlq4kkkTrjEqWriKSROucTpauIMEq" +b+="dd4hkk5lxirvrmWSTOusTZarHnkTjnEueqxV5A4rxLnK8W+zYSF1ziQrXYi0hcdImL1WIvI3HJJ" +b+="S5Vix0GL77kEi9Viz3KH+833WBViz2GxBH35ki12ONIHHWJo9Vin0LimEscqxb7DBLHXeJ4tdiT" +b+="SJxwiRPVYk8hccolTlWLna6+WXyS7ZnEe0Uhz9SVSZznYZrEg65Ixn8ieQh9xVRV3b3t4B8rIEm" +b+="NpDULdgabf7lWXzfdmXG7hasobxXvFq6u7hau4t1CW90tXMW7hddXdwtXlbuFq3i3cBWbql6LDb" +b+="/V1d1CW90tvL66W7iq3C1cxbuFXHkVyLsKu4Vj+HlUZZvtKuwWNvHz5iyZzswTtDxahd3ClqXkC" +b+="jEPauwHmmLnEAXuzNq2hfLd7DYYEo3bLVyNl+/J+lA7egKYNW17Ogu5lVXYLez39V5X1ss6NnTm" +b+="zevHQaGIU9fb1eNMHLt6guqzFXIdWjmUpegg5i23tu2Tvm6gvvqlLwbjrdmw7+v11JLva43razV" +b+="s+dmNrq/M3jDBw2XtuIBhO3bdBICJXYF144Tg9R6Qm9DFrMquAyQ1aneUIEkFqHWkEfaXQA0LUB" +b+="3UuDtreKBW2k4B1FoHVIeByhxQN6BPakIgWGdHx9GKBjLXE5z4WG6kv2vsTQx7jYuN2psAqK3Au" +b+="hE9H1bZAGCtU3frCdbrBOybbL8He5TAHhaw19iGbQrYN6LyvdmgB/tWbBs4sG92YK+xNxIEGxzY" +b+="axjQdQ5shocaFOjWM6w3EvyE/GprJ6C238CoZPR3rd04ARzrrvBGoLK6F5utAOiIypYAmyGC4hb" +b+="CZkAQ20TYOMQ22hTYxEzdhmeSjMZjUBC7Ae28M1vqEdtBcHjE1jvEhC1uKphk7TjIJIitBXTUti" +b+="C20W7ikRPIN9lbeOQsiLWacO0SxmvGgew6RnYD/b3ZbmVaDHGVW+xWINu5DN9tdvPJbBmQTQiy7" +b+="YTsEsH7NYSsw3uLHS7xbvgB3UADOih4ryO8lwre2L8bO5ktF6y3YnfLYX1LMZzgu00O63UAlmSF" +b+="YL2Bsb65wHrLOPoRrF9jt0ygqyGX2s4Djw+NGBucanmQrwcZiRKjTAniDhrobRMgXsIVt9nt2HO" +b+="4cWFitO0yQX87Nl0F/dfYAYx1jSnRACWEn1OP/lqixFI/7E3rcN9YGfExh/sNPMbrHe5rmZVvKl" +b+="h5C49/rYLt2gL37TziHdAzw/dAiK9jnDcwzjczzpsZZ2IVGu9tldF3OF+OMAZ5mR/kJR7LWwjLA" +b+="cFykx0EwvLVph7LjBB2WG4mos//YDMwY+WD3VT5YIV3/Qd7C+Oc9Y7iWsZolDG6iTFaT3/H7Gsq" +b+="Hy+T5zJ0NtllHocxwmGJ4LCexm/QC8ylQEckT+pxuKkidEaLkbqR6e9l5fqKrFxvx1i4g+EW/f4" +b+="2YUwI3ppDe2xintxcTxAuEwhvJiovEQg3ELBL/TyzHMAa/sAWmmI2VKT5Bu5uNQFCuFiGyYs+0H" +b+="PUrq9MN+vtzRPV6WaU+l/meXmJ779DoDgK3VCZTW4sZpO1l88YGc8Yo7ztXWFy39Eaov8yz0NLf" +b+="OurKzxECgz6kklyDTiCWqqwlbRUmUmxW7jKrvK7hauwm3cGvzfwbuEqu453C1fZm3i3cJXdzLuF" +b+="q+xG3i1cZbfybuEqu4N3C1fZW3m3cJVdybuFq+zrebdwlX0d7xausrfxbuEqu6LYLXztQruFq/x" +b+="u4apFdwtXyW4hl3Q7haTjXVCT2UrS8VaSMpY//mtzgdO7VlLp/LFqOunmj1bTh6uJCwEmHeV3IF" +b+="fmtmt3yCbkrXalXTlK6tK6k9nIri9875e/r6ezYaYxZd+ZrTmZNXf99y/+1nvD6ew6n/3mLDuZt" +b+="Xad+cKffyCazhqiktmmrz7A5Vq+2qCv9oPZDSeztq+2xFVr+WpLuVzbV1vmq70pu/Fk1uerLXfV" +b+="2r4a6462z1dLfLU3Zp2TWb+vNuSq0YuNxGR9vraIkH5fu+Zr78zsySz1tWOpzdVHiQn7fXXh69R" +b+="XD8te1pAemvpiwtDIttgS5tlQ8ZyuWRch2QKVlzfFlcUnccsE2OH6ccmBUNaswWhbq5RkscwlV7" +b+="uSKyolk0rJIclntRqAffwPz3w6dJPTRKFVQwGXugTqWFl7aaXVZZVWl0PzFkgtqFJpVZetXs+to" +b+="oS2Fp81IV00Rx1tKRscqHQ0WOloSU9HfdfQkbY0xY1N9HS0o2xwuNLRdZWOGj0dtRfpaD3XI71h" +b+="8wQkNjX9ekhO+n1rtuEkcYUb94Sl6IhnjyEWmU3PVXUWrC3fR43F3w2YgzBfulxhKUq7SkbcQ54" +b+="gZEd8GceeVMh1JGxp4JI54iuK4GwWGHmWlg9GlIO6a0hhipCpgaaLm5lHMQnfyBMIT85EoZqbez" +b+="qsTjLtO/S/1bJKYL1k9WWM7fNNJT8j4vHCAl8DXsaVl2uIhD0fwzqaMOAdBjo7ZAaESJtLMonQI" +b+="Y3kJCHuSnmJM1YSSmRO6GuJzBmza08SfVyt5Z5QUa/ECXsljpkvaTZSiR4hY3qFzEY7epJk53wJ" +b+="s4nK9QiXTbbRK15IU2rMEyxbrczMW8fZ3YjGgxm0pL1oORA5nqwLi5T4CTeSRblrESiN6meyurp" +b+="M9wLFiiswV80Z9jygKX3DeLZupGx/aaX9ZZV+lxf5o6wVlOIjZ8pQW2jGVx2sVF1SVF3r5IMvlj" +b+="PlXVVffKAonjngMywcTtp1Jw9RFUbTVcnoLWVm0EVQ6eShzA+4vYES5nZ9N02uN54sOOUQk4Xf3" +b+="EtvOicLxqu8eSe9WY03QtLKmwfoTWjtyUrWQ5R1/ckyfYDSupJ+D6WVT9du14do7j+uMPn/b/T0" +b+="UuBcflbCduMfLxaP+LmbdARLqsyt4gvEuoS9tevaubW7ldSYle7X5qsPnjz0CDoOqALpNrcKI5C" +b+="Qg46zEjYo6Te7fr0Jslh6PMe5cPfRyI0k9yznXsQ+KXJDzrUr15u7M7PdzEFAc31ic/wQj0sJen" +b+="m3DRyAAi9/cOmfaIaQfsVrhB72iy/RStjL2JQmPkV/tlzfOBPCp2gu9C75x0I4x8HIlg0VHvhHQ" +b+="/i0wcyW9ReZR0K49MHQli2d55g/G9L702GXXTuopWVFpVMhtrJgZ8tWFpknQvgYwt5G9Or1zz8e" +b+="wn8qnw3ZOz4/Tr9J+hh9itQxTXN9rjiAo3k8dUmARZ/QQBUsy2ABIKq3qnImgOqtdkkAgU+vCoQ" +b+="VIKBLYqfO9X2exqtT6fwcpbNK72cpfUO1+51F96i6ptI/qt5YAQBV11Yh2Okg2DlJi6IChqGi9/" +b+="6i3wXGIbJ9RV9p0ct8ynD7cwZ+mejg59HBsqKDlUUH84eHOyiJWdJxQRJeMOyEKR3QYBr4n7ZtX" +b+="RAy4JRB5zTn/AqHXbLFRzOy66oudb57gwFd4t7AeZAGdIVLYsOaBnSkWk+gqcCBT2c5QfExQFFy" +b+="VMlMC/JRp8A6K7CeP+LUT4Wgq4qmVxdNz6cTN11yR8kXC3BEgUKFiEsK+q0oSDcfe0c18GFfhWz" +b+="gw7RCN/DhQLXqzvmEg+9jQbhr5sdXT7hr5sR/BOFKxit5bkF2K0lWEuvKZDpekomobuAdelqJuB" +b+="f5d47zTimZGCTvrHGepiSGK40fVzQnGOZTU/CpKfi0FwzAmx/+WV4hZ6MMdP7yUUmuZ8jzF13yJ" +b+="un12y65weGQ2BDkIdmg4FXeFixC25+eNcJEhZtrLC7AVQbqdYGdU14MqG45tq+CYV8CDJXeLinM" +b+="PGV/2B9aVq16wfc4q6XHj72qHsu+yl4Wbv+4LjAK7TqhzTXyCZFWV8ihCuB0AdxlDMDQyXhaGUc" +b+="r42c3uE/HjRuE6nldshqk6jldshnE6lldSk8ZJ+16GCwwGC4wmP9JzJOkGucQCi7p81zykq5yyS" +b+="Vd5ZKLuodLLmg/ZqZCUyMtvVqIooKecUHPmr0MW6qCcxCOP+jrnEeyU/NIdkKXE5UMii6ZNChnr" +b+="dh5d19XRTeYR+67K9LODdkxVc5gTecpPlLp/4gqJTe3MauK/o+ZUoqj/6OmlOLo/4iZJ1FmTYVm" +b+="j8FvsO1F+kLMuBjexyo0i8VrPdPVfufTbFZfjvhpU37hTHhTfuFMeDPvCz9uHAAlyiWyV0YTCh0" +b+="w/flrwnTWY7qi6Gik6OiysejFa7ho/Lqi8fkscG0C5/hlSOyc9EiQIAmh1P/dgL7eKfXRZKbXsE" +b+="9w+iWa/oCxoj+SIG1yBSV3TkryWATdjPX+tpsxdX40ksVAWqr4Oj8SyWIgKfV67ed36LenIznBS" +b+="1rZ8qLSqUjO8I7h6/CZJyLo/Uo0tEpL0NDQ0oWQj9Xks1QOMB6nX5ZrmnW2BEKhbj24jULdaNoF" +b+="AIuc1r6y0BFEa7++0BREa19VrbqTIUnYU537hcrj+tU9GlTDafIl+4om7xlTg7N2CiTFnLy6d06" +b+="2vXNyR6jk5+TMwQJp+JjmpQQExUAp4VhQDBaso1lQLKkCwMyJmqSTZDJNQCuxbZGvGopJpb1Tlf" +b+="lcV469cFvHfVtzOAJDLRET1mV51a4QZaz8hJuyvFpWbcW6wdHsuNGqdH6uovvwukiVkpSrznkAL" +b+="jgAPqaZHUzBDqZghwV6LPsaumwy6W0f6kMFwWPFjAX8jhYpoHdE99CIxYag99I89C7NQ+/ifPQu" +b+="FGPlun8M3beKrocuEytFNd9lUB3MS0F1MC8GPYDe7cey7MvYFfM1mf6igflsLeNQpdNAAWipWl/" +b+="GiwyofAVWuN8K19vMA8RWBsfzoP5LuvejI22i56MjfaL3o7tQjsFw7+eS9n4tybyPJah8/D/PHz" +b+="/mThLeiXw0Q/6joTm3+hGaKp2PmF6GMH5QTUErEm3SUgnb4GXKykIQXcPQsDrFdDRd/7nTpxZCT" +b+="9NQdHzh/FwIDV9D2SnyzlJeii+/l6sx7c+FIgJN9Vs4Z6rfwtle1OdMMQ6nTe9AYJ6vjgTm+R7E" +b+="j5v5gviC6fJIMK8tL6aA4WIKmD+jcNel8C/F/lUEfugEPuh1vqADKHWuSIFGZ3tpNOdpdNXv4Hh" +b+="JFxjfVJWVQsyhFWYKS+VS2CmcD+/xsOs5tF6oNQ27/LLlbVGf+25fQfXwUrPaUShEYQUklKfhLk" +b+="Y2ZCpoPp+AjFOVDBwpgLHPZzD2YfF4wWzXloqNothFU9YbQ8alSsYOZLxUZBB3R1B9/jBVGi6D5" +b+="wJWfHpP6Vz9fzbYFAS5muxbprQJo7iW1BvNVruvPx1YNrhkaGkApt7SzfkMg85f33UHaPLHvzJH" +b+="T2P09JkzeNpBTwGOqyqe8NJfVx3TWrZY7cPXUnvpYrW//eVrqD2EUz04FbFN/6AVF3+cn+UWddG" +b+="iexrq5l9yjT9TNM5Nan7R4g0JtLCDn2wX523x9EzQhad4tecl0rMq+ysxcE9H53dydpFOelseXI" +b+="wiL//RNVBk4Opwnf+jeXD90TXBlV7Wsp7f8ql/WMv9i2E8ey0Y910d44tn58H1xWuCq70YXGfOX" +b+="gNcrcVqf+paajcXq/3otdRulN/FYjR54UvzaPLla6JJfTG4zn3pGuBKFqv95LXUri36ZfzhNdSO" +b+="F6v9wrXUjkou+0GRJa6dlcXTVwIc4Sdo/gCtYOpUnqIsQDAS5rbgjVbvOjJL/9EE8Xp6xqPdrrc" +b+="Uj2a0oP0wP40Wo5A4aMIryD1zBbn31B/8Y+WeuTpnCRUrnTxzTZylr/4df/vMP0i+qAq1cspYhA" +b+="+OX5UPcBYyxyFFzKfLi+Poi4nDJ//w1YPbVs1FkD97La1dPmJNWb/z4YNfbWo104EJ5VSxLwpzp" +b+="EqfcPtWpLE/4XdA2C5D6jQbmbJa+nMuuAMyTpgstC7ruGSdwoF3l3VKsk6bLPZZc5J1hFqyfZJF" +b+="K0U+6SWtaCQiSZzjROwSUvNopeasrtQ8Va15oVrzgtQ8Vql5tFpzrlrzUrUmrSry539pLhBq4GQ" +b+="EW8CwV7venCWqSDEoicg5X9AH9ptQdgVoeccBMhBtChYLUuoOZfVDWXQI8cDWm4cOZaEHK0Ut18" +b+="Q56e1uWrWEOMAQ2vjOk2KBXc+x3+K3nDx0KGsUwTgQTIuysrbY0V3zl+ghKXYrYBe4E9UivDtH7" +b+="5oMjIeg7H6Me39zNojecdCzcefJbAkb9qlGESWENOo2NZgN8NgrhgcrKIBB+rRA7EsmgNjBNasF" +b+="rvMeruZbCrguUDtDhzjMTMotyGoeJw+khf4KzWyFZsMo1lkq9lo8LhNzNx6Xy2YBHofFEt+5Tiz" +b+="knRVsW++M8C4snlbKxgEery9s+J1VTE/dWc27KB3Lm6940RHz5ViWyVA1bf9bTmY3IC8lYGVDbD" +b+="0vVAZArDVMfA2qMfnE5i4F2oIhk/FUDxnF9jKPjEcdGS96Mg45MtZBUNnmxIu6XXIn18J4E8Fa3" +b+="OR5edmyg/Jy8FC2ZDstVBB5R4aEBmGFvU4At8N2wK5h9hnAAAjsy0ugW4BbwF1WwtkWcPopdykN" +b+="4Q3SVQy463YQHFunFeYShnYHw5PaTAr1bzcXAYwFMFRfmJ5gWg0UqMYq+h0oIWJI7PX027rTQxT" +b+="Jd2FXViiHQapjkAiI7eYSuujpIHLN+60d38shDqUEnuxg48u1tt28ZPjTiehFyC2Ijwg8b07Aw6" +b+="PmPT1o2Gk5fAzPfdvNUZcH08ERnC1mHwLxPUlvEXcSWvf98VI9IrFxLtHKL1yDKBNj3U6DzxJnQ" +b+="50BOWXf32nTtFanf6RydDjyTyfihZ+xCS288/o4pqr8T9/3dNClqQuOUWUCAXYwYexuo3Ydh+i6" +b+="HNuISNNBnBY+LI9pT9lkkroJZLKmZvMzX3o6SI8pHJrDCXrx5q7vlugy1IbVIzg9LVFCupkmSBA" +b+="RwAHKJ+1UJ+4BuHZ1gPdWAY57Aa71Alyb7MRXBTi+GsCI0UPDX0PorvFMjWRRXt/LR+xjSylFVQ" +b+="DiPgYabxhYDzNNME8ZhPvIibi0gJ/oJIx9QqChQMeYnbuou81B8EG78jAeCTKk5FlXno08s5wKu" +b+="wRznNNMHiOCRAi61hxNEZeqTnTVkBHdrMUUdREpSIZP2iSfeVjw4whRMw/n9S4iCcR5fV9b9dI+" +b+="LhMx40gUaxNrge7adUiU6dShl7ZyDv9UnxRYWGEkwj/rCU+t1WnxMW8Y2ItxdxaPsHZGsm6EOLe" +b+="DQbO1PaQTzcctLnFrXhtu8SSocBlurTLR2su4tRbELQZuTQE1XhS31hVwa3ncWvNxA2eCaerMUL" +b+="Gtj49MEo8EnRoi5kgoG8WhdnIz1YmRmavJ3Iw7RhMVV+WHpjr6H89RGhylObBNfEc76GmJSynhO" +b+="yV8R+TH4ggf15PA/H0mEKp8qkiB5Jx6P1L0GeSP+XeLtA78MkTzgfXQJiPyhc/QSJBIymeaHW0b" +b+="jCn0XpqioBc3JJJaA2f8cSqxDcW8AWV5JTZCsZhq4Pj+EP1EWOE07MrtpCs3RMFuQNWuy9OWLmo" +b+="H1Ug4o3pMgnHtcGHdwvx/AdcQSGH+ggQR0ih2dyehnNv5Hb7AettIkC8bgUvh7ih8Fu1uKxgJaJ" +b+="rqbqT1xBdmfrDdlGQG6rKom8tMHvxQG/TWPqeR7/whSMB89RQ4MM6Nf9P2b/qnOojgYtv5G6ZYR" +b+="GDBUpvK4wP7hZNq+Stq6o52jKFroJDCuybHb/Opji/XhvidnT2DmBt6Jp9BSnGItGk8pvz4SH6I" +b+="S4XjI02I0AgfTitoIoLGKJ+eDPMzEmSr2e20LYI6fFvSepLUNZCOdE56Xk7fSHOyswS2dg4lOIJ" +b+="IpZOdFtU4H7gwcyHUZD8SZwMXdq8Yij56fFYer7PherOjs5LGogmXRvpfc2LEXocIRClx1iTNp0" +b+="s4vlQKUd6U993OAFWI4NM5SVpB3z4MI6kSkR3EB3Nkl3r/m+/gaE3Lu8QDjY7yvMLnhmZ287tlx" +b+="LZ2gN63aGJt47O0NURtq9/BAdWo1Rixq0ie2Dp+6vB+7kItpQGrfAxoZgVl7cYnEWMajmzaTkgu" +b+="KbbI2MbeNhCLumiTY2V1ubGlXf6WOgrt1csWmgi2g3bRDmTOkq7P4K8ZZsLvzXmJTTTA6ae+/GK" +b+="RNwxDdZEiVPIj3/eplIWaJth4+OmD72YJ9BIOKTXa5WPyzx4mEfCUkm9rY8g/o2DTsUnwXN4Yx1" +b+="I4hJaP4i9I8dx9ZRbf3ahekyf7wpn8P5EkyGl+zpP0cxoRkBCUjjfy407NoNNhtFLLX6x2ulI6H" +b+="b6s05rtH28j3F+KWrSazg9/gOp9ULH6hTop/gylP2jDTcEYio7qLUTvEDsBUNRr+WPzaiT405pX" +b+="Aztd/RNtiHmOIUapfRwXrB+yIYIwGGLZsPNN7ZADm7mYOzWMlPu6hD3goJ0foyHIx/KzGInzPAP" +b+="RNANNoMmCy4fAgZAjpZO3h8boCTCmF5muIT4t/pbyoTxM/0JLtDrIzZYNJIwXx5ELJR5QIDHxiB" +b+="5YJJOCGvQ3ueZvQ9QnPN9F+XkA9Oc6aJ6tq5FpNLCV9Ffi7K2kvYbTSAZwrdiqW1lt+hDSCYJ/o" +b+="1Rd0i34a6BYU9IpXLS3apu1py2/WZP1yZshWndRemWWSnqYFlsKP4OSXkmLWYViQ5K2JJoUGlwm" +b+="6TXZcgsgaAaZJgzQasuirX6LFgYs6i2xKF2zS+lvaJfT3wTFDRdvcPEWF+/n4gOu+BIujkp1rmR" +b+="QKeJKCVdqcKUWV+p3lQa40hKuhKo4lXwou37XiiOHshX8d4T/xrteeeWV1e/PVu5qfPAQYlFNU0" +b+="NoOuUmBrmJIW5iGfce91Qb3nX0/wkYpvo0ljQME6g94gqMcLsri2JNgI7hWeEKrOACK7gAllXTD" +b+="j5qges4OFfy3+ueQHDN1VMSV5H0flRZxqgmjGqDUW3R32GH0MA0h0sAQksYoaWM0OKoXDevp5R7" +b+="Woaehpi0CffX4P5a3F9/pb8l6G+A+1vK/V17T0Pc0xB6GmRCylA2uL8W99fP/Q1U+luK/pZwf9f" +b+="e0zD3NIieUu5piNlI+mtxf/3c3wD3t6TS3/JpPux+rT2t5J5S9NTmnga5pyFmWOmvn/sb4P6WcH" +b+="9Li/5wzJx7Qjev9L//UGZch2FPh1HRoaUOr5cyNuQ2DJWQatSAqxVxrZBrqSnofoiB2/dBqrIMp" +b+="2h2/QmxlmNRXw6tQ3StdK07Fqd6MfUS9gJJzd/OYs8UdcPm78SqD1uyl2K/MD8bw5lL5aN8Rjdk" +b+="74fUGnEDq/tsJGp4h4eGKwD/qmZRAqmEi+CpxWXC4u3xmO84sLX0XkrBK7OPJKxOZ5DnSuF9wu+" +b+="Ps3uzvGcQi5bKMvA/SnvKFEjkL7F7G4kEKslAF3UbnIOwliz82e2KxB/nemxRs8k5jUrNVk9N+F" +b+="fSqs32CyyV3n1tydWLtjCn4cxHnMllL/KZ8iT9KIyaKv0oO+rSA97BZ5SUpPRbiBDsicUKFqMO7" +b+="40aB7i9tyRWt6AFTnkkri1Q5KOY3eG5QD2hycu6w5kgLd3Bu+CjGMbzUp6S986vYKQo4n9y07Ps" +b+="jxhL9XaFKDVmid7BSCX8EeNxjs0RscMDzogt4kVuJrmsmeZlzYCu9yJGolSpDmbiObqo0q5UCcR" +b+="0jWq0yuVC4vPgKXgphlXrpxtK4dMZE2eGmVflwjBwmQtDwLs7mwJ1WwB9Y02xEbOx2DqZ/cjTbp" +b+="sm4D21/L0KIlqzqxRvprhNlJQ132HsnLiddMQiMIu1+8KH57X7vmtoN/0HtPv+a2i3n9vdYJLXL" +b+="tru2fntHr6GdmV/nVRD6H4Lt3tifrsfuIZ220IHHRZ0UPPbfWx+ux+8hnZ5372nNe+PUrT25Iee" +b+="dnto3G5Zt7lY3UtHrlq3sVjd569et75Y3bNXr5ssVvfU1evWFqt7/Op148XqPnb1utFidY9cvW6" +b+="4WN0XP3TVumbRMbp6Xb1Y3TNXr8v2ZA4A6pZg6Te4uTHIw0s1lcy4cPemmx+ayjjmHa2HJkikhx" +b+="P7ER8bluNaznGza7ACwjyIdWwAOzjWWJRn2LwUwPrJxkFLyz+O9AzLYIwUh/rVYm36gS6eVPGki" +b+="yfDTx2AH3Y7urQxN61hi2C1ES4GYynMFZMI4S0huLsIDmwTLGsB8qEpmpNcnU4I+yrADksQOFMX" +b+="mdplYq2rD3Y4/HyXDSiw/tBqGe7ZFj7nc2rfSBayZZSmGH2gk7CZ4WU1ldXEdqqF/tTQgS7vX4A" +b+="OCPctgg3RlGcezmsHCZH44P78ve87nEx12WHgCi+TK71sLfqyo9mBEBF790jwcMTqB3pJF4FK8+" +b+="Rg/sp7X65N0SP/dvP3zoYP5OlBa9juegf2IwqzcA9qAVtloaO+YqYQdb8rdFEcaZ/Nxa4GkQc3G" +b+="0zx5gio8f8ZIRjogr2UsNcVoOmIJ0cnKG3EzatQrb/pqNXvLOi6akEvTOfYNzM2KD6OoPg4guLj" +b+="CIqPw5RghAUYAn2lES6mZGCVt6qb5s/WVDRjg/RPDEf9RUh8xPpVXtdJnzQu0Dd/00H6PX0H24w" +b+="N408q1h8jOqaLhLwHpj8XCdnsaetKrH85I/MZzbqB6TK9JbT8gkGSC/GURXskPj1W56GYnS4Pkm" +b+="yKIMkc2f/bmk1F0mPLB5MvwjdL3OUK0GX09d6YwVoiq7uQ7P0u3HJwWbjlSjkXdLMSHJrlNd82Q" +b+="Jpyl4fcI60EaVUgrXojQzuk1dWQBq4IalwZiArtaa4pg9GXoeqbHGyU6bGPSOAilQaXRSo1C11s" +b+="wnFLy4tNeHwnRkiQeSLfcaUmaVbSZRD/kE3eAcdAzTSCnPrY7qoa2131xnZXC8V292HihaArWsh" +b+="Pf2gSQ+x680jvpSwOtjpDpGC3T9y1opiS4xJ/+aKrQZ+LhFRtU1sr+ptcuogCrSpRoGnegXg7eC" +b+="DTiAKtqlGgies5CrRqwpAuAZ9N5TIPtj3hdovfrakBWCbZUkhq5bRYF42YBsNpMSnWxHIIsxGbH" +b+="Otis2xMH9qlPgiTSDLNVh6Ef2UbGVs4m2wPYWtmy5XUKCSWrhob2YyzCrGNs82lskG2bPTTXzi6" +b+="oNGES4q9qilNZalYTZwtZWBX44NiumTbGXdmAJZmo2YIgx1lOquJr9XnbCltdBvDstdieFL3PmX" +b+="ry4ArFdM72+9e9fOr1L3qF+NfGxYihtzDNyAmph6jXxMdhZYtuB7WPm6uBnQTGCJpAN2bhSGO57" +b+="ULEx/aYDMbxyYV06wne32abY1XoMH8FmHKa2C4ErQYcou6aFHgNQQlAV2ffhWQDntIEyFDg9ttM" +b+="Ue0i5HjJq+xRRjoQgt7OlpMuEWxAZp58NZBh6hq5tKubdPTdthjixvc9X1nJUMbGrY43WuLC7mW" +b+="6bHFadjiDNviNNvi+nd9T2xxpscWN+BscI7nqF7sLH4VIAtbnK7Y4j6RqNoMz+mvsFuGyqOD4k+" +b+="i+UKL4yoLee9WH7BBl+Zr7CHBRaRIQ3OE8pqvm+iE2DBqh+xEQir3KPbTYsSWZ3EUS3EtrYjKm8" +b+="+IKqdyO863IbnggHMBifgWq7Cj+aPf8E4C/J76Y+1V7R0h4a75MhDZXiFRVqRa6KhIwaU4KlJD0" +b+="IuKFFbHtSK1EipRkcLSpF6k4KLcKFJYrDSL1EZKtYoUfE3bRWoLpfqKFJxj+4vU67EiL1LQNgeK" +b+="1BspNVik3kSpJUWKXamL1JsptbRI3UmpZUXqhym1vEi9FSurInU3pa4rUvdSakWReielRorUA3D" +b+="YLlIPUer6InWAUquK1HsotbpIHYKjbpGaxXzTKZKHkcyK5BEkbyiSjyK5pkgeRfLGIvkYkmuL5D" +b+="Ek1xXJx9mPF35Ooz0cZKqp/LfoKb9eMs4zg4HlsQLj+9ZkGSS7dpRN0y4PkLA7uyJ0xAONlhCYT" +b+="mPcx0Mq7cHM8BJJCkGDpQLWeZeTThvKinhRuMTXAYuQZMK5K/BaUT66ZJIXc5SclE/M8N0mtnYA" +b+="FxQHOFN9kGduk/NdZonToMf9+hLQZKz40vLygIiQ0GOYz1QhOVwusKG4NHK1B08pNIc9uGONlUO" +b+="1h9fZGhvngdw8BTQJEIgErCkLtxcsakk008DoGWtI2c+iPPghdvEiscd3/qkudEyzidYQb6DVOr" +b+="0h9BG25K69LIriAzbZzyW1L6nheZGw5wXKP4QVPFwaWgekoOnK0m3wACmDl4Ip1DFFnf24+UR8N" +b+="JiWTThoWzMJ7wR5s8fd6sOQBwJ3SHBTk3eP76e/D43vFx8XbIVf1ouDEJA7tADZ/v2uV9H34d7A" +b+="123s5cWmYdcn7lcu9rI1v58NDRze6TVM8SMdvlcLD5TfuIM/gJZclcjcmjonxXQJ8R1c5GX5K89" +b+="Y00WOqf0yN7Te85+NHz4Hsp0xl/WcKdZ4pljjmWKNF17mZCd3ffU2wsXYUSMCc0RcjGg/LveYTG" +b+="YhXLa8EdvCoQeDuWeEwAYHTvbpQDF9YrCYjLE62MFuAVwyDnbipu/BLcXxwY7qlcQVcusVa+oyF" +b+="93B2nTETgoDQXAHu1v2N/nYg2cQLdcfsEfCgA7a7OfGC9d4t1sn+/56W+I+bDzej/uqrKxinHFY" +b+="msKAmv4FXzU/G2s10wdn1lnt4jfw0QE+fKDXm9Oq08LvKdVp4PeEos+Aj+OzU9oc0eJx55EvYRL" +b+="o3VmFvTC4gPMxcGSdV9iwkizejrDJIQRhW2/uJo1DnP3BbLEU2TmJV2/GFpT4EZN2eOfJ4hw59o" +b+="jZy7h5KGuU9eEZUjQxxv3uxP4Xu2TbkBtwLtakcXMDdcvYPZT1AZwGnI651f5Kq7ZsFQcIaJg1f" +b+="PVBF5xlKPFH/liWokNAnHCHzuE7Yb98+I/X2BPcH5dHPA9+wcQI0K3zhK4zICRqHsF9DPD352gH" +b+="4pae3ukOG7AvtRY/eaESY6XZ1d3g+gaHEcmbRyTe2ltOZtQmAwSFy9aot0d2veFDOEbhYBt2zdX" +b+="L5izcsGsAA+227jz5CO+mth7JQjRO1D3k24gY1FHnAV93BxxiqUIPj+AEg68QSRQB0iPj23kO5w" +b+="jat/P8bZnVLtKsCb2U5iGQCuWOlOUwk1sm3iUpFzrSG3ciI76dp3dXHFO7jPlLXBwyoXATJzBv5" +b+="9meI2vfjpk+kCgc6fuURGZYEzT/w4Bq8SbzCr/JjHtPaDzdftox1a3e8xHy6ZzKXR8h3+taue8j" +b+="9EHFnCNVfmEQOq4PeS0bxuxHNwunIkSwDvigEHzhXDBsOCiSRutiUUf0BXUid4sssXz1GhM5ylK" +b+="5xIQPJVSvMPHx03YiqguUjjUBOxfyFjciuTTzx09RT/DBQmixWv7sqSIutuLIYnH+TDULgcXq+Z" +b+="lq1lM+cZxd5CgHu+KNFCcWmvnz0n4tf+yzRZ04f7RM1PPDn6209nK1NXyxkUVTimOWtAR948oe5" +b+="V1xJoDP4hBHQgKX5Q6zzyqO1LKjjLiAoDIuUWcvgmoN6wAg+QUA/lZzdEYEbvGBNNrOscCfgO9z" +b+="cWD6qs3slI7zJ6vIf6aK/KeqyD/+2SryCEtec/hDANQABo5ySDAPVt5IOLaLxGhXAjtoGXnqXeO" +b+="SmzkO3onDLI6p+BgVM52WsKUhH+WCwW8X1waV/VNaPCXuCYKU7dyYSV9CULZK+Bf2VcDmfCXnIu" +b+="eUYWBCuIwiDMwF7MO/RN9IvMtXpkTdJy5SouES+LkwyDeYsbej+5Zq8pHBntfRxOU7u7jkuMQMC" +b+="ieffZILAiN4Khr3CXE6lXubi3TSlcNKej6qoAkGQYiYOQnuacTzVJHmgAWjRVriIHBzOyf5VOBT" +b+="NNClnDmuBZGk22k6PC5B1XGIvORu5q11+ZSa3JKNWcdBFrGbCq4BfckHxh/zGkAiH413KGjlLz1" +b+="J8MMdZZQ9Qbz7ReRkCf11ObJ7hvN7vs8IQ7uGh48vUCIhh/iwj6vbgk/glE5Spj9JMlsGzg3mZc" +b+="OIIJ6wkIb5J4y4eOy6WhXEGeVARvknDbvNUBWT/oJyviN19i026fuVzz3Ot7vX2FUDuSSIO14Or" +b+="+BrKtOfEP6pvDm7oss+Kj9B2mA5TB04FdXhXTq3Ij3Ad1V+QHRqyrpYZsk928EaCVtBzdr0Aqtp" +b+="LbAsL5DEPVSJQZ2vrao6hjadWbgJW24om0ch5Pds5I6UwtxB2KZLJUZpg9LiyIQM+L8Epe8N+8h" +b+="E8CWFH4nIK9KGPmpcxLmYhMtHMTfG4imDh3vlzGkWi7/MZe/gz5R4Lx/jegqw5QgnKXZVSviO33" +b+="t52eshOcYx/qSRaj7ci2LYANO00peAeFELGB8188EInN8P+xw1UB6QtktnokFpNeFWk+IDIDnNl" +b+="DhtBEq4WcX4FhLB1VRK1rkufTT4XjxIR5jAjoQXmCP5TcwfkANqNpJPJy4/VzVZyBFMxLmVdSrg" +b+="DISBHVcqHG1gfgrAYoHwsWPM3peuvU7++G9433CSoCug2vzrmmrLmlzzkYA8w0OYtbEu78N6g5f" +b+="l1W1O7H10+llx4WUhL8prWVJZf/OxnZpbhvNSKnEr8FBW4MavwA3WseF+WBZySDdXltfgIa/BIS" +b+="+MtMZLcSzzsBTnZk25Pq7BM8nX2k8rOr/ISrB4rDXz91G6E+VjxY3vVb8m03dDrNx/OlTKqAX+i" +b+="3jp9Ty1GtJD+jqs0k36L9q8MHwvd8c2h/3vyPXBvPYwlqQd3MKdv4g1smnmfx2wvSb/rlszmw6H" +b+="EIgn2rw5fIeYPoqDdewpgR02t1jXsObEUiqWUvGetpFRiYvjKxoHLFBNjgy0ZeVHI4gVaNSpu+M" +b+="RdVrQRB3NkBNhng86jSpNciz3QMRJ7Oa+8vvBXpzS6DNEBvFmz78XYIlYmHhbbLCgIlEtoqU0oa" +b+="2p0N9TIdxMauj5b/BM+SE9ozuQZJZ7pyV3A5M220cMH03k4+/j7SjnS2vzV/on2iE8Vlq4bXSEW" +b+="hjLn+Pby3N94GDeP0XM1xjnY4MNNiPT+p6Kgb6dCARp2L7qStzkHAUUB2U6HPMg5sNgONWBUxsx" +b+="3Gi9qUYW0XH+qd9/WhzoveHD7ftXRywsRwxjYYqxUJWxwB3ngMLigwNY/b4TlT/pO/nZWNO3iZX" +b+="6ceXDBOCZJqCOWHm0M6vzUaYoXz8uYLAXQou9M+RUZp3tdJ02n72J+TXM6zEoxeaglnBuCCtKw5" +b+="nb2OrDd+tkfO0yUw4Huxr56L6RfHSy02drJzsDu4JOynf2tKl4IF8XT019RA74g1qzVQe07kJs+" +b+="4HpQ1mKuPY0Jx/ppN6yI4djaNgYghrsPDU+dkbv0ieyEOYUEsLQJdgMCnEGM2iISbLuz5VWbaAq" +b+="n3mYhrQnD0aBhpw1TWjUk+rZGFfufXI0br0cfAXNxMra8rZOQjpg4jWdt0eEw0Q4/gpLEXB25qo" +b+="IRsqunI8J+FAKIt8TdnVHyBgTihCy39ZLQoZEyLo/ics2rv5eQkZXICQYn4UsQ1AHIesgpK4QEq" +b+="zujc5NMTgLIVtCyB7zMbVIhKxdTkh2szaOkITXAoR09ixmL1UcoxotbmyCIEvEYMbXYqApaSagD" +b+="4MY/fcMTrwcV5zCdPW5WEf0SfSIbpXXpjIdVreZjAygkY/UHRDVB/LHf+npAFcsdKTXHhedSFyX" +b+="dOmypYGOc9CJrHfQwSEZ3l/mmyACds7KQuFuZPs7IpxWvcib1iJv8NipsfEAx5IwfrBkylxX5dE" +b+="43LkoOFTTtVMeD7W1JzKeX7C5xqZHGXgtxn0MTVM24Y+zU0YyhcNbBTlxYLcgZ9i8Cvl2BSwKNA" +b+="hfktDnFnDvmv3ic7csSEn/ZkFiLvSytfjLxUh6GacvTuAFAP2noHE6xTepf5u4MtfpCO9cStaLy" +b+="Aolay6QvMO/THk1yZtVkncceX0uT0veeeSNUF7/PARfilXMN96mfjaBGUhXDUUww1btRDt6zFY+" +b+="Fv4Ylgh9Yhwao9kh/bbETsnC9GP0xPGT5gKEVTK5xY6lAQl2wCTLu5nQLUMw0+xf0Lrpuvzin7u" +b+="Dcqx72vDBDiI8n+qH3xzvxbLrU8iq3yXqt8ZLo3yNGNn8Sbp8ZQmsLmxseggGPxtNkkqW8Xljtk" +b+="ji3/iIBO4JizXGmaDrNpnMqN5BQol+Xr+Pd5k0R0TagZwtMsPKqVcYAdBX+nkunTgGwEIOnvrU4" +b+="6W21RKqu93Nw/yFDxOy/551cu/0l8+29rAuDBN2Nz/1oTkY/NyC4EKxfsf7npcSBkiVyUvYD4S+" +b+="xK2mu5kfyhoM7lH4weUvS4AKjnijcnOwKwddT7V6eyA5PQXdit1WQ2hl0rKAixGqSS2YrYHmw5A" +b+="LyUG5Fia9VDilwrJ3wdsxgFLoUEIb+CoLHMBYaIqbTdkx00FPylHRLSjecqVjG/Iz0RdBUfj5aN" +b+="vnQ28rsZnEEU0mA1bUzabbr5oqGpbuJnvggbEydTIYSRmoXB2kUg90U/Z0ZyxDKSCVSzSbL0bwj" +b+="JgB/PkGVnIhWYezOvWcqRFSw7BPzGo8ZZNqu4myoLk12YuWpvGpUt/kXdJUAkCYdEknZsDuEBdK" +b+="AzEsRdwmHCs5/ObQFMQgjzupd8Xmmyo231Sx+aaKzbfYzdWlUkZKq2y+VRrhYnw8uglp2JSwBfC" +b+="lTZrFji9QILYTp9Ja4c/KoV0Jk79RrG0X83pS+EPyHl6dpqQ2PuVkEseJaRHA23gwgJrdvImneB" +b+="NPaV4+XKkbLCMQ1oEUYCZNjN09xfoanmr+MG+xzxfLPl9S3eeT9bns8yU2vmyfj3RMvyXLZ5FLJ" +b+="Nk9KEIV3vbjCy/1DNRIbMxS+RVF/70tc580y4wL2AwT/FjG2OeIqNFpCea5ui2wQoC4IEC9BIH3" +b+="0ya5j3m4xPmYrS+AS8wg1x3I2ORvcRe2SX2LS28/NpFRKnA7jS+HKpkRQ1cNB4zEshCCC7AiGhX" +b+="7lqfCCgTq0G7E4d++AkUSvpap9QB2Q2r0ErEcymgQtyg+jKS1+DnAPkbayNPsJ+n8SqGBor/87B" +b+="fhP0pCDr3VIFl3IjjJXDDh9CsS3EZ8Mt7A7hhco1jHsXsucniNxk3zOo6+M3CTa51ROFKsEsVkx" +b+="xZb0XrLekRyaEeEApa39Ty4LYA9DtMdYzczH0dFq25uCYoLqpFadrFGmNKcwgLtawHpz1GLuR8Z" +b+="jfE2zVM57E8vyCtuIOw22bM4j/FVRcx+kei6UX76i179qWFeo7U0wpyQJJpix2cxuojCw4d+Gg8" +b+="SFI0HJvOx/QQ/2uDzBIiS4fQ8WrhDR4xRtJE3HpKSLDD5PGJRmSq9EDworgrU9272SelgNuUFuM" +b+="DTQ0Kii6DEyl+yhx1hATmL9pOhDuWeAuydccgKv19wrnw8WzziZyfvr9nd4n6BPR1YfyO+lU253" +b+="xi7hgnUQL6wkAMfYbHl9jl2dCU8hty2lkgviD3ARlW+mK0umaNd6T+LkNkoNjx2Zs3txkqwBFef" +b+="JmlXiYjgSjZ5K0iA1/ITVVHBsDoFYz5KoUPFuF/tLpyrYKVfDVbRQljVFsRKCUqR4FOrIINFQ8J" +b+="hnncV8Z13FYGd3ZP8xCcF5EcYVGZgwXIPe0hFXcaMv7ipk7wRwHhj8VwZOvbu8Tg2/y6S05Dpqz" +b+="gNeU2hnRHZeRnL7o/8MQmIJP2GRqxmlR9GMkZyKZIvfY2SLSRdNGUcqOPNRLxo5N/k9yzN82PP0" +b+="PN3OZ9FZv4kZaQPVaMho+YfooSWEmfpOe0iqrHKfwv5Kboa6K1wCi/i/M+/Qj9G6l2g5/THq1GH" +b+="UfBTDMxCBflwx7ECl77een/3Vcbl/V8r6x35Gtdro9538bqJei0kv/VVTzC2Xz/PlZGsxNVlPL9" +b+="aNvfMVxnPOuP5VY9nguSpr3qC8wz/i0j2IRkj+dGicNTb+gsgdjv/v/GTMC75y3h+lJurIP+Qjw" +b+="frsT3zDGP7NfyEUvDZZxhb0zvEh59hch7FT60yxCfwp94zxLoXuEtfKdt+8SuMuuoF4jxKRAsMV" +b+="ZNXTyQpvxNqLeHtaEaUhSF92kH6L3FaY9FPAd5nY1CbeUkE71aEgkw/rpwb3WaSuRm84MJ8E4xi" +b+="Yf4t0oXg4ftd+sVH+SL9YjvzP7GZPsz/nn5huu0JAmPyJtaMAlT6KI+9wJer9Nck7OMu88/Y247" +b+="3bHf0XPc0tt2kbpVDK4Zf5iOeNGPdFoxJK8i9D+wRpC9o9jcUr2EjAW+ggaa3AUML52DeIF7Ds2" +b+="vETdgIEYMrLdVcSw7EoApiIIvFBUDkfXiBD3sJtPakhUPsm6J2sJ7Ow/QDKuMVdNh2S29aNqOv4" +b+="HVqTOzHBEJYqXcY9UylXthTb1ZXK5pKxQ/Nr2h6KtaAva+nGeQ14olK49VL3Gb6DO9yGNnTDpt/" +b+="F6qGO3cuzGZuC0ad1QD3BYCR2JPaiLO1kQMifFwk0ZXNqgbrJOIimsk5QtJcWf81B2Cx8zYq7Er" +b+="AEgt9soOVi1eJ4Y6ORbs4yoW8bHf6KEHMlkojvj5cnpTituFte+6ETwpGeVKa6FjBDfisZR4dYN" +b+="1cQHjDYhCoHghUFQIJoAiDNUwbNL8wmej7GBJ7jGXFQJYnjHjCmzJBcX4tFF1JXBs1K27mAMKat" +b+="aTz/ITCmTXqj5c1MWv66DSGV7vxAYUSCfVVNBr2Nqpco3FPo7FrFNsciHvEra3E3jhGlqMwYZRI" +b+="oSiJTMQDhbUnLdRJS9rFHne4kLGxtQlPMhATp3CpFaYeH+ytEJD6DnACSYnEIEn39ZoaBOvNGs9" +b+="72IWWa6nWB87mhYty5FKqIgteDHIllc+yip/OK74+lq8WSk9pd6ulSv+Vlk332HIBWpql/x0XZr" +b+="AzVVrcmsFXiw5ULiQbm3eJ2ah0wR5WbduysdyWeIQjZrYlWc/nPlD4BjXy02WimZ8qEyY/4RPnU" +b+="bdoDJfq9ROcbb7rJL9Qbex8tbFz1cbOVhqTW+di229b1Ab2q7R3lJtlt5o4/TUYR7BF/ytanIFg" +b+="MCp9tCRySR9zdNUdKFvCDFj1BwrYHQhmGp3+JAcmy4aco0lN2k9YYS3crcLSf2sJK6jV1qxrDbG" +b+="yfpIVxSyxrp3I4gzfT4rBCuFdbCLZfaQn/CRK2T7JqOWWy80JEISvy74QcP5x5+sQC/qzXCzJ/w" +b+="Jv2V8odCGkCzch9iGs+gmFLnS1OAqFfL0RHJFwRgutKmmeF/7sKbRGXM/WVN0nhC+Pc2iWmF4TY" +b+="55TnjNPV66dMpVreppFdOSee/lo3DHev6wlwLQFC6n035IQfrh6NTRabxZX0zSK62rqxT1CBmvf" +b+="Y7qH4QFXR8KXnGE3KkIaIfsDmGjle/qPWqKm02f9QqjqTncP3bUsM87mROtRNoI6J3aWicWR02i" +b+="bN0EkmRY7M4RQZsTYrFhA85EG2FbqYnBpIDUMY5SyDVpD1GHnLfywnVwnSqyW7Q8v1ysu2Fj7w6" +b+="TEVpp8jFc9bMJhazc0pVNPPc1aCA4OiKO6re0dQbRThIaMeLO39QBMG4WdQFdtIbxDQR3L0RAW4" +b+="OKDr7tUjNb+peEgEsMBy0mLHXQEkYTVIGKrQbMTseTtMId1OTBly4UXYCIr72EPCxKOSTM0cS77" +b+="QpN9JlCBP3XgtsthY9Ns4mL/+sJ66q1tYrqT2LK8N3gHH/1KMCDeMFWQ1hM8TFezbQIfR7qarRo" +b+="ai2CYINik5jqZ1w73YM14kw9018Wm1aDBYIJ02LzAvle6+fVQhTN8GvprBgeZr3hGHGGLmYEvPy" +b+="OuLzsj7o9Pk7rEZ8TV/8wz4tSJOyEu/bHJtTgdrtmF8BpOh6trPB2uFj8djtYXOJqNE8ZyYFzsk" +b+="wUFtFBAFxTQPuiB+D06CuhrODCu5h0YV+VANPtlM22f0Cgd53Rx4lnPO/Gs+MQzbyDo6oln5U48" +b+="a3yxWk48K3/iWRcHn5Pmd2qqBuFlaebxd0qJ6AnFZo4deNROoBXBwxerOA5Qgpio9UkElGXX/X0" +b+="jGUKYOhWZANjrfLfabHy17ISmObL3JIe2dSdlYLpo7IbBVXE0XDbfLf7OXOFdeIV30RXexVd4V7" +b+="vCuwTmcITdJHFQZ9LUJ0ZYctQwxe3lGKyIbEYlwQYfeezEueDhrMY+DRzKYnIqn6Xf90h03URCw" +b+="IbVwnUUrvcWvsMp/Nj9ehHm3vdKgGUjlmMMAwsfoj32neCSW8R/zRt7XG0I08NnvLOEaiKArTh8" +b+="cvTkgGcrPnmVCCuw/i3rnZ541H4l0JV4xdxDLuF5/YIWyhYbmTkOcMtC6k3wXgSf/Eo/ydGAqJ+" +b+="WhGOnl7rSHZzOmKm4cjzJnnjSqUVUOKvc3t4Qln0x6RrbZM5JoM3UuMAnFVz7UqwU9rQj3zSOVb" +b+="FL24Kw8kFAdqCl6YU7l+/StwigPRweCJoSYE8WWABGWJZR4s57WTH6OFywiOMfJbGREtwEwyk8P" +b+="09/0g/jhOdffYSSN+Qv/1RxwpMIFgxsC2SnCImhbQFkXSyE5oizbInB52uhq3wiUsZ97t7zWr52" +b+="k/6M8vYWqzcF/OnTb11WuUaWwjDZpI9qv8nj4r6GhKJoAZuCBi0XN4qz/vfYIZx4LmxzhK4rNwH" +b+="TRT47+DoVsEEMtTB9vaDdOSuCD+2ncgp1VA+JMEcTHIRqUzAgEA/6M6nRlTvkcOU0zCHv3eSZB3" +b+="o3H3cdvGplI4aWoSICFJ8GM2KycftNaa53i2gekrmDZGhIIlwwyHg2Hoaz6MfY1Pj3GuqP4i/zy" +b+="MfYGClZmrN+Dln9LosPSua/WC0VctZJZNVcVsRZT1azeFGYf+5jbM2UrFqecOYfeDBGmvz18q5Q" +b+="CN1XCU+0DSBuNfnkuvg1DV2ZUOJBSnUqw6U5j3iL2iWdkplVC3/+dqSazjoTrcGWwntnZ2dxBgN" +b+="XgGhoqZFYZzg1hC0Z9B/JnBa50MRwVG+IViRhSjot7HBinO9w4deTcRfCKsEmE+anBLpugu/bdH" +b+="ouV8SkwwG5cDKSvTFiKgrzHImpETi1Bf6KADk+2XVTRWzlUGhmIHIt60xUk0SbqFI4/QyPu6aAB" +b+="rlVq0j+NiR/e940ga0osXRcaTKRvRpsXu7lKNyUHmeDBFygbEgsbqRDgTTkY80cqp2FFUJG2cDP" +b+="E4D7hWKW4dOdkeVFSiTzRAR68w8bPIIONiJ5D1U2P0uKqBXWuMuzmCQGRWnuYQ2qkwhnEOB85jq" +b+="RwGb7eL9XdSszS2iTjKqKwTvZx/cP8DlJBNQCtdn2wu7KLaoGR8P8hS/Ap8k2CusM7iiB50DAt1" +b+="RYaET1PaRix3A3dBPZ7kj4kwDFuQ145TZKF1q27URi2zltRLCOFZeSV6Qq8Xrg5KkSeaolBA3f5" +b+="ea+Gl3E0Q6dHwLK61Ke/nmvPK1duYnIhZhgKvWK06QUp4kXp+771K4Cvk4BuFERp1fqzxTilEHd" +b+="LcbRq6HpobmH1VcXoWC9bm0XacFlxbNqjfesgpWcb9wr0q0u22El7aRLL0bK5YVlXhF47+tatt5" +b+="wuU68ho/cQZbEojTH4PQheLJDzsT5b37+aZY/MRpZKbv+DHeMW9fyX1ESHuRM5fkFRBeRx28H7m" +b+="a+OD/2hac5aEUscS3i/NMKETTglruDZux3ylY3b3IWHnGx7G8WHnEkYJwt9rJe3OOz9HjSwbEYf" +b+="C9+/sqQ8BMuqHtzkx8RdPNN/IQNpJ38NMzeaTGf/YzS75N28jNGRTMVL9k6lvwSgwrxo3jvPEjr" +b+="ciDBxaaizzbxga+GfLgq9y7qDYUVcyisiNcVRSgsaODxxAi0y2Bvm21Zsp3lKtIaIJgY4efM+Fy" +b+="Efknr4jin0z9h4S8uKSRQ2PHA6bm0xOtyVIwplCoACzl2G/tl4LsPJm24dwQ6LK7pneTXflEepj" +b+="+nOcqV+1nr/GiCTiARxzCDw1uf+VNRPQR148hwnnSmK3c8GJgBeJ3nGmNbjTwbaTjE0jE9Z7ihF" +b+="c2vhLom+2zWm5+h/KV/qvx+GvMx/dYzEmq7XRCtTKxS45KkyaPbe1OCcUcHdgXpj4jD7WZ5V+ep" +b+="NO+TuKzYBEt/mkXALgPelfUni42yFzjNYQTZrWFs8uSuV9T74Z7Gzo5+lmRpaCMHR8aXk2SJ27C" +b+="TYwwNgiWUlQnmMlGAownb2PXx3/jWM/h33T/fX039CA90Y1dj2ta410OdhnMRTGmS4NmF4YwETp" +b+="hZaxPwPWfYqm5BkU3EJFLn+4RqVVrRRH0z9Mta/gfBbvr7V8Hu/W0tdiOCmhjkbXyZS5HMWz1vN" +b+="8t6i+OpsDwOJQYLQ0rqpghQs8EMI/xvwA4ZooIZ1pgTR30RkoaFZJHHGxXV4Xr0suFq8s4kopVq" +b+="mu7m7cjWbPIWtsUlj9jkh9s1ni7jR+7E313qg5RJf38EhsvYl6SHR7L4ERv/MPERLQFYk7dmXA6" +b+="yyJNV7rQhRyxRuCIFR0rE0w9WhQYY4bV8pUnDckJ1ec6miZ39fPa1DR8rgXMZ1cIJSiIKqeGbRU" +b+="uhL3fzbWAmaGuywpfSxpXOx5p8hCLFaS+Ikx8nfo2exqWrZu9+XuWbLsx33s+aLWcIKPu73qEJq" +b+="W8XKQ2gxK/35SKTvq3XqUQ8tEMhOB/MkYiB/0Pr1rRya7f+NXyluAVX4geu0WYYAUTxw1EM0g5f" +b+="kJ5iew6XFDb4hHmHIxckpBYr/LRsf3HBJfvDPML7PE2EgODYC1ntkayBMAgII4E78SRyA0aujvg" +b+="K9PMIbvdE0IbYRViAd3PyFnqZIAREZGPcVRgV4Rc4MsYj+HkEVDzEkRnoqZ/AQ9iF21k/MBwQIe" +b+="Soa/SGOP39fDukxJcwLhQ/F2LNDYVSLsTnJTkeQ8SRIKhsWpQdYmdIKjuMsgguxyUlukd4O4djC" +b+="7nkSiINs/oXjOgH8NfrvXW9cLsxSsuoSoBsWtPnim9N4UMM9Cnlf/tvng5Gg4CX5zhx+11KYwuP" +b+="098qE249pa0L+zUkscAWutB3TTf/kItCfOSjT/deCnuEtzs1e9f7S2HdZb0uVvZw5XbYQJQvt7h" +b+="Lh1hikKrKAUsXuoT2zE/N6+/D7o5jYs6HERJIHyAV/jO/8HQg7vEr+dVnPunTw/Puqx2ed11t4D" +b+="Y0wsrOqkpPQ+VX1ReFi6xY1Dus1PE+v1xAo/gCmhNhYeKsraHxgtAWYR57OcpiG4J9XzsoLKBui" +b+="tnA4yu7CHDkgerXZVlYq06gtIasuSmUfutO6vOpwDZ8Cp1grck8yNY7rKRlwVzRiZWbEGOZaHAX" +b+="HIyKbhJsamc6t0ZWtKx/NfbwPVPNytSc1d2EmLRxojuapAFZ/eM5nBze8zCvXcM3Yb38Aw+P8Bz" +b+="M7scwm8EtDXNisIeEZW1iv0/+0FQbuzKNB7Bqco55iI3X2yy1+CZu++GRJs1lqin7YljLwyRidt" +b+="HybuTNvapFZdJnHJPeiT7pXnY1U/DGwP3nH2atHqEpLw8EmWLa98fC+v0eR0TEZ+tFc5sLrLCGn" +b+="Tb5U/8oDXSxoyVrrSDfPM6nY83TCJHyAzyzY6ByzUqKfp0KvJepwWJVSeaw/LRkqZywL4EoaVo6" +b+="XlmY/SjhLxIHPPmnZfstNxDdllgS15FCk8ScWDQecOOykIzyE1wn9ABJb2VHRdsk5Cd5R6RsHTo" +b+="n2s80nmGg58PCRRfWdcHmLT3JFtI7mBccJLYAfmUBPJT6R3+HVtyd/NTnnL0yn/scZ7zgM6SLNR" +b+="LlAQuWPIQ5NoAHSCj3XAXNT5krWywvt1XqBSxSC66tG1daW1+piWJt7cInLLjKvpLRslxlX4vR8" +b+="hpW2VdG2EPzzxkGt8g2qSyyHR4tOYslx5mKRXRaAVjNM+W5RTR/OZ/StNqrRvSwzrFZi0etEQNp" +b+="xV84kdljozvBHyJSpTCu3NXKx4NCjkRmw0nEC6SVGs5cjeqNmcmHD2D9An3s5drUfjwfzGe/b6b" +b+="gh3dwv0T7lZMjOHLH9wMqx9hGLi5F8H6obfgK2b2pUN4gM5pCo0QsDMNdRsk5QAQSSWW4TCcu4J" +b+="Jx4VhgWOhnB6rJ3OannndxD75iVDyDfV2/xxbn61gE4khaDd5HgcQJoBbY5Wm+is37fkHfaHLVY" +b+="AFFxIDARwwI0teJOlIECMDJgRexuI04NAB0boQGkGP/fHWkHM6nyTv9F24drJvVFnj6wu1ykQwY" +b+="tus7oauFM/bBvCP9oTvSHy50pN/gSD+NdrG9HS1wpN/gSH8gR/oNjvQHcqTfcHfFkX7SybOgONB" +b+="vQWgQuKNFiJICMEJV+Ax/yKe5+Qx/wGf4Ax9YHqt9xCLEEizg+v5UitXNx5xggn///2/ye/Umv4" +b+="OlyQ+7V8jNw/35s4HbHlPbXp0xj4NFNc9rUvbg9CfUdCEtcnWAL8xmEUGign0jER2kzcePNE7Y1" +b+="0AylWmc9WHyFaHgmzhNm8BGnCmLoLktH+bSJntFRxnnI/LYCzbcq3GxVLgdf56qLWdEOnxVLjyw" +b+="TnzZX4eLlTyneCVY9LWnuIAX/lUS+xGqhrtGM5JbBSK+xHiOw3jCRwRRYeB1ghfQhV4JCOcD+/l" +b+="Uhe42+Z4JjeguwZva8LlTD3ewex25eBP5SUzcG/LTX/bzNA4KNv9ak3JUrIN4u/NnvOZb5Xbm1K" +b+="hy88mj2junLqjt9rh4C/+bfBObn4R3h7F7HaSbeI0LT2Y3u3qJjBmF3/GkIpz3gFgzvNYoxxUVB" +b+="zTMn3wvieOM3azkChruQFU6MC6e4+UdyGVDtEp5gDHybr+hnPJntrS9c3zBqnnJzdUiWmxWJn3G" +b+="FHqpX8Y0f+qfQvnR/3jl5xqlzBVUHv2qVB79D1B59IIqzw7WYu5YSAHzozG0gGxp9coW1nH+fV3" +b+="WkbI3WV7zu8BKJvHxS0K4ZbHtio2CEBH4WOv5mb+d4/vGxXjEm4TiONTkJtocREMCrivWitIXxc" +b+="2Eprk9fB6VY01LXVHQBxYozpHkEKESgQJe/Bti/P/C4SZHsYU6qlem/2eljappGEcW0i/zcggm4" +b+="bQdLH4OYyDDqYrJvqRGOkei6g05Dpl/k/KiiPJiDuSRQSSF+S1yKgNaCfuXtXsMxHKBVpb+Dxpz" +b+="uRDr+UASfMPVLfLMN1Yl8sw3ULXkmT/nhjzzDVFteZYr2uWZO+WF+1sFgVtU4neFAYSgfIvCBzL" +b+="7Eh8enD1leIWdz57G5iIVW9ILdNIsSSbkipkwGCw+9LDQu78J9vBBCn73VnRJr6TvQXS6c5JlPY" +b+="DYJ72fDbqcBTXqnHvOGwf2s1US4J4yD4uClc8efWpm3Klbu/fz7BTCMjOr9t8WLOHU4MH8ElJys" +b+="2R8sHg9yBmtMmMgF8V5YbR782oY6tlTX5h5WGBgcgXiyz+r9rHAmeXz41WIii4vLAjRQO5MqmWN" +b+="AV9mjmvkPMlQFp5Vk/ha2OEy+EK2lLcEn2W97/QCeYrLD3nLN58NbpbixrhZDLoMO8am5ff22N9" +b+="WvrcUf4Z6vrdyLtS4AE8aiiSig7Rw2LVAczyvRcprBXwbfgO6HzpEnL/wN26p8VeaLxfKmwdIH+" +b+="+QqtuBVi0WoxwB8NRBy3FT9IH8+efEMEeFM6LgHpBxfAT+hRC2kfjNGp5JX+HjFax38I6YmuQAT" +b+="ri+hUNVuTe8g2blFgZ9gDiz6GLpQVoYPBd1InHfRTx9DixXeU/qCXb5JQT2ef/ilVdIjYGTQhMB" +b+="hixcvLt3yOl1Pp6FcFuThOtzEU/Rz0V7R1wwbpx4ka/bhdrML5x/moUvdunCvbLZYKhK/sxzxfU" +b+="M7LGbaXZT8JG28k7+VFECcRuaHzAcEUjUooitizUxDGNapJ9IHLdpqQdPn0RCKfD5lPw78Ej4v+" +b+="iPrY+wz3N9BC8KN20uJaG/5ufmp1F33gsELOYULXM4kl296OoiipvL2hnuMP+o24LlMPPxjjQut" +b+="495VznhqymW88WKlJOQAk0/aQfuH/GmwN4W7JA4AisRZCVCrKQxBNOFlhThaK3lBpJulsipG3j8" +b+="rm9L+FKHAaeNm6YE9jZ7kgzn/01QxCzlwoqzixgBC/22RgoBhx2GZbH5S5Fq88ma0PkNkUT9D+B" +b+="THBpG2LJRDpuJTyVr882rEZTj0awv3UO5R7Qcw/FBRvlADcLtpimuhObfiM9NYPvp0d+lb+xerP" +b+="xCf87kdCi3/qr060pcbxp8nWvKh8xd7pjc+Su5tdxI7vlA7taVe1hjnz2rerO1ZJ9Qcvus3NGa5" +b+="E3JPudKJ670Msl+yZWOXemNko0TGM2idJNAkPyzfBQH1+0iv98XvzSvuIPwmLsIt+YaXy7ZR0NB" +b+="M3ZoxpJ9UWKhMuASI7XhsSrvBa4VmNU4TGfs7sSN04fZkAPsfWl4pY1CcoTwj0fQlY1u9I4YDvp" +b+="ajDlOGHGUOQz5LK2uecxPuXiu0xxWGb3RuJsux0PHpvuLev5Rkj30pl3wyCnd5doRdNPz7L4va1" +b+="cEyrwtuJNY9dmga/twUoR4B1A2n9XayBZ86hV6WG0RmsXNjcrNjQpTulu1FFMee51Wp8VYokGUG" +b+="RFn0MRem5K5PZSZu9pKUYmn2nB+m5FMtdUakS8zJ03Keg4DgPUKX+dBc1bAh+KwlFfpOl6Z0JcX" +b+="smcXthoj2S0zfCAGurJEYmOJFAxE8pi5832sJbB3/QrWpNMhuDIM8ZUf20Ul52MR6KB5NBTbo4s" +b+="r5YOk4CKgYG/orvuQywR3c4xaWxzUcUIeHnxyBpImRHVAoksgQlPGy0m+nIfYYPVBiUfB0CnIND" +b+="7wMMQecqGYTlOZtrDJ1ZSYROzAk+6X8Ll8kUJQ3MQSiJU7bLngGnLfIXwe38NuqLLw17yNlV6Ue" +b+="HjQQsSpUftpyjs9cpxHeFjyfI0tRGGtXpYylaHt51Rl+Ps4o8JSbc6osFQrl5O2lVaKSsxSrflt" +b+="tnOJllqp0fZl5qRJPqegrN/uo/GanCjuEby/RNchafgclQvpq6zbjzPMFHnQ/AjOyjjTXFSONE+" +b+="9IYdOythiE8EPik/+WjnNpvPpKWzQvF42eTC/Ses7K98sdL4W3x6RuJXXDlK+wc9pFsMv/ujnOa" +b+="7Y7Od9XDGwto0f5AB1Sbfk/EmOK5vyeTjWOsV/VcHOHZaxxRT2cMIytpgSty9iPFXYqJV4W9iaC" +b+="yvmQjZXJrVnArGsK2dxp4l1Z8bz6xs5FIvjpJ2igcYSUyzixS17S/Jqg8PKJbI9gx1pUrG9rZYm" +b+="aTmTS6I3yJ/8qSLWL2IB/4YCqqO4IqqLHEU58GQ9sD/TEpDFWeas2s/eVs2chHJ+pmil2KeAJUC" +b+="s0C4DYkj8aSsZTY7pBZl7TsuqPeUDLm7nt/CfEe8dHgx/P0uPK49EqRFXHiz8G7y32nT7kLU7JE" +b+="auaMRor5nH49aUfkX/bKqaunM/O7+I+47EgGOf4Qhxl6JKP+JANYHj3qWzj+xlJthJBh7JwjtTO" +b+="VMaanjkw3EauDU1nFuTkWDsNt7HskV6tPvhilT6Txn2ROpJbpbDFETROS1fFxwmQ3cphER4wZY5" +b+="ZnnHp/G8MPbxvDD28bww9rz542O+WLlEIjPFLRbDcotEFhU5qVwjkcXFxRbKaa4hmyTBW9ARLvI" +b+="VBWVLOFBLKmCRhg7mtd6ylTeLzqZcmJk4/WnWsNl2QF/HlOwL1aqbQqa6IxT5BM7LvpmDAuJ6Gq" +b+="YgrRpYDxBbUr5OTu/tOvq14E7eaIEliAlbxx4VpsVJbNqjwGyW4Gf6kSey+P9l722g7LiqM9E69" +b+="XNv3a57u0tS277dfSXVLcu4HVtYCUQygoBLE8lWFAfy4kcYJi+PSeYn77aHRcuKw5uRpcY2oAET" +b+="OsQhAgRpjBk3QR46EwV6QJAWUYgSRCIyDiiJQkRw8jSJZp4CDlEmCp797b3Pqbq3u/3Dz3qTtZ6" +b+="91LfqVNWpU+d3n72//W3RADzhvTYngWlf8fEl2tfc7HkvZscSfwrzAV29SxUJA3doTC1vx1Mnvn" +b+="jzK7O467G2OX6UXvcVj/3cKQ9UFJWix+lst9E3hqvmLNqfoZcP5hAO3CfLlKnesKUn3gDgSzkOj" +b+="zxbBcX1WTCVbrBw6xO+KEZnTOl0q7iNNsCSQhhVZECbed8LwgBaLv6JQMZFQHAhj8MeyQk9MQV5" +b+="MAIFbAQKekoUNcW+oSN7sMbfw3UkIVpyr3gDordCeiwWl3izwrnRNSBBqbRdzzqKrvS+bd+B1/H" +b+="EOGOK+SWH1+8/5Z0F75kepSrkWKc7PvJrXzty5tG3faAJoJa587Ed5l5mKfb3w0Plzsf20z1XPv" +b+="3+3/rgL5948De8/QiIADSXYSgYg1FxYyA3GkTOGbge4noo17HapsB7DdwTAd6FtNzs+PzvPPiVj" +b+="5z96rm77wfSjEqlCMQdD3zyS4t/9Aef+trxg/fT3sNHUWocgwi3xKJIx/t9CYZkI/KAhYXHNb/9" +b+="dfcjhBDrYV5Zhu0x24I2yxuI26SfHe2nTWxyXFQp2C4HYoVljjnx7B5liPGoLOp5OCEinOglmjZ" +b+="IroRWyBkkZayHKKOXoC2akGCTsJ3SvmWUA06wfYOzmgDGj1/j28wFOaERlwNxjeMydaDNmf/TE6" +b+="D6gmMpD8C0GGVsaObtmlAoiNnZsjI8n5L4exLuqieduyoyY3dV8QfmOKWQb3zRoAhGzbCQ65UUK" +b+="BBVRnuZ5xakdpL8qm/Wsi+U123JchuKxWRYVt1IWElGeF0WLpFmN2ViPmEsSbtr2GW6y5Qbo921" +b+="OBulRRu+U911PORBBA/v+FGcgZUQRpbuVTjLQJ7NwdZoTcVUQ2mbxPNq093Tmblb4pM26f+r7s6" +b+="C6btFiw7e9FE970js12ydnrcZcNjI1ur5KDMlxtkaPU8ZS1nPUj1vMuiwlo3oeczxGqJsWM9Did" +b+="iatfTcSz7v+6FTKwUKnvLUdstg6MI47HhUEspg9qspXadE6hAt099CyxRBy0QDbYK3Io74UOA/o" +b+="nthBSRLyXj0b0QDU94dCq2b8N6h2iUmHdRHgVMfBeqUELM3nKiPQqiP6vhBMwaQAFl9FCCbjnD0" +b+="1qA+CkDQBp6ZOjPxsHRAFa4+ce2eLShAukFFSxQ4LVGy3eP6ZYHMs7w/XvIBn/3nQeGWojoLjjH" +b+="lM+HARpZun6rvEewv2ETje/417UHAJMvW46nipb0EJpoOkyrLILM4Bf9WO3JyBHQN9uWROmQDhx" +b+="Ckvw36cziVZ6w99RkfzI9gAyl+2jxoRJYM9vGEAKqO9fdQY/ZY6FFeSp9XUQh1uc3RE/B3nKuDt" +b+="1AViYBu/bw1POwIJD/Phi2Xnqw349Hk/Wrjraonms9WPTEyqEoYHlRPtAbVE83l6onhPvVEczDP" +b+="1nL1RKtPPdGsqCeaop4wMgsHzPXDQct5c8lx1GlzGTArEtchjcQee/jr5lJCrQsGV/eW7+2vopW" +b+="1DYFqGw6yN8bbef6Po0yEgVA26TJlq3+ueIda/3wqwEob929DZfvPubLNM1Q2TC1JWT1vERUXR6" +b+="iQ3Zr1CB1Jqqz5fchaDLFduiQp5YZR0ITaq9mbRKAVgqmA5Bxii0Qj4THa3+QIt/coLItMzgORS" +b+="lEXKlNhpamRCAvJHzDfpAm/y/68AvsMTHZDd/W6gZZHWUAFmM9usSOJ7DlN9QNhFirPk1/wq6SO" +b+="tqscFDE1Fq9HrGwIOlu2v7Ht7+mg87QfeGU/8Pr6gedMeYLBHugVXl+vsCPOW37P+RWzcCPO6+s" +b+="E3vIR58mIS69REDMLAYJuW+M5pV3yGtM8WCyclwmTBIpino6FbyVnIcAXySCw4oIS5tDU3K3ZrS" +b+="03SXEBUstTG9nO8NTGOyYwlcbJO/uG6P8/Nu3YfJ/vm4MxpIoFG9FF4q4y3aDPRzcEtyCIGNxIE" +b+="qYHxHotbiQBPE0avMfF+nNDMAk+ENHtYpl1niQYhA0S8bcFrxEOOYj2EgEViT/FlqqYvULYUyNU" +b+="Tw269jo2fCYcv5Nl+JDdSvja6zmzunuAgxYGwJLOG6FvehWHJOTDV2wLDuvh7duCWT28dVtwSMy" +b+="FCB3LTGbpzUJwRh3zPYEoNhThhN5XXPyFJVA9/lf2oNjutXkyavfSvzZgIcL0oG0ji0TcK/5feg" +b+="LEPPYGSrrESWAGqKb+NbKO0g/apHZPxNI4j9K/ht5T3wHCp65gqeAYLXYNhl0Z1kZht45Ayz7Pe" +b+="yTRcZhfT7bbH3hoSbfbxkKNQt6+G92+m+mB26ijYIz0OPKk7saDImA5lb0Le+rzrSTaEOZd/aQC" +b+="yXG1gyrrr7DNXtMG8oCwiTr+q4E6tg8IOZPEIkx+35fwEVuqUKg+BJpDQq2OQFN/C690sOKpSp4" +b+="fKnKHOjMVXgfonXgOSrcL92O7EMofCb7MW41AphuJXMrwxl8wbkcjrvjY0SB2BCT9mtBrRcoFEo" +b+="qPgFGuJ7pRYGXsHumK67OorP58JTY5rsah4EhEjFArTjLMjfkvB77ZuT7/N2PtUdlUHjmkduSQ2" +b+="pFwHztyZ+xTLZsziI6pMwmFs/7WlMrZRT4BQbWEVWoKD4FTiqFaoyqGOu3xi/s0aEq+53sI3lJI" +b+="5KPQEi2HbMDLhICrNg0XNSMky9XAK+Xbk7c681s5wsOdsgg3ea3PNOYHMOqsqIBSwHoobWL4oFN" +b+="gBgL0dgpMRgmKjnFS3LNOvwV87UALXjuuNHpWoy9wQvbyvYG3cKoY2aZMIrkQfbJWQUwAUqosoo" +b+="1VQasF3MuYhAfHHxP6H2cL4B6oT3rFpXeeqDS+hRb+uVkmnNhVrlzj/rEK/ekNVth4m8oCmRJri" +b+="5UvULwqT/Ff/QIzQxi3zRXyNW5O5TEWbHfx3wfv5MkK1TqKutvujUkVphag2uwVV2iDmt6O3sXT" +b+="uAR3wVYOrxeHNkREYNWG0I1hS4e7x1ihAra/EIweXILL2O6aSglaKmoVF48PXOl6CnIuvNschvE" +b+="p46qD5ypaqGQKZUF4p8BADUvfvigyjEIsZWphpg+JAmKA1PUVPOoXN+3ip65a4amqMAV2EDEslG" +b+="nSYaUkyDaGwI2DhtbAEN4i2qXB7NkyNfhSxX0Lojx9F98jZtPkz/q7/Qpy3T/+Pv9lwxrBItvNq" +b+="M2DHIDiKQ+qDtlEiEcbDmPZWCz8VnOqOPPxG3fT8Wf/Ax1Hu/eyr8j7nkymij9LkP7lL9LhL7X1" +b+="woHp4n2XhnbR0cPvpfRhTX7NdHH+c0O3aSDC4i9+jzrlTcWnzkC5aIr7fp9+Px2k20YQbcMrPv7" +b+="fh6aKmisXcIuX7t+3O+Gd1KnfoZsni8OfpZ9f8ouPfY5+P+LLs8nXjO+LgiztMwDo3krd9B1pAX" +b+="ty0gr3/F0ckxDO95E435tkB3YVPtP+gP6GVpraDhI4aBHb4f1oeOsOv1tjfNjHPykc0fjv4BvpX" +b+="sTPEPNY4aXfLYZ9Ca/CgG/nV993X6H3ecvvg1IN0nSdA06IPhuab0sCmcwP+Wvccg1jJjj5igyi" +b+="RszcaTlzIvFxrCpa51cc9xyDsKdsVZZk2LNSjvIQe8g5YzfdYqO4NIQSdAnrPE+eHF3KqNuUYcK" +b+="xMoqipSQQ5rg2K41jzG+hLL3MsgI+sGaJOAbDCMmkoToCCxVGaLnQ+YZbennKFCi6stWyGjPobm" +b+="EGkmaPSUtA12BETBRoFmzZMOM1008YoWtpCq7R0lf7DjrCDiMgJmUjJEv6zN+9h0VZfx8cQG+3P" +b+="Op1Dk86M+PvxpWh9OtGdEsR6B2yoSpkw4YP00BsYpnHLmqds/hn68Q+SPuwZilPhFmTj9pVvnJm" +b+="420jdP0ndDXRD+IYaC0GsWQWYhDnDei6XBic0pcAzsv5MOtBG2wHzqM9SiLG4XqAg0lYTZ3snoC" +b+="1ugjvmMgTBKWkpPLTuyMIEcVLQCie3Q1K5RWRx6BCYnyFxICYeEQ2CT8pdgCWoD3OwFHFmiwRMQ" +b+="k1J3gYcI5lw+wTqosZHKhj9qJOP+jbuCtZVYMQZa1sqBpAbshppiM4rouQBcmOQ8RJDAHWQUglS" +b+="MjNIcFvBCqPNa2toiUvqYuaAqOkztaROr2V/lGtrUHsUnCiJ9kI1uiN0921TDrWEAg/7cIb8A9K" +b+="srX79nYTFpGH5NOHILYOWW1HPVszJdGzxHovHQkyvNhQrf9wABdcjSAw+8tLQmBfHPrwUsloH/O" +b+="HFI9TGvP0sNF1k6JtN2k+YXGTI0OUfEDrLPlMKrxJeBIv/7LNJ2V7f3VskvS8pX9flPvcvZ0U3N" +b+="SWMennjG5lrNjKdBWWkJrHP8RWB/TArGkD/XkCTUg/41uaw4d8F/sprLKahjI0YqaLfzlDO2qW4" +b+="hiAYWlLeFrFdofKfRDuWaHsFtmdw2fPVJQE3tb09IuNL4wldRaDOMipCje+erCfvCweHzS0nhLC" +b+="M6EEDopwH3zqAwU+tHRXiiyo/Y99XSEwVaGF976X1XATC23DX2rsLSkR83iqPGDXj981JZOFm+9" +b+="955wr64E9t+uF3dkYd+UW59C7xR1NVl17s0KGg9Gtos9gDkZNlJAm+ObqnhBMJhU/21sG/Gy3DP" +b+="jZTuo5CQH0PaJjRBk+X78LYF+asTdOb3XKR7pQ24dd2vg9+Gy9GspVqGz60mNJbw6mNyU9HUxPJ" +b+="X10MH1U0tuD6W1J7wymdyQ9G0zPJH2TpNNMlbxHGTwveRUJ9tZyv3qLskEjgpiHqO3s83b676kX" +b+="vct/roGFeD8C7YXGXLhm5fhC1ywLNoZANtdIvC8S7Lcg5BCJe/eRCNfWkEMk1N3HkUIl5JBXvBG" +b+="n4zhdh9OLb6DTMZyuxel5nDY1aJBXfA6n63Cacs7ulEXHR93pME7f9YYTGmqnhdO3utMmTq/MnA" +b+="CrpoT5oT3ejL06xO91pw1+74zNGUFbil+dsWVmbPrfPLXkFS/VmD4kMeN0VGP6eMUncboJpywbf" +b+="+QpGwCIlTxHcMo5C4YDpx2c8ox34RtLUnUJySdPUGMW23hYFUeu0PFl+sMcscLX0pQ18iZ3NKp8" +b+="cGDNs0QyVzzRaFy574TuWD2ZrQKmdOGIzszxwh0o9yx5TObIY2JwtVDrfgbJAmy6BLE8gIR6xmN" +b+="5xaFtMw7OCtzUo4Zp3LEYKJ+MTFYW2QqaEHUMDkTfwkqiPHIxYgPxyxRYiISRDUQsFLLvQHQ0dE" +b+="edo8VizRaqVkYP8ypJkjUfbVJIRJCpf3Z9my9hrriM6UVT6H5V2LIsc0gATBh98Z+Fflx+sZ2du" +b+="1FZBTqC6POFwTj9KVbclDIqh+qI8dl44ZdpO1LdoNfS3xSXAuGVFuUXKJ2hb6sXs48tcUxpkiZY" +b+="9cY6twaThLITCFzXG+nRANTyteqkb/F4ZgCPZ0o8Xk0mfZ6u0TaAFGz2JllBMQ6XZfVJigWf6vg" +b+="RYtR0WOr2YhhUQ6fbo+2bSBaQO7JI2ntyJ6/GwQ3+TduYx6TTk4i4Dhs4ioSXlOdNnL9Qz6WRov" +b+="TdxjWROFMJMwn3sMQ2mmXnFYWxRBmWPjYkqxnHIZY+lkiKhCqu9DHfEj7kTfQx32oQRxEhT4dal" +b+="mxTpibVvImal2Qg18f8/j7m9/UxX/vYF2hU7ffLWJa0FwXoQyZzJnINi40/ncd3g8M2Ln6NyeMj" +b+="x5Hzz9nf0vshxg4c8xHiPvr+uVN/9cavnf7ywQ8o4DIugn3FwpepM90YeKy09W4X+egDGp8xqz2" +b+="c20wvHfwJ94JLT/3ENINhS5KduiXZka+izcO7LT8Pf5jK6l80zk4XSqsI7466hnk/pKF2mMEIU8" +b+="fXBdPSZdiIooAt/0ogBvxc4CsK0qQN9wMMYInlmaa68zHWG+SIQGYYeMQHwpwnBl6onrdypxJ2Q" +b+="5da+gi7NAFiaYupoHXROMxT0Id5ihRpLJinuuwjRH4TFHJTkExwsmLMU1MUgy3BPA0L5mlEME+p" +b+="WCDWCOZprRgi1gnmaVQ60yYWHnoCcVqXjfZEoliTre2JzDGSpT2RSlrZcE/kliRr9kSyaWRDPZF" +b+="96op1Fx4CxX9nIRNVfk7FSrtDld07h1xS2JJX1GWD2rdP0aML95/QfYruThqyIQt0qQnQKplMji" +b+="c0ljAtbQ15elT50DhHPVoczHFIcuQ1bCDjSZuxi9L02VJFGqjvgBEafygCrJ8IQEEw6mBGp50eV" +b+="J/wEzHqJxIqg1QgfiKBsFUHA34igW6Kg0wgB+wngl7cZUST+olYH1H1EwnUT8Qr/URYnwSWllLp" +b+="oDyNh0r1N3DGh//0hPwR8hmGSCnFNTQbxUXY0y8qClD4wDic6h7GirNtLhJC3EhAgFGx+IsnPOH" +b+="efuItOIqLQ5q/L3niVP1sMKZwWszKLeFBwJEkIIrheYLpFmJ7XTwFH5ITGgB0k82d3g8GSCkfa2" +b+="jgpdC3S8osKR0Vykt+WRmKHJVCJgZNtYmUCujlnAqRjAZLNiAsChWL4UDwPt5LueB9wgKv9sJRG" +b+="fptlg9SKx5k1fHCDhhLnowXdsRA2NkslamQPV5lOibB5x0k9h2yEQ+b6SOMdlIFk2nJjpT1bmoz" +b+="LJ5gm2BXZjCOjGcNo93Q2giyMPlkOQR0YpZINjBLCWJOFSQ8CiKOfBHBYxhFplEQ6SgIdBQ4byl" +b+="fvKUqeqHSVYqZIUUvFAr8I+zzBHObcU8QqVW9kDijqAjp9rmpdQb1rCOtV7HcxAKFY2findu9hm" +b+="JqpRzp7QiKDYfBOPf0W3eKnhq0MQaWFpwy9bkR9yJYKKLSaCFmGzHJrGi4GV/NcpMoL5013nym/" +b+="J6WNdX1fw3IZWB/aiHoFowJLYH1tcTDghkAU2hHoZ2K6QjRuGmeT18CQFLWot6DiG6bvdZOjUDA" +b+="38rTjHzJTkWeFl8TwKVXtZbJla/KJ3qV72j1fceb/QCRPs3+0h5XUdprnGm2id4IUElFCkaQRmh" +b+="JoxcFqViLIMYWM7PUnf8ls+KY0h1fpVUWD2DSISk1D2V7/GpRuyAzEgsEFu6LVqHdS3/OVISW8K" +b+="WgbLGC5MoZ+c8tI2eF+5Q2qH6eJ4iDVKOeHhQrWGqpKMEVcaOEsjISIzOxFrPfN2wvU7tdo4/vx" +b+="gjlpJrFfhbbTNbJ6GvkFb5k79gVdTZjByxr8WsqnGvUmtGSr5inj1bsiFHrqi/wyrCxsPbNnuXI" +b+="tO8+q0FhaZKfO8uRaTk07puR3nChcWfOcvSKMjSujS37x1/k0LgXvlhGwr30Rc4GzDTFF77I+Br" +b+="ZYJvizBdt/F2uv9/gh3WDbYrFL2rsXwdTe1fk3EpVhxhUaNgYbcsB33fryJAQBTQlWmoXXb0VRB" +b+="YJl8kuBqcoFcoa8aDDYBYyF7945OvO480+Wgg1W1+CXx0c3KK/48y4jquF2zYPhJslpDYLTahOA" +b+="8LNwmksLOS76M/Nu0Ckdw5mMa6xVl//6WrFccf7MfsGR55iwJgSCGNKZBlTIsuYYoQ6pJoZN7UW" +b+="XYodSWcEZ4q/yjVwpgT22o/hpXwJjClRH2PKbmbQKRlTghUYU7rMAcIccfjtJ095+TQyFvaQarE" +b+="jGRNCJGeELaR6PVgxlWtuWRXouOr6zkANUAf7FCaqceYZhInTXSw4k5wsx1+y6oKQyIKQyIKQyI" +b+="KQ8ILAq22NloE6GJCzIVoGsNolWAY8/LQqax18BvyWOmJ/a8tB0rccfMg4cqvQYY9Chz0KHfaII" +b+="8qXPhxMNQiXQ0EBVQFF4QCgKBwAFIUOUBRZAFMkAaZgmMIRXDCy2t3CZ+rCsz+GCi83pxrSwG1Q" +b+="AUrmzWeIrg76MFHx2b1ppJvOUDed3B0gsotM46df8pN8cAeqwS80Jt2z2oVaVs4PGBfj2CHSvPQ" +b+="vWMa4SeSZydwXTxjeoGaCT+uIeaQt5MOjOW9Q0zwW7FpDTCdDe+1/OxH8lWpsqDhTv3s6i6ezOt" +b+="XddBZNZ+E06tGfZrv+zIa7p1mhvWtv+nmfcYWwZht1I1Usqlc88hHoMsGhgP0yltJ90GvQG7wpu" +b+="J1o6OKGUIDNUC+q30MZdtExLguZizw+zsDWz/Omij78Pl9C7W7iVmc2nbslAl2NBNXpMifcaZCV" +b+="WFJ6jC9Jko+Xw62+6nCry3Cry3Cry3Cr9w03HmR1GWT179ggq/cNss9rQCVbywGiwVLlvMcId9c" +b+="cs1NykOAPUMn/koGyN3vvNy82F9ii/Yioa5+ATxlCsZpesV2rmJ75S3rmYXmG7n+xYfit2Up5yZ" +b+="toQ1zfS43Fj6hHfl2tz10Qjp0JHUg7/TsJk8H4AU74H5KQXmaHABjhPLTS92GS5XCp6e+Z4u+En" +b+="eP7BC0TgvcFNiP06KLbk9Pz3Dt8pQjxi0XsbR1FiI9ot4w4Zuq6QyZvpLfhKSN9yj3lMzywfApB" +b+="bUU1RU/5+RA/JcQiNfW794v5kMvChCg+k5FwiKX0IPt2TyoAFMzUaSaCOu4DiQlkHCGbqdzqg6X" +b+="EZR/SnGrTwQGGDt6k+6P0bkRJgtjDnCRGOEmYSO8V9PM4V8gQyElM1qAfxrxhMFE9F4v/eckTMh" +b+="P05jshuZwJe1aVbdB5fwyYg4Nsx+PGVN7OwotUFVYX/3uRnK0ug9lBEJDF3s0dOf1kv9bW9ro+1" +b+="/bEjmG3bigSeBmIM10O4owd4fwoq3H7QZzZiiDOthhOFMTZXgXEGW+TeXcZyJLnuPcMwO2cmkFl" +b+="fCe5s4gU9MHYKtK33DxEsuU/PB3abjnWTmTbftCck+I/r378Z5wff1B0BVobYCPT1djN3dI2fcr" +b+="rsxojYHXVaozA11WrsfWk36IGjD4ryYgwM3V1MG0R9+/0babYqNbjkV2QLCvGZI7MNwJbcs6zj5" +b+="crwVREXWN6ylI468UsWirCe3rbHQErEyhEfIu80CgsLLxH4oVExci0ZOLD90cATWpEwYu1SnxrR" +b+="qBh2NXAk6Kpf5+uaQpq8pwBBdIJz0jtMmwVvPqq5hePqQwqBphAdYjUZTiAeVBKN5E1cYmdJnBy" +b+="DRrP0VDD8alpIqsMTJJ3mNJtngsIKJcPTGYgzV66wvvwTRdHqpDr0GMqtQzsxCEiKIfFyJ6WOpj" +b+="DlvcGBk76/e7mFWd1zl6c1T148gfiiZ68dbBM7CbFDpDBgKt8tTjP6CovHlOrFMYvC+NXC0OSU4" +b+="VLiMPXMiDM11HIYsweBpdG4LVjI4nQSdLadN4XOBYrpuDTNYDZCBlPOpMxZCwS44QAOHjNht84L" +b+="wClGlfUvnZWEdVe8m7A9sMDWmc2d0hykPGC9KjpGotNN+mPY5raApgVfHs4GsytEgbmdjE9vEKk" +b+="rUn/Tnydmd7q75dwxq8HdgU+OT7giD8FRApcehiE/qpMwtcg4JfhdU8q8IOKyWCFb1B8gzZcd7G" +b+="gOSVGCE562V0ifWZTYo/gk86UmCT4pD0lVgk+GZ0SwwSfpFOqjeXJcUrRuyyaTqnba/GNb9ArhG" +b+="FHtYPFly5pkgedcfK/y7xsTbTAObLKYrrw97KtmE22H4U0w0oeWp32FhkmoeKJ47Qif9hnB5sTK" +b+="m3q8P+Q6XM8q+hFRHpDzOYQ9utAmM9DqEcGdCN/tLQEjDkrRc7TcdqTjebjS1Z9Ie57ogI5jlSJ" +b+="kV6clLt5gv/IUp92Y35JVShOu/G2cmVakaLfbb586/gR2B2XX91x+QM7Ln9gx+VXdly+pdvXBRQ" +b+="QA1la4FXLk8DCUMkps1S/TTll6M6lutIYLdVLjpglDmysIr9SvgTbvUWWDSWdBNDFRk92A6ZYio" +b+="VdQR7EhSD9Grga4L+zFJfr4FLdrj0SiOBUTTQ2p+oSxZoNjKC0S9fQInAZUe/c1oM3EIEuNnoj1" +b+="cPAZXyBGPbtt4UonqwaNslQhaC13g5chSWOczBQz4bp5j3k9RzCDRha5n0Qv7zQca6FfeF0lHNN" +b+="NFiOc823nGuecq7xn1A516xhAZxrh0oNZiA9XaLd0054XAuX/gnT3cJ6G6gpJbCmlMCpJHFtiJH" +b+="Eu6zsb9zKxfHXhvofEfmw6Sxcb+UJhw2pal0VRZiPGNKe5YCnOUtQ/IjcrU5SvZuobm69HbbrYC" +b+="fzZ0ZCj6ZE6NxVcc+vH/wBiRcaKRfSn4heRsKhhI6CzEveslo79TWR39dE305aPG0ivCB5Y4n2c" +b+="2bZUTEzpWIMbTL+xVpNb3JHL3HW1cWfFeynGCpBuyZcDTCVCoA24HCQt2jkY6ZwgKx8wijzAlWJ" +b+="K4Yyc7K1UPbHg8ZEW5rIlSZCaT6k8WWOM8VE5mIAc6TKF7L3r5QnYsuJELdFLO9vUW5Rxqjeo4I" +b+="34srxvkQipoOjlrcb4RTrEugMSxudhRpGnTrIXvRsKHnZFmT9zvJoN+sjwyneJTOhEnWyOyQkbT" +b+="KS0D48uV+lwkqfKGy8CG7f4nFl5maokgDJoRJAzMPMSAgUFlolKG1eE1IYhtsripTDA0QQ9jwJJ" +b+="OlZlHAqot+MilkWbJG+0xQdnd327wLR4V5x69MJGsvCPswILsaK72Ks+BpjhUEsHCa+CIsHHpZ1" +b+="0dJKYXL3dKLmMnzHS3DpY89QgndqX5xd1f0Zi91rxFe4DSGHj1JwgfERSUO3yxHdd6vcfkh9i28" +b+="Rf2R2mhZnZbhIi0tzwI4KP5U5ANsFTxyPZ43WTE3mMJGLQqYwCvZMSNRJG/uSlp1dznWWnXx99W" +b+="ypFQ0EwrxmDwx8+4qfn5kJp6nHauwLtrzHCrYNhKDAE5He70mw+H/XZ5D6Zvep4qu1XcSE5fvQ2" +b+="sr70H/n4CMiyiI+Q59tftTFvOu4I4sAoXX1bUt9AEZBe/jZAGLRxxwzKYCrE8Zu0B8wihPeVNTv" +b+="EgkVcimfKPa2wycK0G3ziaJ4R/lEob4pnygeuMknChqO+USRxSGfKPzY4xMv+QkTgonL3wF3k5H" +b+="7Icnbw/AA29fNjuxQXjsA7gq6jY79AyDKyt7EnvHsTASfeIjoBzLm4qJr/NQD+/dvC+JkJvBrsm" +b+="c475CZNsi6+ierIgkL3Dt8JVqjLnrWcxhMwVue8Xpu91kBYMYuoRwf7E7BfT59Idx3K+FDngWMv" +b+="HT2ZR1NWPobh8XcouIerctxDJ/feLnLsW9B5TmY+vKGQ7uzkjCqoP4UXJ6HJe6Poel5jON6xo8y" +b+="sTVqW2+IwVMk4yzrcWGgjPxT0ANa13UlovwJN/v55c7SqJOB2BIEdZ8piIg2IF9XQoCAnQrCvo1" +b+="h0Kdu4vntX4tMv2VKwtAo/J5Hs9+TIS/Lhc4FsGhLCEoGhgqA01NJ3miba8hK0VTwefJv5FPOCL" +b+="0qDDNTzLVOQ+uj4i12wpNJgAE8ukuKZJcUKcW9tCbPXuxXRkdqfNnueRUvsuRnBuBlRuAy3uoAM" +b+="It8JgHmkwNQsOYK4DKRYyQ+JgtsPksLB8tggCxpYygP+57hmYsZSbhOGLmQ/p7utJq8jwzEWzUV" +b+="HraVZDoV7NhDARlTBgwYZGlOfveXe1SP7SPrZL1bevuSV1I6qR9MyhgEGW8ccfSJtzLiX9su/Qq" +b+="IVq68lYHjHkZscexBOpl9m0WO46F0JPN0K/uNIbEbnLdR0ak38C7pW+dfCISLIPiW+RegU6wLCL" +b+="Ip6Mch525UoXkGA/v0TusEF/E1OmjYa/fksQxFpvRpZDGoZ6GaaaDtkhYAzBJJFM5wghiKtzLkW" +b+="lz5MH82HLNBAxdjhfAIbWkTwZvhVQIqnJT3Ym0JCF712A/7WBxo5wZ2CSOVBf2/d5sMjBieTjpr" +b+="CNyF2YYU/aSOThxe2bpQ1S2wW7OXldpLH0FY67rkUs/E3LwyCYVrswoJReAIB4JVSSger5JQ9DW" +b+="8JaGQOASwRiGSAPuK1nCYcdgBLNpNGGZQpdwHfe2UFvoAuw0aoI7hFBfiFZiHE3kQHmQ1MFVcAp" +b+="kHalCuwqLeFTSB0DkqaIL6CM+VoKxND4kSKo8KDjlt0BYSQ0aRR9He4gWqC8b+nmdWYfKWuu2ks" +b+="zSnSS+t22Sms4VSyWiMD5oZi0NvpBp6nyiwxPUI2qbDbxRR1ucA1nYGZY4BT2myuM3r8L4wssL0" +b+="swXakFyeaLuNnYYLdRnkNR9b/+IW4dGWx6VaxSnVTix2KqMfnVVkHvCW6bgwwZEcGk4hvkG/jsv" +b+="jRVlmMAv+9ZzDoVfMLYmToicECl6xfat/E8MoJxW17PEGc5K1ZSl8TyTEz5O/rq4xAnIMV3/FxV" +b+="8feMWLn/kVrDH7DF5xrWrTSEDF6VrWpnnch8up1XCAsf6Z1dC0algWECuXWBhKb0YlnBIjV02lh" +b+="V6VtgJiQkC9mXo0T4fegOOeN+C451WtWZ49Sh83XSO7h8hiPbG+vg0ycHH8V6zxPcdvr5IAI/Ul" +b+="M5hywR9MOR8MppwNB1PORIMpp2p9KcnDgQslioUHYlL6HzH5iruKmtMBq11T99gffCXH00w9yt2" +b+="eytttVwDrF86rReY8v/mmO1Sd341siM66mBbDbiwRuaC0qLOHs10HxNEEQyYRf+w0jwQeuA90WU" +b+="Jkylt6OPmwSRuZxljqocmkAQ8qoEZ6xk/y+k7xHxUDI6aORMwJ3Qi+wexJPpQ1Ssf41R2Al75kH" +b+="YCPfGm5A/BDf+ocgDHzhOpGrTtl9QVCWCLeXdR47+uxKz1dnjaWxs6zHrXQa4NSPBR2J8x4hZC3" +b+="Kac92OE4JKqyMoQQAX1lQPJA/ORJ62LLCMTLjlCWRn5wbzUQnlBa0MD6foVMVMjieBsI/8oFjkQ" +b+="MK67ys1w6XvV0KwQdwvvBawWIwaErvt+hNH/MKa5kUrylb+ABxVIdeAYdsTLwjA68jIWXrJe2Ja" +b+="iIzATJ/1HdDchWSRy7WPXBxjJGI4V7wbXmFOVimGnyvpYEor/1Le1Y+uEgPRrYjcBez6F/isUvn" +b+="YCKkRc3KywbNz+aYuEXpFpcQ7GIzFyiN2nZRZQzJFdjmmRelbP0lHQfhfP8nOpWzniOWgZMKUaE" +b+="VFMKqcgwlyXFLidMvDLiMJPFG/6EpoNrnPPjxXN0epU6P7qJdgUZ1ogMa1SG3evq2NkVWd0aCvU" +b+="ic4/9N8s9hlFEfTBWl1fwlXEIJ4B8Q4kDkb7B5zS50d7WDZ3eNUz2B8YinFPnP+K2ECXC2btRaf" +b+="MCtTy/KIjZfA+dcCikuuxhQ3t3rgSb7pfp4jfip//SKvl6/YqUqv9Dn+7Eroh+cfhnl3SM6MhI0" +b+="OgS4tKqT2JZEVG1pd7kub/q3Df7qldWW1G2tRrHS0eKXxkpEGis5QBwodvSzwai6G7aIaKV9arq" +b+="AludQ3SJFRebdGCdXbauuli319pp4185VZrskx78OavOquxnBjJewdMe9XjxkSVPZDQ9ooF3kbJ" +b+="Lb/SS/4vtrMxlzWbbPWKcNruQmDGBN3OW488ok3czCTmr5ab5P4HkTUtQFe6en6/34GZeMI72qY" +b+="17poHXS/5p/wfxrcIu8Oy/JHRAmmpVfZtyPvIdy/nY8px/5Bn6zTfTZb5NpX3g089QWk9K600+p" +b+="344WNof8oqbBbaYe1MQ1Kemi/in6eDmKeA9tyLtt7ypApyXfGka1fAFvvf/ofTzZTpNiMm/cOBK" +b+="EcQYrQNWTNNygDMZjY4V0zB9ks/sDtCd0Lxsls/LpjRZ0lrudCmQp0OFFF0nCjKnHVOckOgNuzJ" +b+="cJwU6OGmjDSFIdR8OKPnnkvms6c/8N72ny/2EzganFJp4yqu+wG34xEDwysEO8k30jrNPLg32jm" +b+="9HtisMvm9Htse+M9muMET+qZNlw9wP1QxjOLBzZl7LlhiSyu66rQdFgkUlOs2rg2qPJMWZoxz36" +b+="dhRjfv0484yHTrLNJujxZYjBunwtn6DtDM2Y8WgFd8am8NlxuZ/4eJxi3qwworDm3ZPIkt5ThVo" +b+="ig8hMhVYNKrKwOU7Vo8VgSynfnHe+G0xHNBiP0ovGgXF1lU6mOCP1mICRGc9UmWAepkyg1Z9mvZ" +b+="wn4ORPbH+m+IHenArHOFWuB+bCPX77AZ8VMzOYh11vqPdOh8VqkSk7J/DA1ySgTe2PMqj5RUP8k" +b+="3QrkgZPfaRRawnGAECVeEGYpHfqXMUm+TrqXOREhTOqBOy7a7MFEfeacVt8Zdtl4I3oCDvVLGaA" +b+="8VH8OqDcNSyXEdBm5I43kYa0HbS6V4kolcWCzQe2O+ARM0gpJ7Usk9kUernbDBvifLWZC02LmCW" +b+="4he9BA5XLbFBt6AZf4k07q3ycwvndQt1qvSCj/vYvR0HIYhtY/XLlH2rh/SX7GzhG7Yg2mOLOpR" +b+="u0ikbtpdO4p4sr+Onvau6P29B1VfhwRAdK/uh1hEcspcHHKyhJmG2WT9Fm9b077BNgU7T7OMolA" +b+="ECorFfKtjL6kXzLrr24T/45T/wgMHLkvQnq0u4GkvU2bQmn1EbdDZtiLOpeuyssHvmrwKNXwtCG" +b+="F6KcdiCNdjqeofKmoC50fQE1sBkX63ihb30syLEtkCBIZ2ohQhu0otaxePct9Fsj7M14HZpwFu4" +b+="fYpzs3Zvj0qnP1mvWvPtbcEtwDs1rGqfLs2brOY62ZzRdnZcauiLNTVZbPWfjEQlexG/0Vb/gmL" +b+="n+Uvp/BJ0sgsG7JvdNvBRQS8fg1ZlvN9PMFD1axZxeG1W8nOuMhljHqwVFyJA8X4dkPpDIRTtNX" +b+="Ys8Isr76av/E2Sko3Fk+NVIToCSd3v4Yt5Ba1cKy6FAqpPy6QLlDRcXTCU9CQ4HyLidoQYp35xR" +b+="HLjxrCvAkg95zC686Y469/Vs9YH69+QDWVmiq68No/SexEnLO5OUJ5nIxReyXYmqEeUW1Sfhugx" +b+="gYRic8gSjrDSyN4oFOI6iWIhPLJ+Ee1Dp4H7EVPLDYnfHa+Kt5RsKanwebtzNghMunOx/lmyl7N" +b+="+r2s0HFvVYlglMKxbWrYLNSjgzkd9GrizEdUgaBkv0dW4bB7g51IbKRWYvcq1hUYvS9SGXCvm6a" +b+="zpzubobNie4QXnaQd8uCHdDIGJi8MNJW2DfSDSlQgFq/XyEdYCUr2MMEOINDY1RiQ9odvhWHDd9" +b+="VwLwkptlTpUjx2rAafWYsXOeomNLFUPmE6dp99AAGZKfkpHU0V0T1a/o8W09dJOEt971bdTf+t/" +b+="PXVn+37qvJUCXAht+6g7NHXk9Leg3q2zUVlWEPr/yDusQylnz1r8TAzf7hXMNt0WC7l7GUdExrR" +b+="qE8VcjDeb4oy6p/DwQWA8GUM0lJrZcPq4Sb8GSBKQovmEWM+BCcj5U5KsgeP1LtMLYb4BVQrVmH" +b+="4ilG0dp2bTWzdgxTAy+kUBRBMud5/0IaNqFj89b9K/Yf5gEG+XJxdAiER9Y85Y1ENbhgA7H2qFR" +b+="85p0Hf85y7yJlv/Q3eF5tnFxSXPnW/pFQvV88leMV89n7MnmcSlLg5LglQQG8eLWU3qSBJUXIc0" +b+="ab0kzejphm2Mkb3sOab2S+XhBa/K2v4a3Jl+hYMF7OQoKlH6JDAKSMBkkX7GcCjt3Oeox3TKt3K" +b+="A1MM81Z6tfsgsI7vPVJMOUVKjOFVNWrInM5p5oiG0m9RNeeZjqAh/aUNaOEIL0+0gJvgt3ieJWA" +b+="PtqSsw80Sh54NXM9Coeqo9pYHGmJAgawgtfYUTy+/Toqb/JaCRe5DV7g/L54rcNMHCky/RYTEZp" +b+="KeMxBLlr6CzJgcXpSJ9Ri98B6sNuX8z9cbwRyriKal7yQllx7U6TNWvEbtwW4DLPWcoZhb+S5UE" +b+="puG/UCZkIXUlagsQikUYixJUdbN3KEK4zbNss2QFHda4s4EsJzJlpB+WeeiUkSmHZhk34yCEeUO" +b+="mI5eGOOw6b1UnoQs09y8ZnX3C4uivluYkg2jltKhUptALnFDR05/nhIqiPuajs5hTLvC85qY8mL" +b+="RoTmuUJaLzNYpv0tIsmW3BGXzNeZ2X6HPzWOfIevr2gF0V/XQMEeF0tVPXDYe+SqmibZzeLXCoo" +b+="2lpbRmOnqaBuV9b8pzPX8oGM9pv/Dbg69I/2ERx2TCu3ZRVeIlTFiopFzhl3vRV6Rx9xHmESLef" +b+="Xn70ap97KhQoPH9inf1WxgCIooQ1HGX5svvUwCLOzof2oxdDVJZEVm0UBnHguSawcDbgAZklNnU" +b+="Ly2CaGkv4ea6UHCrnmJObNplHSiXZl2REjgfhesLJw0UiyWf07mG9+2pJvqx3N/XumyR5zkdL2b" +b+="tTKoKkn/LRKSiF09fY2y8N3K4lPBxI5rFmfo0kz4bymU39zEiS0SFX+PolTU40mT8zKOb98u6Y/" +b+="t7NA3US41/9Nw/xxGR9WBmbRsMOzRZs9s74JKrepuSM1DgKCET3qTRMiKXNXjqrNYhLQTHjI7ck" +b+="PcAIcfqWA8wHbW/2tnuA1EbbvR+jMj9yzHqZjjMRAaTf27K1dGVSkHh8XkcM2Kks3uy9At2Nfu6" +b+="ezqK74cZK7wskynWdBAD2+aD5KP1j3jgMFUffIYr3Idk/gQi6GFd77ZB4otKHPCkFGFIP+pH0Kc" +b+="wsJM4KNGURvlT0e8zQCkK/C6YViRxLf4/TzuOiE22ZafykKfcWZzjltKlsLbb6x2NBtSzGLMj6x" +b+="2k8LcX9zvoIa1ocrvdQfWIzhCWEJBnap8qGCLuhxRjekthR8G7+n9HRbEMXftorlYcz7hA/l2M2" +b+="jRdPvgfVj43NeV+oIYG6wZ9NnCLRbRidUy/3hrz3A2MV7/1Y7Aa6+JKcXcYu5QLPCthTpH9mMqc" +b+="7DW4VCz5/QPpfuVZTMCfQ70wt51c9WMtp6eWk0S6Hymat10xNMEFXInQBesUVWt/4UVSXwsMhwu" +b+="7by6EbBSNuFCN+gYV1vBfxIIpjhxlaI9G0q1vbGFvbM3VpntN12dqeqsv27GpqmquZvuG0r7uON" +b+="dCBRcrEn12d3o+BeJm2Tk2OkumxhDIC9m/6l9K/4UKi2Ky1kgv9uwYb8cSCEkjgiEtMHaJkMiJ+" +b+="s9dl8kYqz+FI8EGRRdWF1F5QSzbRgU/S/GFhdZKJA+hAx0kZ5bQj/mNP1ue/519kt5j0igfuE24" +b+="w8N7GGG9t8JMbcL45wSYGNo9dmuL0z5VYEQOPMm4WZnq7dwULARXgcl2YvR6I5fdx/M5F2Kpx4a" +b+="EZWMdIUeqyoG2gzj75HJmJ6aWzDa2fn2vQdwlWazhOhuJ6LQoDiVL6UIO+aX01+CAlPhDnQ+xNc" +b+="4EF/EOOkzwEJm+Gtjnnaf5kly+U9ux9zA70Gjx6OGI+zcv84LyTTEIMM/q7UEk5xCmLUSVzVAJf" +b+="v8RaoyMRs2sWZ/CCmLlxwdViH50vy6XZz8Vl9lKEw2UKyj4bI2+ayFzhv4K8R1zh8eQ853UsKh2" +b+="35zjlaCXlMKc8UqZg73OE9vWzDY3/SoU3zU7i8jtVKZvkt1RJkfwW+0u7ECO/JEt2toYymg2SbH" +b+="hnq5mt3dlq4Q2Px3lDfNfOxl1+5xmECuZalkpy1TPPKVRJZRE45XKlCMc55XDDCrNhcZJT5iopp" +b+="zllvkxBMS9RMQ9HWsGNbf4xOPadC3tawy9R/71DnLLQ6AnrApKOBVzQoUoS5E/6W0mapDmqm+L3" +b+="fNwdzqIu85w+ETc3JsUv3F/2jPFEh8pJ5gm6qjmRSC2Ft9r75nEfklEwvfu9vrRWax24tNci1mb" +b+="/De/xbXNqHxmTAoLZRUCDBmGXu3VQcw8/i+fb8s3V54czqCXo/emzeP4aqcbq8yk9z+TfyfLnj/" +b+="j6nNF8rmE0b0qjYPnN7/YrAwGL9roqocESJ1QYDRY5oUJpsI6PFmJ6xQjoxu1AGE0Q0WFXa2iFt" +b+="2GYy1uFnXYe2sEStMbDmhIqrz3MCZXXSuiKWby2AVpzvHJdInMZNb9OINz861Zu/p1ctBmSGv7Q" +b+="lznPqaG5Yx+msT0TN5tJ8VWZ7rjPjSTFP9zH3sN8OpwUD9xfnraS4q04HZLTpjud16t687xe1az" +b+="4NHEv4tOhxM5UfNpI7KzLp3Ei9UeHdXzeGfsZZ1f6jDOxLO8rrWMMvcMy5tYwz65hIa9hD8Wyhs" +b+="3Grhpn6W0vKJfRsiHnhD5qiEFvxUl87NJ9zMopnG3Ublv9J5EhN0HeIFGJzzCx4skRWiv73/Ndd" +b+="o06HA0HxpP4P4vLVpuleHC1ORUvW21oYxehr5bDa7UXeSY0SeH3fQJ/wLe6VvS98kXyOtqBMOEd" +b+="R9sJlr+TC5v0Pbl1eWHDFQq70NA5GU62e/PI7i/81bOJVsgGc5d79hmKUVvhecydZTEGC/ECnYB" +b+="86UDiI5KiLuor5CUdheZPqZa1bvU7FQ+ufuVy6/cvtd/8yrfwXFe+x5evfI8vX/kkqRnRZN7/yR" +b+="XJwh4m3G8vsdsDROmKfNrDqI7THwUdCYYsSqripRSTC4i5F44bZ7nsIjmElWIt1HpS3jLpgXpPy" +b+="ltaKrDLgXQ7THsf/FJfuIDftVv9J/BLI/l8XQb8OfzSUD9bh4cJzAIsjLFtYcnXVzBd3fk6ukhl" +b+="mvf5KMVs6IELfGcLI+gSTePvwpyoov/v+nJVJ8bimpU2BstSV9gm8Fx6XqoWe+DbGLbrpAqdaD/" +b+="j60KzUzx0eRHhxkioFAON8Xqu7tUbY63U5TncdY02ynnXKFYkgo11AY58x1zjuEt12ldgf3HINZ" +b+="K7FGkjJdpIDW2kEW2kdKCRhiuNFNlGWvtsG0m6I7aipmwkM9BIEYBIQwAKNItQ4iTY/Jsoh2sMu" +b+="n7G7+MwbGLUpdv8U77AxI340fS3IRNhJD2lKo8n/eNAn8e8l8R2tDgrL4vTM0BOmWwNX9RkjLI1" +b+="mt8aPH3ZsguWqVw4PEOflHA0Bwm1dIaVJFerIXDSfzLIQ93QL5huLKZRMZHOmV0VBywx4bKpTtE" +b+="8rPsbYvu+RH7P62zfD2R1ZlKvRhak/wPH7PK0DzxkgBrsEfb1kNnXz/p30fE37vsHjk2WNWyQsf" +b+="oKQcYCG/mj3m/fHxK7v3pIRDC1Rmrfj9y3zjO+jI3AmZh/qRSxDW2UtW0TcxC7k4AQjbF59RS0O" +b+="WjmcRdkQyzIgADACA/VEqqXUi9FooC5GFkWKt6uspqF1T2XVBN0Ke4zvl6AlS6yyhnVGMWiKMqj" +b+="9Fc483PcPuf575EGt1EjfYtBTaWfxEOHxK5brxjXZzjpjFtXqCRRT1RfTkVcq6xCCBJYlxDTu+7" +b+="e7p2rSfkWpXyRvAdKNF943E8axTrUimPvgfJu0Qg6YQG/46qVESsyjZwlk6mJOU+gqUHIcBr/tS" +b+="oKHU7nMFQ+8vMnFGUDsyErcPJ61Spw6xQbO5xRoM5Ht6gqBgZJ0dk4v2lGLZ0TcD2N7uLIn8ohL" +b+="eNHLISomLMIIsyrcwpECsvkLMTEQKKn8D004fcq1OTCLd0yKwGpuk0YhUK5MSwkXEM0wGsXDfDa" +b+="RY7Xjp1yT1GFsBE0vRa+u1wCa8QuQmhSkFYwe2/EsSVtsG9FQPnMU+CISRwKynqx+umouEuxM+w" +b+="3lQUPu1F41TRRwysDtqTKeGkEq7ur5YCPNIakOHgKe4wAJ0KJHoBU5HAbA7mariTsyyjvDoqDu1" +b+="qePBfqc6F7hu5JrLM88qcFGS+bkd5QBKJqO/+lEwzPMax0BrBKetQyJnTfPYrogxzIpQimWuxOg" +b+="wvqACBqy0AZ6xEVYAZOql/y82AnhzilqujIT1uck0aFbIX6iYYxNdswse3g6DmccyDB3gW/FiTF" +b+="4bdS4o3FIw+dEDijvIL9YH0HbfMdtM0vHnmvdbCx0DbHyQCHo4cU2pa4+uhwfXQY9S8D89kMSYY" +b+="lMD0f1WDYNx6Zoo2j9DA2Bp3lEfq028QxudNtiONkB3ZfjJ5Gqyn+QbBX4U4bew9EDTBICgy0wa" +b+="55kXCxuYEXsT+jDrxwYOCtABposy0btF7l0EP7YpiFEu/h+M8Li2TAMyJH+4CxFk624ufFXlJ2Y" +b+="H5ro4pjF+S+futUztC9QCJecO/x1SQS2QCR1ViOz5Np9dhDPK1KNxYYatP5W466o1OfPFG6rCMB" +b+="xD1MqcG4pnYmHATilXnlIedaBL9cAGQT69MjhMlGXfwMA7LUo+l0efjCXvEWBV4+wDWq1mh0nX9" +b+="vrF8TxuHtzsNpS2a0NJPixfnQz9ti1AQDHlsjM0sv6Vth9TSllVOXHBw5Vr5DwivLdsbAEbUC8g" +b+="1zKVg2OPqXu3KBrXF8BTuaRgoUgPUYhr8uHoDV9xchB51hq2+c/hqoIb6MYNy5UDB2i7lP0HbqP" +b+="gkLj2fTwz5b2ErKoYVPiIexVqyA3Siz9/sQgMSwdKUG+WEoncM6fZkX/0P9OK8Z2uNf4mV9s/cI" +b+="TU2H6uw5WMwYRCXmtVtMQwIdimSJpqWaROL0h3MD2B/bgz7DzOokhVyIxOB2McppXguzq0QSQu+" +b+="5Stwfr8pURqCFn4PPqTu8LOo+yeAVKYozZ/CgttlVMiVdpThpDst1VXHysPVrdhQ4K4F3F9++pO" +b+="DdubctVcG7vtTyfzIKC235KM9SA10WXr0OLenDPlbMvJu2vDdK6YrjODn5HgVfF+cOMy5brj30L" +b+="jq59C4LzOZ8Bp8/ipOL77b38Gx/k4vHMylB0DbRz5EjVfqs6piVW0Ml7Nhqyf0wR+UVuKQ3AK73" +b+="HLjeKw7RasE+lPaIesE5eiF8ldA6T4dEnalZ1CQXuO6AqNlKONS6w6E+AtoC+j2CXxjH+JxxqDm" +b+="iWc2FA0jTYaFFoDkKMNUjYQVoWi8Oh9xT6srgXAdMzi+Ov0+ApBHmGolJdIoP0g8g6DBYZIvTuO" +b+="ePxdZ57n0WeDqqFCGs5k0f8cFMsAAmlzpjgZr0expwEq3MOs8Ww/R7Mui5NOAZRuj3ON251qZiJ" +b+="TwWgGRKCjvEhS2uuFffpK/eUhb0MONrhooHf0nKWmfXMfxMFme9u3pdnd41OHcPgQOm6IqgV2uC" +b+="Xq0LyOVbQ6+WzDEVHGssYErBzYnTK/ZtqYa4M1kiuNZJIaqRz9tka5aWskkWezLdP5ewurZbmy2" +b+="qLnWrs4LqeH0WCCK7k0xss1GcOttscKj1MlNsUICsJzSFGYoMlquu0GulsgWMysUqQtlugr8xZg" +b+="wasywBnMbxg2+3QzawWFpF1gIw1aD+JtCIYj6AYHTB2KGD9g/Om23BXCDdlvFDW3rlE5cYsFHJg" +b+="naKDk1bx6zh0LR1Vr6M2DNk/fptwVkgVs9GvW5N9zyXQhWyKH0OICn2HKAmafJYdKBW40CtRkCt" +b+="3CamCrG0kNrIQWojgdQCwYJeEDLfwa0aPMqIiwwr0w1DagNAau3NJsme9u3MUF15+y3u7Vuqb5/" +b+="kbtUVFBL3s/Q3mCyBtw0roGkZ0ygg3NzWJXLPY5k2R1zaFl7TocFYZ9NEqAsmq+7lloTVOBJW40" +b+="hYjU24RcrGnK1VR3R/wBHdr8rNvoOdzgrWVxzSv2qd0TFyxc8uWAFTWTz+sFJtwTn9GWCVRwMgf" +b+="4c5KoeMwJEsdsjfdRXkL9fBpIy6UBoiXo5qnFTgpJFpN0ukS6f/0bfivoP4RlW8L38qbw6A97UV" +b+="LHXXhw5MB8CB8YrYQKn64ujDDqmJWi8eqZ7TvHWkev7Qww7vyxNGcfrhCt6Xxa7i5MMVvK+4tB9" +b+="/uIL3JQH74Qre15R4X1PifU2J9zUW74tqKfG+Jv3NQE1fJv204Wa3qNVPO3CHUdTqxepXCGr1iW" +b+="qSoFbPVZMef7hErRoB+xpeuoZpFK0MWjUOtIp7HNiXe6aUVrjLaFAmtlc64qZ+wgSB/CZP2zcLD" +b+="okN2O/wIGY4kdXEMi4oAbTr1NgzOj/yhvqRAz6s/E/FQUEO78yGBwDE7E1g0pNGGHq4ZuhM+Jzp" +b+="Mz+tF76DTSEA4ufeFnaOOCntKTmh7MymiQ3Ya8Ro1BYG5tKKxBLipUqCeCeUCbTHOG8BxEYBxBH" +b+="2tAshrLQLmJWEnwFixmHwyi34GLqzFkAccfwOzLOHHVg4KpaMzLNzlbRTRvDT82Uapp3ZcFuwYE" +b+="GXQfHkv18Cp5SibU/5QihTQrI5obK9X+SEyv6+JpAATKPzjO5MXAmwVo44LK2gP9fxlOhKs0Ar+" +b+="WygaFRfPjevyQfnYfpgwHpUP13PyN+Tdr+55CY2TBvnDlX6AKaWJ6oJmH4uVhPaTk5y02A4MA1W" +b+="NBhGNByTfUtOqO5Edl0K1d2I+1NYPcpkDnzcFuBW7ZhpsfDmsuaxLqW0kf1UkF5irm7pGYxXjip" +b+="45QgyqEDPXcpZTjls+lsZSGWTla1RtsNqLXCJJX9EkXkwYHoYQ7UOmGGYMt+ZlhVbFp/3+FhgAt" +b+="sOMyAEZ2qnvIGIDQw1zxFhq5bOM+04B3+J+VoGnOy8QBiD9N+KV84wx4nh1OGiRqkAiQ4jgSM08" +b+="22U+zCEc71NX+ShmyHUN6eOFKk+PCJvlm1EXIxwFvCgSaliRuzda/Tuhn3V243cyD2R5FrNxRc7" +b+="ws18EVuBGkRe/TgjF326yJ7xdDGWHA2GAQRcmjKPf5AkqA/ZCUCD7KS/CLcByQFKfX+z9zoIEpC" +b+="wYfep8l21UYdBv8c31cgKEVxiBqGLez2H1ojTh3y4b5Y9VaL+6skwK2OqmWSSCXWsTJ9m3dgiR/" +b+="x5HUxcrINS63683ftBzNOHsJ/3XGAfPPnnKANVHxNYhiS+cLSR2eeCVuad0RP9aOUm0MoR/Cg2M" +b+="fHdIsyD9HsMy5NsN3WLkK0tztnNwKGoN7DLnKUUtw/FjvoKdtL+Vv9yKLvN47TbnMGe4LLfS98P" +b+="IYuZAy8Z2Slfpq3zgzgAUgJQ5DqMgzs091Pl4ZI7xM9ixC4oxTnakxbHf0mgyOyDUgdzCf3pcAr" +b+="QwBF+UlrEnXbAv2LYGZgdKqmovGXf6j8pqYsRbTkvGWZsXw5F5n1M3JNPABi5zmHcuBIP0WYfvw" +b+="/5ACNzEhyi6wpGPgRwM6U94CsY+QEfGniuuGcGI89HDEauA7FRhMXCewWMzH45jOLgknMNXtbKX" +b+="Yj6Nn7zULkZ/e5AG6EmdU+SxK9wfR3hL5jjv+f47/kI1r0YfFt4/ayPVy2EumlE9RaHOG3WQYrq" +b+="6LHSX5x5r15xxqmz/6Yz7z3uSwEvh1xAmBFXUYtaBehnjeo8Y3FX+izPvTRcZowqT0On/ORAq/T" +b+="Mp/qUn6L/8KECjaECjUQFGhXdYvbNy1Wg0J+WKtC5N/erQLHIvt/XLTUmYu7ST/gcpwdK0DojWO" +b+="oVZ1f+YDi7nuWP30yVsN275LPiBhpQ1mgtBnIfZIRAxhU0VeIXpVpQ/hAoMmuJDFw7kBF3OMquk" +b+="tEtWlC/ogXlXKDpjPBHdFbMKkuzhQREiIWOhGtl0xTfWrT1tznlHo3UrM92Cf7d1BNySaaZZ4cb" +b+="CbxRMQNQhf29UeJyYXWTqqX03/Mdl2gdhuNNHkdzFdKAusPbY3gzHAS/9H1nVchfswmeR4q358r" +b+="pptqHGCqfrQHePuRgGiOKpYf7L82MjL8H9h4lPR9Y0n2IOCW2PtjspRySYrO3BtEbga1fkCjsC8" +b+="ZCaAIEvaWPH2GFl8XUSwjIg31/OaO1y7D1yO5s0Cue1LjbAG4y0nAFbH0IUCIzqYbAJQaCredQV" +b+="oKtf8gXyMKsL4a/I/p7VH+P6+9p/T2nvxf194rsek4FMAvT+H86wD3eeirQCvrtoAKuH2o4cD0V" +b+="EXiU5jXJ4MM0Afl5wtqDWX7dnO+CvsCd7LC/LTjEBtWjfr6Wg29AREDl9984Tzce5huP+/k6jrO" +b+="JvgB2w/4bF+nG+QA4G777NADSXVqdYUII4C4F4vL+R07RI4t89zk/H8IoC+CzB6eo/hvP0o2n+M" +b+="aLfk6rBGS8ReZlhYuXqd56weedBd16xYf1sC4hE/s/jOWJvi/AXLe8gPj4OVN+36wpCz7DL5kNu" +b+="twMDwb0rfR7KOgO4Xcm6LJe9bLfbUrEmf6vwqSbmcFvfF35Da9hbBmw1jSqKs4JwCjQvxpQyAXA" +b+="/3zD2RIvXN7QHJeLCuqtXmy25dJX+57DM1fLhQrimBKv6sMcFwA496GO1/Sh5HUE01QKmZ07usD" +b+="lE8pIWmYALo9kPKN3v5cH3zHTagBcx61OD1RxzaMrPyDNfcFnZDJ3Duko1XrGVuOCDyQf9zvKuI" +b+="qQXrdaxuhyZ23G51fL+KyvJT6NjKtY67WrZYxOf8pmfGa1jE9xuOYhwNuDvoyOcEYLEkRUvOSoA" +b+="Ydwt5wabgUMXypRFd+drlYivGDRlmhptRIt+hpV9ygyriLFR1bL2BcHScl4YbWM5zl2L89gA7D6" +b+="4dUyRpc7bDOeWy3jwyAo7kO8NxOpPMbCY5jaPGaCVfK4rG5rK60hWG54CXHrh2fXD8G1H9H147D" +b+="vvgOlfsHK879rVS1HXhOM++J9fRj3IeyLa1hcBCBzzACZdZnPAO3Ck42tNCH1v1Py55rT7CUcwm" +b+="D2DYXpPRjY7EkADyqZ03K4ctb+QNb+YNaxZn2kkvXh/qzn+rN+kWRNi6GPcWAEvT6QbdnzVyxWU" +b+="BaL0e/hSs9DIDpaKdZ8f7EWVv7icCDraDDrmmZ9vJL1Yn/WS8Fg31ihJ3DutcHcfc39dCX3U/25" +b+="n1mWOySxZfk3W35R78tehbFjRuIHnBJRmTlbZZadrQSVk+lxrpIi89pCJUXmlaWgb4QdCjA3q4Q" +b+="SsEwv63CAGVDX4QBzj/smWWaptRM3p5zpz/RUwHNK03UL3LkYWMSDnSXj8rBWHoblod+XwXwgqO" +b+="wACkU9OuSOLvsWK18r5wqGZ4eMlQ+gGJW6czXyuBmUEc4PyiRgWhqQvGhoHzcyAyzil8b+MQkBD" +b+="WnaiRNLxkkZ/umKFHO2lG78J9CylwdlJSC5r+CuJk0iaIOYN9zc0w75pZx0iSMIKNSehX1uouK0" +b+="OBoMc2UATt9CTfmM1G7phJ7+lZGrOicDOL98L7AstbIz4OlbemUW70zQK7SNSSJNWAYbbLFsHV1" +b+="ouGbL1tIpSA8Egg8hqE/UwgYnEeHuCgeFtY0sAspOWKHv3ivD6EJ55RxdaZZXzpZXTsOqkdWmOf" +b+="1UmX6c0xuSvlimH+V0X9LnNX1IFsqdmv3hp+l3r6/0u3kz2O8Om8F+d8gM9rvLXl+veKZ+B0oL2" +b+="+9mTdnvZkzZ717X1+0uVF7Q1G7XWL3bveYZe53vep0pe51Z3uuSrAYF0ghtwTkXfT4bwffF9DOk" +b+="ISRC6wIg/S6hS0r7fj6wHgAhif+GvTQYDAEq/7OqjLQeAKl4IZy1pcxSQXSwC+rrVeno0oy4GGU" +b+="occJwY/TXUDUwa3SPD/XEzpbqo2THbt8LjIlATbI+kj9oKyzJX2BJ/uKqE4BfkvxJ/eZDWQ0qh6" +b+="B0AoAu3e93AvDgBHD4459P2AlgKP1JAZOIUFRCIoXkT8BkrFSpOAHEluxsVZI/fBWaDkAaNrHcp" +b+="epE99mZoPons+GiOdUdruhqupaJh1U80FMWS+9leIjkcAUnF99n8SGskmW9pr/83os4OfpL5b2s" +b+="Plolz6P9eS4E5T1oML7niM0rYebI9LM+/VpAC/MNFjcWx2aV5DQbhXFotHRmHc1GFZ45CmXGKDr" +b+="OBYTLHdUYAqPC6/0hU6XAtyFtOVYmB8L0porma53uyqvoooAxlcB+faooQW8jxmmTwalKoxzLTZ" +b+="5GVo17IIn0LHzFRUTNAlZZeTbIqQbSZK7wPX3Ms8+RPpnZZj9mLN3s/+lYW58h1Mrpv9cATpmfL" +b+="iAI5BN/X4YYOXIFnEdXlocYSQ4FpnbQRT8SC61X9XDujxcSDsQLCW28kP7IBzuc3W+HswhWIAcZ" +b+="g7R8DtHu88GUkNv28hrz3t/DaPX6y3kirN3BsE8GKBcb92XRXiFBiOn/x+cswIYGaXHSnVnWdw7" +b+="V2BMWRCF753juauRHDk/MlYR3banKW0r2o1SYp7aUKbGEYZ/s40PKLLyxGuq4Guc4qAY5tqGfFE" +b+="4jgZiSfzbIV6ygkDR7rqGTK0GXtRf96PK8gef5lvO9c4C8vq3YLa/aydPyXONK2XOqME+RoX76Q" +b+="pvpP/IuufTRapdc+Ohz75JnPvq/SJdcqdt8/dvQbVbq6uA7TH/kW897gBzf+RdUfVBO/v6SOpqo" +b+="K8ofSRCYzNPQn+pcAIPFf3JT8VvKcO2BDZxmI7ByJGjE+/EqS5TQJl82Am6NOUha+pdGSMHLKE6" +b+="6bEjwEmF+ZxZVFwQUMSs2e3TFUdQn7/YlRnBmzRXaT9woYeknrC45ge0nbqQEuugMjBQFAFrcRh" +b+="XUETmcRjAQraZ01tRAvSHT9VQC9UYcwPE5BeqNJFDvEx8Qw1vIMZargXoju/xq6Exupzs41MUO1" +b+="+13uI60w3UhPiqjg6CGbYiQclxyOMmXI9wgr/8sTviy+iMGdI/DOAvwtDh4mxq0wBWOcESZL/6D" +b+="4VQZoRzKuFciP7Zr+bKcexa4ysTSNPxD+GUZCeykBNm+RiQ7uuSVZPIjQJnidvhYKdv9pTKcDiL" +b+="2SWA6r2jIzHOLRNLhCG7FA5+EapFyvfwJsLl/0gkHm71QMFlalysG+rVhfiF8I1x7y4BN8ar+UL" +b+="9GQv260L17bMBREYw0hmxXhgrPapM0RtODHGKNJKy/MBJgUjFK1u1lS4Xev3+s/QnP3Rpb0kYtl" +b+="mCR/NOYoEHEA40HI9elhsZzshua+1nEWPedx5Q/GGMdD8HP76WUF6OXdOJfskFoERd8OfoQnsA2" +b+="3kN6NEh29QUyLWsrkP5iY12kV7lr47ajmYiBKhzJe6CipEbFHWsJLZ8Un/0EYm8Up3F2To6pHfj" +b+="0T/Anlmn0AlyApmxF/YfQNLRrRJX4mQINDlwoVB4SGoheIpf+HJOoNFuGEdILf+jWOlgwh6Ry66" +b+="Hg+HntH6JHZKOKKbre2yMUT+08BhTGb6m9MiyYn4ADWNdEwRBt90K2kGcc0hZeknExsodW7ujl0" +b+="y1GI3jTWaOo79vbbWQ1gPOXCu/2Fu93ahn8+PeUGUWJjETeSspuT2LL4tMQYo0KABUdh4BCdEGW" +b+="VMrSj0q5UxTDLyZfi8188bfeHpYoOCez4w3Wy0hjZE6+zubLtTXnaivIaojZvI02+sK2EA9kK6H" +b+="pNFtTzfK1kmXQlwkvLTQSwsKwQimxu3j1aecJnKb/5ragXSxRMYoW2/6LhbN0fOYPXSwIvUn8Gq" +b+="mf/G9uBpGFqulCz4260HMLxythdzVmb0di9nLMXV6O2TOEPewuhKZ7cKXQ1DQTbezyDLah28TP+" +b+="m4LP+Ogk9rsTXRHJDZniJ9rwBG12Wt31+BnDNbfzd46EFdt9ka76/BzVXcUP1cjZMBmb233KokD" +b+="ejV7GnavwU+r28bPcHcMPyPdmIOad8fxk8DFYLPXpL5FPzW4GWz26mDuhvv0Bp440eM3e1F3I8+" +b+="73Qw/Qbcrw8jHmSlq+/Dr53nh37OXQ7EWw/v2StjyjVlGC+nerFuk9DcvgmkgiSRC1gZWZxQ1em" +b+="h9MUSXO8VaXMMwmijCfdTzQ7o2XjTp2lDxsuliFJchAY3hpTG/r42X0a0j08XVuDwKD7jsan7rN" +b+="fzW2L0VfJ+jeGud37qO37pW3tpkslN6a43fmvJb6+6tAOyM4K0hv3WY31pzb4UzY5I1+a0tfmvo" +b+="3ordw1GxoGiYUkyGEhfbTKefV05TDVAOBzHHaMqQU9i8tqS3IYoeHeBmG4T7B6tzp10YruGww8X" +b+="871HHD22UT1FHmOIdnCoT5lE6TntuabmjGrnITYzCAGEBgCLejbCtif2hmlbjwiMHChf6WIy0H4" +b+="CUI7GfIJxYxUScB1N7OFuMln/FSYhFKzoLFnI0cBBNmxhVhZfcboKDVWE2D3dLICIVQksRlHPSZ" +b+="bXwNZIt0wfthnR6W1mmb6lAZT7f2ofdOiC9PAufGWxxPmTdMpP1AxlkMvvzrEj15omYV4nuI5Fi" +b+="IV1CdmchGeHUik7JraBRZi1pAICZ32Q5H3blvJW/+uVSPX0FanLQzKmtInVgcdonATOLB+cRpTY" +b+="LWS33ErmM+Jpf8zkwuG5UmRVC0hC3HbPPrTnLUrfePZ15d2/3bk3u142RzscsekhXymQiom1Gex" +b+="vPK3REy1sqR/E2cYXVWuEnEJ/u6nskqK5EqJvmEOwi7FTiakE5+6r0x91QfQnvyDL/Dtm239Eyi" +b+="gBUTB9wa/cHvEJRzi42UsCxkX7ANYA4uJau6NaZ1yseeeSExgF+8gMnysDAsfiuHn1E3b9folGc" +b+="PB1Mu8KDhcfxIGkrkIuLMEv/BVsn+zpQ8k/o4WJUdgBMQjGq4r2YEsKShIZ1HBycVaPGWVNE8mL" +b+="xq4UClKMS829Hfyf194X6e+uU/J722BTzEueka1UGdkvpO3fetDyPSx0mFX6X7mxC63tb2czQp9" +b+="idihOiJC6OV8z84onKrib5xZ8Jrj6QHzT7OaY2TeC0wno3Bl53eylSghQyZKKV7qZMXWe712P/E" +b+="0/lG6kJt38S0bqz7dn2n4Axvyt2lB1PyX/1+/Oa0lrMxA9QunnTjm/IpZH76fSFhx4tnhqZzr2J" +b+="PNxh7u9GRdDViBEF7fxofg/s45ef8u7P66/IxyYUaSxpPzxRwOZAqbVXTBT+FNjf/CBBsDeO21n" +b+="8ajyFSB6v6JJwxjtN+3CW0SvfRH9s+X6Y8u6GO/wdhrKDyys9U3z2Z4rTP4PsvV63k5AU0HmxuR" +b+="DTr89UtBt3wGqF8xDshvRLot1fwlYCUStjRAJtWNosJu94GW0/bio+TFfkcrDD+5EJMStq8lGXn" +b+="HS/h5I9h2uUSsFi68Ptx9whDk2Gvtg3Hn3xviLKOidyGiu3U2nvooNf/weSecNsI8jtSODZCHqO" +b+="HH32nuKqXj7e7RQzMwdotrl+KrueDv2XT3QnBuAmG8EqlHvwDvRfwRwUtmmf2vhKGvmdna2gmKP" +b+="1+mbTzjGuMc5EaX4nWpV68RT6IQm/WGcmcl+re8nT67FcTweuz8wYvSGUG+JlN9g3+HJDuOwGeQ" +b+="dd8t2ll735URJWaIabOkG7s7uKhUejXvG76b+hsn/ee3kLIzTcRycfP3rC691svO4GqXxKX0ASK" +b+="kJ698j9zPvg7zj4RmrXN1He2aE8OkD9PTtELUgnQRYd2I/5xN7vH8hxYX9W0xRMnAc4xea5nwsf" +b+="70cibTIw0XrFohamR9MaiXGP5cGhR6mMs7/r8UJULD3wfXBrowH+6S/evLtF2+SigbOH/upcsBu" +b+="dus1XJIH6MgdkL57A0zTGAsQMr+t9T+DY3dLYQ0mmGKLDod0T0LuG1Mlod/S2mt5PZcAZnmDKxT" +b+="re+9ifhXqZSsandD3pjtHACt7UDak229mGKZItqdORRJb+dL4hmziRX/sDsqLsMPfmtfs5gs5TT" +b+="wXTJKPT5akTWYd+r53KOrsn8mux+76u8NgM5WVjr4Wsn3V2teo4y9bfNdXFmpP3SB7f0hNN33W7" +b+="WnBiaYPgUiI+kvA9tBt/Xtsd20l70WJh8QQCBR79uDLrZFmWkyzvoQDUjEMz2dhj9Am0lD8fwBA" +b+="2hdJr8eo9E/TGLhULDdStY66B+iCrH+JhkwnZVAOrokExuXDRjqEDeZRRc2op6R0HMPNk/P3X6h" +b+="tua9miUBKKEnHgiufTLrz42qNU5E5x9j9bMqALdFRsKh5034CeXVz66AnZzxYP4nq3OOKud+gLj" +b+="39cL/e9xuOPjfZXvpo1Op3itLt/4kR3M+aJSX+WdUEbQTPWfb5MNhuohbpAh9em8vVVLqUVgG3L" +b+="ZhqEVs6DV6Bj3xCkefiKFpOv7M/8O1sI/hjcSXMb5h2q+PWZ/1Jao9dj0SjnHzPB1G3roZKC6id" +b+="DQpPOU5I1isOGNybrNSAanMhtiqAV+PcMTQmP/QY9b+79v+/d8el3n7hAI3bm/Z+bO+ZjkD6amx" +b+="Pd6zA/nMjbhfdDVO71oru7ehyVJbl7WXvqBKWAtYp67e16F6VfR+kdd6P2+JQWmvWT9GpauNaz8" +b+="4lkM2dYJlufdbb6p2qU1zjtVId2c9zKTjEJob0jC/B65nRv41S8d3dyrCXD8YPpDfkYOtYErfms" +b+="YO1iyzVGlb4DylJ5pddDRhPFN5jUizbY9BE0ZnaIky62UiSdeqxco8n9AUy7mF5m8uCl7LVr+BL" +b+="WbyQfuHeFmypXWSsXQ4OLRTyfaHlCH5B0OZSjB5Gu+jrN56VwtsqLxhRVROMO6iBUbadqNEveQL" +b+="WSJM3hRDwB6B5/X3Hygyc8AR6iAfhOr7jh5a1xagh6DYe7L6sIEBnU0zSvmaikzDzWDbJ2y/RXE" +b+="02L/+ULNKgmige/YAfVWLXe1ve4OZ6m7jKqkrC/3mhluHfgoqY+TV1lOS8IA5WVaUXxJyd0aT0T" +b+="QILdqb1ngupgck/r6owZ8rwu6/Y8fDbMoZD+KDGHcs8rDkx3r8WZfHvXcC/uTjAPCEviz8sm6Ie" +b+="qjSrcTPfymy3xYp5nOW7YAn1Ij+/JaaJ+Hk2/2c179tITuJMe203zz5bde+kdE5w3fxm96VqaXP" +b+="1e3sVcCCWdznsPftjOe3PzlLC+OOISzszzHUddwhUkbC2Ou4STH6KEbcXpD7vpPjyI1wC9wl+ID" +b+="xlDscdkVBspOebufII/LRvbTX8m9uyNspzEuGnprNdD1aj9g+0XusehRQfNABXGqRomUvwDRAa9" +b+="sCZD0QivClX7QTZqcFlo9AuGIrMl41JBkzJGz0/s5Fi1ScEQHZLiMHANNmjX4Z3XAa/YxjvWsiR" +b+="KTdjGAt+u9HaPV5oi4B5bBLt1ipJOK1FTr0iPHqtckJanjkbrVuaTxPJS297S/zhZZJmXaojN1a" +b+="40V7mCQ+7xqazYVCNjLaEuoo4rQ05WIqFUWLE4XWPzmQA4G0MmyXwSotBebbTXGmnhNppLAsJj/" +b+="HfbaK42lhFAxjDRXneCWmQzzfaY66/LNpNgAjbR9lQ2ToJJ3uIbc5mEEXFKmy/3+qbvywFH0766" +b+="+wKd6XEbCUMYlOWN1G3mIpSJbnxh5UbqAMtupA61vjhKRf5e+n3c73W30u+VoNfdRr+P0Gi9hTI" +b+="KKKMXyfDveuUaM0nl6d6M37mou0Xmie4kfce13Bmv7WaVhZqmzN0s0dC7rpWZsQ1JzBI6iYxl7I" +b+="jR+peYvJAeJvGPOi13yDGu8f5On90ivbvs/rH094nbaIaYWLG/UwGeh+kQJWszp2QX7YVGhEmoj" +b+="anredpxdfaqTFs38LTFG4MxCHE0c32Xm7m6WRf33GhnLr6tSyW5AZPXd7nJq5vdiIQuTV7dgcnr" +b+="eazEy73buN9hqx0e5JrDXIyvy7UgUFO8yL2E8tS8qSi7eazTPNOVeSZ1PbOI6dPaXa7cLfhHNTQ" +b+="mM8oYV27AAoDPdbuNa7K9Ut22bd3S6PJZEtxDgtY4zckkaNEZAjZsyLJesYXm6GwKslKz2gbUN2" +b+="h0seqwO4YBMFZpiDFpiDE0xA1lQ1CXrzbEd5UN0daGuHGwIb57oCHa2Xftpj83oiHa0hDfjYSVG" +b+="uKGvoYYe/qGeGF/Q7QrDdGuNEQLDTHGkubzwJD1vARrGq9r2smvXqmTb7UT+vKG8Fbp5GUFj9EE" +b+="ThW8Wk+vVDBCxq5cwWPPtoLHUMFjUsFjroLHnkUFP0NPf8Gz6+kt19OpgulzqIJJssU/Fl6ogtf" +b+="JNNRfwd/73GeRsoLbXYGJuArGdMsV7A1UMCJOfbsrGHXLtbxSBbdRwW2pYE8quG1lFlRwO2vLEN" +b+="cthXuRcZVMMzTElmWV7GklG67k8YzN6RjylCYbVK7u0UFZ0UkRvF9tixRhlkkRNfSI5yRF0LesI" +b+="kWscqW5ypXVpIgInzleXPywShFwyKOprjiHBNZi53SZz1i9PWZFDj77ZkQO40REX7eKLHIslxCp" +b+="JfLsWrQz9IDL5J2+zXNH1uSONEsHwl3nmZoFHddJd33t4q6UHxet3DDRqg0Trdow0bMU7+D+2Vf" +b+="B0XOo4I6VwTEEOmUNd1DD2F5DCDvj607I6XBEEo+ehSTezipTyhgWz7FVphSeVJ4y08O+Z6i7ef" +b+="B8zlFiLxtnjWO2ARY/HoVhIustvOZNtgHqWP7+nJ28RWklX4stCBtJX7RLxCo+MTxIaa8FRj7Tu" +b+="6PFsBus2Nj884od0pa4+O4s3wm99Ibiu8GGvgUF2iUJfHeudxdbsKm8rqqqI5H3xA+ilHfsJelg" +b+="A9RYbKbMUbpcel5VLKevLK7Y4cWj6cGjdvxQLi9veZx4xCU+P7vuxSamnxy2iudnG9Bu64szNaG" +b+="/BgKnHILFEey8xys7740cb2cjAjWppWZjtlHCry3FSbY52/h8cyrOWQmzEeNv46S/FOPvSVgSrx" +b+="d1efo9SGnSx9NPTJVW+Dgu/Beb2Ti7np9FbKjr+QWF92JzJMblrf5h/M4zzuKhWDLD44YfN3p9o" +b+="f968K1lHzxD9j5qJdBrv1Jek7fJPaZ6z7EV74EVbWNxOtb90UbedcDkcdNW1N3G7Hu2oiY3iQ4w" +b+="vY5+L8VoND8pPgbjxnXFueOlVrLSiiNoVerxGn43E7uSX7UrCf33KnYlv9+u5Du70thEHli7ktd" +b+="nV/IH7UqdFe1KneV2Jab/HmO7koGNyNthumGfXQlmrtJwFf9wTjNBwHYlOgj5GbUrmYlsjKkys8" +b+="y82LyefkK4+2ewKv0UnQXw+M8wwP6tz3IU1DFo3e7mgmuEt/OlQcmH5ai7mX5fduhRaORLo5Jeg" +b+="jEUhiXTZ1TyYETxlhuVaJeX9WhNyIqRXndc8D/tQUUuXQXN1aDqNrSHaR6I6QgKrP158CpR8786" +b+="VI/m0qKEK221JWEOgCE7vDcPxQ6v5qWgVO/mHZiXOjC3vAkWW7R2afrh67FcTweus3mJbwjlhnj" +b+="ZDfYNvtwQLrtB3kGXfL0UVc1L9KR3O03v7R0Hs85jeQ32oPD+bUEKJd6drRY+VL8Rn4dPDfgy/b" +b+="6y1YJRbRUjlbFGKmeRqlsLE/TitR0vuz/335THsEENH8gb+B2lzk0/tWz4wH4QX9kH6gfkvqv2Z" +b+="w1rlAqyuhil4uVGqW66w7AbWNUqxTapxpuoGOZe+FTCOqEGsRD5u3wrljB+ARX2QO6v8JYWZVE7" +b+="0A3tCo8ydgEAcHY5T+1yCEUbWRtchFeuOZBfTe+inyGcrsX3RvbF0YF8BKnr9mdDZbkiKc7I8pL" +b+="kI/t3mP35UNaAqt+a3Iw1uZk+k5uxJrcOrfxVk1tnQhau0uRm2OTG94nJzd7S2ENJMLmZqsnNiM" +b+="mN77cmt44zuRk1ufFlZ3LrTCTdTpbu78IdtHl/N4BFB1JBdxMlhFlM9b8/a+3Pr7kXn9jCPSGEe" +b+="pY4Oq/tbnQKnzUC3R7HZmUjMCfrseK3cFu28S4SjB7LqPljjG6f+i42sLe1gmINCx9Q6xVr7pgQ" +b+="AzyMYghE1a2JJcznfGkQDR2g3ttgS1jeka0GhGG2kSHEM24ALKNJvfxVLPKwHFSsgQxFF+7NG1n" +b+="91RAK6euSe6n16fOoz9Szxitbw5Tm4w56dJjEjgnsqJAlOvv+e7tDuA19l+64t5uQ7FsDJw9dy/" +b+="2scSf1oASW3Ob+V++ViCXMkzHBQraUtpYNoQ61BI1Xt1LgWu9lP1LwKrVQZgRtXEP/n1484fxO1" +b+="hQX3RnVU3Fl0QpCWgEdGCk7MFJ2qkbKuUWrxj7/MUrYXMwurmLxO/4Ia8avPDKg91762IBmfOFj" +b+="A7rzuY8NaNdnXYLq32c+Vr4U0ql0F2wwWqhw6oXcNaJX04egWWg2Mvu7HJX+TppxDNrEf9VeIHO" +b+="zCJU9uj+juSjFoB3O1txLs9Xae7N192YjqMq1GY3bkf3Z1fu74Q4mCaReTM3X3OFn14DoDycJ21" +b+="3j/fkwWi6kRsOEJy3HDzAVCouSXdj4pqQ34/1dTF3JfuoOjWz4lbxMUSLbY/fT66nQ92L9zoZe1" +b+="WKnCDroeponY/Cp/c7Z9pOxsxM2YHk3MgMx3J3wF70XveveV+9lZHXW2hHe+yoAFV493cIuiI3F" +b+="UWKPQqiUNmG1GGNHFiYd6PryCoNXxPYVdbwivhN+snhF7F4R7XjVgSzc/yo+HD1QfVHgXuRXXuR" +b+="xcJWxbJwZDds22AgdIVhBBcQF3QxARW3aw7kQBe3nEKLgyKdsiAI9invFgx+UEAUQLyb9TGzoZz" +b+="yYllkYgVl5aYhxfM8qKPXKMsoK5mWQB1YNzDd5493nWTuzyXT72Wdnbk9s9eewGFg7MxJC/trSz" +b+="kw9/KXY08uzQfVZjj3mMWhEnj2K29hwXD4dvhT7VXk6rD59KeCnQ/f04z5HPqs+XVwO+m3cDKwX" +b+="IwQHBISNO1rVxt12Nu4xsXEbNnADm2t69hBkHtbsLS/0srFBs7cRm3fupR33dMc93HHPUv+xlnC" +b+="DKHVAfXM0U2ONHgY618UhjIhJqoO8Q0cd1rhO7mmNlHauuqghadFrY48biYZ0vWTX9eTd3XHGkW" +b+="wQRO3GbJztfBO9/Hrp0GEv35BtwLWbaK+qBkxAJDbupj/XQ3HH9sAN2U1I2LB7b3cD3RhTxtydG" +b+="aJwLRR31w4YMGfnB6bYpfmBSfji/MA0fexDAxP5FZuQbQoP4jX7WK9M30fFYn1kPmHrWIoOnUM+" +b+="LvrWCehbx6EK3JA4c9ioVne7NF9ae5jBeF9k/5HDEWXchuFgt2piG2oqZ72Fx6oTNUdLeUR14kk" +b+="j89k4dCfj1HDjVd2JN9Edh37geT/ERgPKuckAhQKmBZ6vBkyXrN0at6ZLmt+XabY22FRuam9AZe" +b+="etqm70VlU3es+kbsSkR02/ATWwQY2WapGt0dexcmvlonRdHuNYocb7DJZjotwybN7R3TgAHd2xR" +b+="IbFHCujT/lifqg9vdF3rL/mMCjL2hur1F55ZfUaHMvGVqnBVa40V7nyNDU41qdf+qZrkfv5iM5C" +b+="K9h9uZ/T1NxBHY6wblX8CC8FqJnOM/RAnlakHk1/Lyyv/H/YE7+ZmjNcdzTFdER9LVNKp6w6aFe" +b+="jrJOgjjCRz7Gdmsd6af82GU2VSzXUM9u/eR6Bc09xqobOULmxzVFix9T+Xd54qb78xtkG3Qj79v" +b+="cKcnnO5Lw0zDZozh7LbpKl4Q5umiMRzOOmOFmDedwUF+swj0v+1+N3qda9Gb8X6t0tUKgHt4oJr" +b+="29eUzv1hJvh7Hw2zvPh8vmMctqE+rzDGakBkLu2z3S3KTNUVfSB/UvSel6SxKxEK49blXR632hX" +b+="Jb5jAhBIWJQ2VCxKE7t5uVq+MG2qLEzOZGd0GakgYDyxqKm9boOueB4QMJ4gYLB+xDpw5mCWpjU" +b+="Xc9JYtgX/rDmUNgW0+1qhPsU23VmhPjsr1icQcCvYQ5dX6nquVOpeK63zyyu1k3VwebKvUiFfbB" +b+="ys1A7tzLLJZ1jtn75SX9hfqZ1KpXaWV2q2CSbmTckzSLvt7Gb82wP9lViGltf2VrWPDtb22Cqrc" +b+="Vnb7S4Lap1KbXektjtlbQPxtlptt6u1rXXRX9tjVPyNsOJvcGb9Nipl7FnUdmewtp1FtN/kvMGZ" +b+="nNvO5Iza5rm/o7VNU/UmYGSvxz8LrLhGgBUrSjlWrmEp55kknLJOO1XIhNRpFTIhdUp5P7s6XaU" +b+="Hr1Cnz7IHj61apyKueyv24nZfL26X0skmVkMBpbYGKqCJrNujNDExj6nsshEDzlr4r4LZq9ftPI" +b+="14OW9Wrfj2QMWjJE+/m1iPKZSe3ITdBBDrm0SE2sRx2LWBNkkDbUIDvejpNhQ36IZiUnFF1Q3Fj" +b+="dUNxSRARZMCKpqUDcWNu+nP5J7lDfSivgbaJA3UL/yP06PjXBMD4r/tK9k4WmhDKfxvsis7amdT" +b+="KfzbBqOm43q6npaNTdn1u13zPLPYP94n9m/AtL5hZbG/nT3vdsj+t7NOg0dcu5T+G89a+o//F5P" +b+="+67KjwR6UPo4lEcN7Z5ZWPN1RlbBchg5Z6DH4LTDanqQ5YMzWs4CyUbNjPfpE1HkXgY+4Z9m255" +b+="revfIGq/Bpf/A/uXsT+KaqpnH4LkmaNi0EKFAoyG0ALUpXulFBudAWylqhLEqhpG0KXdMmaaFaa" +b+="FFQFBRUFFRU3DdQVFREFFBEVAQUVFQUVHjEFVRUlO2bmXPuzU1aQd9H3/f/+6qX3Dn37MucOTNz" +b+="ZmgdjomQ1SbIKlobRfSuLCJ6YgXElBPHNSZA6IxqUXSGULr4xc/RpAOUi+cO+FUTla4keIZiYkj" +b+="cjFJ9VI3BT9H4CVE28Qy7QYZqIkZhpyTU6INFj0m7IaP0cU1LowdOeMMpgHFVtc8Ued/jGh+1V4" +b+="DOBnxD+kuXMndjUuYYpqSzKQy5XJEsi5N6Fv/qUa0HDjT8sAneA7l9Pc51uPAf0uSgw8VfOKT96" +b+="xNdCj6k9QgYgv9xb/bgvUlHth7+Hu2BPdoDe7QHHdm6sx7tznq0O/Zo979+XJP/HzyuSYY+pB7t" +b+="/s/0aHfsUZnvDt39Pdode7Q79mh34jDCAcpwiKK7FZKhEnzVGaGogAoKZ1faCFSrUtCnBfwbq2l" +b+="wwB/Z2cpDQbkSK+XhP/mKkiBOAlSGMmp7MgaZYkT8IY62gqoLCqop4x1nhetE9KLYpN6K2g744W" +b+="n9A0+gkDaE/n1ty++oFKOo+wSuVKRgn02Cn+Q0rJUSl4Y1RG61vTf8NovM0kBgj0S13nf4LZ1M4" +b+="2juO5qYgQByBG5lXjxkVBgyK6ItU6CLzaowFE3rpP6Fu+XkM24QGpeBfzDM5pKkJnGO32IjIXgT" +b+="8+EncB695slT1u5MCwF3pgVFTidLUiJd0+bWn2L8nkYkWyrZilIFdZMAKJ/Z1oH3c9iEMrRoKLN" +b+="VxL1oktWioUajRcy3FYbaBgbYf5B162CS7tdWtw4mcZ1TZl6GrEf0F8j8taQ2N2/B+qmiwq/M29" +b+="sJQoQI25WMNnWY8SmUGKHppXaSYMtspVwcHPs8KjmcbqFjFVoWejF1D7MMgSRjDqrNKpJ9MTPOY" +b+="FYkZoChXOH2zDCUWY2gtMEGmpgFoIUiWV9it98Dy+WmMlL9l+g1y1ikXsBMoqHDZqMZLH4R35Z2" +b+="jlR7pf9ZMqHVZOeqo9nXWqp4UZyDn1cr4uo5DvMj6EWV/FFhF5hJWGKi8RmBLpBtGyVmWkE3Z0c" +b+="G/CXMNJIZHbFD4KJXNpP5EYmjE78NU4mZp0ITVuFaPa0OGY2LcQtlvOPJboRgWG7MUBu7WS9rl7" +b+="01q6moNIj2g0gjUCJ/4HTBPoJGFgrw28+1xchBN/5F9cFlmwXdtJaVGXFFkzr26SR7FnSjZ2hRZ" +b+="clZIqvLF25G87IHbtdkDzxglxaQos9CbhbNfpJ7IBICPBAJBg9Etn4CCYxpsx2BerFkep8WlqCe" +b+="wlC0FMwQDn5GS2zPm8V2vKRwKCkcT0NhDA7R+rONunTpJkBH9q8l8icW09Zv3RhvbYsOc7liRhd" +b+="GZqRpcWibvDHtyLwTTC4T9ioZexJi2lOOMVamiQnUtRBj8XsvV9qjbgAMew5JX2Xyw5FNokSZLF" +b+="op5vK+gE83Ng2PkG3kYgzdFc6D2tk/RbmqBTdasogkOCLUtfM3C2Q9K5RflrGUkzU8RwdyrozaU" +b+="tgPkMkorTxmjJ4XM2gYlIKzR+lAnE6lXXmEiV3atZdDZqwqI7EqVkqkkK0RSznqe35NpA8PR1sm" +b+="EGJT2qomxDjMuHK43gaBJVKP3aq3BPohBgu3+lXLaCqHqj8IFW2sYkhIiBQim7hkPFT9AkLNFqv" +b+="VitPpPugRCHPkRFi6wu8+YWhEiHovBALxr96Fv2abegf+mmzqMvyVbept+ItWudR932yeK6dhPZ" +b+="UINGX0IO/ITMFMQaZ6QxBakTapFpwcYoyMGd0NGdlUSQtB+6B7b9mERMvBW7k9ZfRMFydY2c4Yh" +b+="m7DrOnMVLVxsoVRb9nIWR7MtTD7jyLMUJrrSQzBoIKjtj04mGkUyf4zYgm0Cc5tExHJADsR3qYn" +b+="RCRwQ8S4yxrshkTqRlO4hRBu52aEoF36JV9RWMRnEu2pzHaLvS+6L8MN5l3ZfgodM0uo1UWHMZs" +b+="fUyG2BESq11vbXxwymcVph7NHq7TEK50YbAWPIZcD66CLLNy+HVogLde2oD9JsOJFSBDOEjz6oj" +b+="FBHFRIDYlh1kzPiLUOWTWPQKNqOR7YNSUzhqN9tVA0rfZn2W9/z1+fPe8Zs38O7V+zRY+N/EGiH" +b+="rQfkbgRKft8ua3NMJBILzF6BjYY9YwAJ1g1HUakba3DhDpcsM3Q1X5u1BICTfUxONptR0SQOcRm" +b+="uh04V2TGHJrhdLMJcOpcsuCCnlcAUiWWezNdJpcq7Odpk4RwpWi/yrbOX22pRbUxZB5Um14a29J" +b+="dRkMTJEpFJwi9CR9ilYPawBgAGD4CqbT6GIkpYjWTU2TWAulPWyD4WyAYWmCrNdobD6Kf+IZk0u" +b+="gdVCZTTCOikbSRmYK2xBaSRleZSHGF01WKGGAQVhviBG5Ax+pg1r9ytR2KCOsYyWYwaYnmtuJaU" +b+="lgCEpSt5x7fSmxi9ZQZoj8kadGTBcPVSpzO2MttzIIkocIxoKVNAmk/q0oMV7OC+otNbMsASph1" +b+="+gXqpo81v4p+U0dEIQq27dzQcyLbIkO4yTv7HLIhy4hDxSEjsqR3tA1lqWeHC1FtU8+6AgakHpE" +b+="n2byFN5lF7uZAQ3KZgpVQWBi8hdBbe3izsChRDjPMlkxmtVANh7cw9iHSYaGC2uB+QgVFUPZR9a" +b+="rMTBN4MgWJUkXWq5fWItrGoFCK36keJih8MmFQOMvRjs1or9e2nV5bOzdFymvbUa9tpF7bDpxMR" +b+="qMz9YR18eIKvHVmH0zQDKxtNFUIa9vVUFsLq21bShVQ204Un9VWZLXtwnIU0E9UD2b/HrI7j5l0" +b+="hbfu9MYyNrOMu8G4kaXRCzj9byLzDR5V8vDRptVB4Rhi6xloEJLwPna0bN8qayZ8W4uTFxSnVyt" +b+="xbhKDImGl/oIlYFocMPM+l2DqviqwuQvYYeXLLScvztwkTCujR2K2Azab0jV7YHbdLFhAij76aU" +b+="G0LxEdOtZ20tGAXbOiBH8as/4vx8z4yzHHagcTfVvtSUbRRrHv/nC8CkGuwrAzDph01MgMtOORF" +b+="Pcvk7pnIbOsbWKJiYwv103jWf0EA7faKXLnCQ5zgANxbnXayg2ga2QEnivoqGqqUEUfYVp2HPY4" +b+="ZHZEZ4dIblmMDIjZ10uM3WA2Wke3pstRZPMiijINJyPsvBl0zKFsIwT6ZScZE5rEwTNwBGllEg4" +b+="zMd9VeDw2I96TYS0hrmbWLmVYrxrm1s/t8HaGjLMym4aGY7XsP1bL2rFaCj5Wh0tmdkLqq4iMHW" +b+="Dn21szGSFHdH9pLWxhsDQTCGpfrx5FqC9Blnr9czzzguEPiFNJhdOYhR7nQKtZxKky6cYZUsRpc" +b+="TZRCpVOVX3RjPeKebCY7pE0m+a4wyFxL9lIiYOZ52T0vO3CIOpIJIvg2ulTVez36vvUOaLGGKIq" +b+="EJW2MxP38xbBzmVkhQYNNn8TKoYbz3CEU7aji9k1It+jlHB0JBuCzn/oeLdS0hbBEvRjY78LdY1" +b+="NccIS8lFGTo1uBWT6MZoZNSUIN4sXi3vpJLcUOT2wYATc80zo0UjN1HyApwmf4Le9ZPsiBO2jZ3" +b+="I/8uge2QbF2fD0GIrKpsyxPNLP9t8ZcUXOBCjgD05toX89++dwhIBzP68zmstFI9GC/V3J3os5F" +b+="4fCDs/3OyM3k+NlRKxmnN1Z6JXcTJVCs4NbNNf2R0VtGbPoVv8nwM2WXrq1eImZttTds0ts6evO" +b+="2flVTaOhTAuLr/tft7D4iX6Y4ute2C3cCzvZ6ix3RCgW+8Po8EeOEwZlCuiyQWH24teQE2wrRmq" +b+="DfqRFGj6L/XXEchEsZBd6eYIQFRmMXPVeM+VN38iGN0vJ3i0Ge97ogtPEvTpAxqvkGBkOkNAcq7" +b+="/5odgcq7/5odgcq7/5oYpV/wIYrI0SwfilEM4bJKKvnl4YE0coU8iCEVop8SNxKI06jP9OUf2dD" +b+="OHae4VLnLaHpDHl8NkR4LDjuBDkseOo0KrLjhnkJQF9cYv2NRL30W21L5OICQqYEg17SnFwvv+Z" +b+="+l8xoxv4XlgC9LwcMM8kGg0r28LjhFUiTrRQbR45uPduyOExERsoQjjZAqWoH0sslQJvZLIQWgk" +b+="LK9RQAh67srDVm6RyzW2UqNjihJFoR4gu0ZbTguIVUgUzt39t456+wwDTIg8GV1MYxsY8UHFZS4" +b+="BIMMz+Mu4+LCl53+KLPIxtxWG0JSJXgAaIKOuQWGlGNrnzVsoZUvHnCsiE+99ChEVRtC+CrhZPf" +b+="qUquR17Xq6+9bPyQrgHrhDsZuJMETI8aJFCm2TOYCeU4sd26EXAcKi2Acrzu2ZnV/7NPMCk9agF" +b+="SHZkBMFcn0G2S/2m69G5uAP7EFd2jJXiIzoK9aMIixLKVlqoTL2BqwwNsKeSz/IVD3PD+aGGBRY" +b+="KH2CBhdACs0L6VUSQ4fIivMFXDi4vwhs6bC0nvKHBikVHNogcVMIWsSqat+uKHuuIo2KCUSQbvo" +b+="rmeCRMjeSoTIO5NzYGq4KN2Tanbc3MJlAs84MBxE1fzNKMWZpwOvMamDFPkzrAD4cjnMJhNs/M9" +b+="jsD55mZjbeZLP/i/GKTlq1JEz9SZnMHEMygqyw4whmWJMELNcoRwUK2CUycgVukmZllEFmzHG3S" +b+="5UQSKyBPF+sazpA2NCOCvfXijm2I1Yt2DdukE11oYljE/p3IGsGkE3ozmKyELwo4gAwj7gBUjlb" +b+="/QcHvNiuDGfjeZwhKRHwj4U6qO9OS+kgj0+VY5kwLVpHM+N195Nh0WiqCZtzX4B8Hu14HwnWXOG" +b+="yVQZ1G/skqY72OrHJcZRJznAGog1ZZT9qZmaM42jkY510kAVVbm/2wCGeUII81Jx/ahDHoLCPhW" +b+="Yb7n7mQX0+JAtqVvdnxYqbATCnLVv3yinCWM9bVonY0cvxpnCn6MYzVnvjgozRb5RBtl+QQIkT0" +b+="LCzYFog02jlMYqaQ3hIxohK1eziBBqkjy1VZN63M/ZoAeRjOPZy8vjngDIXhvdgl23IyuYxslFi" +b+="FiZDRuDSxGE1kebknjTweNOfU6owG/RDKjmHncU68sHowvK2ajQWNdtDRWbQPsX0pSZYm0xyD8y" +b+="kIfltk/nHY6GSUk1cKfYNEFznGDTOW7Q76fmmiN4X2S6XcnvL3vFIZaQ6UlhIHnFChTM7B6NXMs" +b+="KLDirJ1KyFHs5H6EJkhZ1g66PPJYdVMi1O5DguGhWpGxqkGjhAMC/P7knLYmL8gKyOyKHaIwiPY" +b+="sHk09nTMgsogpbFfstdqjnmkAK9SPYO8PyGF0obm+tW6r6Ud3Nuff3ay7UHUh8bvvEfrEUld8RD" +b+="vEdGwT4gGyS1ks1smuttAh2o+xeQgn2Ky0aeYrHtK0uttUk8+CCeaoKozNq+i+c7gK2mxWQprku" +b+="YwMaGZ+Tox0WTFq5gIhfgd40jMxxeKCEwKXkoMyY12wBHhMSjtIJbTDcgl5I3aiIsVE0YcJsgWW" +b+="VfoJBa3TqjAozwBxQ1ncUMYN4oKRU8NsB8bZVAWOsaj+1Ir39bxqGahE7dUj0QtVCsU0zmA5MQw" +b+="h5WcdDDWh4zY38T8oJIQmjZPJO1gm8X7jiOiUXDJXWISS09mXD4z1EClJGPIGAEqDNKnbuW8YTD" +b+="KMTL6hCH5lUwTH/6ZjXeFIy4hbyViBSU1levzX4kYrFwXE4Fjz5mZEXkROmETxiobBtiazOILg5" +b+="tiIphsmrnsIi9WUKehVGYEldroaHMJrT/Kvw3lDz/E17iCqbJBqcJYvN8YjlpyWGmZ+ZM3VeCt2" +b+="1giapB2QXGazeBwUv3usU0c8aWw7WYdBQgBIkyD9oN6ctUmtMzPGAQkP2X+kWCmvyMGC2D8QhpC" +b+="hLDJ2p/UTOKjxoCZqROECrYeIkxWdi0RrTZc55DnK/JstNZwOSHKD0TR3MR9ZnIFAfTOoE+lIC+" +b+="tZvLSSqQ64D7y0spFAuSnzMLEsjI5zhB9DsIJipTr99KK4nRicjQr5KTVojlpFVtx0iooBv0Jg5" +b+="NWs+b99s+ctNps3VrrFuoUi3CWj2Fn+9jlbB+jz/axOxpZkgL7Wfb3s4GPjwiydT6+rQvx/nCHb" +b+="uI79AY5G3CLjeYAGl76E0ZtO7ZXci9YyB9RSB2E6ubQdvVYZgG2kjj6XVs2hRoCYKQ/N8Z/wQwd" +b+="TE7FiNMVr20WVLO9M5ldWY6Ayd7Z1l13lUJihkAXaLao4AK5PoztWJhobeJ7PbI8TdB6kxl2EJP" +b+="BAZlBUBle7pefc1eQUczXGZ4uo/DmbZzQhZGlZiI82H6+SCIX7EGyZYjbFQ7WDrZxxzEzSZ8IOa" +b+="TT9h+BBf8g5JBNp2McPsHhxAqydhKG9g0l1RZcGLJs7QdRaWpeM6x92T5fRFaWJbyN/gGNgEDns" +b+="Q9mdFzOPtjdGGBCr+UYYDNusIL9PYPxFTwDYcdq78gmSMzhywzi3ihhqDWCDkuhhiqTl3pRTWIB" +b+="1hERhP3ISQVPZI+w4E87PRFatsLqkHs8YuqST3u1DXMmJ3Nncmb6ZiK9goBvN5GCQGAZ6IUPo0e" +b+="SWgqUBvWPZ938OmlP4cQ/JAyNkLpiX1RBNIPuC1RGFWPMzEY1Zaq5noBeiRCYVyZDmxVztkmLye" +b+="KILI7igUJySEvGjBUXseLMeQuMpZlsaxBFQKcMexW8iGxsKAUj3mivNNtiNMqdrGaGh6FqQwhyt" +b+="y3kCQchmOMW7g6HtCNkuvgm22hHYZnCthFjYqXRVLnOP4fwPk8Im+F4ZLYfoalvJwtgIfjaLsZk" +b+="o+MbuS5hmifM7oSVbE/ghf7AVWNmq4FsXfP1g/fESZ5oogUhdQUQZ76o3tBMqg0PztVVG4xr6VO" +b+="+Sk4JbDX1hcWEquuUGWQ1FFaAqIEnADTzNhKG1FpjpdbYyBdgDDlps2Zr089sU+UWqy0UhdLMKZ" +b+="+V6bj4az8UcQqVBavCrIbYWuIF6JcQQ52Es6EVuWVyajygEbRHoq/gCPP/KJdMOqJhQ8nDoGoJj" +b+="giDy4dgqTYEKD4IjiYR1cksumPf+CkOG+F/xmxAd3Uwy5n9EJiTtq5clZCZOedONEXUumI7lICb" +b+="iojsODMhZlQds3UWtN1C83EDea6Tbe0FFW+IifUVSPuoPYZG2zoJrR74IrUDnzqPaTLYtWxbEdL" +b+="ZmWtGVCCC34paSo1sQ+4kh15sNoG7GIcNbLFFtDShWmyMWZuuaig5gyVtlhDUyMSOtapW+ztSDD" +b+="SMvcCqZi+wJvkrkDVIAzc3NzKPuOXlFerMWlWu0JQLUNcK0hHlqaUxVyjyiGielWK2vytjbPuzs" +b+="sNk36E7rfFL8u2nuOIFOUgS1T1fbCYBFLs2qwFITXwnoTsIzMmCTpCBrsiFAPhBGtuiNku4PYn2" +b+="nHBaZ8/KdM7CUAuSbhVAdllz6eSliKNqcV/jg1+OOuS4sfUoR5kVVRwXCmsQqsFVIIVIgkdsAnu" +b+="5VaKjOP85H7t0O6stVg4SjfKnELUUIstNYpOCEhBlSK2mEUclq20B+eSiOltQZYi1YYIccbojCc" +b+="GJTCgMXeximRZjLd+S8LCjMyJs1LEKOgemwljJJBdjLuhDNRLdITL95lA8hYViPCsusk2QiP5Bg" +b+="dYc6Hy5fmYtzle9now506L12s/5rMJWgOEX1exke6jmYtZMw6fOUhtpekQjFYg6FHJuNDLPzfZI" +b+="RJMh5L8XuUQsvCt+gGC2X50CNC7Yd8k2W0e/viXahyOHi20DlkxbUthBQ2GocOOxdWEEnnocbcK" +b+="14X5WSXG5o6DNGo38RYKwE1vRpH8t+CNr2Sz4EKlIYzZt/ZSn/Q7RxmETwbic2wvcTqXCnQVqiM" +b+="D+GClyqcJQDY2w+lDGEGu7lTEpkF3O5Wk4cGZSrNXXnJmrzorqXGkMvxBhQRY0nFZxHenaj6R2O" +b+="RcOSLDucmlBzpUqFMvQCDy5hKQxWobOMJH4iwduZnTPovJjj6Uc02v5iTyZFvfYGxTXbEMPkGY8" +b+="6kcxtbtch4XGFe+1aXq+pAPAXkk8yhyrwU9OhMhZoppqp8is/rB2k7s3hyWX9iISskmIwmSVeai" +b+="LdsiIIagHUK+pgsRqrC+Yxj1TSONZC8yfa4wFFQQtrCIWVhELViSMtVprcaiNfQiRWCc7MB8sG2" +b+="+1SUiQXVqLlpHUHrVETRWyazsWnyJ4YsieEfINmMs5lTRYIRGKtmHGWnweSlozhnFw0X0lM7poR" +b+="ga1+jhjwiNnWn/fI3DGplkdUE7eweFti6C/7t2G3M4MeIOfRGT3p0kjUdqKTPg0iVyuku/TafSG" +b+="dowm0Vt4Od7lMJOX0DRpGPP60x6toR4VarHSsl5pj4MpMeQgQUQzoZdKTplgjgFVgPvambaj8BW" +b+="P3xjXlBuNN0lohsRiEuhJ1DegRpj9jeCv3xkaHNwRTxo64in+vurNv9joGXqjWfNj9eb30puvUP" +b+="PNmvqvJZqqjBWV/RWVWx8Z7X3FXx2FSXqF8vQKDWN6zhb16JuaaWaBzAkB2UcKyOpq9Gx0EfezS" +b+="Iq1FkLKpJ1sJv4xsa+tDOf0tZEhZs11KUNFRiKlDW7wOwkz2Zew7xp2hORdtWO7FgDUUtugmxl2" +b+="gXm9DqB7OEq1fw27HA8wcWV7yPRqSQwx6iYKuQZmD/F4Yiw6b5TEgKRtZMa1apGaGBMGjkkRzE2" +b+="2KSaElMbZ4QE3FyIF6WjBINihdkkOazZdbNEuDiBf0sjQsShc7UfhRsAk3XOjpHtulNTDf2ziFy" +b+="W20FsUqhWTx1nkoG04sYl5bmyVI8RYZmjq05bMuR90LwgaimcvvxKPqRUXpDgWft4N+oq1dWjF4" +b+="2EEbT8mVaoFihb73pimM/8cpdprVVO9Dim1qplB/mGL4nvgD7dpit8CU/xuy6ORzMA+zhbuv8BU" +b+="a+NaMHy+2QSm74m7np5sJapGK3pMYaj9bdk4EVVzDuXJwWz922n4JuXo1YTyXpJsYWzrV4RaKg2" +b+="bLkOacAM7SiuK9Sxlhy7W5UHEJJgZ4Bld5leWFEH3Ky2xt276myZhktVtWwy+plGRhSRMTGFQcz" +b+="eNoqVYfMP9jLnNphny35R7+P+o3BWv/8/LjWBXN1WReL4IJQlGSMMZfQjqI2vfcFR7ohi0p2ALE" +b+="RiZNUU7/8UIgd7oj2ne6K9fAbO2jXrsrk1M3qcux4AFKwg8DqHqoxhgZtrxa1YYvdFX0t1EJLnh" +b+="tBYjMu/AZNWTFKC2SkRsMwEtKbyTKTp2sA+8HvTHua8HnYmUOswJx0NfF65N1QkTx/Rgsr3Ouv/" +b+="ezrr/3s66/97OWkCG/ilRf4s1RlKUzg6RVPijVCseDHowjwoKirhikJcZDYV2g2p0VySy/YDWHb" +b+="qyuN3QOYXStVwNGRGNDh5QXBK9ulE5j+QmcxqZqzOy7ReDBkNN5eTVDX664/3ecrLrgHfsiVvQG" +b+="SV78H90mt/KPb/Ey+xSUaxOSmcuQKc3JR1mUyfkVHT2q0l0Qt5SZ11NAv2Il1Pv6HAsKsRhV+gh" +b+="iaivg92kh2TgIQW7kIdI8ItiNfyRlU59ZHtMG/wRYtrijzXGjj9RMRH4o8S0gwoKpA46Dd7kdHk" +b+="S/JjT5Tz4aZcuD4OfiHR5EFevYzOjE2ojkETEPPj0C6d//WzNmWVwIGXKEYp58H17vz6++vHNi1" +b+="4TWCCKQslwr5vBiRrclsGDKpitx5Dg3PC6aEiL7A5QqCG/o3oAzxB1ushmZFhwjqigFtYix5UUa" +b+="shxjR7Ac9zEcoxy2FrUEb7YWtaRQo111AO0OkqUo+IIb1FH+BLeso4UaqyjHkA5diIVNIGdTtl0" +b+="IAE2+43iv1bmHxWnh70Rre3mr25koNKIemc6mNgI5xUGNuLdjfzVDnOjoz3aByGL1iSQhXg1jY6" +b+="QCbCYQhS0cnyYfUP5JnybBinxG7K39rIvVvgPvuRBtvhFZko2+CUUwwc1KqFQplYVrIOJfjF2o6" +b+="MDxlkjNuKxEC0M9CFJPNV3pagXhsUtF40VWSIaylsg8prAh2axUbHygmRDQVSZAyLWQ0Q1T0NBu" +b+="wIL2qYVBJ82QW4WQy6RVLbU6OiIxUo8FyxWatSKY5ZWw2DQ2k9YjeZzISX2tInMIq+GhOtYCSFK" +b+="B0xBbe8jHxWxylYlkqIc1poUyqJQ9VdK1I1Kx3yMspwVH6l0nEBRZKYlYyM7v6tRsK4XbOEFH9e" +b+="aFmIoeI1EfYW9hmMgBRYsMy2c8FZylbFrsDlSYK4yU+FhCWQabsT3IlNRRFfqol/aS759331r0Z" +b+="dP7f1pn1dHOfLgeS9/tu7j91/5eUOTjnLkwU06umHGXGsC0U2LnOh2eousDgiGvI4KQZnpqKZFb" +b+="qQL2yK3laIhtzUaVmmReFOriXex+Epg7E6ksCww/S1muJevczNf5ya2trRB19AB9Xkji6Xw8c3D" +b+="4dUXpcyXn4kvFm2ANcRi5gPMMUYoX/V46YGN9l6hlTm0RGSFLBBbFrJG1KcELTa2rtgKZ/imsVH" +b+="Hb2acqY2IfNh0PCwETEe9FssDZ7J/UfGi2YQ7QDqhnfCbQnvlEtEhz1Zov1wuOiyzaRa3nQCYcL" +b+="ZDZmmRNaDYJ6CCzaXXwXfaaleKEKNRj4I8qzYTVs9uZFFo431Ui9IOoTXibEPcCB630Z4Nuy98X" +b+="ifiv5vo32307y76d6+oxYhyWC6RjosMsKMv0qMcsDrMl0iHOSAgqXMAAfSBfYl0El9N9HoMX830" +b+="+h2+yvR6EGcXoA5GinXCrUl7XaC/4k+zxO3SC0wRqRPb38rhBbdCQde6IEqJSKQuWKNmKZ3s7US" +b+="Vs4I4EdMFVzUVpwdYy1mhOuFDqsO2dJ2WlgzKI9qF+TWrgUpuRzJtdctqukMqMML1HkmSmVENdp" +b+="Tw61BxOxeKyUO8eV1fSka2tZ0OCfZy+29UgqyTqXiG0N40mlfGH7vKLm7y3Ek2C11j5kdJJGAbq" +b+="UxU4MHBQtsHl16Hmj7+sgXUvbVrd7eYmr+s3+Ay6uIKTF0rSte91QpnEmuUTtEVQs3NG56CsLm1" +b+="QXY9wrTTdBgcKIxdnBjQxUbVxV66F9VFLzLegn4LLBmZZgLZB2EyNIH4drHkpgJ68xn8patzh0Q" +b+="UfFFpZrUbm1IOWW1kfYfGs3BL0JSy6SZ8mjSAXzEFmoCuWqnNVAHO+uBMkF68opLaD2uDmrF49y" +b+="kRFfHXabwQbkxCUgdQ9SS82VagSIMX8Jtt+fA+l13bGsnNiyvpdLNY4m2TSMUPm82um2LbJNxEe" +b+="gnZZJMeG6N1r2gvsT1rkkJRH854ICQWuhrGWOh0WDWTY1aMQqwokxYTb+IQo+PdlzfTmVNn9scw" +b+="wwrI88VrozJeoDKxEzPdwSWNN26WwQILoAkCw1AzxsLE7DKiNhNWwYIqIVZ2ohNQLZwc/8hxggn" +b+="vf8UJ5hhNKUAmyQ1eJw1VTbUkXosQUWYCP5iMVfX3jUFVjSAeWVRMKHG9tGjfb6RLyf5ozDoaRS" +b+="CmXWcURG7EM303o7V6CO1cTgPQB06+NtIOjqFb+XGCkilkMFWdbmlSCryFIp8TKBZUkRY0/U2Be" +b+="MlRipWWm3oAMAdUiGzLYOdHqd+yqsF7N62zkeeG1KI/MgoCZKyn3vmCpvwJywwlZzZ0EGYyNako" +b+="6NWEO+qiTdQ9XNrLJTeavQIzQ19LxVbwnkFnRSIuVkUbWZS4OhBxNrCCT72KGjHMhv/aVxEnMr8" +b+="mD2B4uP0D7kt4CYIdEBT96RGnHtsMH0IZTm2m9DYNqZ4WW0EV564VRyNiMBr5bnMQGsk8JxphTX" +b+="kaq3iB3pRFCPZu0ZTWC50XXOil5yzUpiGvh0TOe2l9VFSR3SiW0WORTL6c/J0BPb4FqtkVqynbN" +b+="JM0onryNf9wNW+h4aJGHX1NG66g8XkPP4Sp+/BHZsN0AN7tdfowXS8FVDPx71VzFWZ8vrGaf9aV" +b+="D77298ePte3VvzFgh18NKuVV4a+P2Jizkg8Pvo1MNvWxt2kIiEW+Bt834T9W1rfb4N1eo3XtLrH" +b+="VzbLViq/aElTx13nFJUI/sf4mSE2ILrXKo4BK4GuJbuawq+9/3kNbggva+jd6qOpv7/4HP/77A6" +b+="KVdp10VrwWrFlI2CQUZqbJbAmxhnKcInJM99EHZEGEls6BD2jpoFhU3Ybh7XB6kbBwHYJ2BEMQf" +b+="FQHLYQWETQjSNp8d1OeCJIO220IWvliENVT7wMYpSOegwh2aWWNrsMPHdS33/fPoz3vB6zR/a2h" +b+="Ej0PE9shb0QBf6hxz5eZXQyy0cAsLjCDb9gFt2NsFAwdRzN2A9T7WGpy67LqQwyKoTLjhHC0cRY" +b+="nRKCMCrEBF1XB1o7iFraxUwV+Dt6i6Qo0fvkpeI/XWqYJVD5ufa/AUTUxFQ7VzIwBhTDt1HD9Ej" +b+="/OqY8FdrlZUEPKudU9jT+NM7Iv++mF03ErUggKm45R+u4eS3u7vSe7wBTOr0oHZyWyrESW1ZqzZ" +b+="6Wvme+ks+6Df30W/9mKXvN+0BL79NxLjM39M3tgynXT5/7nCJ6nz/1NCMboc/9xBDvpc385gu31" +b+="uf/tbgDj9Lm/ZXfAprsCwdjWcXjLA8PuoPZ89jcwVKwmJcSeROPK6q77NwtcU27VfewVBY75reI" +b+="WwqRM7frRnaQs3HK93rKTb8KwUJfvDKB5bJrwx36V7ajst/DDjfcYsKWkSmQCAXaSBKQO8WZDuf" +b+="qmfgFPuwzWS++gvawXEP2T4bm/+B9pZtp9Hoek+YrsJOizK8wWHtGmrb1d+w4dOkTaVCkc/pHDO" +b+="9hUU3h7m2oOb2dTLeF2mxqKrtDCwtvY1PDwCJuaGB5uU5PQm3z78DCb2gG1QSNhDqkdYeaonVBt" +b+="rTOqjUahPlpXVCbrzu5Xk5VWoCVs9apSSzZf8BK/xQekMO5iaiTTHZZzoz0xqI1lyxQu1Yc7kd4" +b+="u5WvsJCowMCtHx4Ry3doIkYoAX02HMTbq72nzScIDnUBnNgVlHAI70QmGE53Aj3FwohP8J7rAua" +b+="ed6PzbFbOMdLXlrKTUXx0vjgM6tTJKkR07Edl1N5rDCsG52QnB23WwI5G4CIYhGIlg83sacdgBw" +b+="ZPvavO6PS3cd7X9rx2CX+lf7Qh++q6WFd0+2K2DbRB8+11tw4ugrfRd0pkGMBzBlxCMQJDUtVch" +b+="2BbBMATv1b8SKroZwTY6KlqAYKiOiua+qzWQUNFPu7SsCBUd2qVlRaho3y4trcwUlWLI9FGcIOr" +b+="bR2s3LW2cPtq1KdBajazKPvU4rHM+8T4SWly9pG1HUdi9Ik64/u2CV/wTBYv/g4K37/zvC9bxb7" +b+="iOAa+XDMA8mSzoqCs+hLF57MNNgoajHUK0GqG2VYRoRMoU5yiSUfOD4nRUO/M4/ky/MAJfSrZXJ" +b+="NHC15/JeDWVrsZKyL5IJM4MXdJnZsvUJuIqkWzfbP9Q1Lw4yqQVRGbTuWkySh+JN72QryAxQwd4" +b+="h41pBWJaOiiZSBueXWeUmH0qNBrpCCHFGrwH2I2xllLg5xhRx4ksYIBeVaaLwG7GogaWRLwr1uH" +b+="YAKL7FYvalIOGDkahP0Y9y+ZPtCwFluWBjzaRGhfPXM+BMaD0K6gC40MxvxD0alB8YV3cCN2trt" +b+="0Po5NsDxH8XME4wzBsNiYYbni/hGdvUmfV6q+i9hoe8FpPCvMwFebt38y11BfC0ES3EwUqlvTA7" +b+="Z1t78uSOMdkUJ/ATdbsdzFIjCQHbH9EpJpgz2H+A7k+BlNtRDgGTX+gbh9i8hgTv+okMIPkZDME" +b+="L1FyM3uPkDkjGFW0tGdh1gIH26+gEtDqDYsmc1uHK0WIRRaP2GYlkUm+wc3EPbQuiJG4mX9urQ9" +b+="/54pjIqQgW3xmtMVHhvhYff5WrdP/UqXT/9U6S7Zga4lBoJntoopg2yL5TTryQTUFD6rMB1Xmg6" +b+="or4MTQLmCw8mgymEgkM48y9YEcaOZRZmYe5ZZmHiPEQLuOJqNdR2Z/vrXS0v+Vws7Ziybei5LtK" +b+="bIwKeIFDDQBSarw7DISUzNTZagdXjmQ2RfyI2zGeqKlJIeomHLJ9jzZDcPbAo0UH/WDheFor4NI" +b+="tblXz7NWsvvHTOkQ+ZkovWOJJTTbj7shl6WQACKwGInFFGxDoL5crxqnMSJ+EzObaKYrOgwzkxk" +b+="nbmJd4tPQpJgrGL34LOpjYiYwo3mTpRZNNvMmo/VYC42ahc6WgmbelzS0AVezmuF9c+gAK3ZASD" +b+="mxu8k4tYzZmchKjYBa5TJGsJASEDr4hE3UEVqhRtXivRCcy1gUstFD69n52aKYfB6D4hBe0EaLH" +b+="bnccR5lC7OEhoY094U/iW1TrNjPyNAPIf/0JnaXhV0MZ1fvtB5nfYfNk7WODyNlw0GI7NuQ4aYb" +b+="NjOyjoHLEUSyzjZCMPiR1VVKBV2lVFC37dNoiU37DKc4q59SICoCCIUKXXePbdIBCqr87eA+TUG" +b+="Vq6XyfZHtHT4uueFUCb711TdJK5e1EFFCzXhqGWxcHfVWLVnG6V5qvv0YWmbQdI2n2ELZy1NSq1" +b+="YZ8oKsMrAOzMMO5AmB3glhc8422miIjaEvgXm9YZq5VmZZSrOmz62W0EHRfpMUw0ywcX0+BY+Y6" +b+="nfsyks26RAqYjn/raBfyI//VtgeNIsmWA1GIRl5A9Z84aJoXTcdE1WuHoa93X6HZBTuoME0E6ks" +b+="q9+hUCmcrG07NFkNb5DVQSuK3fMQ1CdIcqad2+yYDeObDGCHsBQ8v728megUQdUtl9iJ2DGTPAp" +b+="IlJ5sl2GLhVl+ZeLJduHC4G3PHdj51rWf7L6+aWyE4C951T9TcgTjXJEpfjyCh+vznDOeRMpf4e" +b+="oVbJ4/zssW2QKQWaEyK3TPuQtFDMaFQjK7sxiFu8KDn9OZ62t2c91ucoh2MzNsITMCMxLNEQ1i1" +b+="h0HMBIzg80rGluz/bDEIobj5fREjSo1seUjs+oA7mB60U9icRIrjhxPKP6pKfWRo9JlpEdZpnTH" +b+="HZWxLYyoJHVSdp9QtNPGRqJOFOQ1H4Bs0ymaug7fl0I59utFmNCkCbtKtkUYR9WGY/zq41c/sP6" +b+="nJywIvPvig9/+vOGW3VNtsgCE6+97xF7sQrftObOz0uvy1LnqKivLqn0uT7WzUnF5PG5PpuJC2F" +b+="Wi1FV7XM7iGc6iSpdS7C5xJYyHFN6Ecrd3RqW7enpCfLHTM92d4HFNL/P6PA0JXk9xQll1iWtWf" +b+="LHH6XN548vccWmlSeklyclFRc6k1MTEpNIEyKLEVVjudVfHJcUnxvfrT8lKXPEeryAkC3ZhmiAI" +b+="5bIgnC/4YZ+MBxpBAFKW/vBXCoLlINjEf6383Rz03RIEh8ADzagr9injyqZXu0qynD6nMrPMN0P" +b+="JUFyVriroFqiiEAmjFBOUN/56y6YX+hpqXCWQrNBLOeC/Tl+dx1XoneH0uOifQuqhSnexs7KQ/z" +b+="TU1BVVlhUXVrgaMJNqZ5WrRUUqklPTWlbmbqhLbyg7wVPn9UEvOtOLUxOLEzP6l6SWFCWX9HMVO" +b+="UuTk9NLXYnpqUVFSf1S0opKna7ihMqyIo8TRqzY7XFR/8MoexKqXL4Z7hIvjMR2yDcP8n0HOikM" +b+="8/9nRr44KS4xPj0+ieLXuGHeQVl9JbtQgGMOTyg8RrgHPGgwSvuDQ8im+TB7Y038w/6Xt/Qp2r9" +b+="i75LEebPeMR9d9UF8zG9PKPcfShl2nam7JXGfoD56LcSfL4r/VCtqPGVVLjfMYQ+0Jakfb4yztL" +b+="SsGudwX9kulEBZdpG3xgDHCOqu66A2UBl1H77YDU07cxoeiLAAws0izS/1AALviy1i/VNtKfY01" +b+="PjccUVl02EooDmpvDV1ACa4qmHNl1VPp4Up+Ex2oQp+l8DTDp4BkY9F7Un8qkF8/vvCk7etr7P3" +b+="Lpp5kfdEw9bx6Q/VFy6JCptw246J4376tOBgl/UH1w1f2PvnmE8XXHv4vflTFvSOOlM7H1q36QZ" +b+="o3S+d/7XWFTm9rqS0YmxYcnwipYF5T83JN9uFqbhm4ekpBMIqPIlJyf1SUtPSM/o7i4pLXKUREB" +b+="bO13obeNriiMLjVLLKvDWVzgalrKqGrUqnr8xdrXhcsOxh6SrOaoZVAZm6ZtW4in2uksoG6kEN7" +b+="7T/L9avsxIwCLUMuoWPVZbFLoyAPA+FsroChqmEikwb6/LWVfoyM+uqZ3qcNbF9pilQT6jetGyP" +b+="Z5pS76yscwkdeBvxiYSnrBrCy0rY10ylr6K1QRGEfVAO9sO38GuD36oyrxeqoJSWuSqhuGnWEPa" +b+="9M/yKhrwqXdXTAY0JsSGB6UvqagAJwmhqOUDYMIjTzpAHoSp3VRGsNZgeNYATC4udZT5At74Z2P" +b+="ZKiIc4A/HzEHzcdZBTtdunlLhgRpVBBa508baugLjRmCd0kNOjuOt8irtU8Tirp7v0PhtTg6MZ3" +b+="GfKtNHuapfWZx2D9iQj3AnrDk8Ur7s2/2KtdsKrCu1xgpDL+wZ2AAX3kCz4jvNLi3cBn3fnQnfi" +b+="P4Oo64p8la645PgUjg+0ags3WhluLpEYdgscj2JvYXGdp96VUOUuYfFPQvzuuJ7g6cb2SLYhKqX" +b+="OMuxhn1uph3EpbRCELkF79f8DVAmEsnY0h9oFJ/xmWdh61eAUqPDFBvgSgNPh11HgK/AUVBeUFh" +b+="QVFBQ4EqGMxOTEfokpiamJaYnpiRmJ/ZMSk5KSkpP6JaUkpSalJaUnZST1T05MTkpOTu6XnJKcm" +b+="pyWnJ6ckdy/X2K/pH7J/fr1S+mX2i+tX3q/jH79UxJTklKSU/qlpKSkpqSlpKdkpPRPTUxNSk1O" +b+="7ZeakpqampaanpqR2j8tMS0pLTmtX1pKWmpaWlp6WkZa//TE9KT05PR+6Snpqelp6enpGen9MxI" +b+="zkjKSM/plpGSkZqRlpGdkZPTvD1XsD8X3h6z7Q7L+EDT7qr6ZHq/HVVxW4qdM/lG6BxeOzU7zAK" +b+="+WIl7oYGN4wsHhOPhFWi2F/15sY2skm6drQToFElGtUlb/27vpFhvbTZv5bhpt2F9wnXT/L/eX8" +b+="/7F/eXB8P/5/tIjaH85z7DmlRb4pKIFfh8ZwfB7L3iQ7tXgZI5rNbgfz1+DU3hZMM0yFZgsqyAc" +b+="cczTEWxf0eKNwvmGNICatmvR1Pc2Xrxy2FP/2ffk+tNnAv88PD+F1x33G+84bdaPxQVC3/P5dzy" +b+="70LLh6bQ+6Pl/QMkNahM49/7O+PUKGq/eQeN5rv05vC3rZ9wTk3DOc7grPBlBcIEBjg6Kj/AEA9" +b+="yd96sRvtQA9+V11eD+fJwv61188tW3Xvx53j2dH1n9x382aOOLawd///2x8c7ALWYf1GsGlDmYt" +b+="0ODs3lbNXgYHzMNHsjnnhFu938wp5baA+fUufoVqP899wP1v0d69JakOc5D+xoG71y4e8Js72c8" +b+="YhNmhr//6+ecdoEtUf6p3pzugjVRVhzn9HicDXh0TIlPMxBXx9uxc2Iqp6zOD8ISMsfo2Dkn+Ek" +b+="J/9CBoImH672srn0IOtcq8nA4bSIcHhjnWFActItue04819AVz6irrlC8SEdXwaaiFLmAvq6Ou9" +b+="LlcQsDOjCS+h/psOq6Kv+IJccnUyoIqGNsg2kdWIfNpUFSDzwCtf/c5PT5XFU1PqQrS8rqy0pcS" +b+="lGDQnUTBC3FPIExNZxeqCXtpowYzVSqgAQfMFDxuipL4+GYEtvn32uIs3K62wNYscpL8y4h0i5M" +b+="hzpdyZGfBl/F4SHOajzFIGXucQL5UqSUetxVcBQpchU767zQTKXMq8A5ZrrLo/hmANp2xmt5LOQ" +b+="EdbGzxllc5mtQ3EByl1a6ZyKBHskOWP89gVAPoV4gQAqxYoVlQKsXVru8QI5Q+6I6sgP2xf8YQY" +b+="LlsXPGAsh7JOSZZkN7iv8AM8wLRKkrAZtAdT8I+Y+GfN824+FO3bUKZtpt0tlm2gWGbTIWnj4G+" +b+="EJ4LvoLJEYOHoKzGc2XlDgrOY1vYxpSiIMn3gAn/FPrDqmuANYWTVOXrww6ho7KCTOhtf2SoW8O" +b+="drILNVDu13xUAa3Pewp6RzlX4wR1+1OcEbZiDbwkJq35JPtO5dbDTW8dro284fGBHb+dd8vBJZW" +b+="H36nY80jMe9cmvnZwY9hjTfnu2AVtxA/mDDkIKA3TTatt2nLDk2trO261/HL3Kmt7x5ageH0nPD" +b+="3w0XdcH1al+EJeD4u9IbgiO69p/5x9284Dr/Z/46aTLzY/+uBd38889eVHV/TY+cClz45dsUpQD" +b+="z7NK7r2GXh5U/y3+7iqrpJmXUoXu1AKfTpLZGO7vPNx6fUJK4V7b7tRynihUj55lyRvfvU+uaCP" +b+="RZrw9A/Svt/nSHe4zxPW7bHLp3seE7fcoYod73SIazufEi4cPE/etHGMVH9bO/mB82dKz7dpj2N" +b+="1bO0m9DQJmf8g3iZ2C5ssdSi4Q/hgxB4x9+gKMTMiQv6mIUt6Ue0mNLoukq5Yfx4m2vYcJHpR+t" +b+="+ijLZ1DaSMNFijjDRYo4w0WKOMjPD/BWXUHB1IT0AP4qVF223iudbISiV6Rk7C1/u75z040Vs9c" +b+="UrQ56ZxtBgZb0VDAkgjz+pmJ0oBEc54qFBs4qw+87qxs/LCbuy8Y0QuKYb0qYK6YL3GgA6BOY/A" +b+="5p7/9pzXued4VOtuF8rg9zsuDjDCOKAqxc1D4cGsNI5fserIdmkoq4aPsMXhbhBEQGXwx8TJ/39" +b+="TpGE9j7HJ5nN8r8ELON7WWKE+53T92yZ+RNHguziV8k/vZmvOY7vZxBA2If90H2OTnHEXMEaD0h" +b+="BX7HZ7YG5Df/yb3ScM7cH6IExii35c9pAk5BN6kVhjFaqsLKuBqaMQw1GhlIq28lgUSLe2B1sKl" +b+="J61ZzqcbWdAOopC4eq40fFJGpMRjoiKnfayCaw4mmjZPOO8imIvzqEBhrmFiGUIZa16q5MCv10C" +b+="D+NxEWdXL6OGl5E3Ysi4nhmKTgsqNU6PE5YEFK1UOStL3Z4qVwmPFFh9zA4Zbi2iBbRmL5SDx/I" +b+="8qsMIF66LQYb6oagjTy9ylJYVRNTfqVGDgtoEJ4Bq98zqhLpqb11NjduDAgF/I8bkZkEjs2LstO" +b+="7G5Y3IPWflg8bgNkiLlJyq5ZlbAoiqrLQMiFtjFzGJw5iykvGsQu6yEmL7a3XNgie4MUOC2qKXY" +b+="egIli/QWw42fxSnT8nKHgsrw+fCA2GKg9VPrz/vdoxDjBIFgiHiSIiH8xdo9rJKnJjUaifO1BIU" +b+="NmD8KpfX65zuylRKXMjNLlGoFG9f/qvA2nMCTsPqCD7ID/HHfQ7G6nzMwcQErY2Hv0aAZTKVxFk" +b+="Qb4+DiYv9vMLgaNAvPe104tBj9FWEWAhDXJwEvyjimA5HkSx4NwXiMgVOOkUuWHh5Pdn85vWib0" +b+="Cruyp7svp6XM4SGMoSN7SPHWuo1nBwcUF7a+vo3KC4a1we4nYK8yAd0kAQQGMOWAAmRJkLT3Mbe" +b+="rITTF72KH0C7e3JWMX+xvFexkOSz+1WEGXhntKTiSdQ1IAHJ+1gFNmL1XNcdr4yJkchaa8Rr/SF" +b+="7x3/pN/Z7IexhzhdAuYIfME29OJzm+pGzS92wgm6DPlwDQyH4XLyYr1xz4D4qKpwUy/GuiqDCB4" +b+="PDI0mSGNTTdjE64RIlzZBlxahpMyLx6aZrpIDEAfZy7kJY/S+MvU+S19hYch49sH8NEwIOIHWOS" +b+="sVIQrS4v42uDebH6VwjKYWlbrrqmFwCiAcWcT6SPKTtq83698S3Eh8ZVUu3rOLejNWfzZCFWWYB" +b+="bFktXMP7ls1bm8ZZjXKsI7HIL7GdQcTzRiOKgzjfaUZxrDLkC3L1yOy//myE4xxxtIc9a8747dx" +b+="mN45nWMcXKOB3/O171p/ab88H01NZTzuvdSPEHs0LRwuBQR4FFSJlzCW1kqePvOzaOLnuaqC6oX" +b+="s0DEwf9mgj+EzeZzLN4bP3kA0GZAW5yV81vHkaHe1PidHUn65+qzisNuYfhiJMLWpojW4EKrCWo" +b+="hvOTDwo92+HJwZOTQLoPdd+TD449wo95kY1McoYp0YNJZ5Y3MnqPnZyuQpSiyeqTdcwObd6/CL/" +b+="brtAkbeoo4GTJJ6GNpqJu9xlRzkcb+/gM33IWNG52dPyo8bl5c9JDcnd4gyGWivWIa3gvNT8/JG" +b+="5g5R83PHjMZoQkosW8PB8QaPyhtHcpIJZd6yokoXA4Yi548kzyXY3PH5Q/AnV03V4pa43D7XLAb" +b+="lu7ALOZAH//icekYwS5CFyADATeOyLxufPXpI9vj8nAwWmD16/KjssdBFWWOz1ZFjBg/PHpKv5G" +b+="Zlj86HJmaPHT1+5MgxQ/IBq43LH5s7eujgXO0tFzpjaPbYwWPGjMxWR8MMhFNDptKrD8M9F/Zhe" +b+="F9rZ1Yfti+yuSAIkw3jVBC4vyBaRumgUuksclVqWASRqcMhlEA+yOi8oQ/LV8fhgHiApvP64gAd" +b+="Omu8dZUMexTh5AHiNjCex3WWaPDVWcVExdCVZdWI09iGRXtxLHQJbbR9MDJHmDxGYNWNoTNoTXo" +b+="NmBWJ5rE5Q9JT0jICKuevGAq7XbN8+BWVrWBhwIYTSLHit8FOrystxU8KCXddyOakH6HkQ51GYp" +b+="V0zFJo6H9Um8iDrss2dslgrUc8rj8Lp15iA0qZD6M2ZuktzDa0JB8aMkRrhEYcs5oH1MVpoA94w" +b+="1gXBwVq3cARoIZyCNCy13G22wdoJLvaXTd9huop9rLI2XhAyYLzuC+bdwrDPIJQZKhPMa5R1ApK" +b+="zoCk+W734LLp8MJLcnrwe1HQXC4x8O5c/xgDAfFSHOBhOP301zjC0Bg4/Azqy1QeB3Cengancxi" +b+="oCD/dbPiO+0GXf7N+XAnkAJSHY/woP5+OKSqH/vYT6IiY8+IYTeaMY+sa0wicX9nIwxh16/Qwgg" +b+="EpPx1noHBBWBDH6J3/bYbNmjjGsGnL+Q8aHM058U6FicIHxTMaXIORntdUm/LgW4eguZ+U1srch" +b+="0Ct9H/6nL88np3zf6Nzvtr82SbB9lXU2bjW+Z4yppHjnQENqsA3pyZS0GQH3RLsJAT+7/n3HufM" +b+="Qtigoa7DEhj//imuMllqWIFIfRVXur2oMgQd566AGgLxWwdn83oXkMuAZZ2liEmLXHS+8rhranB" +b+="Z+AwKFXXw1P+XChUz/0WFimGJgQoVYWHjfM7iisww+GOlHr2U/fYaxH4vZ7+DFrPfBa+x3/Lj9N" +b+="s8Lx4P9sKu9sX0O+/DZfTreucd/FUKV0rITT1cPywdf+9f2rUKfgcdWpF4P/wuOW/Lhg/gN+X8X" +b+="yrChwjNB9IbXlOHCCv3zp+YUj9E2DZ6etXmJ4YIA2+ednDS50MGLXpuVvenOmblHfnig4NdR2Td" +b+="8v4oy86jzVm/Dv/8DSnuuay1d3/UMGTWN1k3S7F9L1yoZKfKyS8cW52fLc07fbD2o+uz57bvkfD" +b+="VBZuyYz78zx8Hko5lf7NoZf/LL+mT02uNdcGRGwtzOlebn3tu3a05K97McXz58LYcuXHvN3ftOp" +b+="1z9ag3PM7B/YZ+qTTs/L39jKHRZROHrOt8z9Cn7+t04e4d7w3tPnzFseuuDhn2UMFrP/YpHjjsq" +b+="y5d0/+Y4hnmXHlgy6xfHh7WsC3q1w+e2Tds5Oydl2890i73noIhR1+oyMnd2i//u4csjbkFK9c+" +b+="e8G8p3O92+5bmXToUO7izLesc6ZGD7+zZM7rbaIvG77p1Kf17znnD0+cfVvk0PXrh19S/Wll5dq" +b+="jw3e8Gbngus97jVBPdin/ussVIx4bmPdFUt6SER1GHbzikpItIyZOu/vHUbN/H1G1zlR9376EkV" +b+="k/v3rw4NfFIzuu+bn71IPLR0avqHmorvvOkTc7S68r88ijfvn90q/lMRmjPMcXf7mlqHrU0BP92" +b+="7x06v5RXa7c9m6flz8cde/yzBzfqojRJfcefGLbwsGjB77x6Qfr42eODu9/26KyP1aNfmTIp7/N" +b+="7fbF6JuX7qm7/4FOY557MbfDQiAC20W2+e6Dp+aO6XRHu0e2Rz8/ZvKZ93dtvP/bMXdsnP/FC9k" +b+="xeU0JF3zSe9n4vMITRy87cvKGvOi7027t+NmmvKIs0/E7O/6Sd9V48/Pi5Asvqxr/WrvPZ027bN" +b+="uFKRO6LFt62ZWpm5/Yv+HNyyo3T3rb1kkY+8aP8a/cFJ0ytv+T66s8jrKxb1zeJ7Rtxb1ju+990" +b+="fX1/bvH9hodu/GBhdZxq50/PbnoyUvGhc+e+H3nOO+4MQWrD085/si44mf3FtX9+um482remBK6" +b+="vn1+75H9n1s4Y2h+/L3X3f/k4Nn5s19b2nt17jP5Bcd+r47a9598b+26G867tdv4wznPdvr5k8v" +b+="G3x81bd+RsdeOf+u8Wbuf+Oql8Zd2uKjk7Zofx7fZmzrw9PbeE9qPvmb7wEGTJ7xtf+/e8603Tz" +b+="i9dOvQxOGvTxiYue7yDSv+mFDaq8O6X+5LnNj8fefzvW+VTDxw+O4jbU/dMXHR06/+0ueSXROPT" +b+="OnnXTvKNKkiVVgS4+w/6fXBwrGyF92TXurTnPHF7gcmXZiycuvH2/ZOSlWHzWp3os3lm2Pjvv2m" +b+="YMjlP3qOP9Q7ZdblqxfXt01Qn7x8e5fHy14+/MXll66M3PLd/Z2vGLOtyy+PLBx1RXL3xN+Hzbz" +b+="6ijm9GtOjO75wxT1xk81FH393xdUnJw2ZbXVMfuDihKUrbpgweVHYxS8OiVs0edl/towbvmLz5I" +b+="HK84cL5F8nj3r0S0fKvIsKEnN33LYy2VnQ+In60rCm2womj23/Tdf9bxU0eEe8V/O2MGVi3meWU" +b+="adTplQdvG3YgYHlU7Y8OSVuVenKKXVdn8uY2LxnSnvnF5aqlaFTn2gc1SvLNGjqB59Mixtv9k3d" +b+="3v7FWY9bHpvaNPGrTuOH7Z/61O158ak3diicvOFgw9U1wwo9306JemDRnMILns08cqjzs4U/FoZ" +b+="W7P/0q8LvX3g7e+L73acdG3vvwgkPjZ329AXXxa8afR2sjtjMiY6Xp0nLLp9Xn/rTtNdOunvvef" +b+="V857ETb8df7y1wzpp96cup2252flCwuO+QzK3O8JRnf9u97YTzOmHXlfOmJBU9Jsy749BaV9Ee4" +b+="dCZ8xx3Fc1TjhSO+2VX0UOHv0l/NNlcvPP+Q9ljmzKLN89/quLWxTXFydPvypn17IPFpwcNnjTh" +b+="wEfF987o81tqX3vJ1ld/9g1JzyqZ9Wzi2MjshpIJBzaUXn77UyVp4WkHfnv5y5Ihi4fsrVsd5Yr" +b+="05o/evXe067s3jtnnDb3Gdfj3pI6uLutczllzrnilxw+ugbbFxz/Y7SgN3/HM89sXTCxdPLfw4J" +b+="nyG0t/X/PSD/uLXi3NuLv8m2Unfi29Nst8aPb6vtP3DO/51E3HnNOv7/7dFc/U3j79216P/Hhem" +b+="+3TO8y0Tty9QJzx4dK3+lq/TZ0RkXkq/S1XxYxhWaeL7ulx34wr3n/5xPzp7894evjqK6dvDit7" +b+="avSqVQfWDSq7oujDD6O+8pX9mPlOxH7l8bIPslbOWJh/oCx8wrbBT5ZFli+uuHJ3l3m55V7L5cO" +b+="UQ03l1gfT41KOPFseduP8DPHbw+Ujjz587ebePSoSJ8QeWz5zXMVLFclJTeMXVDxuaTr1WfkrFR" +b+="eWuKe+Lf1ckTrQljbntQsqrw6/6bUpa6dUvvtGxp3rl9xSufX3rYO+TnmjMn3d8SU9pVOVPb13Z" +b+="U6ISa76dszgN594rLTqP1/e8lKn/BVVNTsuTr1p7btV4a/e8OrTMZbqxZ64fuc9fnH1HdNP7h87" +b+="vLa6ae6JZV+teKh6v/OP2TGmT6r7zt7ww9Iv7O76FRUXZkZnu5deY3nOWnSle2D7XrXZs9e4t3e" +b+="qeuf2FQfdTQXbmje81qVmZ//Zu8Z3zasZsmBF1rfKvJr8x1/reH6fF2u+Xppyl9t7pKbdp8Lm3o" +b+="/2rJ0QqSYl3DKptuLym0+tf/6m2i8/vPKzlOTXavfd2KXTq6d/qx334713eU7Hefb8OuS+kI1Fn" +b+="uuPLb3+zeplnieS/vj2quHveGyFjd4bR0ved+on70r8Is07N99jevnOSu8u3xuO5w/c5zWNbXji" +b+="y0kfeK99eOLt3Y7YfJHbfv20tk71RV3pG7/jvTrfPcvf/Wbu0Cd8xWdeTX46/HPfgI3epk/HdKy" +b+="zPZW3f88Dw+umV91icz3cXLfJOnP06Z1r6358K/KLU/I3dR+cHrl6zmClftElKyedNy6/PmH0th" +b+="8OTb++/iXnleX7N2+s7zh70f0XffRz/RUrEhbW74ydWXPNibh8uXDm+ckvr4gsunXmmjnfvXZH5" +b+="raZBfd8lTIo9/TM31+1x2z7PnnWup/z+2Q+Nn3WQ4mPP7vg1rtnTZ86vCa18b1Z4q8F2wdHhzRc" +b+="3c/X1OGLAQ1JKx9NGBnhaRi47ZaL713ycMOoK2eGvZGyr6Fm1Q2lJ1e2u3LRxLjmi0NzrnSvzph" +b+="2w8KrrnRV9mxMS3/6yqahfaNN8w9dOfXy32Ky/9P1qk+WZaZ+uzPvqvcGXi/9R55/Vc6NF12zP2" +b+="v9VSMzTjxtqzh6VaHlynt2zO/V+Ot1UTmDH7m88Y/8nRXXW5c0Zlz42tYnwrY0vnHMu25CxO+Nx" +b+="39cUroqL2H2xcu6bqq4pXh22MCYNZaZy2ePXNSnYNvSHbPX/HZH/1Pd5Dkr6oQFAw6mz5FvFR4f" +b+="8WnVnC8mDxo+5vH753zs2dXty/wP5yxZbDoYfWFE0/qPrq6+LHNwU58lPd86tK2+qZ9v1YAeV61" +b+="qWrnt2/k/b/+8aZaBZm3gejxX/XNSxtaU05GJTpR+TaadTq03iEwJU4ORnu5ggF8RmbBYg9eKTD" +b+="NFg9eJTFFWg9tKgekvkJiEUjzHHxNy/8bVJrYch5dbI878zT+/uSUewOz5/HmCc33/P/77K4err" +b+="IH//OGqZmDg4Wq24WA0B56m//Jg1PwvHoz6XhJ4MPrvj8g+T0INHoE91Zj/AsgfRQenzWzhGOEY" +b+="AxxmCfyOcEyrCoSkOVjmLUQOX6HGhoytds1EDngfrT2osBlhyG+hiWlE84Mt5FeJ/GvFNavY5Sp" +b+="xlRjYqVxwOMM1S3F5Yd64dNGizlT0+oPcVVVOQDsoCXISmxHO0R73dLxjVVZtyAQFspoyp8bPQH" +b+="6px11pYFbGFtQlwl8c/iTl9GFCHmXmDBT61Dg9dPlLS60xOeqqy1C8Qhd1mJSeyQgDrltpkdknD" +b+="WJV8zOFKF8dJDGrDpUh+0mHpl01DRkD0yZP8wf1ZUGzWwZNMQRlTssek9OiSVRWax9YnVr5Uq24" +b+="iS3WWqJKwPwoA4YhcinQMZV1VdUKSbxi+1Ig3rNjwZlKn2KVseDLVMZuqlXZbZer1MBbdcioDrq" +b+="gJ6xQmfjtcZWJPALjVtdVVgbG36Yycei/uGkRBsG1dxTKQnbrMyJT8dDg5zme0uCXg75vFZl6pQ" +b+="a/xTex4BubdfyvCCZcqaeuxR/eyVCXXLsZNqkCQV17HbzsOI/fDap3esqc1T7YIYewDvTVAUr0B" +b+="wvbhzD5DyxsEhBoXw4OYfJLmPV6LichDBGuC2a3PYvJzKucNUK3LCY78qK8u7rYFZvFBljLk9VF" +b+="EDKyWB3YVUQ2F/OyWJ68HLyZIZRksYlBOgqkZC4Is3gY51AKi7KYGph/TU+btiKLTY5HstiEKq1" +b+="0O0k+w3Rqpq3LYrJa7bsmK0ee894sJlPTvhW53YBpqunbsaBv2mqp65csLDJQSzeibBuexfAYw/" +b+="Gi8c3w3BIUfiteN4DnNuGvqXAb095uuO7yV652lmQzvrW2kXh9JWzyuxOK6kpL8TpiAq7YmR5ku" +b+="3pnlFUxHvL2bKanIfLJWVeN91pRz+RKxOG4Bty+GSj/oVeGCqtcVW5PQ0tcj0J1g4KBX5ZOFyQ9" +b+="dTUo7PBMr8MtmyEXTcNBW++YA16uw/AqZ3UDYpkKb7HH7fXGlbjqy4pdFILY0EMRS2C7gO24wjU" +b+="LdiQSQFIeSlGdt8Hj8rrrPMUMoFAqDikZhLwNXp+rSqmtc/uc+gbmdbkqsHuhGfCm51cN1JDP7U" +b+="FdAy9QQKwbiRuNOgEluEcYhXXae1l1DfSYXw/I50StA5dvpttTweo5w1ldUmmsTqXbXaOQRK6kD" +b+="HUn/HtsrCt+erzibaiiHsB4fZCwjnNXVzYohhwgsVZXqFpZXRXLCEaM5BekIFfmhQmkh2OwAfSP" +b+="20y6lFxEHVztQ4V8ZyWW2QD9BcPnLfK44YNSU1bj0lpV4p5Z7Swpgb5nCjPOepju2I9aIGzndV4" +b+="XKZO4q6tp/vAXLNFZRFNHy81wg3aGG+aLATYkgnxdvgC4FIooaaGDw9ugq30osW4vpxRx7mtr6P" +b+="dhDM+Ycjk+4G2GqnlQvrjIQEgua33NwWuZG1fYoFx2z2S/xAgzfpm4BsXliLqAuCbZaWUuk8M05" +b+="TL5tZbuqMyvL/tKYI6hKI2IQl2/5/FchsdRt3S5gWC+A547uW6mMXwFPHfDc08r9fY2VBcnuAHB" +b+="4yWfXKZ/s4tflzPCqLqLUwIGsA4WsqaKhCPrcUEfA6XkAyINqJxWS/C46BvDP1cMZ7Kzm/m1cYZ" +b+="aFKKx2RwEvML1y1jfAY4dzvSH7hvO9rbgUigxZL8JvuN19vF8oy5mN1Oq3CVlpQ0kx6txAtGnzH" +b+="C7K7RLKhRSQSMzA0f9MOSR0koZejwop9cI1jfXczmcBg/mOqEarErMTMi9hvFYyfcMTW57H4o5+" +b+="EEH4QfgeTAozkPwPMzDtHn4CMndddQ73ojGxyACH1PnG1M6inrXL5/Pdpfm+lGzylHzSFja+W73" +b+="SLcu5s7haBlCRwFWHolIeQgiZZc3i7Ay/DA8nK3jYUwzGBDvWI6F8R3DMGdEwTk6xroMMXA2R8C" +b+="j3b5xHPOOY1gsB6i/iYhvrwB0i/ooJdAWXjFUi+KvuYhrxyGGHc2QBxYwjNCrv6iRgDVRTWkM4E" +b+="x/aJaG+VBcj+gx16saw/zARESIg7GhKkMK2YQHBxMezAM0yMvOAiyoAsLDxBoCRDi3GghWCByio" +b+="b4hOtZSGebjGYz3I7phgPgMoD/FWER7RpCwXrD+labJ5Mfq3rpiGDFvaV0lXxFGMaWzuLYOWsvW" +b+="ryD8McpOFwtbrmRvwkyntyohPt6oU5iAXeNN8C/wXqPtpN8eydcGkCxxpEaHGlpk5ILVqcrJ8DI" +b+="c66CeXA3RUK9KyCeD4wg7v0KNOMDG3yP4ewf+/d982nEGggZ34HAEr19Hvr5t/L0jl9G34XHP5/" +b+="r9Xfj14nDeN2E8v878WxueZyRf+7gf3JpjF66BpwqeSfCMgicdngvh6QFPODxfD/t3n73wbIXne" +b+="XgehudWeObC44OnFJ7L4MmGJxOe3vDY4RHh+XmoXTgAz3p4roanDJ6x8OTAMxCefvD0hCccnp+h" +b+="HYfg2QvPFng2wHNfDjt3aGPQlj/tOaz1o533fRjvP+033DB2bfi80cbJytPa+KONSziPb+Vpwnm" +b+="ZHQxxtbln5u+fwZrZAc/L8DwJz73w3AhPIzw18EyHZyI8I+EZDE8qPBfBcx487eER4Tky0i58Ds" +b+="/b8GyEZy08q+B5AJ7l8NwITz085fBMhWckPFnwpMFzITzR8FjhOQV7zzZ4jsJzCJ4D8OyG52yMu" +b+="NZuX9rHMj2ZY5exvSxCYu1teawBJF4JBPUlA5XEFlwtOFgmlJQ1FNLJjfDD5WOZibKRvP81eDSH" +b+="RT5+qD90GGghO5yoV14rCoMGtxWabwfK5vNfzMJbd14s8XWyDWkUODgqkMGgCFlongc7cFySKLz" +b+="6rU1YmgpN2ez+6dqetG/OPbJq/mS1Ku4Hk6AuehiO1R3EHuUbS77PqP5+2SMfHyN5dpSgrsFP54" +b+="uX3BYfesd++VRGx7YJB309v/tl527rPtOWj9e8s6FLU7+H5fN7fD1aEtTjGPvBMLExfvnk63a/4" +b+="rn3o73XJXRsvzXvs4qa6uE72+697f3q2mfOX1O6dXWvtI7dr9g9eECb/DPFm7zjt3c+8rvrp9gN" +b+="4397Y1/zvu+rj+04sq/wt3FmodVuLK30JZe4iFGIO31DQgnslW5kFrYckpL4KiTJLlEShS3jmH5" +b+="6nfBn4weRy6rrvBRb0OPXnyV+TSWLrsWdeba8oSLxxTNccKAoKYQjQSxL3gdZkV53lQt1srR8Zv" +b+="3VfLx1RbG82saMtHwa/jQfOBqzozdO11HqpMJxuUMLs3KH5uaPM7T9Sp5egzfzuanBv3Ndag3+g" +b+="+MBDcazdT8DHCYG5mcLgsOD4IgguE0QPEJkdKUGu8TA8mtFZoZEH0sxsL7X8Prh3/7srgPlnV3/" +b+="s/nE9tMIv7X1zjc6n655Yt+JPQSP2bfhlZNPzzzz64l9BId/UKEeuXnCK+1OHiR4wMmmJat77Lq" +b+="x78nvCL7mzvFJsQWX7c45eYzg5958ePXiVbV3O0+eJPjthT/0nOlY8c1VJ010b79q3KxBN+duf/" +b+="L2k+EET9zx/JSG9gOufvpkJMHpE06MSltqf/Xtk90IHrN8WIb7m9uX/OdkL4LfyLy699vzfR8Kp" +b+="/oSfGzZxmXv7Lx2ZfSpFIIPrbqw8/KwlCOppwYQfNMzqReemJ7xTN6pLIIvvnTre/v3bJtXcWok" +b+="wevf2d31gqxPX59/Kp/g29/s/dKOeytuXXmqgOB5DxXN7lW56pP1p0oI/vXjwohJpU888P6pSoL" +b+="P//G1z249/sXPR075CF7XfObxR1c/91zY6UaCFw5vrDQXFl3X+/Q8gsclbk6ZdmbDm5eeXkTw+P" +b+="PX37xo/ujbrzi9lOCX5/Sp6TXz9/2+0ysIXrzu0Lp7X97/8OLTDxK8dLZvwc7Cx44/dnoVwTvve" +b+="nTxrTVZL245vZbgio5tNx4/ar1h/+kNBD+flOQa33vNO7+f3kLwqqardm394tI7Is9sJ9hy8UUX" +b+="brEXHIw/s4fg3bd4y+7o1evx3DP7CG7zlnDNT89dd6r4zEGCv+3a7pYS66ENc858R/D2BXnu0O0" +b+="bFt1x5hjBfV1dvpjU+YV3nz1z8oygPvw0IEvzoBU7zgAKXovA1XH2h/YcPnwmnM/HolWvfztrtU" +b+="y4HXo7dOnxWf0vnXse7UGC8GzHkDev2rFsUwbNb0GoKfjmqh3JcxaPo3sYgjCj+esnHsx47/0qO" +b+="sMJQrbjzs7nXzDm3gWksyoIF5zYsifp/uLv76d7BYLw6OptizJcn615mfYjQfjE9UTXm6xvXLOX" +b+="1gucqLvXDv69+5QtP5G+rSBM+ir64b5lo26JEEsI/ubGmq4lP4gfXyBWEjx85pE773ig6v7Boo/" +b+="g+RWz1141K/SnArGR4JlRnzbcdzB/7UxxHsGvvn7X5FuunXztLSI72w2ccvu218elblslLmXtXb" +b+="nsj4K1F972hriC4C8LV97x8r05n30uPkhw70X9P0l59a6HToqrCC64d/kDnju3/tpJWkvwjle+z" +b+="h+3cd8LSdIGgr9QHT91/vnkgpHSFoIfmlWw+64dyvZSaTvDBuNirvr5ik7L50p7CM5M7LFs33Mr" +b+="v7hL2kfw7c9+WTDu3Y8efV46SPCArEce/KjxrhO7pO8Itmc9+MjIkfUvfSsdI7jrikHPH7npiYU" +b+="W+STBfedNfNh+pMcuRTaRfdM+STd/fehB+10Xy+EE3x2+4r4Td9m/Gi9Hsu/HLi76SIldVSN3I3" +b+="j+zkeunDoiq3mh3IvguE9XyYMOxmx8SO5L8OIzWVMTVky/aZOcQrC6btGKuzv32/OxPIDgx6K/X" +b+="HvLJ13u+UXOIvijmfvXV2+8/du2ppGikZt69p13uqfMW0fUzKDJdtIcns2pfg1+jO8gGvx4EPxE" +b+="ELwqCF4dBD95jp1RuUjblgcosUnKgAFKWlIfQ/qngvLDHemsN2wNcSM4N0WDO4nsyrsGDwr6PpR" +b+="/b1nXGNx+YbsmjmRsn7/B7tby3ieeox8MzdfSfCoGtv2zILinxPpCg8+XAttTEARvAHioAd4N8A" +b+="gDvJ9/P+tc4mYIF01hN1E3nI1imZw4BaitooILEgtQvKSleflP09Q4PT6vn85J8ad5hadJjI+PQ" +b+="0sfiWXVpaOdo89BKFU5Z8G7lkeTxKiNPvHxQtVUxr0cTJzSUXU+EhaSAE4To5Ko2ZtJ7DfIBa/u" +b+="Qe5MrZ5FhJBrpzKuw8NT2Y2SxKmMM5s52f++ayrjzmq/jCOH0n+fcsEFfZXjPPz3qUx6tcbALXu" +b+="aw5q05RmSdPmAnvTGDBw4sGX7p8VWukp9iuIpmz7D12damKIgDOHT+oaxQHwnTm56IbtNmVfI6l" +b+="5UyCRg1YWsHtPOEmdpIaszZqS1c10h69M1Bq7hs6gTg9QUKknj31VhfcP6wo8yW5kdGxbbNyywf" +b+="c/DM6XFBCyt8uEkhIkXMY1xm138FJU46/8vdiAD++EF7E94XmxtPWJ38HXYzcn6o8bCOLiJ/+Wf" +b+="ll+5hVlV8HnqXKVo1RyNKPJvj4aysjT4qVDGofiT2xNVrqpiMjuyxcnWSi235qPBC/ktEA1+hK9" +b+="10mNQvD5ACnzBBWg40CVdKsJwTSSyiM3T8+HXoeeBUj+Ww6QiJnnVvrP07BuV5MVVSescEhEgzI" +b+="K42L6bihgXn8vqWFJeLuAb/eY1rU80jutDqw7ExwyIuqqISQU2wy/issqpmhRYu+2p1PlK4zLY1" +b+="XhNls34/qymMEeK2S1hXSeEEuhxDaIIf6qMYnYLfWwx66NzqfL4ipnEY7CZrWcj7DDAE8xMB06D" +b+="Uy2MptDg4iC4hMOT4+Pjp1Ab+egCPg3AvfgGSOj3Yi7lKmHjoOGeItf0smoUTOPwxuJLH2XmDBf" +b+="rbhSMQNqUEibpH1zCtARyStj4a3lgmUyoiPJ7/ZbjxUqZj93V9iJtocSyzuxDNdLqM6uE3bS8p4" +b+="Rx+x4uYWolWt6t9i9ft3tK2NoJEZlhxRZxuZJPQo12XZVJoQQXszYQxo2aanBXbp1FEGWz2WKRQ" +b+="izWkNB2Yd1sXcK7RtjbhLc12eX27TuEdhI7m6LELnLXkGixm9SjkyJfJMfZ4sVEOUlKFh+RHpMe" +b+="Nz1h/UM6YT4lnZbPhK6e1bDwxvsTJ05auGhJt0/btB0x8sTJ+IRLC6YUfjHvxptuvuWxp9e/9Pr" +b+="WN9/67OChM4KpXfs+SSnpmRcPzB0+Zd5N8HHt+pe2vrVj58FDgimiDX3NvDg7J3f41BLXvJvvuv" +b+="vNHTsj2vWBoNyJkwumFpa4brz5MUjy+pv7Dx46GtEuO7fE1TzvmQ2vbHz/w6M/XjN/4YMPv7Lx9" +b+="Td2fvzJsOUvv7N1x87c0WMmXj618PqbFj/9/AsbN29948N2nTpPLvj1t9NnmqtqP9vfpke1u1v3" +b+="wtlznnyq6aUNnTqf1yNn6Ogxk64omDqn6bnX97y/7+iPv3i8i311t58fn/DIUy9sfGPnh/vvHLR" +b+="seeLiHu/t2XFm9JgrJodY29ovSPjhSLU7feClg7OX3Dxuet22N3e9u/ejr06fEZRCx9X7TVdnWa" +b+="NNlnZzV7VpfsLcI3RutNzFKpoSTCmmEFkMsYS0C8v7/+o41timrvP9zvs+bMchsR0ndm7SPIwTO" +b+="zbJ7NgJISoQwshCHiQolDXOw0EESqKSrGvRxHVC15W2o6+NqRUs6RhltAO6H9vKGJvWrprUTQVp" +b+="ZR37MaimUWkI0Lp21bouO9dh3ap2uj/uOfec73nO+e732d/9XIV8gGNSpqlYYI4RxtggFOsMnMW" +b+="0m5fyrRwxr9FD1uIIBuJmLiNNAtXD5j1kstr6FZ07g/1s7iM8xD2qTy0yioxJpjE/G+J1tEOrJw" +b+="YBHNfriZ/p2HpRDjXEv4CtY6IVu3ArbxZ1dG7J7RMN7giucFW4rEfJ3OESvfhrT9MG2sKR06da5" +b+="ytnDOuS36DWErX+aPz1CE6que1F1o+F9TrVfC1YY82iQxhsRg/ibWRIteZ9ZZpH7SLWQfbCMcNL" +b+="4oskd7mGG5Raxwty73Eww0yOPkas87gUuxwKA5DCIco5EkJFGtWRkxSAGxXSFe4iKEZeVOIoowF" +b+="RDlUwSXah0/gldA69gS6i3xpvqpfQ79BluEKvomvkHXTDvEU+QP/AH4JR29LWvfnQ0aPf3vfIU9" +b+="987gdnv/oS42piddvguxcukiJfIjm4df/JU6d/+rkrhQ89/PWjH29Gey92bx7Pbv/hj0rLuND0I" +b+="m8ilT7xvbd+ryYff+IE11raJnYeetI9NfyzGze3jf7tn0v9W555NtpQGxo4srD4nWPPn/j+2XOv" +b+="Mt0oDqTXrO89/vyvf7PAS/yV1W1rrl2/ufTL14h5R3VNqLE53fn5rp7+gUF772XGshO79n75K/s" +b+="PHjt5+szPL5w6vWfq/FN3V+6jmETwBIaGqDUXwHFXGalSg7SOriPOsHWSVZEqEhJNevfaXFL1aM" +b+="LXsj6Fx4Qa89AKXEqhvZlsog1E4ypvN2uJoSZwmvo5MXjPxmSjo5FHhZar6dtUJ8Ief01ZkVftl" +b+="gTWOUq4xjpFrTqr39kWZi1UY70MaAGm1iOjwU6hWcfvrlyva8yxIs20RD3xWi+3jvcbnarWsb60" +b+="U/Q7NnLNer9DC+ANG5PYKTSW4louUcJbcNkguFY55p+dmNWtVw92jTkOxAo8h07ObVh8eS7Fw2Q" +b+="7q9E6tBBdMXfmruwmkuLudntLHP5AHLgUVp+7lmt0QYA5icg9+jDZRR1Y5QVPZjaoM63W+9peMV" +b+="3c8YB9FLaqJdZDuQ34wTtdxQd6yhmz3qyjbRUwHcF+gnLt5e40hdyF8Nyfrb+v7CIaQfPudV2rr" +b+="V+0MiADtLQJ5Zz1ZNwY1KxTzQFHPVHliWDWM/NvETd24PvIMJPny2WQZilcSFR257YYAclLQjjl" +b+="VJVbr1drB9j/teG378N2wo00458ZX43u3LHs4SrK9cnlCjcvwnIM8Gknf8/UcobHZ0ST9ufadjD" +b+="dFPv04HJ+VJsZs6tD2EHqJ33Os/+pEmKX98g38r7F8Oz08MxUPo3Dzrj9JMxPbL9N8hu6XU0i9D" +b+="/97bf/ubKDiXliKk/QjPLFFQtKodcsN8xM+c36hbpwzKyfOn6lHp3IRIIfZqLKv8zE0aVM4iO4m" +b+="gCtIlnluJp8wTmSavAtpqRz2vlucLGrvWmk59bkYu/mqYq+I+cW+5Q3RvqzFxf7lcsVW5QrVwdO" +b+="vT2y9fqfKoYuvLM4ZCo3hm7B/m3KtMKVCAAgeUGnHisugKy0uAgBuQOCpXfpaVUFHwFVGihah1t" +b+="F2AdmUgIQIS0r11AA0jY4EXKKhvyAUEpaMoKkJYcgwqDbfSonQBHySDuXtmnJ2RxrKAgtEtaQkC" +b+="GJXmLFVJpBjvQ8VpslSRTZ/TKUQv+lEoBOICCRg4BeQNwQo4BUnW9EpfmvApJOkBSpDlUqTBBgk" +b+="ilUggguIA7ZZOACqXscQEF5tSPgApCugny/wCyqhC9hglRg+A9SCZJbbmNEgmkIYuVxEpN9CiHV" +b+="QKYUEnAz5BnBaYHQtzA4gNsEMXqtXYFXKhT8GGRMhe1ECgHNRD1IsS09lCAKh5G/0AE1okSP4hj" +b+="YKquFtVLzCBlSrgZolFgRolLuMBJww1YbyI1fUGCHk/A2fIMqWEpJQpjAdyV+BfXgDj1O9kHCtV" +b+="LKqeG4xMlhNa6iINrAQE2qPOIwjG1VSqXAEcCiOK9ZAA84OaavCFsYr61VZi+UvQh/kbwxeS9FA" +b+="8J+Mgl5cMhiuahUUQG9J9dE7gh4XNIjYGohll8phnBUKlw6c3J2n0eyIrE8wLCNVWqx0yYFilzd" +b+="JkrtFjCXIl+6CqwhvfK5EkVeReqAUCEQD5KnsZIkqwQ4wUPBJbG68xjpOCxImNVEaoDfw5WMdUu" +b+="ZB3X63qnx2bHsvXuR2C2DndmRHVkgfbN7ZxRDDtnpE9nxyOj9mOYT/avj0WQsGovssX8J2H2/Gf" +b+="o48d+UAXJjJNYYiadWsvtGdsvpLBaNp6Ixw06fiIxKJ31Hdk+hXW63uckMjWVHmsfGGsdXrfw3/" +b+="Pmo+A==" var input = pako.inflate(base64ToUint8Array(b)); return init(input); } + From 52e5e2cb820e2fab9a6115db9890d388b141590a Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Wed, 14 Jun 2023 09:29:03 -0700 Subject: [PATCH 016/193] Integrate new BLS WASM --- packages/bls-sdk/src/index.d.ts | 1 + packages/bls-sdk/src/lib/bls-sdk.d.ts | 47 + packages/bls-sdk/src/lib/bls-sdk.spec.ts | 117 +- packages/bls-sdk/src/lib/bls-sdk.ts | 7873 +++++++++------------- 4 files changed, 3351 insertions(+), 4687 deletions(-) create mode 100644 packages/bls-sdk/src/index.d.ts create mode 100644 packages/bls-sdk/src/lib/bls-sdk.d.ts diff --git a/packages/bls-sdk/src/index.d.ts b/packages/bls-sdk/src/index.d.ts new file mode 100644 index 0000000000..5f95c75068 --- /dev/null +++ b/packages/bls-sdk/src/index.d.ts @@ -0,0 +1 @@ +export * from './lib/bls-sdk.d.ts'; diff --git a/packages/bls-sdk/src/lib/bls-sdk.d.ts b/packages/bls-sdk/src/lib/bls-sdk.d.ts new file mode 100644 index 0000000000..5a5e6cadda --- /dev/null +++ b/packages/bls-sdk/src/lib/bls-sdk.d.ts @@ -0,0 +1,47 @@ +/** + *Initialize function for the wasm library + */ +export function initWasmBlsSdk(): void; +/** + *Encrypts the data to the public key and identity. All inputs are hex encoded strings. + * @param {string} public_key + * @param {string} message + * @param {string} identity + * @returns {string} + */ +export function encrypt( + public_key: string, + message: string, + identity: string +): string; +/** + *Verifies the decryption shares are valid and decrypts the data. + * @param {string} public_key + * @param {string} identity + * @param {string} ciphertext + * @param {any} shares + * @returns {string} + */ +export function verify_and_decrypt_with_signature_shares( + public_key: string, + identity: string, + ciphertext: string, + shares: any +): string; +/** + *Decrypts the data with signature shares. + * @param {string} ciphertext + * @param {any} shares + * @returns {string} + */ +export function decrypt_with_signature_shares( + ciphertext: string, + shares: any +): string; + +/** + *Combines the signature shares into a single signature. + * @param {any} shares + * @returns {string} + */ +export function combine_signature_shares(shares: any): string; diff --git a/packages/bls-sdk/src/lib/bls-sdk.spec.ts b/packages/bls-sdk/src/lib/bls-sdk.spec.ts index 2dc550f618..e9918f755e 100644 --- a/packages/bls-sdk/src/lib/bls-sdk.spec.ts +++ b/packages/bls-sdk/src/lib/bls-sdk.spec.ts @@ -6,10 +6,123 @@ global.TextDecoder = TextDecoder; import * as blsSdk from './bls-sdk'; -describe('blsSdk', () => { - it('should work', () => { +const publicKey = + '8e29447d7b0666fe41c357dbbdbdac0ac8ac973f88439a07f85fa31fa6fa3cea87c2eaa8b367e1c97764800fb5636892'; +const secretMessage = new Uint8Array([ + 240, 23, 185, 6, 87, 33, 173, 216, 53, 84, 80, 135, 190, 16, 58, 85, 97, 75, + 3, 192, 215, 82, 217, 5, 40, 65, 2, 214, 40, 177, 53, 150, +]); +const identityParam = new Uint8Array([ + 101, 110, 99, 114, 121, 112, 116, 95, 100, 101, 99, 114, 121, 112, 116, 95, + 119, 111, 114, 107, 115, +]); + +describe('imported functions', () => { + it('should be non-zero', () => { const OUTPUT = Object.keys(blsSdk).length; expect(OUTPUT).toBeGreaterThan(0); }); }); + +describe('blsSdk', () => { + it('should encrypt a message', async () => { + // prepare + await blsSdk.initWasmBlsSdk(); + + // execute + const ciphertext = blsSdk.encrypt( + publicKey, + byteArrayToHex(secretMessage), + byteArrayToHex(identityParam) + ); + + // assert + expect(ciphertext.length).toBeGreaterThan(0); + }); +}); + +describe('decrypt', () => { + it('should work', async () => { + // prepare + await blsSdk.initWasmBlsSdk(); + const ciphertext = + 'l9a/01WDJB/euKxtbWcuQ8ez/c9eZ+jQryTHZVLN0kfd7XHoLs6FeWUVmk89ovQGkQJnnFDKjq6kgJxvIIrxXd9DaGuRBozLdA1G9Nk413YhTEqsENuHU0nSa4i6F912KltE15sbWKpDfPnZF6CA2UKBAw=='; + const signatureShares = [ + '01b2b44a0bf7184f19efacad98e213818edd3f8909dd798129ef169b877d68d77ba630005609f48b80203717d82092a45b06a9de0e61a97b2672b38b31f9ae43e64383d0375a51c75db8972613cc6b099b95c189fd8549ed973ee94b08749f4cac', + '02a8343d5602f523286c4c59356fdcfc51953290495d98cb91a56b59bd1a837ea969cc521382164e85787128ce7f944de303d8e0b5fc4becede0c894bec1adc490fdc133939cca70fb3f504b9bf7b156527b681d9f0619828cd8050c819e46fdb1', + '03b1594ab0cb56f47437b3720dc181661481ca0e36078b79c9a4acc50042f076bf66b68fbd12a1d55021a668555f0eed0a08dfe74455f557b30f1a9c32435a81479ca8843f5b74b176a8d10c5845a84213441eaaaf2ba57e32581584393541c5aa', + ]; + + // execute + const plaintext = blsSdk.decrypt_with_signature_shares( + ciphertext, + signatureShares.slice(0, 2).map((s) => + JSON.stringify({ + ProofOfPossession: s, + }) + ) + ); + + // assert + expect(new Uint8Array(base64ToArrayBuffer(plaintext))).toEqual( + secretMessage + ); + }); +}); + +describe('verify + decrypt', () => { + it('should work', async () => { + // prepare + await blsSdk.initWasmBlsSdk(); + const ciphertext = + 'l9a/01WDJB/euKxtbWcuQ8ez/c9eZ+jQryTHZVLN0kfd7XHoLs6FeWUVmk89ovQGkQJnnFDKjq6kgJxvIIrxXd9DaGuRBozLdA1G9Nk413YhTEqsENuHU0nSa4i6F912KltE15sbWKpDfPnZF6CA2UKBAw=='; + const signatureShares = [ + '01b2b44a0bf7184f19efacad98e213818edd3f8909dd798129ef169b877d68d77ba630005609f48b80203717d82092a45b06a9de0e61a97b2672b38b31f9ae43e64383d0375a51c75db8972613cc6b099b95c189fd8549ed973ee94b08749f4cac', + '02a8343d5602f523286c4c59356fdcfc51953290495d98cb91a56b59bd1a837ea969cc521382164e85787128ce7f944de303d8e0b5fc4becede0c894bec1adc490fdc133939cca70fb3f504b9bf7b156527b681d9f0619828cd8050c819e46fdb1', + '03b1594ab0cb56f47437b3720dc181661481ca0e36078b79c9a4acc50042f076bf66b68fbd12a1d55021a668555f0eed0a08dfe74455f557b30f1a9c32435a81479ca8843f5b74b176a8d10c5845a84213441eaaaf2ba57e32581584393541c5aa', + ]; + + // execute + const plaintext = blsSdk.verify_and_decrypt_with_signature_shares( + publicKey, + arrayBufferToBase64(identityParam), + ciphertext, + signatureShares.slice(0, 2).map((s) => + JSON.stringify({ + ProofOfPossession: s, + }) + ) + ); + + // assert + expect(new Uint8Array(base64ToArrayBuffer(plaintext))).toEqual( + secretMessage + ); + }); +}); + +function base64ToArrayBuffer(base64) { + var binaryString = atob(base64); + var bytes = new Uint8Array(binaryString.length); + for (var i = 0; i < binaryString.length; i++) { + bytes[i] = binaryString.charCodeAt(i); + } + return bytes.buffer; +} + +function arrayBufferToBase64(buffer) { + var binary = ''; + var bytes = new Uint8Array(buffer); + var len = bytes.byteLength; + for (var i = 0; i < len; i++) { + binary += String.fromCharCode(bytes[i]); + } + return btoa(binary); +} + +function byteArrayToHex(byteArray: Uint8Array) { + return Array.from(byteArray, function (byte: any) { + return ('0' + (byte & 0xff).toString(16)).slice(-2); + }).join(''); +} diff --git a/packages/bls-sdk/src/lib/bls-sdk.ts b/packages/bls-sdk/src/lib/bls-sdk.ts index 95bfb33f15..41c822209e 100644 --- a/packages/bls-sdk/src/lib/bls-sdk.ts +++ b/packages/bls-sdk/src/lib/bls-sdk.ts @@ -1,165 +1,5 @@ // @ts-nocheck - -// Contants -const skLen = 32; // bytes -const pkLen = 48; // bytes -const sigLen = 96; // bytes -const maxMsgLen = 1049600; // bytes -const maxCtLen = 1049600; // bytes -const decryptionShareLen = 48; // bytes - -// the number of bytes in a row derived from a BivarPoly -// which varies depending on the threshold. -const row_sizes_by_threshold = [ - 40, // threshold 0 - 72, // threshold 1 - 104, // threshold 2 - 136, // threshold 3 - 168, // threshold 4 - 200, // threshold 5 - 232, // threshold 6 - 264, // threshold 7 - 296, // threshold 8 - 328, // threshold 9 - 360, // threshold 10 -]; - -// the number of bytes in a commitment derived from a BivarPoly -// which varies depending on the threshold. -const commitment_sizes_by_threshold = [ - 56, // threshold 0 - 104, // threshold 1 - 152, // threshold 2 - 200, // threshold 3 - 248, // threshold 4 - 296, // threshold 5 - 344, // threshold 6 - 392, // threshold 7 - 440, // threshold 8 - 488, // threshold 9 - 536, // threshold 10 -]; - -// the number of bytes in the master secret key (Poly) -// which varies depending on the threshold. -const poly_sizes_by_threshold = [ - 40, // threshold 0 - 72, // threshold 1 - 104, // threshold 2 - 136, // threshold 3 - 168, // threshold 4 - 200, // threshold 5 - 232, // threshold 6 - 264, // threshold 7 - 296, // threshold 8 - 328, // threshold 9 - 360, // threshold 10 -]; - -// Encoding conversions - -// modified from https://stackoverflow.com/a/11058858 -function asciiToUint8Array(a: any) { - let b = new Uint8Array(a.length); - for (let i = 0; i < a.length; i++) { - b[i] = a.charCodeAt(i); - } - return b; -} - -// https://stackoverflow.com/a/19102224 -// TODO resolve RangeError possibility here, see SO comments -const uint8ArrayToAscii = (a: any) => { - return String.fromCharCode.apply(null, a); -}; - -// https://stackoverflow.com/a/50868276 -const hexToUint8Array = (h: any) => { - if (h.length == 0) { - return new Uint8Array(); - } - return new Uint8Array( - h.match(/.{1,2}/g).map((byte: any) => parseInt(byte, 16)) - ); -}; - -const uint8ArrayToHex = (a: any) => { - return a.reduce( - (str: string, byte: any) => str + byte.toString(16).padStart(2, '0'), - '' - ); -}; - -const uint8ArrayToByteStr = (a: any) => { - return '[' + a.join(', ') + ']'; -}; - -const base64abc = [ - 'A', - 'B', - 'C', - 'D', - 'E', - 'F', - 'G', - 'H', - 'I', - 'J', - 'K', - 'L', - 'M', - 'N', - 'O', - 'P', - 'Q', - 'R', - 'S', - 'T', - 'U', - 'V', - 'W', - 'X', - 'Y', - 'Z', - 'a', - 'b', - 'c', - 'd', - 'e', - 'f', - 'g', - 'h', - 'i', - 'j', - 'k', - 'l', - 'm', - 'n', - 'o', - 'p', - 'q', - 'r', - 's', - 't', - 'u', - 'v', - 'w', - 'x', - 'y', - 'z', - '0', - '1', - '2', - '3', - '4', - '5', - '6', - '7', - '8', - '9', - '+', - '/', -]; +import * as pako from 'pako'; const base64codes = [ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, @@ -171,6946 +11,5609 @@ const base64codes = [ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, ]; -const getBase64Code = (charCode: any) => { +function getBase64Code(charCode) { if (charCode >= base64codes.length) { throw new Error('Unable to parse base64 string.'); } const code = base64codes[charCode]; - if (code === 255) { throw new Error('Unable to parse base64 string.'); } - return code; -}; +} -const base64ToUint8Array = (str: string) => { +export function base64ToUint8Array(str) { if (str.length % 4 !== 0) { throw new Error('Unable to parse base64 string.'); } const index = str.indexOf('='); - if (index !== -1 && index < str.length - 2) { throw new Error('Unable to parse base64 string.'); } - let missingOctets = str.endsWith('==') ? 2 : str.endsWith('=') ? 1 : 0, n = str.length, - result = new Uint8Array(3 * (n / 4)), - buffer; - - for (let i = 0, j = 0; i < n; i += 4, j += 3) { - buffer = - (getBase64Code(str.charCodeAt(i)) << 18) | - (getBase64Code(str.charCodeAt(i + 1)) << 12) | - (getBase64Code(str.charCodeAt(i + 2)) << 6) | - getBase64Code(str.charCodeAt(i + 3)); - result[j] = buffer >> 16; - result[j + 1] = (buffer >> 8) & 0xff; - result[j + 2] = buffer & 0xff; - } - - return result.subarray(0, result.length - missingOctets); -}; - -const uint8ArrayToBase64 = (bytes: any) => { - let result = '', - i, - l = bytes.length; - - for (i = 2; i < l; i += 3) { - result += base64abc[bytes[i - 2] >> 2]; - result += base64abc[((bytes[i - 2] & 0x03) << 4) | (bytes[i - 1] >> 4)]; - result += base64abc[((bytes[i - 1] & 0x0f) << 2) | (bytes[i] >> 6)]; - result += base64abc[bytes[i] & 0x3f]; - } - - if (i === l + 1) { - // 1 octet yet to write - result += base64abc[bytes[i - 2] >> 2]; - result += base64abc[(bytes[i - 2] & 0x03) << 4]; - result += '=='; - } - - if (i === l) { - // 2 octets yet to write - result += base64abc[bytes[i - 2] >> 2]; - result += base64abc[((bytes[i - 2] & 0x03) << 4) | (bytes[i - 1] >> 4)]; - result += base64abc[(bytes[i - 1] & 0x0f) << 2]; - result += '='; - } - - return result; -}; - -import * as pako from 'pako'; - -const util = import('util'); - -//https://gist.github.com/enepomnyaschih/72c423f727d395eeaa09697058238727 -/* -MIT License -Copyright (c) 2020 Egor Nepomnyaschih -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. -*/ - -// threshold_crypto wasm calls. Since they operate on single bytes at a time -// it's handy to have helpers to do the required looping. - -let isWasming = false; -export const wasmBlsSdkHelpers = new (function () { - // s is secret key unit8array - this.sk_bytes_to_pk_bytes = function (s) { - isWasming = true; - const pkBytes = []; - try { - // set sk bytes - for (let i = 0; i < s.length; i++) { - globalThis.wasmExports.set_sk_byte(i, s[i]); - } - // convert into pk bytes - globalThis.wasmExports.derive_pk_from_sk(); - // read pk bytes - for (let i = 0; i < pkLen; i++) { - const pkByte = globalThis.wasmExports.get_pk_byte(i); - pkBytes.push(pkByte); - } - } catch (e) { - isWasming = false; - throw 'Failed to generate'; - } - isWasming = false; - return pkBytes; - }; - - // s is secret key uint8array - // m is message uint8array - this.sign_msg = function (s, m) { - isWasming = true; - const sigBytes = []; - try { - // set secret key bytes - for (let i = 0; i < s.length; i++) { - globalThis.wasmExports.set_sk_byte(i, s[i]); - } - // set message bytes - for (let i = 0; i < m.length; i++) { - globalThis.wasmExports.set_msg_byte(i, m[i]); - } - // sign message - globalThis.wasmExports.sign_msg(m.length); - // get signature bytes - for (let i = 0; i < sigLen; i++) { - const sigByte = globalThis.wasmExports.get_sig_byte(i); - sigBytes.push(sigByte); - } - } catch (e) { - console.log('error signing in bls-sdk.js:'); - console.log(e); - isWasming = false; - } - isWasming = false; - return Uint8Array.from(sigBytes); - }; - - // p is public key uint8array - // s is signature uint8array - // m is message uint8array - this.verify = function (p, s, m) { - isWasming = true; - let verified = false; - try { - // set public key bytes - for (let i = 0; i < p.length; i++) { - globalThis.wasmExports.set_pk_byte(i, p[i]); - } - // set signature bytes - for (let i = 0; i < s.length; i++) { - globalThis.wasmExports.set_sig_byte(i, s[i]); - } - // set message bytes - for (let i = 0; i < m.length; i++) { - globalThis.wasmExports.set_msg_byte(i, m[i]); - } - verified = globalThis.wasmExports.verify(m.length); - } catch (e) { - console.log('error verifying sig in bls-sdk.js:'); - console.log(e); - isWasming = false; - } - isWasming = false; - return verified; - }; - - this.set_rng_values = function () { - // Warning if no globalThis.crypto available - if (!globalThis.crypto) { - const msg = - 'Secure randomness not available in this browser, output is insecure.'; - alert(msg); - console.log(msg); - return; - } - const RNG_VALUES_SIZE = globalThis.wasmExports.get_rng_values_size(); - const rngValues = new Uint32Array(RNG_VALUES_SIZE); - globalThis.crypto.getRandomValues(rngValues); - for (let i = 0; i < rngValues.length; i++) { - globalThis.wasmExports.set_rng_value(i, rngValues[i]); - } - }; - - // p is public key uint8array - // m is message uint8array - this.encrypt = function (p, m) { - isWasming = true; - const ctBytes = []; - try { - wasmBlsSdkHelpers.set_rng_values(); - // set public key bytes - for (let i = 0; i < p.length; i++) { - globalThis.wasmExports.set_pk_byte(i, p[i]); - } - // set message bytes - for (let i = 0; i < m.length; i++) { - globalThis.wasmExports.set_msg_byte(i, m[i]); - } - // generate strong random u64 used by encrypt - // encrypt the message - const ctSize = globalThis.wasmExports.encrypt(m.length); - // get ciphertext bytes - for (let i = 0; i < ctSize; i++) { - const ctByte = globalThis.wasmExports.get_ct_byte(i); - ctBytes.push(ctByte); - } - } catch (e) { - console.log('error encrypting in bls-sdk.js:'); - console.log(e); - isWasming = false; - } - isWasming = false; - return Uint8Array.from(ctBytes); - }; - - // s is secret key uint8array - // c is message uint8array - this.decrypt = function (s, c) { - isWasming = true; - const msgBytes = []; - try { - // set secret key bytes - for (let i = 0; i < s.length; i++) { - globalThis.wasmExports.set_sk_byte(i, s[i]); - } - // set ciphertext bytes - for (let i = 0; i < c.length; i++) { - globalThis.wasmExports.set_ct_byte(i, c[i]); - } - const msgSize = globalThis.wasmExports.decrypt(c.length); - // get message bytes - for (let i = 0; i < msgSize; i++) { - const msgByte = globalThis.wasmExports.get_msg_byte(i); - msgBytes.push(msgByte); - } - } catch (e) { - console.log('error decrypting in bls-sdk.js:'); - console.log(e); - isWasming = false; - } - isWasming = false; - return Uint8Array.from(msgBytes); - }; - - this.generate_poly = function (threshold) { - wasmBlsSdkHelpers.set_rng_values(); - const polySize = poly_sizes_by_threshold[threshold]; - globalThis.wasmExports.generate_poly(threshold); - const polyBytes = []; - for (let i = 0; i < polySize; i++) { - const polyByte = globalThis.wasmExports.get_poly_byte(i); - polyBytes.push(polyByte); - } - return polyBytes; - }; - - this.get_msk_bytes = function () { - const mskBytes = []; - for (let i = 0; i < skLen; i++) { - const mskByte = globalThis.wasmExports.get_msk_byte(i); - mskBytes.push(mskByte); - } - return mskBytes; - }; - - this.get_mpk_bytes = function () { - const mpkBytes = []; - for (let i = 0; i < pkLen; i++) { - const mpkByte = globalThis.wasmExports.get_mpk_byte(i); - mpkBytes.push(mpkByte); - } - return mpkBytes; - }; - - this.get_mc_bytes = function (threshold) { - const mcBytes = []; - const mcSize = commitment_sizes_by_threshold[threshold]; - for (let i = 0; i < mcSize; i++) { - const mcByte = globalThis.wasmExports.get_mc_byte(i); - mcBytes.push(mcByte); - } - return mcBytes; - }; - - this.set_mc_bytes = function (mcBytes) { - // set master commitment in wasm - for (let i = 0; i < mcBytes.length; i++) { - const v = mcBytes[i]; - globalThis.wasmExports.set_mc_byte(i, v); - } - }; - - this.get_skshare = function () { - const skshareBytes = []; - for (let i = 0; i < skLen; i++) { - const skshareByte = globalThis.wasmExports.get_skshare_byte(i); - skshareBytes.push(skshareByte); - } - return skshareBytes; - }; - - this.get_pkshare = function () { - const pkshareBytes = []; - for (let i = 0; i < pkLen; i++) { - const pkshareByte = globalThis.wasmExports.get_pkshare_byte(i); - pkshareBytes.push(pkshareByte); - } - return pkshareBytes; - }; - - this.combine_signatures = function (mcBytes, sigshares) { - // set master commitment in wasm - wasmBlsSdkHelpers.set_mc_bytes(mcBytes); - // set the signature shares - for (let shareIndex = 0; shareIndex < sigshares.length; shareIndex++) { - const share = sigshares[shareIndex]; - const sigHex = share.shareHex; - const sigBytes = hexToUint8Array(sigHex); - const sigIndex = share.shareIndex; - for (let byteIndex = 0; byteIndex < sigBytes.length; byteIndex++) { - const sigByte = sigBytes[byteIndex]; - // NB shareIndex is used instead of sigIndex so we can interate - // over both - // SHARE_INDEXES[i] - // and - // SIGNATURE_SHARE_BYTES[i*96:(i+1)*96] - globalThis.wasmExports.set_signature_share_byte( - byteIndex, - shareIndex, - sigByte - ); - globalThis.wasmExports.set_share_indexes(shareIndex, sigIndex); - } - } - // combine the signatures - globalThis.wasmExports.combine_signature_shares( - sigshares.length, - mcBytes.length - ); - // read the combined signature - const sigBytes = []; - for (let i = 0; i < sigLen; i++) { - const sigByte = globalThis.wasmExports.get_sig_byte(i); - sigBytes.push(sigByte); - } - return Uint8Array.from(sigBytes); - }; - - // s is secret key share bytes - // ct is ciphertext bytes - // uiShareIndex is the index of the share as it appears in the UI - // derivedShareIndex is the index of the share when derived from the poly - this.create_decryption_share = function ( - s, - uiShareIndex, - derivedShareIndex, - ct - ) { - // set ct bytes - for (let i = 0; i < ct.length; i++) { - globalThis.wasmExports.set_ct_byte(i, ct[i]); - } - // set secret key share - for (let i = 0; i < s.length; i++) { - globalThis.wasmExports.set_sk_byte(i, s[i]); - } - // create decryption share - const dshareSize = globalThis.wasmExports.create_decryption_share( - uiShareIndex, - ct.length - ); - // set derivedShareIndex - globalThis.wasmExports.set_share_indexes(uiShareIndex, derivedShareIndex); - // read decryption share - const dshareBytes = []; - for (let i = 0; i < decryptionShareLen; i++) { - const dshareByte = globalThis.wasmExports.get_decryption_shares_byte( - i, - uiShareIndex - ); - dshareBytes.push(dshareByte); - } - return Uint8Array.from(dshareBytes); - }; - - // Assumes master commitment is already set. - // Assumes create_decryption_share is already called for all shares, - // Which means ciphertext is already set - // and decryption shares are already set - // and share_indexes is already set - this.combine_decryption_shares = function (totalShares, mcSize, ctSize) { - // combine decryption shares - const msgSize = globalThis.wasmExports.combine_decryption_shares( - totalShares, - mcSize, - ctSize - ); - // read msg - const msgBytes = []; - for (let i = 0; i < msgSize; i++) { - const msgByte = globalThis.wasmExports.get_msg_byte(i); - msgBytes.push(msgByte); - } - return Uint8Array.from(msgBytes); - }; -})(); - -let wasm; - -let cachedTextDecoder = new TextDecoder('utf-8', { - ignoreBOM: true, - fatal: true, -}); - -cachedTextDecoder.decode(); - -let cachegetUint8Memory0 = null; -function getUint8Memory0() { - if ( - cachegetUint8Memory0 === null || - cachegetUint8Memory0.buffer !== wasm.memory.buffer - ) { - cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer); - } - return cachegetUint8Memory0; -} - -function getStringFromWasm0(ptr, len) { - return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); -} -/** - * @private - * @returns {number} - */ -export function get_rng_values_size() { - var ret = wasm.get_rng_values_size(); - return ret >>> 0; -} - -/** - * @private - * @param {number} i - * @param {number} v - */ -export function set_rng_value(i, v) { - wasm.set_rng_value(i, v); -} - -/** - * @private - * @param {number} i - * @param {number} v - */ -export function set_sk_byte(i, v) { - wasm.set_sk_byte(i, v); -} - -/** - * @private - * @param {number} i - * @returns {number} - */ -export function get_sk_byte(i) { - var ret = wasm.get_sk_byte(i); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} v - */ -export function set_pk_byte(i, v) { - wasm.set_pk_byte(i, v); -} - -/** - * @private - * @param {number} i - * @returns {number} - */ -export function get_pk_byte(i) { - var ret = wasm.get_pk_byte(i); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} v - */ -export function set_sig_byte(i, v) { - wasm.set_sig_byte(i, v); -} - -/** - * @private - * @param {number} i - * @returns {number} - */ -export function get_sig_byte(i) { - var ret = wasm.get_sig_byte(i); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} v - */ -export function set_msg_byte(i, v) { - wasm.set_msg_byte(i, v); -} - -/** - * @private - * @param {number} i - * @returns {number} - */ -export function get_msg_byte(i) { - var ret = wasm.get_msg_byte(i); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} v - */ -export function set_ct_byte(i, v) { - wasm.set_ct_byte(i, v); -} - -/** - * @private - * @param {number} i - * @returns {number} - */ -export function get_ct_byte(i) { - var ret = wasm.get_ct_byte(i); - return ret; -} - -/** - * @private - * @returns {number} - */ -export function get_rng_next_count() { - var ret = wasm.get_rng_next_count(); - return ret >>> 0; -} - -/** - * @private - * @param {number} i - * @param {number} v - */ -export function set_poly_byte(i, v) { - wasm.set_poly_byte(i, v); -} - -/** - * @private - * @param {number} i - * @returns {number} - */ -export function get_poly_byte(i) { - var ret = wasm.get_poly_byte(i); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} v - */ -export function set_msk_byte(i, v) { - wasm.set_msk_byte(i, v); -} - -/** - * @private - * @param {number} i - * @returns {number} - */ -export function get_msk_byte(i) { - var ret = wasm.get_msk_byte(i); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} v - */ -export function set_mpk_byte(i, v) { - wasm.set_mpk_byte(i, v); -} - -/** - * @private - * @param {number} i - * @returns {number} - */ -export function get_mpk_byte(i) { - var ret = wasm.get_mpk_byte(i); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} v - */ -export function set_mc_byte(i, v) { - wasm.set_mc_byte(i, v); -} - -/** - * @private - * @param {number} i - * @returns {number} - */ -export function get_mc_byte(i) { - var ret = wasm.get_mc_byte(i); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} v - */ -export function set_skshare_byte(i, v) { - wasm.set_skshare_byte(i, v); -} - -/** - * @private - * @param {number} i - * @returns {number} - */ -export function get_skshare_byte(i) { - var ret = wasm.get_skshare_byte(i); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} v - */ -export function set_pkshare_byte(i, v) { - wasm.set_pkshare_byte(i, v); -} - -/** - * @private - * @param {number} i - * @returns {number} - */ -export function get_pkshare_byte(i) { - var ret = wasm.get_pkshare_byte(i); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} from_node - * @param {number} to_node - * @param {number} v - */ -export function set_bivar_row_byte(i, from_node, to_node, v) { - wasm.set_bivar_row_byte(i, from_node, to_node, v); -} - -/** - * @private - * @param {number} i - * @param {number} from_node - * @param {number} to_node - * @returns {number} - */ -export function get_bivar_row_byte(i, from_node, to_node) { - var ret = wasm.get_bivar_row_byte(i, from_node, to_node); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} from_node - * @param {number} v - */ -export function set_bivar_commitments_byte(i, from_node, v) { - wasm.set_bivar_commitments_byte(i, from_node, v); -} - -/** - * @private - * @param {number} i - * @param {number} from_node - * @returns {number} - */ -export function get_bivar_commitments_byte(i, from_node) { - var ret = wasm.get_bivar_commitments_byte(i, from_node); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} node_index - * @param {number} v - */ -export function set_bivar_sks_byte(i, node_index, v) { - wasm.set_bivar_sks_byte(i, node_index, v); -} - -/** - * @private - * @param {number} i - * @param {number} node_index - * @returns {number} - */ -export function get_bivar_sks_byte(i, node_index) { - var ret = wasm.get_bivar_sks_byte(i, node_index); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} node_index - * @param {number} v - */ -export function set_bivar_pks_byte(i, node_index, v) { - wasm.set_bivar_pks_byte(i, node_index, v); -} - -/** - * @private - * @param {number} i - * @param {number} node_index - * @returns {number} - */ -export function get_bivar_pks_byte(i, node_index) { - var ret = wasm.get_bivar_pks_byte(i, node_index); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} sig_index - * @param {number} v - */ -export function set_signature_share_byte(i, sig_index, v) { - wasm.set_signature_share_byte(i, sig_index, v); -} - -/** - * @private - * @param {number} i - * @param {number} sig_index - * @returns {number} - */ -export function get_signature_share_byte(i, sig_index) { - var ret = wasm.get_signature_share_byte(i, sig_index); - return ret; -} - -/** - * @private - * @param {number} i - * @param {number} v - */ -export function set_share_indexes(i, v) { - wasm.set_share_indexes(i, v); -} - -/** - * @private - * @param {number} i - * @returns {number} - */ -export function get_share_indexes(i) { - var ret = wasm.get_share_indexes(i); - return ret >>> 0; -} - -/** - * @private - * @param {number} i - * @param {number} share_index - * @param {number} v - */ -export function set_decryption_shares_byte(i, share_index, v) { - wasm.set_decryption_shares_byte(i, share_index, v); -} - -/** - * @private - * @param {number} i - * @param {number} share_index - * @returns {number} - */ -export function get_decryption_shares_byte(i, share_index) { - var ret = wasm.get_decryption_shares_byte(i, share_index); - return ret; -} - -/** - * @private - */ -export function derive_pk_from_sk() { - wasm.derive_pk_from_sk(); -} - -/** - * @private - * @param {number} msg_size - */ -export function sign_msg(msg_size) { - wasm.sign_msg(msg_size); -} - -/** - * @private - * @param {number} msg_size - * @returns {boolean} - */ -export function verify(msg_size) { - var ret = wasm.verify(msg_size); - return ret !== 0; -} - -/** - * @private - * @param {number} msg_size - * @returns {number} - */ -export function encrypt(msg_size) { - var ret = wasm.encrypt(msg_size); - return ret >>> 0; -} - -/** - * @private - * @param {number} ct_size - * @returns {number} - */ -export function decrypt(ct_size) { - var ret = wasm.decrypt(ct_size); - return ret >>> 0; -} - -/** - * @private - * @param {number} threshold - */ -export function generate_poly(threshold) { - wasm.generate_poly(threshold); -} - -/** - * @private - * @param {number} poly_size - * @returns {number} - */ -export function get_poly_degree(poly_size) { - var ret = wasm.get_poly_degree(poly_size); - return ret >>> 0; -} - -/** - * @private - * @param {number} mc_size - * @returns {number} - */ -export function get_mc_degree(mc_size) { - var ret = wasm.get_mc_degree(mc_size); - return ret >>> 0; -} - -/** - * @private - * @param {number} poly_size - */ -export function derive_master_key(poly_size) { - wasm.derive_master_key(poly_size); -} - -/** - * @private - * @param {number} i - * @param {number} poly_size - */ -export function derive_key_share(i, poly_size) { - wasm.derive_key_share(i, poly_size); -} - -/** - * @private - * @param {number} threshold - * @param {number} total_nodes - */ -export function generate_bivars(threshold, total_nodes) { - wasm.generate_bivars(threshold, total_nodes); -} - -/** - * @private - * @param {number} total_signatures - * @param {number} commitment_size - */ -export function combine_signature_shares(total_signatures, commitment_size) { - wasm.combine_signature_shares(total_signatures, commitment_size); -} - -/** - * @private - * @param {number} share_index - * @param {number} ct_size - * @returns {number} - */ -export function create_decryption_share(share_index, ct_size) { - var ret = wasm.create_decryption_share(share_index, ct_size); - return ret >>> 0; -} - -/** - * @private - * @param {number} total_decryption_shares - * @param {number} commitment_size - * @param {number} ct_size - * @returns {number} - */ -export function combine_decryption_shares( - total_decryption_shares, - commitment_size, - ct_size -) { - var ret = wasm.combine_decryption_shares( - total_decryption_shares, - commitment_size, - ct_size - ); - return ret >>> 0; -} - -async function load(module, imports) { - if (typeof Response === 'function' && module instanceof Response) { - if (typeof WebAssembly.instantiateStreaming === 'function') { - try { - return await WebAssembly.instantiateStreaming(module, imports); - } catch (e) { - if (module.headers.get('Content-Type') != 'application/wasm') { - console.warn( - '`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n', - e - ); - } else { - throw e; - } - } - } - - const bytes = await module.arrayBuffer(); - return await WebAssembly.instantiate(bytes, imports); - } else { - const instance = await WebAssembly.instantiate(module, imports); - - if (instance instanceof WebAssembly.Instance) { - return { instance, module }; - } else { - return instance; - } - } -} - -async function init(input) { - const imports = {}; - imports.wbg = {}; - imports.wbg.__wbindgen_throw = function (arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); - }; - - const { instance, module } = await load(await input, imports); - - wasm = instance.exports; - init.__wbindgen_wasm_module = module; - - return wasm; -} - -export default init; - -export async function initWasmBlsSdk() { - var b = ''; - - b += - 'eNrsvQuAVVd1MHzOPs/7mnvnAQzvc29IMmBMgMCAeRAuCRBCIjGJGl8lBCaE4f2Iku+fwKhUSYJ'; - b += - '1rNRiy9dOK/1DW6Kj0n70a1onSiut2M6vUamldVSqWGm/UdP+9PvQfOt1ztnn3jsPkhg1XpK5Z+'; - b += - '+1H2fvtdZee62z11nHWLNzs2kYhnlYXfmA2rvXeMDai7+QNPc+YELKxAQC4WLvpUJnL1+haM8DB'; - b += - 'sDdvQLx9oYpqgpFhvFAam/4L64KKX9vVNkJYZm9e/XKXpyMO8Eh7tnDQ9wTwvcgBKrviTp8TK5d'; - b += - 'PJ09OKTHeGRd0gnPrItn1sUz3oOwPXujSe9B0B7ValrvenB9YfXqdz24Ycu69R1bVu96eMfWdxm'; - b += - 'GdcH/V18BAg3Dsw3851mWhRg1bMszTLPJNV0H4aZpKgfylmE6BaPFzOTNloxrKNdzlelBqWsaWc'; - b += - 'O0XFMZ+bRrmgY0U56pLEsp17A8zzUd01YqayosyzuuF0AGurZNw80aruEow5aGUHW6MqBLKHJMw'; - b += - '3JdVykzbbqW4Ziu4dquwkE5puPaOZfGm7YM18VxYknOVMowXRfm4hgm9eQaE6AOFrqNpsI2tipg'; - b += - 'EyhW+ANTgOZpy2um/mBYpm03QvW0BahJ0zjhloAAvJYMZcG9oL3juum0iXWgDG5guePhLinsE0Z'; - b += - 't2qZrw1CoUSvcFyopqEsAczyUG66lZDr4MwNGi7fHqQBeLU8R8mHOMM6GBmyFpRbgxnZdqWhaiG'; - b += - '1Am+tOxmEq+IHBwPSBfIhP26bZwaABbFrcCWT5Xx6pC/cBMvgAgzHRXLEcrzAez0OIDw0t207ja'; - b += - 'C3bI4YB8irHxyGYljUOqI2IgAy0nIZ8YdDIadgWDVbBsGGAyqIRY384Abg/0MvAQSqFfSqTSqHY'; - b += - 'tgzbVjgNGL3lQgb+ecCgloXNDQ/+MzzAq01EY4QgAaFF2spafFvoCgaIGYsobhiFgm3ZVs7IAZv'; - b += - 'YViZD0wFywhzwTgBAzoUJEtco6hX52UJIClcK468IeRMb4RQtJCi0gsVzhRH/ozWl8nb8j2qnJk'; - b += - '1s9GhIeC9INDc0NOEf8G0K/iEhbEM5CucDawfXZcbGkSpYnwpXH64RWJqIL8QgsARSEv7GIZJt2'; - b += - 'yESuDR4pLrjMOltGj5i30ZkO8ohrOdsJDpVDX8BQANGQjtIBkzRLRT/EATZ0yaM2HaKqAb/W6mc'; - b += - 'D/9wKj4wj+2Z28yPwH8OTHiu+5bMXrPc3d1vZPYa5cGv8LX7q3L9J74el2v3t/jaK+X9Z/ja9zV'; - b += - 'p/3XJY32vb96fKndzx+atOx5VRvP6jl2rd2xZv/qdazY90rFz9c4N/63D+Cc/t1MHG3/jZhCwc+'; - b += - 'PqBx/d1WF83c2s17IXuHSbZP+RS8Psv7lZarthPefPutn1ev7fuXzzTsn/E5dH+f/Fva/dxdl/5'; - b += - 't7D7JDbFM5gS8dugG99ZMsu48s8gW1bNz3K1b7h5tYnAD8I7yqjHAzvKvkfSnk4i29KeZj/EY9q'; - b += - '81rOfotHFWafdwuMr50Pr9nRwbBvu4X1lbD/4HrbdNg5rpeA/afbhPUe3PDONTtWw+7E0Pfw3Cu'; - b += - 'gH3QnxXXXbt28ecOuzR1bdu3k0j90J60fvvQZ/T4wUob+kX6fCPoXet1tIfSP9boR9C/dVuGBLW'; - b += - 't2PQKz0uZ2zG1dP1zZZ9xGakcQ2J47dnfsNP7WbVxfBRzgWa/rWLvj0W27NmzdwuVy/6d51sOU9'; - b += - 'ruN6zp2bHhnB/LsQzu2boZJGv/s+zgk5EPjOd99J1R46FHjK77XsYU6Mb7qe9Kf8TUfuGtLx441'; - b += - 'uzqIxYwzfj5it3Ud63d0dBj/4OeEQwTwdT+86+Y1O3d17Fi9seNR4x/9ggAhx4M0+rAz6Z3wutP'; - b += - '4pN8KtAOFpaMSbzuNT/kT1u7owMqV0zU+7U8Mm1WhwtjvFx7ctBMGPWf1hp2rO7Y/smaT8ef+hB'; - b += - 'C25qGHsF1UdMmS6nNjWH9YfW5V9R9bOSp6aNucuau3bukw/sVvigFRtZ/o1TY/ssn4XRnV5g2bN'; - b += - 'gGONm3dus34Va+BK23YsmbT6o7d24yTic62rF6/Y+sj2wx/XAykukLEAZOHCS3XbFm3enPHzp1r'; - b += - '1nes3r15nfF9cyIV7Vy7ZhMwMDHDg8yMO41ZzTy7NRt2bAB5g6Jy60PGd/zGBHjDlg27jB43SAD'; - b += - 'XPrxx9ZbVa9avx0VBI5xjfNgbrc5c44PeVTXqAGKqejs4xppzjR6P8YLQjvXAKOuki2/VLphrfN'; - b += - 'tLzpzlhvEFuykB3tyxY32H8ZTZmoDqmP8rf1KibMead8V3Mz5itiRK1+wk2hknbOaBR7Zs2B5i/'; - b += - 'f8XHiAYofy0r0GAXLuMXlPGN2fn6l1bhSWNPzSviqCAHkhs2LatY8t64K6da2GRrX04vEe3M2GY'; - b += - 'msYfhV3P1bvecFUEHLnnd4c9V9U0Pm/GN921YVOHVvRfWquKov/tZKgIpAbICuNWRiRsZjC4bRv'; - b += - 'nCoEfV3mCP7xm58NYAqTd7zJpSdbFNT8pRHywY8u6DWu2iFSkRWE8abXWWCNUz/i2yoV3Xvtwx9'; - b += - 'qNxhdkESYkyIYtsGyslsoCuvMBszGEx4g9oCrlELDgNpBaO42DqrWiaCfw2ppNqMd8NmIA4Iqox'; - b += - 'Qm/OYSu64gr/1kMpinJrf/anBL1v27d6q07Vq/b+siDgHwp/w1tgnq5MSirKSEMceYDdktlAa2y'; - b += - '/wpnPleb+d+rSpEazeNz4UKbWz3z/1Ihf+oz/4twinMTM/9LPxeJchrJcSeqp6PiaTUlumEtVPy'; - b += - '2P65mufFNjxvCTjN3fvvqBzdtXbtx9bo1u9ZAHdjujA+amSV33gtS+vqFc1bvsMyclrvnHkvldn'; - b += - 'SsW7t689Ytu1ZDe+O014xyjfI7t8F+2EHgP/OyISXWbulYb/x3T+v1bsvKIhRarQPAPOOIOS5B7'; - b += - 's41a7c+iCz8P6r2PNgj1z6y450dxlesDE4s7GJ3tGFGNY6bDZt2PrzhoV1RpX1mjvqn0SLg4Yi/'; - b += - 'YwqcV40712+ZvXrbrkfjip1R9xEBz5jZeEr37LZsPXuPJUKAWdH4sJ/Z+ciD0UB+N14MOAmh2UG'; - b += - 'RmrgYmFj/U5gkFB6yLj/ia/daPsdym3S5IYzzm34NaTLXeEJFlEFpZ/yWmSPpQGND0v1QjdcWKh'; - b += - 'bB3kNV91kNmlaCy+cpO0KgqEVbdxjf9iulgF7GXWxes42E3hzjkGzZoMptXdcRAt0K4TjHeL+bi'; - b += - '25OSPh8OJG5zGL/wx2XWCgREz3j5yIWBeTvNhp07M21vMpVHXHQJ+1Ir4pgmyLBELPMabOpimV2'; - b += - 'G8WoccQzezLaojQ+6jfpa1S44LdCLpgbcsFnanHBXOOwX032OcZ/92vtN3ONPjNCFxHz0+Z4TSr'; - b += - 'pZP59u0HTJpHMP1LRpGNSnvMrRZ5eliTzXON3qsk81/ioq2mYO7fvMJ6VPgmw9tG1m7bu2rp5w1'; - b += - 'oq+6zIglAdBUVw9e5HZ8/+b7ONXkEQN9u6pfMR0mFeEO4UTRT0np0dxuf0boBRYLfc8MhOHKnxx'; - b += - 'kJCC0bN+BtKmGpHBxLxEdDkN8FUdxofFfRpurCULEsqTmTrgAL0O970pEIVqloxQT/gXZnU4SKF'; - b += - 'saLir43W1xzjQ2Pra47x615LUtEM9ROzFnyu8eeila/dCmYOq5JxZ8esYQvnGk9bWcEv0nOX8dd'; - b += - '+SB7E9k6wOcAs+rzfsnZXnI8k5paQU+Zy41ORlTFXa/27Tj7qUuj9N7IeANTxyNpNGrwQdyCwj9'; - b += - 'vjIlii8sdt6XdHBPqW0xKCElW/5WQjnREX+V9F647zv6GuTCqy73pwA5j8GoOJXvo/vWkjVzTOe'; - b += - 'aVaNSr020+EBkOiltEXMsjcUcbx5+E4hqto/Es4jrkjjeOT4TgStYxPec1A0CoF4hkvqwtt4y+8'; - b += - 'bFQN83/pRds/Vj9mRvsrZs+ZBZEQ10ew73hJGPbyXU9XEbDWn5ixaoL5H5jNeJ8tq5Ob5NZmvF0'; - b += - 'ltEtTLzD/flPTlvB+X/QadiTv911Th2CdPzAL6za8E8c5N4L9sVnQNhiG/a3fWAnbbXxNNSGa2N'; - b += - 'iU215v/JOT05A3d7exvAkXGXNsNJS/8yqheJu/9zI4nOtBum1+cKfxhJV9Z8dapP5DHUBc419lE'; - b += - 'Ys6+fDardseNb7tFHRgBxqoH1GJig9SxY9bIU0WRjc87zVW0mm38V9uY2XF3cb/dlsFOGf1tk0g'; - b += - 'xDfEZSetrKYe7ja+5GY1BWy38WVXRwkAPuBktz+yddfqHR2bV8+Zu9DoV5ko3z7POG1lwuWOq/h'; - b += - '7XpSFbo1/9QphNhy78f3wyQjsDkRh40IMYZob/xZ3gw9YPqP1CjtevyjRkCUN51dVOszv2mo8FZ'; - b += - 'ci1xn/LutL8qGF+AmrucpCfGiHcUpMvggsNuJRK9I1NL43/pcXgTXGN4ZiMG8wDP6GmQ/BoVjcp'; - b += - 'zKhGEb8/cCLsoi/H4b42xbj70dVsIXG8yEGt4U4/Y+4I8Tgs1q/qDN40ZZDGPyclw7zgMGjcSlh'; - b += - '8D9DDHJ+9SMbtuy6fi5UYzBnBYPbatYGRtFrt8/TarckaodG+t8KHRLGPdT/bTtZf5PUH5L6myr'; - b += - 'qf8zORlsXIvgLbpxHDJ92G6N8hOLvVgMXGufdfAQUJH9P6wyxPOBl9d3Y+Ikd786E579yJ1QxnW'; - b += - 'DzC/LgRMemsOppp3YrwOoRd0IVVqXVH7jVj0BCbA3ardXYknaDdnK9yJ2eqkW/HbC6Jta4izyMn'; - b += - 'FNd9nDH7jU7127YYPxe9OSzouB9XiE2Q16/dDkacn4laK6V0oyVbbOtdKpPmUbZzPyG+Qn7Cf97'; - b += - '/ofg79PuPv+kt/1x/xve19VvOt/zj3jf8//K+7L6EKT/P0h/z/8/9r9Z3/P/BFLHfcw/6b8fft8'; - b += - 'PZR92v+f/NvwdgPwH/Mf9H0GbfucAlHwTIN+Av2/5XOs34O/X/X3ex+A6CLDf98/6v+fi337vX9'; - b += - '3/cP5Ofcn7Z+fv/H92eqwXrG6bW73f+1eo+1XzS97n3C+6f+p92P11/7vQ99+5Z9SXreedf/B+3'; - b += - '/t99yn3Y/7nna97B50/hDt/3nmP/xvOe/2z3knv/c5/2M+b3/PP+3/s/6H/IfO91kedP/Lf5/9Y'; - b += - 'fcS5oL7vdnuPez9xH/degBT+dXufsvGX//ux+5te+sSHpsAY7lXr91p7rjDKQ97GkpphBGab6lZ'; - b += - 'FI1DlU0ZnYBa+5qnFAWTb1J0rcghevJGgCLnNXhyY5YOqs00ZRRuSPZyEXsoHOOlC8qjqLN2JmS'; - b += - 'xkjjE8A8k+1TnTMoqdeM/9qpiGzg+ZnaWJUNQLRcoobVhg4S2PAjQXSOYEZBrCzCnINEoGmh2CO'; - b += - '90lDXtMAMG1V659cu2Ha3kA5qbKPWZnud8oPO1PChqDTuykgS85vqgg+3SQeXpJ8L59pQ1LrK7S'; - b += - 'xkWKmp80O4ONS4L9ixRW2rBEURHeoXy8osjsKm1YpHAQ5SNQtCEqgjscwiFl2tVBvGbbFQzZLO9'; - b += - 'XncXXQ+0hW4ZY+A8LEvsdwlsekcTJAmKGkzORGt1O8bV43ecUr8XrAad4HV57nOJsvB50inPwet'; - b += - 'gpzsVrr1Och9cjTnE+Xo85xXa8DtnFBXh93i4uxOtFu/g6vF6yizfALfvNzuIkuPY6nUXggnIf5'; - b += - 'CfjSCHvIxzyU+DaDfkUwr3OYoB5uBZxXm5nsQTXi1A+FUkB8Cvgeh7y07B/yM+A6xnIT8f+IX8l'; - b += - 'wgEvV2EerlfjfeDahu3huhLvA9e7MQ/3v778L0PPPukWbyz/+6l3f9Qq3lT+1Nf3f8Er3lx+/m/'; - b += - 'f/Q9ucVE5XVwV2MCQyIluMRekiw2Qb4R8E+SbId8C+XGQHw/5CZBvlba3SF+Lpe+y3GuJlN8q5b'; - b += - 'dJ+VIpXyblyyV/u5SvkPp3WIuDicEd7cQcdrs6oOBqtMPKgKvbrvbhNd0Oq5OZ5ZIwz0W85trV8'; - b += - '3htaFdDeG1sVxfw2tSuzuO1uV2dw2tLuxrE67h2dRav49vVGbxOaFfP4bW1XQ3gdVG7Oo3Xm9vV'; - b += - 'Kbze1K5O4vXGdloAwS3t6hm8Lm5XJ/BablfH8bqknVZBcGu7OobX29rVUbwubVdH8LqsnZZCsLx'; - b += - 'dHcbrCmH+24n57+aVyWsSRIcK2gEPwP3BTMADXucDHvA6D/CA17mAB8RHAfCA1zmAB7zOBjzg9T'; - b += - 'rAA17zgAe8Xgt4wOtrAQ94vQHwgNfXAR7wuhDwgNcFgAcli/D6UEbAcvM6S04wEaQWiwc1E8QMi'; - b += - 'BhcBwNOZ8mCyj7IKhBBXOF6Sp1yeCUj13r4e8rpLPzQCZxgClZ/bVR9CqWgOytIYcmsqCQVdjSl'; - b += - 'upPJWPXaqOrkuBMfS14TlfhhJ5OrO5mEVa+Lqk6KO/Gw5JqoxAs7mVTZCWdXxugCeFLKwqq2Oks'; - b += - 'G1IEuG6IuV1JqAMXcIbuzZFdjuMeOJOKARZ3anYXvWrAxXYldNUZdXRl2ZQfTsSQdlUynFHSUqu'; - b += - '5kBlZtiqrOiDuZhiXZqGRa2Ilf3ckVWLU5qnpF3MlULMlEJVPDTrzKTlR50O3kmYYoQ+B5t7PUo'; - b += - 'qNk0BWmYpQg/g+4ULWENxoX3agUkiqlVypipfFRpWJYydcrBVhpQlQpCCt5caWQvtpgeUAruYiB'; - b += - 'pXxY6AQudtoaderGPBbzQj68k1vNo23YfnZUtS1uX2OhtFW3vxrbz4mqXh23r7FGrq5ufxW2nxt'; - b += - 'VvSpuX2N5XFV7eVyfXB5umAWlo0JqEOtUYmv4hVBzDYyN/Wty/tiYvia/v2hWH43JH0fWHIG/qX'; - b += - 'wE1qbyEbj68RG4+voEVxdirq61HVgaNQuj7AE1xf/YJH9NoT82eV9T1I9dyudHkPJG1XImrrgMo'; - b += - 'f7LwMtPjsLLT47Cy0+OwstPjsDL+QQvz4x5eRThPHME4fwS5PJLEMkvURoXxiCNC3VpXJuDnxiF'; - b += - 'g58YhYOfGIWDn6jJwQWdd8EInihmMRi6Jhu0B002aA+bbND2mmzQHjHZoD1qskF7zESDtg0sluK'; - b += - 'NeD1uFm/C6wmzeDNenzGLi/DabxZvwetJs7gYr6fMYhmvp83iErw+ZxZvxesZs3gbXs+axaV4HT'; - b += - 'CLy/B6ziwux+t5s3g7Xi+YxRV4HTSLd5ChbRbfQIa2WbyHDG2zeC8Z4mbxPjLoVfGNeN2vim8iw'; - b += - '14V30wGvyreL88yIsbF26viW+j2qvhWGp4qvo2Gp4pvp9ur4jvo9qr4KzQ8VVxNw1PFB+j2qriG'; - b += - 'bq+KD9LwVHEtDU8V19HtrWIH3d4qPkTDs4rraXhW8eGIYJEZh1IF1H6jU2emu8VmYl6ChVh4Dy7'; - b += - 'myvUBdVJ6eeUigHJfL6/kdCj34vJQAGi8NBENQ6x/v9jbbxZ7+01ib79R7O37xN6+V+zte8Tefo'; - b += - 'PY23eIvb1C7O3bxd5eLvb2MrG3l4q9fZvY27eKvb1E7O2y2NuLxd6+ReztRWJv3yz29k1ib98o9'; - b += - 'vYNYm+/TuzthWJvLxB7u13s7flib88je1ukuCwlWEPBw2Jvrxd7+yGxtzvE3l4n9vZasbcfFHt7'; - b += - 'jdjbD4i9vVrs7V8Re/sdYm+/Xeztt4m9/Vaxt9+i2du/7KrVzDGqVjPrqtVItvBoZvBoFvCLNH5'; - b += - 'nJlQrt5Zqla+lWrnhTfKvTtUqP2bVKl9XrX6mhm6hbuhqbOyOURq7dWn8c2jounVpXJfGrwZDdx'; - b += - 'LbuXeInXu72LkrxM5dLnbuMrFzl4qde5vYubeKnbtE7Nyy2LmLxc69RezcG8XOvUns3JvFzl0k9'; - b += - 'uwEsXfHi707TuzdVrFnm8XebRJ7t1Hs3RaxZ3Ni72bE3s2Kvdsg9qwr9q4h9q4t9m66km/ZDp0p'; - b += - 'dud8sUPniV3aLnZsQezWOWLHzha7dq7YwXmxe68VO/i1YhdfJ3b068RuXih29AKxq2/Q2SMWKpb'; - b += - 'OR6ccMXKjvZCN1EpJAXWm6OWV4gDKJ+vllWseyifpRm6NQzf2dtCGuqq8t7O0KmdkAnOmdVShC8'; - b += - 'ZMq08VN0C107BcFpFVXD4FyZs5eRKSN3HyGUjewskTkFzMyeOQLHPyGCRv5eRRSN7GySOQXMrWN'; - b += - 'p4iW3JabMmpsCWnwhZb04csOR225HQYl+4BQLnNve2HpMHJfSjnOXkJ7pHl5EVIZjj5PCRznLwA'; - b += - 'yUZOnodkEyfPQbKZh4YH7LYcpFtyYG7JgbklB+aWHJhbcmBusXhJPvVQ5cMgdtv5BofQrOPkQUj'; - b += - 'O5+QBSM6V6aCIlulAco5MB0TVdTIdSOZlOpC8lkeLZrzHx93dHh9rD7n8OOCCy48Dzrv8OOCcy4'; - b += - '8DBlHWnLHRbeb1ZT9+KvN6Sg2gnD8PpU3BXXrpXZQaxNIzML7Q+yZOnoiTRyF5p964U1xnBnA1P'; - b += - 'Ofp/jGd4jrTj0UnK4pM9qrBouOJojupa1xceE/youlcYneVOhepHs5gzYNmcKd40HwE+1gou1fh'; - b += - 'uBcvEyva0toUrfKbCn/tsMsR7hXkXsNo7yXIGSeaFzkrNcvJv1u59HEg5dnhznPc0z168D4kiuY'; - b += - 'VvmlHEgJF/2zhnbZO3qkSY+WGbfhzTeGHcUNc2CdDrgtCYVN9ywB/ZhR+lLzlGWqpFrMkL9ksyV'; - b += - 'fYi3Elm50ousnnZxwSD67jy0YxW0YfMWsxeqqUzU5+uBXe5pQZ2OiiRTsNOm7R1tRZyhS+6oEgb'; - b += - 'w4okQlaghwmcsG4oAETDcH4wMYEju+Q21maEGSQjUJxx9t7D/LvUShtDXJ6KasxvVh6wsW7Nuil'; - b += - 'rNn10T7r4uBsvdSmVD+WnvfQ/yCtl7IyMwjoXIKeOp//+Ed7vo9LBdhkCbryfOcDH+25XnSGAVI'; - b += - 'uBnX9C3G1LKcCM8h2ltLlAiulZ1z0CNB4ZiBUO+LGn/ZoIDA8qGcYQZrUEw+TNqgTupHh0gBd0M'; - b += - 'b0Lu3hR+UGY7p7a3x37d6tetPe8N5NCS3qpd+7TZs5sXU8gJzevi8cQIMO7XeHH4BRXtwJKsYYx'; - b += - '7FQH8dsbRzZ8uKNrMFo6wY2VVBuEHHsJYkEhxJSkKYUftcLzLKBD5WzKlPu/nS/UX5NeehTsGd8'; - b += - 'xzEy5e/2AWB++flPCgCa+9IR+WWWSC/KluxVNjpl2uV92PS9VLNN+TAxtQslFjCbQeuymx6qep0'; - b += - 'zjMx77lUPs6vnoLh6kkg02MMTJV9grsRuY4dOI3ToRJSJQ6cHSXTovAszOciIQ2cWkuLQuTEwSH'; - b += - 'nD4e+HhQ9WRujQ2RlLTnG1ZO/OfJhB786m0PvSIIfO10vDbpO9Jnvk2itXcrtcvBFdDGOlpynYi'; - b += - 'H3k+dLAF5ASTwdZ9uekTWmT5rS5KbkpbdKcNjclNyXZZsoHoagzKoI77Bc/zn3ikteNZEB/zlXI'; - b += - 'VSSKu0N/zot25MQprp2NsWvnLPHDvFb8MK8T/8vZ4uc5R/w854qf5/Xi5zlf/Dzbxc+T9NVB8eM'; - b += - '8J36c520+9rpgo7o/uv+myX6asFeQGl7pxwm71Jj8N2E9kR8o7E01/TjRf3Om+Hnivt0N1zfI3j'; - b += - 'NPfCZvEp/Jm8VnclHkk5ku3h3YwI8OMCJuJRnQ7W0wQxwwSTzYwzKwf9lgtjhgwnhgrmSKE6XtY'; - b += - 'umrLH0vkXvdKuW3SflSKV8m5cul/HbJr5DyO6T+StgeJwUrI39OOj9y5PzIk/OjjJwf5eT8KCvn'; - b += - 'Rw1yfpSX86MmOT9qlvOjFjk/GifnR+Pl/GiCnB+1yvnRxAp/zUVyfnSznB/dJOdHi+X8qCznR0v'; - b += - 'k/OhWOT+6Tc6PQIE/JOdZB+V8q0fOuw7IOdg+OQcD5n8DLUw5XvJY/6Tjo1lyfNQux0fz5fjoej'; - b += - 'k+apTjo7lyfDRHjo9my/FRQY6PrpPjo2v5+AgNi9Pi1nlK3DpPiltnv5I1OC/W0EEtL7nBJH0T6'; - b += - 'MbHdSi2+8mdc17SUXEepU44vJDZuRmFVrivTU16YspjCHxSk056YqbDjqZWdzIl6Yk5Je4klfTE'; - b += - 'TIWdTKnuZHLSVW5y3ImfdDn1w04mV3bC2TtjdJ1wOpNClixE2PlQ2y/loy7vZHXKYjOt5FRjGE0'; - b += - 'sEYj9pIF389MZm13smiqedUFXDnskZioeokBH6epOrkx6Yl4ZdzI96Z47PewkVd0J+YS2VDyiok'; - b += - '5q+oR283OqRCeR8pF050Tdb1yl5kFMxSg5ER5BXZH01LwiJFVar1RKemqWwkopvVIx6XlZDCv5c'; - b += - 'aWQvoP6M1Qc0J1cVHke4LJj8MSKxxHEY/mKZ4on+FlXBY/OTLpjzozb11goM6vbtyXdMdvi9jXW'; - b += - 'SFt1e3IHvb7ikSy1r7E8rq69POYll4cXZu2gUmoQ61Ria/iFUHMNjI39a3L+2Ji+Jr+/aFYfjck'; - b += - 'rTrGq+LviFKuKtal8BK5+fASunpfg6saYq2ttB/rRQOMoe0BN8T82yV9T6I9N3tcU9WOX8oURpL'; - b += - 'xdtZyJKy5DqP8y8PKTo/Dyk6Pw8pOj8PKTI/ByIcHLs2JeHkU4zxpBOL8EufwSRPJLlMaNY5DGj'; - b += - 'XVpXJuDnxiFg58YhYOfGIWDn6jJwY0674INPEmsYrBzxY1zn7hxHhA3zh5x4zwobpyHxI3zsBxf'; - b += - '9crx1RE5vjoqx1fH5JirT469tGOwJXIMdqscf90mx19L5fhrmRyPLZfjr9vl+GuFHH/dIcdjK+X'; - b += - '46x45/rpXjr/uk+OxN8rx15vk+OvNcvx1vxyPvYWfZHjaKddp8eLsFy/Ok+LFeUq8OM+KF+eAeH'; - b += - 'E+J16cZ8SL84J4cQ6KF+c58eI8r9iL85JiL84hxV6czyv04qRTsw0RvUIjbhIfqCedOReLxcSc1'; - b += - 'MPnUG7V6oA6ab28cgn0sLNnVF51EMzOnj3hORcvf42TJskJCjoTkrF9vxjbbxZj+01ibL9RjO37'; - b += - 'xNi+V4zte8TYXinG9h1ibK8QY/t2MbaXi7G9TIztpWJs3ybG9q1ibC+peDlysRjbt4ixvUiM7Zv'; - b += - 'F2L5JjO0bxdi+QYzt14mxvVCM7QVibLeLsT2fjG2R4ZFftAo2iLX9sFjb68Xafkis7Q6xtteJtb'; - b += - '1WrO0HxdpeI9b2A2JtrxZr+1fE2n6HWNtvF2v7bWJtv1Wztn/ZFatZY1SsZtUVq5Es4dGM4NHs3'; - b += - 'xdp+s5KKFZeLcWqUEux8sKbFF6dilVhzIpVoa5Y/UzN3Ma6mauxsTdGaezVpfHPoZnr1aVxXRq/'; - b += - 'GszcSWzlrhQrd4VYuXeIlXu7WLnLxcpdJlbuUrFybxMr91axcpeIlVsWK3exWLk3iZV7s1i5iyq'; - b += - 'cPVvF2p0g1u54sXYnijXbItZus1i7TWLtjhNrtkGs3axYuzmxdvNizXpi7Tpi7dpi7WYq+ZbN0F'; - b += - 'lidraLGTpfzNIFYsY2itk6V8zYOWLWXi9mcEHM3uvEDL5WzOLZYkbfIGbz68SMXihm9Y06e8RCJ'; - b += - 'eHMecIRIzfaC9lIrZQUUGeqXl4pDnq8cFfj8so13+OFWxcbuTWO3MjTQRvp3ejLeTf6chrky7kR'; - b += - 'r33o01nlqrkodtW8OXbVXBy7apZjV80lnDwcO3Aeihw4ywchuYyN7ZvEh/PW2IezR3w26U3ClfI'; - b += - 'm4R3yJuEKfpOQXDXt2FXTiV01vdhVMxe7amZjV80GTp6NHTjPRA6c5ecg2cJDy4gPZz724RwQH8'; - b += - '7T4sN5Snw4T1pyWG6xdEk882BPzQWxp+as2FOzPfbUvD721GyMPTXFwfMCJGfLbNzI1/Nc5OBJR'; - b += - 'rzHR93kwnktu2riw4Cz4tJ5Rlw6nxOXzgF6GEPOmqt0f8tVlOq3xdGzeVhHT/Tf7Iz9Nztj/83Q'; - b += - 'TweSCT/QjeI1E/lrxq4xG8VrJvLX1ItMdqjBoiOJInYsJSfWTnGg2YiunBsXqW7OYM19ZnCXOM9'; - b += - '8xCuj35H4VvaH7pyyUKxoU4s8LMmd8xAt2wHNnTNynYzcOdFVqUVO/r3KxY+DYa/M7tCdM3Lo0b'; - b += - 'wyyZ2TZcSg5s5JTpkDbnKsCafMH8YNT+junK2huKm+pbiU/Sh5yzPxk0NxShsQZ87D4sSJDj/jO'; - b += - 'YhdcQI6cjqaIyc+2ApvcIIcOfO8y4hHJ6CtlA39NymR1f0385jIBxNiR8795KqZ1R0qeWvvdsXN'; - b += - 'c2ItV83IzbMhyOul+aSbZ76WIye5eZ4hR84aDqQDlY6c/RWOnKQv9JNiMaDrXjly5MS3T3KdpQz'; - b += - '69XniTpqtdDykLuLGn/ZoIJEbYYZUk1rOlN0uDdBLOlP228OPygvGdPekI2d474mVTqR07+ZKJ9'; - b += - 'KXeG/NkTMjjpzhABoqPUlpAPlK987hBuCgI+eYx7FQH8dsbRw5dOTMVawZceQssIske2JCCWkZL'; - b += - 'ejIaQSmOFgOooNlPlP+4B+T++bhY6E/58WnycHzxNMC+PS9ajP7YPanJNwmujgW7+YomcU3SPzH'; - b += - 'e3gR4rkBbpR4boCbIGpquMHh+QFKOXIZxDiKb8ZBmOy/B3shanAUBzHFLjqo6ZEfHeq4gz777w3'; - b += - '47L/X77P/HmwG5K/Xm2L/vRMSt7Enxf57sC1Q3MfuFPvvnbfZfw+2GPLfg42I/Pcu2uy/B7s6qm'; - b += - 'jlE5C/HyUMvYZiFr5oBvfxhUON2slQo/YIoUZBG8b6cO1RRXKJPYBephw+1MEr6D9ZvB5TQE9+p'; - b += - '2Ur6N53o6fHW9CPdBtySWtwN6a3L4CdoBWL7gq2YXpiQKCJCHo9gyYwaAKCVjFIAcg6QT6cqpM1'; - b += - 'q0hTCLYusEjngOugXAfkSq+8gEbzjMWOficsDjCaY4fUrbi1blukziN4G217F6gl7qsAPxPDzzI'; - b += - 'cNtWti1iF2Upw1GpQvPOgyM+UFP0GUfTzoujPEkX/WlH0rxNFf7Yo+nNF0b9eFP15oujPF0W/XR'; - b += - 'T9BWJoLBRD43ViaNwghsaNY3DbvJfCcOJrABnQ4B0wMmzNZdOBncouTob8FMhPhfy0V8Bts1Fz2'; - b += - 'zxus7tmn80a5TGb3TiP2kzFIzZTtddmv8TDNrtrHrLZXfOgze6a+AYlaqAHbNZA9+N1MijFeJ0i'; - b += - 'bx1NbVeXkJzT2tVFi0+Knrf4pIi4CrR24glQuolNQHU/Z/EJ06C8UHVWlHFil9vkLaWlovkuE81'; - b += - '3uWi+t4vme4dw5QriyvuZtZN+m8cdPnHqc1hZPebw+0dHHfbbPOKwv2avw36ahx32zzzksDJ70G'; - b += - 'G/zx6HNfIDDru57ndYyd3nsJLb7bCSe8lmJfeiLTw9J1bHL/rot5l41+GEBQtPgsGULKgMVQrRz'; - b += - 's9PeQ55Ygep8hAKc1Rv+XnMXVFNNuyhp2FcNqGP1ur2r49qTYzb1/TWhPYTq9uvimpNiNvXdNSE'; - b += - '9hMq23P2zoRfa4VcKne7kaNmU4Wj5kXZXEtONUpPuJFEuUhaKyhdmqNmc8XzootRJNFMxVv30FG'; - b += - '6upMrkz6WV8adBEkfyyDsJFXdyYxk0MsZcSc1vT2hE7+yE5gjIbTPTDhqniD3S10X8YWLGCWI/9'; - b += - 'hRc3LFM6VDfOAdVSJHzSkVD5YO8al3VIkcNadWPF06xEffUimkb5/+VAAHdCcXyfPRhgpHzWkVz'; - b += - '0OJx5oq1O5DHDGpgj1nJt2aZ8btayyPmdXt25IezW1x+xrLo626/dVJZ+ar4/Y1lsfVtZfHnOTy'; - b += - '0FyDKsUEsU4ltoZfCDXXwNjYvybnj43pa/L7i2b10ZicTqBG4G8qH4G1qXwErn58BK6ek+DqfMz'; - b += - 'VteS/pVEz/2KE/kuQ9y9B1I9dyjeMIOXtquVMXHEZQv2XgZefHIWXnxyFl58chZefHIGXGxK8rD'; - b += - 'lqjiKcZ40gnF+CXH4JIvklSuP8GKRxvi6Na3PwE6Nw8BOjcPATo3DwEzU5OK/zLpiSjXiERZblC'; - b += - 'YstxmcsthhPSiCOUxKY47QE5Biw2GJ8zmKL8YzFFuNZiy3GQYsdOM9ZfHR13uKjqwsWH10NWXx0'; - b += - '9bzFR1yXLD7y6rb5CGyfzUdiFy0+Ijtg85FZj81HaAdtPlLbb/MR22Gbj956bT56O2Lzkdwhm10'; - b += - 'uj9nsctlns8vlcZtdLo/a6HJJ1r/uqbnPYQ/Mi7bE0bTZA7PbYQ/Mgw57YO53JI6mwx6YPQ57YB'; - b += - '5x2APzkMMemIcd9MCk73TQk6fjTnEj3d4pbpLvdWym4TnFLRHBIruNXTW7rYSr5kUlVhIzE6zES'; - b += - 'l/NSeFqTuvllasAylN6eSWrQ7kfl4cSoE//3Aof4qAvIVnY7xAL++1iYb9NLOy3ioW9UizsO8TC'; - b += - 'XiEW9u1iYS8XC3uZWNhLxcK+TSzsW8XCXiIWdlks7MViYd8iFvYisbBvFgv7JrGwbxQL+waxsF8'; - b += - 'nFvZCsbAXiIXdLhb2fLGw54mFfb1Y2HPJwhYxLmsJFlGwRSzszWJhbxILe6NY2J1iYW8QC/thsb'; - b += - 'DXi4X9kFjYHWJhrxMLe61Y2A+Khb1GLOwHxMJerVnYv+y61awx6laz6rrVSMbwaHbwaCbwi7R+Z'; - b += - 'yV0K6+WbtVQS7fywps0vDp1q4Yx61YNdd3qZ2rp5uuWrsbG3hilsVeXxj+Hlq5Xl8Z1afxqsHQn'; - b += - 'saG7UgzdFWLo3iGG7u1i6C4XQ3eZGLpLxdC9TQzdW8XQXSKGblkM3cVi6N4khu7NYuguEkP3FjF'; - b += - 'op4rBO0UM3sli8E4Tg3acGLwtYvA2i8E7Xgzaghi8OTF4s2LwNolBmxGD1xOD1xaD16nkWzZE28'; - b += - 'XwDD8cOU8M0wViyIYfmJwthux1YtheL4bwLDF882IIN4hhfK0Y0jeI4Rx+eDL8EOWNOnsM46t5y'; - b += - 'BMjN9oLa/tqQp1WvbxSHED5RL28cs1D+QTdyK1x6sYOAtpQ70VnzXvjwJtbxUlhmxz2OnLY68hh'; - b += - 'ryOHvY4c9jpy2OvIYa8jh72OHPY6ctjryGGvI4e9jhz2OmxKo8sTHfo6cujryGG3K4fdrhx2u3L'; - b += - 'Y7cphtyuH3a4cdrty2O3KYbcrh92uHHa7ctjtymG3K4fdrhx2O3LY7bCgSD7AIKv6gs9W9Xmfre'; - b += - 'pzPlvVgz5b1Wd9tqrP+Hzu/JzP584DPp87n/b53PmUz+fOJ30+d+732ap/xmer/oTPVv1xn636P'; - b += - 'p9jXZWagnt0D8h7KHXRZbe8UnPwlqjobkrtx1B0b9CbbFtgHU3x9ZBc9+P1DVQDWTUg54/ti1Qv'; - b += - 'wreTM8eRVOj8AfCeGH4wFTp/ALw7hu+TrvvZH8Qm55ATsXPIMxbFY0LHkDgcJoho9iw8FLpKBW+'; - b += - 'uDIXJ8ZP7vNB3sjV6J6axeuGRX8zsUO4f93SHlMqwl7w+UfAmwl7CPpEYk1UV9pIb4rJKhr0c8m'; - b += - 'vdUg97Gd9SD3u5z2avr/32CnsxekSij6nuFbnPjrsbstArssDyXMJbYhgk8YpsDL0i3xSGt5wQF'; - b += - 'DBRCN4Ye0VimMmWWl6RGGayfBFKx9UKbzmEpfvxUDso6KXyXgdta+j4UMsrsodEYmoYr8i+VIVX'; - b += - 'JPrq6l6RtDP38hae0rQcJwpv6YhXJHLAUb/CK7I32tyjxjW9IvtS7BiYDMnt0QCtpFfkRXf4UVn'; - b += - 'BmO6e9IoM7514g2QovHfCK3K/95LvXcMrMhxAIrxlty8DKCScNf3hB+ChV6Q31nHU8IrkcTjoFe'; - b += - 'lUrI/LCW/5TB95Px7rC90hP/Zx8o/s+8Rw4S1tDm/pYHhLGwbQ/4lEeEtbwluir5+sTPK/5FWNw'; - b += - 'ZcHdRuEC5yyub3wFTNQrzWGVBl41UjIgVOmxMFn0djnBEbhB3aOBtefwsCZH7pWXbnXJqfN9MaS'; - b += - 'PcNQi8f2H+7tRqnt7qU2Jf3SzLtzJqYKpVl3w5JpC2Z1lV4TtN2XsyA987Gg7U05OzCvMSaB+mZ'; - b += - 'eZ7YWYZZB2yJl03ouG0EbSPKn4Lcb/hXuK1mTUR4DIsoqCNNZqFc+ZBaOkY0xcxGGGrBppkYwk5'; - b += - 'rPHK75Uax53Ex0MGsRvvNvl88o7GAWdTBruA4GsOZZpXeA7vKQPSzZJe/GlrB/WoH59JLZ71sy+'; - b += - '/3Ba5bs7Xr0sSWf/a1nz9t7lnT/3hd7j6suvFHJKhd2lQuPFBsRl5wupcrG64k7zMLbsH8M1CzJ'; - b += - 'AcXJrJmB3EULR5zayO0AnIFeGst778TWUNIoJSWz0BT10xR10xT1EljlF16wtheaIM+ftLfLh1K'; - b += - 'dZXsHJOwdpcnlXlNMOhdUoZQQ38XaA6rkQ8pfObnklNvugls7wA24u2TtDLEmaOxwWZ4zYcVkmx'; - b += - 'G2ZzvGqkSMF2GrIX9c00IEdHWWUkEKhlDKwpi6cCUgBDYLek+GHGqN0oTAooImsIKyK4JckFqxA'; - b += - '6phjaZgwgqANq3YgeIBWApuYOLFDMbB4lcgwJfTAm+x9+L3FGC5lYAdDqfQpQ57hQu+E1B+TvHN'; - b += - 'Tbx5im9uYdfmih0gfzJLcyg+rl6Zc+GidmET6KRsYk2YbWfRyeD6Rmwhli5aMCOwQAMH8GSWZ67'; - b += - 'KNTIdAL1FIQ4mWwjhgB1guF2IFOQLxOdeoKc5uWgxzYA4gcnIQ/KRHzRir2iW9zL+UjKb5TBka8'; - b += - 'XkkrU0Z8K0Qcgjb7k4gubAZUq52VQGQIAKBykAt34nzAB409pO/WZBZ1hiFNuCcUUz62dgJFb50'; - b += - 'gsvvOBt31i0wgKkX2DOV8aS9J6gravUhm+/mGUbd/JcCAaej0r8YUuyw5RgEm4G6wTpaWHfFhAz'; - b += - '64FOgihvzOYy5R8996xRnlLu+cqzIpJ7IVWeWu6PAANfoRoXIsAlBLSXj381BJyEVHlB+VIIAIq'; - b += - '2lS+9+7MiqVOINVh3RWvYScP4ZLQWohJosCpIFS1ivbanSiayj4vsg/LPAdJ3BsQ6Ls7DzfBCM5'; - b += - 'BzjpololY6ppY1Nmq1FHHF1aBWy8+UWiaO/qeMzmNmLXyC9PcRlanAX8oiEgU6otNHdLojo7NpO'; - b += - 'HQ2jYROUB+HQecwJdlhSl4pdNqEUJCOPuJTIeZIGjI+fajvBH4GEYeCqNeRXQL3ItgpzHinyNI5'; - b += - 'LleBPas4heUgCa1TLjXTaltgv7pSoqD2VK32kFejNhgKXGJB7Wk1lRPcy2BzgsuQV2oN/KA13qT'; - b += - 'CDa44XW40Hq+9TnEiXk+5xUmyQeVkg5rAO30xQGHt4AsmNr7vVizh5D18wQQ1mGIKVygg3gX7yB'; - b += - 'lRhsPYWYbjfgNbbiS/XRy2G8lvV5Pf0HkaeoPt2txeVqtyoKgFDvRskj1H2+1y3IFxh00HV0Dnq'; - b += - 'XhndQOP+/bCvbW8dyeAO0sN2uaapxtTCe7r3oqgIXBxfyWB5Af5Fbjb19hf04n9FTf+xBZrJ3bY'; - b += - 'aQgI70N7rBvtsW68x5qyiRplH+bjFH1AXbYJ1Rw/mIR/RNCZK2jOIyEb2OqykR2hGXr3QZ0Bhh8'; - b += - 'O1w1Baay4zmu4LlThOp/AdWE4XDdcDq6njg3XLSGugzSuizSiOo+odoKJ+AeodhnV7oiohvWuod'; - b += - 'qPUe3zcgxR7Q+Dagd2OEC1q6HaZVS7jOpiEtX4cpxTjWpnBFQ7jGoHUe1EqHbGgGp3ZFRPqUK1E'; - b += - '6HaqUC1y6gGEUOoboTOg/H4B4imbaqJtqXhES2anyDaiRFN2HAiRDsaojXhgQilBRX4Gqp9RrXP'; - b += - 'qA5eIlc71VztMFc7o6LaHxnVoHBfssbA1s2Ia59xje8HZoJsuXFZDh/LZjvpcxc3GMgArGo1QKo'; - b += - 'hVNHzUNVkaVGTDg7TgeyqMdPBYYafHmhGlU9mgi/mVB6lLIwhXW5bmbPgnmlW/JBN4MJ0SjOd0k'; - b += - 'inGUEO7j4hplMB6FTAu14ZW1GFztJVGpGuFhsKKgZXrgiuAqoAheilfS+4egVAvRoUmpGgULqSQ'; - b += - 'qOYUV5EH083o9KoaDi4FJJmVEgvGz9ZBfgZD1sM/MXUuVwbyYtJ4wkXC2k8XRY5QfPtaCjdvgPU'; - b += - 'H16JuOEwEXjB4HyziGlL1EUP1UUntIUAa9lVpIZ5sa44vI7oBd4wOuIwJdlhSobREXnfgqV3GTq'; - b += - 'hgzqhU6Fik0rooW4XWyyoERb9aJE1IL7wLdcGxlcD4qthJHy1vHrx1YD4SjG+IpOkARHWgAhrIJ'; - b += - 'MkTyYJYCzPGMsjxvIjYazp1YuxPGIswxiLjI48YiyP0Dw9gcNTzViZx/bZLD/aACsZVy/p9/zID'; - b += - 'Be4KU9gUCZZofjIjSI+krvrWB+vhIp5hraZVTk8+QIjwSnvhZ6yRVMtJhm9d1nOJCxQ/zhPPDWF'; - b += - 'nfa1hlF+3TJ6Nhuk0BolRDkINmmjygYpkMArAEcw/M7y7MDCx45ZemQ9hypQJAw8cQqyWIQ6SyM'; - b += - 'ryLOxnJ+UwOhA8XCzpNI0li987VmxHtOhLfmriRyWQb3G8umopp+wOhsS7RoSZflEWT5Rhnc/i3'; - b += - '3+anWfUHYXfQWq8UbThwvs7zY+xuZHsv1pCklAPVyKenAS9zITOVfPlQ+857NGeRIDvpO4ORafm'; - b += - '28W9l5hlLtd+ZIUbZvteLpXnteJGQnts5AyPmduoowE8sF3+9uUxME5aVBRi3x2knOtnDvNuSmc'; - b += - 'G+BcIMF+ODdDogBxrk3CA3HuGvYzx0PJUhpI1v1P/cDz5R+/sLOcLdyLhwAWMpGC7VOHDuFTDmy'; - b += - 'XgA6STuBUQAdw0w8waFmiroXKNB7DJPqliCqZCmi/icdyfgW020KlMl8Bxa8NFtDKT0B7oN8sGm'; - b += - 'hJKH1/r1B5NxufamSTUOjRTtQCS6XUiAs4CVUUCCYxV8STl+grwlvh0Z/zXOEVH7f7Mt3xlcB45'; - b += - 'hXHTuqnckfrMnp1XoE526+Se/gv+h7OK85ZLxc+Xgm8uq/APRpf9D3SP2NZb79KpFL+VSIFGl6m'; - b += - 'e/g/Y75q+AWSEK8Ef77YXPZnvtu+8nrLK6//vhKr5afDVw0/lV6zv0C9/jzLktzPlSz56WhC9i+'; - b += - 'Q3vpy4cN5VUqony+d+pVYO9bP3EJ+5Xv9xV2vr7w0/WXkj5drbWdeJdRq+CXkgXqvP2+y95WXkr'; - b += - 'oVZiRKDfpv+Fzy9KfbxRc/PjPMKdcQvsH1vK2fc1209YOuS7Z+0tXtdGpHXfsc/ahrv6MfdR1w9'; - b += - 'KOuHkc/6jro6Eddhxz9qOuwkzzqwkOmhqCh+qyrW866GqpOn6rPumbXOurC45901VFXX82jrn46'; - b += - '6krXOJKqPurCI7SxHnXhwVqm6qgLj+ayVUddPXTUlXlRR11DdHhWP+r65TjqStePuupHXfWjrvp'; - b += - 'R1yugSNePun5RcZV7lRx15epHXa/4QdNPZx9I14+6fo75KvcLdLyZ+aXb67L1o676UVf9qOvndu'; - b += - '3UH7f+Iq3XbP2o6xfoqCv9KqFWrn7QU+/1F8iazf50j7oSB1h/c5Wayp+bHXA3lrzRIpdxvLJSH'; - b += - 'K/siihe2QyMV1YKZnQFJYxWVgqueCwoUbQyDlPmBaVFKht45QIG3SpRmLBSGCbMoTBhHoUJw7QP'; - b += - '6RYtSJhXPmFqQcK8MEhYnxkHCSsNGyTMqREkzOUgYR6Hl+OIYJ4EQXNrRgTzOMBaGBSMw39Rk8C'; - b += - 'Jwn959LXTAsCPcmQX7tPeUfLD19U9DIt61MFIAjCK9AoKQlIot62EexSKJvd6xOksNmBWXq/MGf'; - b += - 'S6ZYkjNsgrrdmyuV3tpXhhS4xiKcCXxMvHnE7swgwa8HVLI8iWfyLvt+LLryV6fZLeBMvOV0SH9'; - b += - '+0rAR0Ofv+s1V26YhG/4U5FwRUM3vNYjUpaKd65vBtfT3Xw5XaHYtcCsjJFGTeGBZI+sSfpB3rB'; - b += - 'Vwrf1QlYSN0FzONhfGB8uZRCCGZzGeG6vfAfB80on/zSs0YnRQVAgoT1V+Wa8dXTpTlrUuA8TcO'; - b += - 'pjO6EcScAoWbOBCRcgQEsGFMqU/4cvsc4OX6PERkgxhlTEt9kpZYh+tzAxflcQZi5Iih1l2ZoqL'; - b += - 'sCF4KgLS4UKNx+OHQFDfbiBL6of+iAcEXzzWAogDbll1Jws9TKyaUGjscTvS5u49ujJoavaaCgc'; - b += - 'RTxSlW/YLpnezFPq5Hm2OcQt1DoHRoA8AfieXzghAEQshS8o7PUqkVBmEgxGhAd2WD8iqA1yGIU'; - b += - 'BDrVdoOJKwDqrthRxBBvPkd2oCgI+SCHM89JFAR7L6yJnIRAAKLgC7sc+YEYOhtGQHCjCBVOFKH'; - b += - 'CzcCYolfFXXpTXmhbTrwt7tHb4k4Aiwr/OO7NqpwbLVAUUbjCIdXAwXAcWntO+GqzMxkQGS95jG'; - b += - 'vBvAHJLKEJX1NmtGUlLs5ywsDkksuvN7tx6JAU3r0hSC0lyWKAyMumM/hu8q5SWl/jLr62jt1LH'; - b += - 'K1S0FB0sinm0vDNdTcssDDaTBj8qtRVKi2icHp0zJ4PwfQ2upT4w5ZkhynBJNzMYc5xaTFgHC0/'; - b += - 'CiLnR0HkDpypCCJ3+ExFELljZyqCyD1zpiKI3OkQUPFSdPJF5Sy9Pp/dSAxcGwUwWhm7S8IzcFc'; - b += - 'F2aJLPAibE2wTwIgpDtrlBWlkPA7nk6KYXakM0Ai4rchbAu8iGJ9L9hPcTRoDW3YHcoBwN9K77b'; - b += - 'kcxR3J4Sr0KEwm7AvJ7eCMkhKTQnfxLoLrEmNjJms79JkqLsFAX9O02rLnJGsfdXj7LLbCdVDhp'; - b += - '9+98n4bP+XO6z5gMZCVDjAeWJFkTNGP97M2GGNxEl4ptDzJouIUmNZ4lNGA9PHFvOgIPkc5oqgD'; - b += - '4zkGD6y7ootinKpiCBdZMLROiIuKsEbwJfJgCv7B+gxXyIhLUdYff8AWU+l4JaZxCaajlZjWViK'; - b += - 'tHgk1oCbBKgQ5CZTF+CRI7uW0QEFCNgUB9J3lhYXLMs29NgeuFr8nHWQ6Sy0cnIck1zi6KZWBfA'; - b += - 'uaVwQtQRolYxorZYJxKzDaF0hGFAl+ZywgKWRRZ8lnyZji+DAex0txkCNx4+GIW05Q1IMlOTgGn'; - b += - '8fgrgAUOigeM5mcmc1nwATKrwClLBdYK0Ejg9yyHEZIyGOUA8htDGMgeEEKla9U0S/7GZi9H0zG'; - b += - 'v5AamVGoATz5Yqihy0W/mMItLEUhlaoJ0hxMr0mQlmqCjNMIMiFJkJYVwbgEQSYMR5DmyyHItLE'; - b += - 'QZGkuF+G5iaKXZi2Kv4G74lkUdu9DgQak4hyKN8B2KpiEfxTWiJZXekRKgCxJUsKPKSFxxEJK+M'; - b += - 'PtUMU0Sqy0Rgk9aFJzMDFJCQk8m6REakRKpJgScfjZDIefHZ0S6ZEpMXVslCCOTzMlQDCSRl8Rw'; - b += - 'APUhTSpC2Hky7FqBoz2VIx2iXsSoj2loZ3U2wjxaT2qGCI+lYgq1hy0vsJLACOmlFKJqGIeqypV'; - b += - 'iAfV67iZxHwqwnwqxnwaMe8z5mGbaEL/uzwGdUGhBDCJKhaG9qkKHkU6kis6Up5ijYY6EAxfQvv'; - b += - 'kYwXpZ6cYaQFFx6ybpFA3SYlugppJFDzKSqomYfAowWUuGI9UwgBnGJXVAhly4UzteDMpPZcw8Q'; - b += - 'ssXwqM8gJ2VECUNyRNT0C5q6mlHNo1G2E8MjY5lJETz1czPwkcY5ACKg1Tkh2mRNAmAZWIoo6Ed'; - b += - 'S0kg9cQFdyNtG5qjwo6iIiIqnfgrArcohNSgazZAkfJBXOCOJ0DLBWQDIUM63J9YqCZ6E5JooNM'; - b += - 'VEfiJXEEI9SAWFyYbID5lKoOrMmW0HKK+EfB70j1RVkBxp2NxDGBKTKgs+YwBJIZWKvwiUygOin'; - b += - 'm0facYgLqtMfQSZcivoCdBg1I6KAT6A0tiw6PMcjhgsQQSohZKIYbwy2yKM0640BLWSgp2YEdx1'; - b += - 'jK4SPXjZBBq97mWEoYoIm0DJVRe8tzYMTGJAm5hDpI2VzGAKqck8rl2RlWtbtR2wUtuzHUt+/EY'; - b += - 'a/akTPpfjjEHJIcd80D/xDGMsKZ5QwCHo6AUTSknBYNycNQtBQNKRnxKHUZEY8en6Xu3+vgo7Tu'; - b += - '1MaSOQMNVYO8wfttTtrt6qQkYbmekiRYy6clCdwzIElQJ5+TJBjcZyQ5pV2dlWTQrgYlOaNdnZN'; - b += - 'kW7s6L8lr2tUFmGB5IX7Io/gWSC3eiKm3QuqUQcC3QXKAk28PjJlqdvEdgIBDDvpqGxgsST4BYq'; - b += - 'KnOWwbb+fMfgcX49s40+2gD/RbOXOR3MrfQpngHQusIRnLAxTL2MTHWtDxOSP8UIyJCjyIU6N8X'; - b += - 'oMdo1oXNEgfuXkb5SENdpxqPa9BTpCTtlG+qMGeoVqXNEi/g5HvgUpmDDvp4Hd6jPI+DXbKwQ+w'; - b += - 'GOX9Guw09XYgghjkrD4uRPAhszPEcK8ZYfioGWIYFzwmEcsXofvxADphxlgeAtgExBtmzkOmNUT'; - b += - '5IGQmhig/A5lJIcrRA35yiHJAdb9JH08yy/vcztIUuMFJbfz7ATYV6a/BDgBsGsBOa7AegE1H5t'; - b += - 'BgBwEWAOw5DXYIYEVkFQ12GGAlgJ3VYL0AuwJggxrsCMBmIDdosKMAuxK5QYMdA9hVyA8a1tHx/'; - b += - 'uoQ6xdjrHerCOv7VYT1HhVh/Qx01oaUUjHWYemXZoZYPwWZWSHW+yHzmhDrJyBzTYj1PnwYJVin'; - b += - 'lwPwpQqg+oeexQ8u8GsVip7Fo39ot0txPUHM9HwYK+D3b8In8S69pxDniYi9IJUGkYjnoOVrYbx'; - b += - 'HVIyQ8y4y4VENcgFqXQuwYxpsiGr1aZDnodZ1ADuuwS5SrRMa5BLUmg2wZzRYt4e1+jXIPq+zNA'; - b += - 'eZS4Ptp1qnNMgBqDUXWUvFpMP3OK4PSXdGRaQbjEl3PibdUEy6E9DZPCS3Rro+gM0PSXcUMu0h6'; - b += - 'XohsyAk3SHILAxJh9/kel1Iun4P9y4DX3uJhQHNY58GOQW1bkCe0mCnqdYBDTIAtW5EdtNgz1Gt'; - b += - 'gxrkDNS6CTlQg52lWoc1yCDUuhnFiAY7B7BFyAsaDL8SdQtygwa7QL0ds2Kc49s3i0Ocn7AinPd'; - b += - 'bEc5PWRHOB6wI5/ipqDLSydK2AoAtCXGOX5q6NcR5N2RuC3GOX6haGuJ8CDLLouVCwfsNfEsnFg'; - b += - 'YAW47CQIPhF6JuR3bQYMcAtgKFgQbrA9gdyCsa7DjAVuL2oMFOAOxOZCAN9gzA7sINQoP1A+z1y'; - b += - 'BO2xhMAW4VcocFOAexu5AoNdhpgb0C+sLUtAjbFe6Itwo63CDveIux4i7DjLQI6uxcpZmtbBMDu'; - b += - 'i7YIyLwx2iIg86Zoi4DMm6Mtwkd7kLCP7zWlglAy4Zc5ddmTpnexNFlUHgRpcH9wPz7b+eCzFNo'; - b += - 'wbIs9eYme4hydDvTbclAwE7SeBcrm5GlIZjn5HCRbOHkWklM4eQ6SM7iHC9DDNUHDTAtRh1+8Ar'; - b += - 'ThB6sAZRm8vB1PHodsFuxGZ+DLx6xMigEpaMFQkYKUxRtDjCzsDJkR9I4gH7UD/SL6iJaJekT0w'; - b += - 'WAT9YWgKSQ0UmA2DdjqdRZYD6BIhPLmWBhCriVqC1pCMDnKgZoQfSAPP8rQGUyMchgMuzXKoYEw'; - b += - 'IcqBqhB9D5UQ1O2CcokqOuzxwZSYMSE3NWZJyE2LhRTkpsfiCXJBLJogV4yFEuRKsUCC3BWxKIL'; - b += - 'cjFgIQe7KWPxA7irJuUy7a5h2r2HazWLazcQLCRnVGbTFqIJcKFxUREXY2CPBAv2HYsXUdmF8vc'; - b += - '8PfI29TXpv0adXCUfYcHFz5U93soiB3LVRDjZL/jQwiwvIzY5ysPkFc6IcbHLB3Ig/gDqDQJ1eF'; - b += - 'byOcbCQcbCAcdDOOJgf4gA/AzovZsMYB+djHAzGOMDHe+HiVhEvczRQO+oGtqvghhixkLsx5kHI'; - b += - '3RTzIORujoUx5BbFYhhyt8QcCbllMUdCbmmUg+0kuC3KwY4S3BqvSMgtiXKwnwTlKIeva9pk6Qp'; - b += - '3QenymLsgd3vMXZBbESs5kLsjVnAgtzJWbSB3Z6zWQO6uWKGxO4PXx8oM5FbFKxdyd8cqDOTeIL'; - b += - 'k0U/LNTMk3MSXfyJS8L6QkCOvg3hhddkRJkPGRcmJHlIT9IFJM6HM3REvk0VRC1OocWym2TXrpl'; - b += - 'hTMqA32MJywxucDRuEg/JRn47NJowi6a9Emm1/hox6rnN1Roq95IlVhhJTeiQ8ONKDFQPyyDEay'; - b += - '3lGytUJK7+Qif0eput2OHfSZS5gzvvErj61UYJNryc+B4WziO9L4IEiU+cIRs4Yt26bWRXYs5h7'; - b += - 'WLNg2tSmyXjG3TbNb29SuyGbF3G7NWm1TXZGlirluMzJSMbvPjOxTzO43NdO0TR2QLJiFwbgy0D'; - b += - 'Mat24YYv6kGdmEmD1lRuYgZk+bkSWI2QEzMgIx+5wZ2X+YPWNGph9mz5qR1YfZQTMy+DB7zoxsP'; - b += - 'cyeNyMzD7MXJNtHJtPV0QzIyMKvHBr4qfgeMrOCpIVFTF4e/HUsc7TlYdFh7AgWFuaPKM24alNH'; - b += - 'VWRZYfaY0oyqNtWnIosKs8eVZky1qRMqsqQw+4zSjCggg4osKKKC0ownoIKKLCeigmTBZgmuj3G'; - b += - 'BVotFrGFpJguwhhXZK8QalmaqAGtYkZ2C2R5LM1Ha1EErsk8we8jSTJM2ddiK7BLCnhWZJIQ8K7'; - b += - 'JGCHmWZogA8iSLH2xarBHUJ9MLv3Ue2QDEH1ak/hN/WJHmT/xhRUo/ZoesSN/H7PNWpOpj9qIVa'; - b += - 'fmYvWRFCj4hz450e0KeHan1hDw70ugJeZJFXdoN7gmngbyVFNROharhVOnTpCuXe39N41Noq3Fp'; - b += - 'sicS2EbhS7iMzcJ1ICUNlJQkrY1IWlfL3trSWkXSWmmFKimtaxTtANlsoLQ2RFrD4PbiF1L37tx'; - b += - 'env7OosJHp934NdRAZf5lulJ7p4aPQikwBvVF3oNg+uHFLpxG+T/AYB8VF4YMMqQAtoZAhhjSit'; - b += - '8iYwgFzJhpBSADBNLDkDYwdASC31EysGfApPQDEDtwOdPvYsaT1h5mfBkAZVKcQT6zg7RkuMtC3'; - b += - 'GW3q3U5oHfZq3c5pHfZr3fZz122xl326F0O6l326V12+1qXA3qXA9xlEHfZq3c5pHfZr3fZo3c5'; - b += - 'qHc5yF22xV326V12e1qXA3qXvXqXQwlc2vQh4X67ZC/58Qs/euHvX3jhvx7fu6fkLPnjr6D33Wd'; - b += - 'e+LO90gfuw0teeOHvn/j+Cy98ZZo0x+/2Ljly4XN/8sHnjh/6riHTwWPvJZ/5g4OH/37oS39+Tq'; - b += - 'Bo8zhLvvYPH/+tc//5vQ98QaBgLwD0t774whc+9hcnuycJCmz6KLCNn2aHseKXju2S0xU49z3dh'; - b += - 'cYvmHt2V4kKeh3gR7gO2LQTnaI2XaV0VynbVXJHmVN3rTkN1ZzToFVzTlatOfVbNeaEyj2srvue'; - b += - 'xq9uhzPzYEJdGLwEZmjJjIacEi7rM1wnHaRw0g30eW2YdJ4QgIoOlmYDn3ogFPQ5XaVCF6JhptU'; - b += - 'NVdMYf4Z7wQ9R2/gdK8bh6JjpsWpgprsmZoZqUntQ1cLMgKqBmT6FmEkTZvbrs+4qNRJCLJxLSn'; - b += - 'CHD84Idzmq0UTsqwh35fPcOh80IM7y1NgWjPS7wBJghHrUy0XGnxdksBdhqm6XaIHaIBYWdOT2M'; - b += - '3Kbu0r0+fMei2iCZpngt9e6HPz2qhr47VG18NtdE79DtVeTWQO/YH4Dfhto3od4vA0871ILTZvm'; - b += - 'khEKXLSEAo1UYxwxHlGgWShwSgkFmmIKDJhMgYtMgVSQRwo0U/dOiDMPaeIFWe7FFQ5OMQWISAN'; - b += - 'CpBwzA1fJ8TIRIvUIkU7VINIA3Gp8V2lCV6kVqEVUUcRE+Gxd6NSnLodO5EpSSadesxadesxadO'; - b += - 'quSaehWlIPH5e5iHbkKx5vY1CgYU6imdNcCkLJ/SElW6jGZGJ2hZRsFUqeDyk5jmq0EoaIkhOEk'; - b += - 'mfMBCUnYI0HmJD7Gb2ZoBkJOZHu7whSB70u+mp1nlnKk0UnS4lo3Zug9ZlatB5M0PpQLVr3Cq3P'; - b += - '8GDG67QeZFpP6SpN7SpNE17rM4mn8dmbkLvfvBxyL95YTe3ZtYgd1KJ1oQapK8ks37+R0d0dD64'; - b += - '0HQGLccW5SFNkWp5FC9FAFmsvzNCFpchscihkk0kxm3QTm0wTNrmohE0mx2wySGwyVdjkTMgmrT'; - b += - 'Gb9FuyfYSLbGLEBX0+4jqDLIM8xsRvYj4V/hhK8MfRWvzRl+CP87X4YyjBH0dr8Uef8Mf5Sv6YI'; - b += - 'gx+3hAGn8Ct7FA+MNs4+JQHi6FdaRpMs5nx7lOrZpq1TLvfx3URTvtirWl3+/q0T9Sadn9i2hdr'; - b += - 'Tbvb06d9omLaAc58vFDuVIJyoQxUvMKZ/OcT5BdVY8hE+k8RHtqf4CHZc3tMpPLUwGXkMyO6LGu'; - b += - 'QAaHKbORIB4ULfwoKa4wLpnONcQss9O7wgmlQTJsuYB4QLDuIL2SZGMudgQSC9/tJBLPo9xHTIY'; - b += - 'JP1ULwACE4EATv95IIbkIc50K+V4I9X8PeoInYawwXjynYy3GVLBHIRDS6wiuHTOGVRq5CilqAW'; - b += - 'Bwnq3ihLGKXKzQvsAoB7pDjCTOk3bUAokQi+zrDyu4rmCnwDX1Zkp5Gi14fUdQkmDlTiZku+oyU'; - b += - '7ApmjWlvw1k3hNuuKTyX1WZdwEmHYqdNOKZB5rzAaqUptcRTSkXK7vlwSrwNsVYmU2Jl7Kgvypg'; - b += - 'bjdeNxnvRSI6XOMHAcYfjbU0ON73ACvAzazgO6RPuxGO5GI4lT3W5V4Az2BecLrDaym3RV+52L6'; - b += - 'evtxFSSvhEsvdjz9KYSu59ORW+RQRW2P3ku2uAxP/KH+Gbcf3dfw3jtPnAD0R80Sn79HVT7AwfF'; - b += - 'Fd3GDh3A+6cx6DNEvT2wuVHbbsekxd3SmZ5NvuAKjb062Z+3cyvm/l1M79u5tfN/LqZXzfz62Z+'; - b += - '3cyvm/l1M79u5tfN/LqZ/xLM/IE/eJnN/LjDuplfN/PrZn7dzK+b+XUzv27m1838uplfN/PrZn7'; - b += - 'dzK+b+XUzv27mv7Jm/qGnXmYzP+6wbubXzfy6mV838+tmft3Mr5v5dTO/bubXzfy6mV838+tmft'; - b += - '3Mr5v5r7CZf+zlNvOPvRQz/z0lNUnClDaRmW/xt1UoKCFU6QzjBmC8AwoU4MUFXlzgD1eQ3VGzK'; - b += - 'w6IHAcP6M1QyPAwvoqF0RRAqclwlA9oyIDuLAW4jgF9WQrpFAMGsxiaNBMDenIUYyEG0FOMwgra'; - b += - 'TGFYDMH4NyqOM6PiODMqjjOj4jgzKo4zo+I4MyqOM6PiODMqjjOj4jgzKo4zo6oDtE6JArROjQO'; - b += - '0TosDtE7nAK0Bb7OJ8Kz8IGU6J0ETC6ZxEh+4TOUkKNrBFEoGAYVlVXEoG1UVllVxOBstKKuqCs'; - b += - 'oqD1a0kKyqKiSr4vA2WkBWVRWQVZ6maOFYFUe60YKxKg52o4ViVbVDsYaIlECsU+NArNPiQKzT4'; - b += - '0CsAdt2iTCs/Mgp4OT5GLGDMWLPxIgdoJCtgto4yo7iKDta8FXFgXa00KuKY+1ogVf5OZIedlVx'; - b += - 'xB0t6KrioDtayFXFcXe0gKv88EgPt6o4+o4WbFVxAB4t1KriGDyVgVZDnF6McSphVqfFYVanx2F'; - b += - 'WA9bgE0FW+TGb4BRMuRCn+DxPcAqqS4hTjP2TE5xS3J9CUIiCqzaAiOGoKPQgD3bOxiArcVVNLq'; - b += - 'NYKxSEWssrLeqP4qg/WlRVVRVVVXHsHy2mqqqKqao4ApAWUVVVRVRVHAdIi6eqquKpKo4GpEVTV'; - b += - 'VXRVBXHBKqMpRpSRyKpTo0jqU6LI6lOjyOpBqxrJuKo8kNKoQ7o3yF18GmoUAestpA6GD+1NaQO'; - b += - 'RiJyE/FTVVX8VMXxiLToqaoqeio/gdRjp6qq2KmKYxNpkVNVVeRUfhCsx01VHKRIi5qqOE6RFjN'; - b += - 'V1Y6ZGuJWIqZOjSOmTosjpk6PI6YGrG8l4qXyA1rBLaipIW7xSbDg9mKMW4yTOjHifB/jbepxUh'; - b += - 'XHSNKipCoOk6TFSFUcKUmLkMrPw/X4qIrjJWnRURWHTNJioyqOmqRFRuWH4HpcVMWxk7SoqIrDJ'; - b += - '2kxURVHUKqMiBpJajuW1HYsqe1YUtuxpKaO4mio/HA6lNQxbgdj3IKCHElq+qTDlDC8XixHPPxS'; - b += - 'oiYp8vBfQnJQ1KYGaJGVKKhm1BZ7Mmv1BDkjMDRVo9yfg9EXrpOjkUgTyXViaKcwC79UpT+sAoU'; - b += - 'Yld9aTJ9vRDUNeom1KsUqWhaBWR3o1wKiapZoTt9iMDWlTNGn50KlzBSlTNHHF8oYf4qVMgtDqD'; - b += - 'fFAAww3Bw0xwAM6dgStMQADG44jiLShX2kIiQgfkgV5DLW/yjJmh8lWeejJGt7lGQ9r7pLDe0aJ'; - b += - 'qMsll6Hn8SkFBbAKK57OQZBneLdXqY59aVI99cQma4ADKVFkY5wL00MiZOXpjCok+XboLhv9nMf'; - b += - 'wXiJlmdR8NSM9n3QFH6FR8tr49cGncR+lkPw6TcaZGU90RWGP8skPkWKpgBCx4dB0WjAqagfDlo'; - b += - 'c5jjGa5gr4Ad6JPZrCEOVwCrP7izpX2tFfUDP48qNm+DK1UtRBuh5XP0O3caO2mAPdq0eWDcZlh'; - b += - 'lrMGKcE5FwMFGFo3XW7jNQsQmjZip7AZswkMwuYLsFki0L2FiB5JQFbKFAcsYCNktUaIvg00uNk'; - b += - 'yMDATdRtjbUEc5ekOwxzj4v2eOcvSTZZzi7j3VrdZKzoc5+2gkm8IPwxD1DDRp3F2m4j7OnJXuA'; - b += - 's89J9iBnz0r2MGfPSfYIZ0Ol9pgb5Pg8JLwpcVCSdyrYpuLjwbEaiRsya1HqHGePSfYCZ49L9nn'; - b += - 'OPiPZSzI9ye7zeHqi2R3w8EOa8cLC496mSIor1KwYndzsgGRPc/agZJ/j7GHJnuXsEcme42yo8F'; - b += - 'zwgoma+A5aCNrrMyalzRHOXpDsMc4+L9njnL0k2Wc4u8+WsXI2VAJO+7C+os0AF1I6sZCsiqVoV'; - b += - 'S7FxCJ0Em3jXLW9X+5uwmcgX52m0ntb8RlIj7mx5OCnWuYru9gILed1zgdtowkjXxqUbObg4phs'; - b += - 'wWiZnBzHQcYxOR6DRHJyAscbx2QrBpbk5EQKPY6pSZC6iWCTKQg5pgp472tAF4JLG+hBcJkBOhB'; - b += - 'cAtB/4DKlWMRLK37laL5qwc/HzleF4gy8ZItX4sUvXoXTxi/Gws/srlJ+yQvwL//ewALYY6XgKf'; - b += - 'z+2QMBfmCwMcjj15O6So1aHTsIALjEfG8XVU61q3VQuRBcFTRy5Satsq9VLjyF3w97GCpPDq4Mm'; - b += - 'rjyZK1yNijolTPtahNUnhTMCCZz5Ula5UKycrZdbYPKE4MrgklceaJWuSVZOdeudkHl1qAUTOTK'; - b += - 'rVrl1mTlhna1O8BPm00JWoKpwbhgWjA+mA7iqBi0cuMJfBnPl3F8aeFLM328ulnr/pqgRcu1BeO'; - b += - '03IxgvJYLgglaboo+rCg1JUpNjVLTotR0vHvZ3L4RDK/8U9vx+33lvTtL3vYdTGI3aASoF6QQsI'; - b += - '4ATQRII+BhAkwmQAYBmwgwiQBZBGwjwEQC5BCwiwCtBGhAwG4CNANg+lMB3fcAPX0MWgA0TUD7G'; - b += - 'TQOQFMFtI9B4wE0RUDdDJoAoIKAugLFi1FFi1HFi1HFi1HFi1HFi1HFi1HFi1HFi1FFi1FFi1FF'; - b += - 'i1HxYlS8GBUvRsWLUfFiVLwYFS9GxYtR8WJU4WJUuBjV8Itx9uUsxnmXsxgXXs5ivOlyFuPiy1m'; - b += - 'Mtw23vvQF+ooutWHlwWUsPE4VR1iCsyuX4LzKJbiwcgneVLkEF1cuwduiFVeUVfL2aMGFa/D+aL'; - b += - '2FS/C+aLmFK/DuaLWFC/DOaHGH6+92UHTxEJt/0OHKAuWfNHfKoX4QQWAbm93Jp94hzMAvHD5An'; - b += - 'zl8rJTHb+sRZB3+2MTvjEQosrnoYfzxk0U+F23Cn2yyKMtF2/CnkCwqcNEu/GlJFrVw0W78aU0W'; - b += - 'tXJRF/5MSRZN4SIUU8hQibKAy/ZR2Yxk2Qwu209lbcmyNi47QGXXJMuuwacGgDn8emXEZGZggda'; - b += - '0HX2UGJ2QBVNj+9NY1Q5FiOATyvywzNfKfC7LhmVZrSzLZYWwrKCVFbisJSxr0cpauKw1LGvVyl'; - b += - 'q5bEpYNkUrm8JlQVgWaGUBl80Iy2ZoZTO4rC0sa9PKEKt4qMJ468R610C9znbCKWB6NvElYRm/b'; - b += - 'zUPv9kFkHnMnAkqGHQqg36T83G1IodWld9EH4icj4sX2bSqfPHGkodFi5lXq8pPkskKZbcxx1ZV'; - b += - 'OEUh7qHsdubbqgqn0bbHsjuZe6sqDJBRD2V3Cw9X1YANtJTFwvuEk6tqwG5bymHh/cLPVTXO0kN'; - b += - '5KHy7cHVlDaTU7OEZejbKk5ChaduMiYpHoRFD25VlbszQbmWZFzO0V1nmxwztV5alYoZOVZalY4'; - b += - 'ZOV5ZlYobOVJZlY4bOVpblYobOVZaBpdMmoARDhziNZSzikFBXLWPpm09S5FcWuYy4ahmLCPSkq'; - b += - 'FBZ5DPaqmUsoi8lRa2VRWlGWrWMReRlpCioLOKPvtaQsPSZUSlqqywCzEnRNWNgR6MmOxojsKMx'; - b += - 'AjsaI7CjMQI7GiOwozECOxojsKMxAjsaI7CjMUZ2NJgdHXyIA3b1TyYpS+xqTz6Byo+v2KOfXiE'; - b += - 'gV3STXiEgr3w3EMigLU71fggZssUn3gsh3aFLeyqE4AsD8hYCf2jFDzN4rOyFGXSvT4WZIarmSp'; - b += - 'cuVpMMHr+mwkwflfjSG5VIZpAynrSB3pxoEvS2gtwHD2HdsDc8APXDDoaoa+kATwNT7G7PHwwy0'; - b += - 'Xmy5CecD+0K50P+iJCd9D6kbwgBMOl+yJ87siv8D/njSXaFAyJ9jAmgCSdE/nqTKe59sOeY9ApA'; - b += - 'aon5vq6SQ99As9EHxwx98H2E9dkluwsdadBraJS59Fs15oLe39VzQZ/lGnMxasyleh74AgIO3oI'; - b += - '9zUSnUHzoTW8D4EdkwrcBPJhYkFpyy/596JjkoGdRF8+6x2ZvO3S0MUO/fJe9RcnZ3uGPWyEY+7'; - b += - 'WA6/0QCe5oBK2FhB6rJkGtmkhQNQmqahAU37kwyQu9wN7z/MFZdsbOiDO9Gb5V4LGHfAPhzEZnK'; - b += - 'vruXRexQOAxpjwE4osEmSBPDnVm+DoB+WaRrxUhRSEOCWn8lTCs4oQ+cznG4YkIh32IQ3esOOxT'; - b += - 'NXDYW5ORelQtHHbXxOGQWWtRmITDPlVqZncy/jCbNuNSnjBm4oTTiFb+vBh7SnviDm+Gryx46C6'; - b += - 'HaGdPZg9JEq4nwv84/t5hFzMtvr+R4y9PMdnEm1Vj3hbyX00R55LXfoj1oyHWxV9yAmNdXPVxha'; - b += - 'jLwXq/WQPrfWYtrPfWXL49Zi2sd9fCOpmg5KjdCnNmrIuTYpb99EoTscI2RDq7vprxWwpNMdL5L'; - b += - 'YUWcio0Q4dhT95jaOSPWTOlxkXIx5cTiM/x/Y68uN2a4Rsgudi3FAmF9EFi+DoxaOngKxQFcbo1'; - b += - '45csIr9ek99EiOkl7yM47Nod0Usc8nFRmZdDrwGjBr0Wb6xBrtm1qBXUIlahilY0sLtLkwDHyNg'; - b += - 'tNE6Xcbs/fKGGcDuZihz2FM+zXHDEKTVy4Db5jZs8fztbw3cpg1jOMZZzEc3PJ2guwsdA4vvCNu'; - b += - 'IrmmW/YuQXk1+KGAecVeDVaumvjQj58M2KmHxHVQ3y9Zk6+eT9Aif0vB7P5BN3c6j+gE49m93Mc'; - b += - '+Q9a4ZvQzTKmxvo/NvMBY74Ek8Wt2iTX3dxIyTKGzFJJKIXfB4xlmGMZQBFKHwBdVlypzbLoTe1'; - b += - 'LrYH6T0Bnxy4zfA9gXGx06/JrxI0R6iTlw2SqMP3EQpAIkbdCbMG6hYj5mzBnLz74ITe5k3sKE6'; - b += - 'UD8fNYtEtjWf3Xf4sHW/ME2LM4AtdDn/GW8MJLBXARD7cwTKEZFyqGUAG4/986PCuY2OIvLp9oY'; - b += - 'T4xDcnsIE+8fkIG+ITn8TGbERGkyBDfOIjZDSw5zeJH949cFShvLoYyqvxIq8iXnMFYzz3ZqIdz'; - b += - 'h0n6vJEm9hjmoXXxdB/O62vNBOp4Qsfidd6PvKZpvd4cZ4NMr2Fydnl2MXbJTKxUzULxW6PNK3z'; - b += - 'ribPmBsdHho9FUdgAccYqibiY54KGZmwV8CxhhtvW1LTSLFXd0GQIp79DrugE727ZHQ+u5Fz31C'; - b += - '1VfDqa77diny7VejbTdSmT7clA7Ir9O1W+EA19O22E77d9P6Ig6u8aJd9+oQbdhb6dic7DGz07b'; - b += - 'bFt9smzqa2XY/RhzN9/HCm+HbTBwLr9lfd/qrbX3X7q25/1e2vuv1Vt7/q9lfd/qrbX3X769Vsf'; - b += - 'yVDaL0M9pcWQqtuf9Xtr7r9Vbe/6vZX3f6q2191+6tuf9Xtr7r9Vbe/6vaXZn8de7ntr2Mvxf76'; - b += - 'fyerhr0K7a9ec2MpO8NQi6v/g9re9pKyOYMBgEpWeeYKmJm11F5cNopW1sJ34dWu8uEvPctvDTU'; - b += - 'GRtnuLDqBheAuvLV6Z9nEgEbW9qIPtbMrcmYZoxxdgp3G276RZueQh27QuCcAWhUWkackRkFi/1'; - b += - 'AEo3tlWOIPW5IdpgSTRaAxbD5FxB70rQAhWTMDA20rX3r3Z43CrzpGJvBxYoE/0qigA+lO4cRgT'; - b += - 'qsCoBHht/BUSS3NYXCnq1cCnQ1CQ2cZX0/mmE9mZ9FCeluQRXL425fm7Ai3q3JmjFs7o+MSEKhh'; - b += - '046xaS9eYhQLQAkYtx0jFYHRFJZ0f/Zr11Xglp2dw5IK9A5fmB2+cDgkKw3J70Ukj4ryGuO9LKy'; - b += - '7I6G8AChXgGE7yGKsHLNwzC9aIYMDglfZuIKZFuULwNhlRYQIVOGHZtFFnscsrUIgbjGFkSU6ix'; - b += - '506cIM7PJeXNseJLDUpkmlluUwMABUs2n8uPjhdsU008KH2aVhBhm1mN7+bcO/lZM3lhx7LzTbT'; - b += - 'XG7kBXTT5cKS7q79/3E3QOinHGzd3nOpE5hQJkEnm1kmZCJkU6Awh9+4NfMPYxXWNZ7YW6I1qdK'; - b += - 'DtweX/RTnYhElCMO4KtsZYiUJg08cPBVEHyRWK2YXHQB/07WpIhp0Eq7MaIoSXHCn4XIftqfhAQ'; - b += - 'SWgTbmdk1UtgxKeyIFPjK1PNICjtBClNI4Qsp0kgDEsEWUQGyDuHfxzdE0styVoR9ZqkU3ijFmE'; - b += - 'fch5jHiG0bG5RnmBlpkXUz6NOOt0E0WPSOYpBCerz7G59+2g/pAZTfWEqV9yyjoStpiRxSkhcFQ'; - b += - 'kr843v+5PsqbJYqP7aMGI5GmtLr/XtKp5ct9EoJvWyhlwUrM0ghyZxMMcWDtmjmKCeCVIJyQjU7'; - b += - 'QTUAWDhc4W/AeBW5+o1qeqVjenkavdLlfV8Genkj0is1Ar1sXDSV9LLxRl4Netm16KUCeyOIygp'; - b += - 'apDUq4mBkaXlEyr88+n8yIU1soAm1tCIq+lVUPPf1b//AjVt0cQs7apGtavFvn/idr+TiFv8Pt3'; - b += - 'CiFoWqFs//6IW/aYhb/DfmlJZQEkf13vs73zR0XvGEV2zhFS/ilVYgL/KKnwkFksYrdi1e8Sp5x'; - b += - 'dV5JV3NK93miLzSkOCVXuSVhtF5ZXhOUSNySi1usX1lGlbE9l5G4xHhISfiIZ2uTgUPZSt46NJz'; - b += - 'z6va9HVq0/fxT/1kmk5eauBGDVqqGvz4B89dNOIWj3ILL2rRWtXiE6e+/NvaoHZzCz9qMaWqxYX'; - b += - 'vf+Z3NDZ9F7dIRS2Cqhb7T3y4Nxu3eCe3SEctZlS1+Po3//Q72nJ7hFtkohZtVS0++pMvfjIdt9'; - b += - 'jFLbJRi2uqWrz39KVT2uLZyS1yUYvZVcvo72x9ETVULKKGaBHNk0WUH/Miauis3hVrLR3FSyetL'; - b += - 'R1PaWq4WZ6My8dkLcUrn8HlM5n7M3H5pCIthYNhdRZz0F8KVkwax+njG9YEthBUhNnAkvFpj8+x'; - b += - 'qkK1aC1hSBHIpf8ve28DZNdxnQe++/feffP+7gwGwAADEv0uR9JQBCXYIgYURZG8KPEvlIrcLVa'; - b += - 'KpVKlVLWuWu2A69UMaIYVD4CRBMlYG7ZHWqwNx7A1iZAAsYFobMM2HDPxKIa90AaJRjEUw2t4Pe'; - b += - 'uFLMiCs1NryIFlWNzznXP63r5vfjCkaFvxgkO8e/rn9u0+fbr7dPf5Yfs5XVk30iqNtAZGF3ZU+'; - b += - 'EejivZre7sd0zjT7eca8SgN9rDljm4coP4HqQWxaWN3BEV9cCZTojvWf6DMRQr7mJ2/9IXKkzRF'; - b += - 'EIsX0b5hGMwkc1ghhilFIBP1B23KZJ4QtmVbA6Zg2bCU8agD6oYqjHc7YAgnsbBEMvcnPHLXqAQ'; - b += - '1NMS8EDJnDDQhFGMCINw0Kw38AQMOSxsu7+Za0c117uYmTjhHKh0g1H3Xd989NuzHBwPs0+aCvW'; - b += - 'mMfZrx7q98uFXJFgm/sHlXGccSqvvOGQ9rA/aKOrpph/gcegmK9zvp+6mfdEQL3ePwVgn4SV19h'; - b += - 'uAkL09BRDVPQqaKmD7amXw+fhxbXFFqp1SJavkNtdjvF+UgUzdwLf9KJT29JJIXJNR4vuVZ0799'; - b += - 'pvEC1Z0IqM9adtOcGLGc2/TxGUMuDTqVNnfzUR427LLH7/aV7fuuWZytVJML3i9l4dyAvThM7fH'; - b += - '+mzM95akfCLHOZPFGMYzmJU6ZtymlTy/ZT/fJx/v2eJ86xB/c8+jhno/0Wk22b+slWyEM23AsJz'; - b += - 'P6vJ4GL/U02Hl3/W1u/J1piHoMKfeexNAHmPIX/ILChZox5EKhapp6K3mLRstkTZuycZS1HrLGR'; - b += - 'zzeq71Rspb6RCuVSpOg4shErxNBK1eyT6r5+jpa3n79Hd2Lmjfc0bgKreSdjJDt5Ip8RiZIL+lQ'; - b += - '5Stc+YpMVUISFa18xZ2qKqh5padPK9YWebk/K7fpzwoqXCkPseVFuZVZGwFuecubxOj4bmlSUZn'; - b += - '/XzdJO7eW1J2CbYevPvBWw4oMvBLt9gw8FzFeqTnOV7VJlfUOvBKGmC8jXPDgyp6zlXucOehXaP'; - b += - 'skFeNDrtDpsNjpMGZKmJMskB30MgHfUb/ZbYCUF7zuXqPZI6nLLVQ3EFdO3RAf0K54TpaGMCfOY'; - b += - 'DXifPPbersS39iEIhfst6uocFjrrKlc3xCn6OBN7lGCnHwvrEW+t63TGyThatLRulXZSUe5itK1'; - b += - 'eRVNdY2uZW69VL1qfqvzBvt27SLtHdTr6ljb0mved19TKw5zwEOX9tiWjudzXnL9nAE2hRXdDOm'; - b += - '2yHJ61Wzpn35BOQY+jkqGaCMF0bCRSuPfbPVrsjObCXlnhg1ZoNyhbtb5tMpuyYJxPj/sBnZLJu'; - b += - '3hPTJn3MnHncvz0WZdOJMg6fB5BfZWXEEEOA67s0oeyZbIkFTnzxdbPQkFHA9cgWVMozyR9zF5Y'; - b += - 'l7CklfCikTU8iQpTr4pXLRsDW0pS56zNwx4rgkKdtu9M5VjTd5pcifWNbuE+p7nNZ4vTuumTxdy'; - b += - 'nAr6jD7Jacd6n6mz3yeHwhq7+WK4j6kBV+d8TO7cjq5ZnFuxBhe+f7eVgVO3ikxd5TLptQVu8Kx'; - b += - 'f7AGLjyzYj9TlM3W7sEMsq6eo3ttl+7ZgylGI7HNumBlRXk/TFnqa5ry7/pZp05j8poNSE/MYWR'; - b += - 'UDFqa0hLBinzPl5X2O7Ovrc8n5pvV5b3FuxdaPmZWLfEM9XGDi9fVwb0PecA8vcs8Vm18bIz1bk'; - b += - 'U+VD5aI7+lhzAOHF67nK1Kfs2qU+7ZixR10atd+rdymX3sZvJWLciuzNi7W2msIHr5rmrR4p0k8'; - b += - '20byohBklQ9EyluOYptRNxHgyGlk7DRSSblUwTDfDL0ZbQ158bXlha+zpVUZes5qPY2Q8xFd4te'; - b += - 'Ye9baNtq3lRp65h6XILxS05yvhsu3nOtuX0PMF3dx4w4uNFrOhUY5pYarUeqb34m3K9FF2+voTV'; - b += - '/PFIUl9G5TYeFxb19bcTnY9Zbvp7y8Xy+s1a9ar3J9vO+8b2u8VHDd+JJv9a1yvThPXbF7167eG'; - b += - '+rf27TY7txfT+faljJFf5c1teIwDjwveSz9zLS88w0wvDXhBJO63VjNeD37p5kQ+6df2uoPHqxi'; - b += - '/7TwGW9vGtIGyvBGKMxmeJeSHYTQ4NQE1YF2jvdXWDLtpckUl6RFpgM4u5FMAWeqcqaIRb8wr33'; - b += - 'swk/80T+iXezHL1RpTxuO+qdnvLQPl3qj/ikC6yxHEGTbX4Lk1RkTnDHRGVM9s5+Nbos5zM0n09'; - b += - 'o+s5mvgZsTpraPZTeHOFbCuBX0Xkpr8EYxMZl5+/iC0HuZdoRVekzSpxsQW2tkhrEU4lPRmT2v/'; - b += - 'erXf2bjlHxov5rZ5KJQBu37tv/AZOqbvjOUnepDbTjARsDN0B60CxfhsBBu6mdMbmM83OWfmPHw'; - b += - 'mKXHUN4Oqv+3Oceh/VyGNG2LhfTjqb93DCgiimgIznIMEnXspd0iRU6cyQ2GT8GxDYWtyXBYRod'; - b += - 'A4NBJvjedZX2NXf7xGa87TGXG7DXAbJk6Se9xwRPjbhdEQH6A5nIXOPVkZG9xugAuUjY7XeC/7i'; - b += - '6I8J11dkGdu2CzdAHjfHPeBdukRxT/2yyQm4gfNpuLXtiy7l449Wb1wi7/2B30v270n3jz0H/0D'; - b += - 'vpfN/pnGf0RzSGMcr8HwUOPAKuYR5f1xZDg/hFQPWXIUe5blI9hOtIlJPm8T//jK2P+kRlxP4b4'; - b += - 'Mf8wh7zkK0ilpHE+coQUyKz/Ita76RGcZ/rJL7MTXxghJ6ZcQ9dZcILhxRF1Q1Zy3zvzFt7tOM5'; - b += - '5r1d6Ymb+tALxHd/GROi/KEuk/+6v/CRhKIA0eLF6QwCG1kPrkXjcQnEONXMoyaHBHBrKoW05ZB'; - b += - 'SC7FcKRyG8XSDKgpjL4v7xLlEcvq/ieRX1kQzBvSbfLbwIBjaATrNvGk+k8bD1bige+dgpW2T6W'; - b += - 'GvaTYvXSGP/fOBRaBsAZ9PDZd/JUkmRFPezfg7wySzjsyI94QOp7AxXnMAZjgiz+U9TX6NxMwCa'; - b += - '2cPdPiWKbpwFNAd4tB3Z3q2xMNVBfKA2wU5Ygpe7A1SjvnFAbdx9s1g/DaeYWJVheNYGi0IMCuF'; - b += - 'iAOCk6X/Z1CbSeha9TJMMS0zBQd044Tet7+22UK8nux1mi+ZErOZvqosJl48S3idMC9oaeycm08'; - b += - 'Fs+0R3Iw+B6ZEXx7nzN5U6X91jS13HWcVOKaAOCmgRBWx8Im0Nu06zkzw7a4SNmw3GyRDfLgM70'; - b += - 'bYZEkJ/fdwkRYY1CKJJf4OEeJ5xnMHZMJD6ZBDEJmVnleRu45kOC83lYzEUyiLO9rC31iN7tFvL'; - b += - 'Qr5LwYx2mGcTop4fJBqmEiyp+OhsIIkpxieKAbl4L2WPoIZCImjDy2nf3pxp/9sgjIM06CaIUJk'; - b += - 'wUlolJiZpBJQIY2AtwqibAUsYfSAM2kOY/ifSeokw2nn2Dg3x9rjpmHqJMNbOUCKMNo9LqMytkz'; - b += - 'Bqr5MwWisRBq8qM7zWEHDUAscscNwCsxY4YYFTFjjNAO2RsGn6zDb/LlHbgtkMf0TdPhuPL2jou'; - b += - '1zZMHlF5Q/gMypMPmvdigYSkTuIC/hPsi+yPAwKk1dDx+0kBNgq2fy35yvjmjPMvTfKGyICt8QS'; - b += - 'EFKeCFEhPq8CfJ8GReSK1Zh2qsHa+E41JE1+WZGc3sCb8smKyhmcBQo0CkipIgerJ3OmCg2u+Y9'; - b += - '9oeK2Yd6K6XGvqks8dq2J/eriX0m7p512V8SDeRpm//bEvx+CY2V2SSiuvAU4aoEZCxyxwGELHL'; - b += - 'LAtAVueQrctMANCyxZ4LoFrlngqgUWLXDFApctcMkCCxa4aAHxtG7C3A375Mr/pdHwGLWaRnYoR'; - b += - '1MY1TS/AFNwKEi4mgZmIzvIQlbVyoaeYFlRSM7eLj/kJlRYGkTQkHaXKRt00bBkFQj4eonJNHp6'; - b += - 'VIinQrWdXqG/pZQKG5CxVZCQDC4mfI4oeW+1g4GvDlehaklbLD6ZvMJvBqV3+Ya3XNmckH0n/na'; - b += - 'lcR34FDMfqbBR4xejdIH1TP1VkSoDW9qCV5eP0MWeOukb/nKk8qeddLcsGNXhr5bdS+e/SNdutr'; - b += - 'HJJ3yWvikQHWezr82Xxrq4lEYR1NPT7ES3PNeJF+Sq+vVyk2hV2QvVkVF/KQSKRv3F6r4JE+yzP'; - b += - 'k5H/RuacLW6z4SSdFWTbmrStSLpmibd0qTrRdJ1TZqOJGmpSFrSpEOadKNIuqFJhzXpZpF0U5OO'; - b += - 'aNKtIumWJs1o0nQtT5quSdJRTTpUJB3SpGOadLhIOqxJxzXpSJF0RJPmtcnTRTWmtRrnNelQkXR'; - b += - 'Iky5o0uEi6bAmXdSkI0XSEU1a0KSZImlGky5p0tEi6agmXdakY0XSMU26oknHi6TjmrSoSbNF0q'; - b += - 'wmXdWkE0XSCU26pkmniqRTmnRdk04XSafBUcXCUTGx8w0BGMhIyZ6d1XL+aJ/lByURmWmXicxVz'; - b += - 'Rzlmav7LMu47pJpR8QzvL3GcAYojSGZtaOeUe3OHpFMOovLol/h8xIgu9qtcX9UcdRMXVYVVZSF'; - b += - 'arfJHV8Fy0y0Ue22mXyq3Q5TWBUKHKP+q1Vszkb9c1X2j1mRcStInasKeaaDQsHpRiHydJOMg3S'; - b += - 'zDJV0SEZTukUGXLpVxmQ6LMM23SYjO73L6PBPN7jrJm3+7hYviNlrr/3ll35w4gxtYijfWWJOhs'; - b += - '9METP68185QJF3n5li54lTcGe5AUdC20/i9EYnGLz9pR/G23cRA81vGs69/WQ6gNwbJDNPOdvgn'; - b += - '3n4DL307dc+/01vgjJvt5n7kXlAMvMkNEx7JskMuy4HS5kTZO6XzDwtbYUWDWee/We/+WvVUuYO'; - b += - 'MieSmSeqLcR0S2YYhymX3EbmjmTmqWsIbpU486Gf/IPPlUtuIXNbMvNkthn+mTgzLMyEpcxNZG5'; - b += - 'JZp7eNkFljzP/ypf+8+Vy5j5kbkpmnvBg1UUyw0xNUMpcR+Y+ycxTIMysSOY/+dyhhTKe+VSvLp'; - b += - 'l5UhSXtBQZSOSRmp5LBPkKtlXPJDA8YYwuSn5eHD+DjXUXZB0pPYs0j6Lk723VwHQpC+ujLY/La'; - b += - 'FuAXY2+EmhyzvcEyvVHPVy/bD00VjUycU1DM1NtnEVWwFPXMGXgisrOHH375BinhlmpPs7yKchY'; - b += - '54x102cz1vOM0LvtLbFWlFjbJ861AnCKQ8Vxj9URdWqEOq9So6hUI2RcpUZRqUZFictqVJodA3b'; - b += - 'OzTOi+N3uWm/dSXcf9pph4eRbwQqbdbFeurl78pCvpjzOG79z0MOeMNmbNsSSB7X+m96z4WPE4U'; - b += - 'xlcRYnP1fLBvkxniXy3Jv9w4lsPza9FY0iJMHhIE3HzwybygdaYvWAk7phdu6rv40zisfZeEe4F'; - b += - 'xYTWD0STOm0/3SrsjXbTiDMTzwDRckwAzMcv/zfp5W92EkbHGTszR4Zb6Q4DMjOf+23eauRVkKc'; - b += - 'qlaT2dpLbEPBC7gByYk4JSaSChYVXNp4P0swpRs/DVoVa36kkg1yMWBYfaaVu17Owglqp5T+5DA'; - b += - 'ShrvoM4++YCosKAIFxG4Fd5Rey2/gszQIqi8lv1qzLZ1IqbEBVeTbtY+UK0zRDbmAlWrSBv1Z2B'; - b += - 'Dci3POpydS+prHLDcBKOB4LeWPehCBzM5f4+JTQtyzYCnB1u99dhj6QYhLvhR3q/TSv/N93ApI1'; - b += - 'zzL26cwmY4xDyT/BJes02yoAsEv+mJiI3iZCCt4KXuVGkCkT51zVpqC03PjvZRCIxvLeUw7LE5D'; - b += - 'Z08yRTe4ytUxeJDEg+3uycMb4xdw7mrC8eR3q7jJ/XKcBkQL9OEsETpRIvpB2qc8M6xUo6rXB/G'; - b += - 'bVwbnGVTVystUrWACO8PQIuUDLZokicK0C4Dq2go9QGMjZhqkUQLkhnydLpEgFJzSPJ0K9tFE9E'; - b += - 'feDY0CzxHjOcfy063IYjliLOd95cFIi9eD4Fp2UZK71eWIpq42NWA6YJse2cF9PAZwQhe8lNI++'; - b += - '6vaFiiVCv1WpFwiWahtmMoYe5v1x9zuyg6Y4B9OsP4oZJ2Cl6g7aO7+ckyDoUZfynCivZ1IF5SM'; - b += - 'Ql6aAPaA6dJXA/2qV/6qZ7/qOV+1jaNv+/rtQLAUMBqZNwxeYty7SKuwfih6ekWcOeSJsVeh+oE'; - b += - '8ay55UkWYPGuNLiwtMXlWLHnW5EE1jhtcrKj+4vNq+kXwUu2h9RpovdZD67WC1pcVBsMxKw6Alt'; - b += - 'fotZnkDu+naQK+UARhmqahszGV0zsh01wd0jO5GZkG3ogx01L1640cZz7PFYQupVcqH0l8Rms/3'; - b += - 'BVIz22pokQgviCiztYMQPjaMA/vcWP1YsXD1OJL5+pLcQPVibvN7BIyEhwSw3RJPjaechGX8cHL'; - b += - 'eUu5354ZHmMF+seyBUmgyl4hSGRXko/FJobRhgqVzcMSM8mSLeJxQ/389GQLRE2Z/3mMmT85GZv'; - b += - 'mk4BST0aOlpz6HwgPwsM21Y3YkmeirNKgKZqLK8qETV1MTbwumz7IRUl9VFLfY9V6lo+SOmFy6/'; - b += - 'n6E9Tj9qvdev5+IGr5pv6BUNtWfwbS7nnjILLTIKYSabT8Sc+nnb3Z/0AYBClVhCoqeyHUgyM56'; - b += - 'WFiQJ4eTlvoiTaxxh3pOyGhbqDldCPN3fW5bmw8mMr0pAiPCAajtIaeAjkS9xqzvAzt/KAvsTcN'; - b += - 'xsTxaobRFtryI1u+b8vHsAmoLPZsThPX3vFx5L8OPE9PT4MWuJbTMaPmXh+q/23cQFyV4G52jpr'; - b += - 'QI7uGmjRRp0WuE6ArXHtAyG/aBLGcFNMspipqQ4hRmmLFeabFOG09QWsEPUwd/mmB4y/FyeUqH6'; - b += - 'pihUQMrZBxY9lk5K8yBfkrTUE+piAfuvuxqPA3cWshD0xBTKkgC6w5sboehnfcPuBIeiRSfPLMp'; - b += - 'P3TrfDFaLQXHD83tMbnijy90sf3gh6o0eN7WedYie9JHfp8fvuEWBCDTbDMe7IVWfYpUgxgkRNz'; - b += - 'Ks18qdHpXyZ9boa/2qRPbPXLOu+HRDJd9kXPlNiMZDSYnLbsfAepxYpQVUWoijg8XaWECGUmw3s'; - b += - 'ooRjKsqTY+UjfLU9JVRnajGVmAR1E24LyivSNJzdCWEe7mFeU58fzyyuKyU9rGUCQjRoKQgoVjT'; - b += - 'AR/kXfyRG+CfRUE3ri5acmHVFjerLfoWnxBur72vax246aC+g41IXRisB5DZx3Uy4jcFEDF91si'; - b += - 'whc0sAlN9s1BK5o4IqbbQmBqxq46ma7icB1DVx3s03/MQVuaOCGm+0wUm5pAM882yE3ZQYBxCBw'; - b += - 'xA0cQ+CIBo66gVkEjmrguBs4hcBxDZxwA3MInNDAaTdwDoHTGjjrBuYROKuBV93ABQRe1cACAuc'; - b += - '1cN5NuYzARQ1cdLMtInBJA5fcbNcQuKKBK262JQSuauCqm+0mAtc1cN3NNv01IF4DN9xsh5FySw'; - b += - 'O3/tjJNoOUQ1/TznKzHUPgiKYccbPNInBUA0fdbKcQOK6B4262OQROaOCEm+0cAqc1cNrNNo/AW'; - b += - 'Q2cdbO96qasvvCVFtZ8sU6x1vDq6SysvDaOQwh8r4qh4lLYXVh9W75l5LqcCQsrb1dWXFjBQwQu'; - b += - 'O/mBVuU7nUmJtaNt8gh9vfHDW/yqqDPO+nvT6kjF2rlQIw47IapMO7dxVp7selY5sap6h4VdmZJ'; - b += - 'SoS8aivZGqmxahhNmvFx1sdcqiyqLxqYG+61itEaEm+u7reVVtfTard3G+kRhYabmWpCIHesTVJ'; - b += - '7VZqitWhXn3TrXa79Upc4GYmtWKLq2zPoEZM06vTZwPJWvrpVqGDvGQrhSlbXrVJsqNer26LlNE'; - b += - '3OVs/W2r7dZaknou69pbsXW37yVi6xJoTWrVAPnBt/9ZCiiDlYTtfjA/HfUrPk32Kz5N6VZaxYp'; - b += - 'FCQk/UYmjr/dpi23IaVGazrgxaGCKbO082lM0uvrR0iieKKRYhv9nGwIwrzBF9Zq8Opf/84aXZF'; - b += - 'GysICPTna9C6bYkpDSWu89vRSrtt3NLWUi3Ir853Mmv/VNwlH7bluPxtVYQVMbebjqtaUVqSJhQ'; - b += - 'KmNjJ2Gmmk350KugZ23oy2VhwFzFhcTr2OlqogG6tcFqNelpeUt5Ovfxp1V83XM9fkX628adPon'; - b += - 'YZ8FzSExgBUBiuqQhi5E7Wwj5HWrbI6f/XmD6RVSlRdxDfKZUGueNbHjebXN/l3y17E0Baq2zbR'; - b += - 'CHtDwB1QZzz76EQa7U3rvEmpGgI7qc0QOBkaRYYmwMzrDkIg8aXugMT26V1pyLZWIzYrmray4Fm'; - b += - '+kZqa6CYqvFyXK23e2/G5GbZUdRNDSLkfkf1uZLxSZHOy53W1UixSyCaxeA0m0irfZq34TQgXy0'; - b += - 'Um5Cer/BLqyNV3ax5TDPQTOlKKx7tSWwpsGVHNWzgDbrmR8UqRVPPy61rzmlg0j52ae1zzjhUAw'; - b += - 'OlWT82r7AnCePYlqOx4E2mLxg/Uk5BzIIOGUDDRreHIciCrSmtgJsfLE9Ma+ioRg+M1+A7o175q'; - b += - 'sLnbNFLB9QaqO+kEYjfQdAOJGxh0A0NuYJsN6HJVFW8U/dKkmFEglcjzsbC/SJhbfOWNLTXPbZA'; - b += - 'lvma5QU23QU23QU23QU23QU23QU23Qc3VG6Qk2XqcRk38eKuSV2WNZslwyqovpRvhjqENu8zDfA'; - b += - 'HQ3UaPcLJ7l9mY3f396abMM/TvmeHu3URIt6TDtxPoT3Q3CwkbpqnukEFXZ8HT3S4PUEAp1aUNE'; - b += - '+Z1eiQQ+w+TGd+0R/0hojF6bMO1w6ifUP3oMUjYvbu7lcY/BgqmrJjgVgBEJ6ztC5GGiOWz+ifO'; - b += - '7E9HVFnNNxSc2p++hcLpPSfTDfRCa98ElO4ApC1K38vH9VUT7zMbaOzuY5DmQKRA7ihBvPGhoEe'; + result = new Uint8Array(3 * (n / 4)), + buffer; + for (let i = 0, j = 0; i < n; i += 4, j += 3) { + buffer = + (getBase64Code(str.charCodeAt(i)) << 18) | + (getBase64Code(str.charCodeAt(i + 1)) << 12) | + (getBase64Code(str.charCodeAt(i + 2)) << 6) | + getBase64Code(str.charCodeAt(i + 3)); + result[j] = buffer >> 16; + result[j + 1] = (buffer >> 8) & 0xff; + result[j + 2] = buffer & 0xff; + } + return result.subarray(0, result.length - missingOctets); +} + +let wasm; + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +function getObject(idx) { + return heap[idx]; +} + +let heap_next = heap.length; + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +const cachedTextDecoder = + typeof TextDecoder !== 'undefined' + ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) + : { + decode: () => { + throw Error('TextDecoder not available'); + }, + }; + +if (typeof TextDecoder !== 'undefined') { + cachedTextDecoder.decode(); +} + +let cachedUint8Memory0 = null; + +function getUint8Memory0() { + if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8Memory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); +} + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = + typeof TextEncoder !== 'undefined' + ? new TextEncoder('utf-8') + : { + encode: () => { + throw Error('TextEncoder not available'); + }, + }; + +const encodeString = + typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); + } + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length, + }; + }; + +function passStringToWasm0(arg, malloc, realloc) { + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length) >>> 0; + getUint8Memory0() + .subarray(ptr, ptr + buf.length) + .set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len) >>> 0; + + const mem = getUint8Memory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7f) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, (len = offset + arg.length * 3)) >>> 0; + const view = getUint8Memory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedInt32Memory0 = null; + +function getInt32Memory0() { + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32Memory0; +} + +let cachedFloat64Memory0 = null; + +function getFloat64Memory0() { + if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { + cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); + } + return cachedFloat64Memory0; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for (let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +/** + * @private + *Initialize function for the wasm library + */ +export function initialize() { + wasm.initialize(); +} + +/** + * @private + *Encrypts the data to the public key and identity. All inputs are hex encoded strings. + * @param {string} public_key + * @param {string} message + * @param {string} identity + * @returns {string} + */ +export function encrypt(public_key, message, identity) { + let deferred5_0; + let deferred5_1; + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0( + public_key, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc + ); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0( + message, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc + ); + const len1 = WASM_VECTOR_LEN; + const ptr2 = passStringToWasm0( + identity, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc + ); + const len2 = WASM_VECTOR_LEN; + wasm.encrypt(retptr, ptr0, len0, ptr1, len1, ptr2, len2); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + var ptr4 = r0; + var len4 = r1; + if (r3) { + ptr4 = 0; + len4 = 0; + throw takeObject(r2); + } + deferred5_0 = ptr4; + deferred5_1 = len4; + return getStringFromWasm0(ptr4, len4); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(deferred5_0, deferred5_1); + } +} + +/** + * @private + *Verifies the decryption shares are valid and decrypts the data. + * @param {string} public_key + * @param {string} identity + * @param {string} ciphertext + * @param {any} shares + * @returns {string} + */ +export function verify_and_decrypt_with_signature_shares( + public_key, + identity, + ciphertext, + shares +) { + let deferred5_0; + let deferred5_1; + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0( + public_key, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc + ); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0( + identity, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc + ); + const len1 = WASM_VECTOR_LEN; + const ptr2 = passStringToWasm0( + ciphertext, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc + ); + const len2 = WASM_VECTOR_LEN; + wasm.verify_and_decrypt_with_signature_shares( + retptr, + ptr0, + len0, + ptr1, + len1, + ptr2, + len2, + addHeapObject(shares) + ); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + var ptr4 = r0; + var len4 = r1; + if (r3) { + ptr4 = 0; + len4 = 0; + throw takeObject(r2); + } + deferred5_0 = ptr4; + deferred5_1 = len4; + return getStringFromWasm0(ptr4, len4); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(deferred5_0, deferred5_1); + } +} + +/** + * @private + *Decrypts the data with signature shares. + * @param {string} ciphertext + * @param {any} shares + * @returns {string} + */ +export function decrypt_with_signature_shares(ciphertext, shares) { + let deferred3_0; + let deferred3_1; + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0( + ciphertext, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc + ); + const len0 = WASM_VECTOR_LEN; + wasm.decrypt_with_signature_shares( + retptr, + ptr0, + len0, + addHeapObject(shares) + ); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + var ptr2 = r0; + var len2 = r1; + if (r3) { + ptr2 = 0; + len2 = 0; + throw takeObject(r2); + } + deferred3_0 = ptr2; + deferred3_1 = len2; + return getStringFromWasm0(ptr2, len2); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(deferred3_0, deferred3_1); + } +} + +/** + * @private + *Combines the signature shares into a single signature. + * @param {any} shares + * @returns {string} + */ +export function combine_signature_shares(shares) { + let deferred2_0; + let deferred2_1; + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.combine_signature_shares(retptr, addHeapObject(shares)); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + var ptr1 = r0; + var len1 = r1; + if (r3) { + ptr1 = 0; + len1 = 0; + throw takeObject(r2); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(deferred2_0, deferred2_1); + } +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn( + '`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n', + e + ); + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_object_drop_ref = function (arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_string_new = function (arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_string_get = function (arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof obj === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) + ? 0 + : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbindgen_number_get = function (arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof obj === 'number' ? obj : undefined; + getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; + getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); + }; + imports.wbg.__wbindgen_is_object = function (arg0) { + const val = getObject(arg0); + const ret = typeof val === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_jsval_loose_eq = function (arg0, arg1) { + const ret = getObject(arg0) == getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_boolean_get = function (arg0) { + const v = getObject(arg0); + const ret = typeof v === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_error_new = function (arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_abda76e883ba8a5f = function () { + const ret = new Error(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_stack_658279fe44541cf6 = function (arg0, arg1) { + const ret = getObject(arg1).stack; + const ptr1 = passStringToWasm0( + ret, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc + ); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbg_error_f851667af71bcfc6 = function (arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1); + } + }; + imports.wbg.__wbg_crypto_c48a774b022d20ac = function (arg0) { + const ret = getObject(arg0).crypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_process_298734cf255a885d = function (arg0) { + const ret = getObject(arg0).process; + return addHeapObject(ret); + }; + imports.wbg.__wbg_versions_e2e78e134e3e5d01 = function (arg0) { + const ret = getObject(arg0).versions; + return addHeapObject(ret); + }; + imports.wbg.__wbg_node_1cd7a5d853dbea79 = function (arg0) { + const ret = getObject(arg0).node; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_string = function (arg0) { + const ret = typeof getObject(arg0) === 'string'; + return ret; + }; + imports.wbg.__wbg_require_8f08ceecec0f4fee = function () { + return handleError(function () { + const ret = module.require; + return addHeapObject(ret); + }, arguments); + }; + imports.wbg.__wbg_msCrypto_bcb970640f50a1e8 = function (arg0) { + const ret = getObject(arg0).msCrypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_getRandomValues_37fa2ca9e4e07fab = function () { + return handleError(function (arg0, arg1) { + getObject(arg0).getRandomValues(getObject(arg1)); + }, arguments); + }; + imports.wbg.__wbg_randomFillSync_dc1e9a60c158336d = function () { + return handleError(function (arg0, arg1) { + getObject(arg0).randomFillSync(takeObject(arg1)); + }, arguments); + }; + imports.wbg.__wbg_newnoargs_c9e6043b8ad84109 = function (arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_f4bc0e96ea67da68 = function (arg0) { + const ret = getObject(arg0).next; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_function = function (arg0) { + const ret = typeof getObject(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbg_value_2f4ef2036bfad28e = function (arg0) { + const ret = getObject(arg0).value; + return addHeapObject(ret); + }; + imports.wbg.__wbg_iterator_7c7e58f62eb84700 = function () { + const ret = Symbol.iterator; + return addHeapObject(ret); + }; + imports.wbg.__wbg_self_742dd6eab3e9211e = function () { + return handleError(function () { + const ret = self.self; + return addHeapObject(ret); + }, arguments); + }; + imports.wbg.__wbg_window_c409e731db53a0e2 = function () { + return handleError(function () { + const ret = window.window; + return addHeapObject(ret); + }, arguments); + }; + imports.wbg.__wbg_globalThis_b70c095388441f2d = function () { + return handleError(function () { + const ret = globalThis.globalThis; + return addHeapObject(ret); + }, arguments); + }; + imports.wbg.__wbg_global_1c72617491ed7194 = function () { + return handleError(function () { + const ret = global.global; + return addHeapObject(ret); + }, arguments); + }; + imports.wbg.__wbindgen_is_undefined = function (arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbg_get_7303ed2ef026b2f5 = function (arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_isArray_04e59fb73f78ab5b = function (arg0) { + const ret = Array.isArray(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_length_820c786973abdd8a = function (arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_instanceof_ArrayBuffer_ef2632aa0d4bfff8 = function (arg0) { + let result; + try { + result = getObject(arg0) instanceof ArrayBuffer; + } catch { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_call_557a2f2deacc4912 = function () { + return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments); + }; + imports.wbg.__wbg_call_587b30eea3e09332 = function () { + return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }, arguments); + }; + imports.wbg.__wbg_next_ec061e48a0e72a96 = function () { + return handleError(function (arg0) { + const ret = getObject(arg0).next(); + return addHeapObject(ret); + }, arguments); + }; + imports.wbg.__wbg_done_b6abb27d42b63867 = function (arg0) { + const ret = getObject(arg0).done; + return ret; + }; + imports.wbg.__wbg_buffer_55ba7a6b1b92e2ac = function (arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_88d1d8be5df94b9b = function ( + arg0, + arg1, + arg2 + ) { + const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_09938a7d020f049b = function (arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_instanceof_Uint8Array_1349640af2da2e88 = function (arg0) { + let result; + try { + result = getObject(arg0) instanceof Uint8Array; + } catch { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_newwithlength_89eeca401d8918c2 = function (arg0) { + const ret = new Uint8Array(arg0 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_subarray_d82be056deb4ad27 = function (arg0, arg1, arg2) { + const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_0aab7ffd65ad19ed = function (arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_set_3698e3ca519b3c3c = function (arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbindgen_object_clone_ref = function (arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_f53c921291c381bd = function () { + return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments); + }; + imports.wbg.__wbindgen_debug_string = function (arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0( + ret, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc + ); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbindgen_throw = function (arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbindgen_memory = function () { + const ret = wasm.memory; + return addHeapObject(ret); + }; + + return imports; +} + +function __wbg_init_memory(imports, maybe_memory) {} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + init.__wbindgen_wasm_module = module; + cachedFloat64Memory0 = null; + cachedInt32Memory0 = null; + cachedUint8Memory0 = null; + + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function init(input) { + if (wasm !== undefined) return wasm; + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await input, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default init; + +export async function initWasmBlsSdk() { + var b = ''; + b += - 'zNQe8fV3oC9BE1GJNu25s7sHn7jEjqsP2ySmuw0mKessnT+I0xXuZHWtsf8mMsEAYtXMrhsBWTP'; + 'eNrsvQt0VUd2IHq+915JV9IFBAgkUJ2DwMLGtr5Xko1lLv+fP+222+5ud2MJScaCBiPwpxMuKGl'; b += - 'Bt08K5cRuHwDE9+JakzdakoahNYMfcRTjaDcGtutlGv8McRG89zqIUbE8dFGfSx935h4d+XzGT8'; + '6opVh1tNbQyYkIR11Nx1IgrtJD0noCXmhE16imZAVzVu8CZOQiTLDZFjvseZpZTHrMRPe9NufOn'; b += - 'cxRg0vKUmS8UqSdOfpWnvOMENiQ0NaK39NZQ2lsSF7oo+HVHmXibePYfyD5b7cSzJGxRDY5klo3'; + 'Xq3nOk63aDO90RsuvU3rvO51bt2rVr165dRu+hL5iGYZj/zlz2hnXsmHkMU+MN+1iQAsbkxHjDO'; b += - '2NO47uM6Plf4WGOlxjVWalzj9o3bLnXdLI1r3L5xm+WFLQhtMXczi7mRxsjdLxJRYjBBskgcVoR'; + 'UZo9xhfDUAnjh3TkYBx5NUw8MajQQnAYJGjULSMMUePHjXeSB5TZPuouh8IKUk4FpbBDzrKrzp6'; b += - 'EMB2EPDxCap7H1r15xiAYE39i4h7K7itTdl+JsjsYCkTZyT4GaF7vI/pNTIvIubXPdGiK3scgPC'; + 'jD7nqHzzEQaPSDDPIF6sv69ss9/re3Pprl3v9b21v//Ngf27DvQNDew+vKt/+MDbu4YHBg0XCyz'; b += - '1N7BUdJcQ7lN1RylYxmyoe1XVRdtxD2f2g7H5xz2Pb1GBJKPiiqqFzwQcx7WJFn/DF60raeJyd4'; + 'UChw6PPzW/jd37R94zzBmoL05cNgwi2n73/lC38BwSKvRaG8dku81HCQt0UhDh97t3bdr34EDhw'; b += - 'dyD/sbqEWYHJrpNG0PI2P4DomUn2gvEPbHSVJ8K1xEMuZ8zVLk+2ASfSu95hA9PcX4LGy2SvcPZ'; + 'Z2DRzkVy7S6H0HDuwb6N1Pz3WKnzswPHxgOPxU+p306bt6+/p7O7MDXV1tfb1dvR2DRgoL1HOBQ'; b += - '+4rsHZgOvwcyf/oG4O49KFF62EcPN7mHw9KXfee7XD3+uO98XIpq2HFKjTD3nATPhKvBtDZJCG8'; + '4d7d+/dle3oau3sHhxob+9ob9k9mOXPlkX4yYNdHS3ZbGfvYGdL3+7B3bLIMi6ye/iLbx8+sGt3'; b += - '4C3+zzLL4YheBS5+QcemLziXrQ5Xj41XiidSXlVOm9maZfVEMax2aKLNZetcl/Kq+a/uSdY5Z3Z'; + 'e1dvZ2d7X3Nra39rc+9u/srlXObt4QO7Bw4d2tXa3dXZ1r57sLWjo7erq6OfCzVwoXcHhg+9dWD'; b += - 'f7uCHekIrurNnB7H6BOgciekSNRPJnFHV108RSCZE2m8adVCCWSJ9VtnxpCxsgqvHQQ0IjtF/gf'; + '/oV0DrQOdXQMtbe0DbQMd/c0tXKpO/qoD/QO7Wnb3d/Z29Hd1tPX3DfR2dkerBKqaW6ngO4YHDr'; b += - 'bGUYaAazEw1xHnUx0/FP5hXNKvkVQ0s5eWqsToNQNLP1MeZbNj1QEFqPAeVcoRrU5dWO9BqN7oe'; + '7z1vDArq7B5q7dAwO7B3Y3D7YPDgxwtcjv+MKhDfyT+nb3dXc2Z9ubBzuae1sGuvhRq7gUNMRLv'; b += - 'MFmx/Z/ypbVgn++nx6X+7cyA1Z7f4g8Jqz1fVYWyPZXdwUcgqR2NJ+dwervER/cIfjFS4IIFfoH'; + 'fv7D3zhU7373hk4tKutc7C3dXdv90D7QDNk+7iOVsr3UsnNb+3b98kv7t+9q393y0B3b7Z5d0tH'; b += - 'lST3JSW/6R8ESLM3MV3iWmyHc40CJmy9v/G9442Yg4ujiDhObAx+uh/mweN6JO8x+qnz18chxqN'; + 'V1tbtp/LCtVs+w/0Dr95aNfu7oFsc3tbX1dvf1d7S3M3t25QDwPvH9412N63u3mgOzvQm+3s783'; b += - '6SCOZ7KrvvPZGfrQbJlyNJw+0GZP5hdyV6id2IwH0qymDtykgLjMFB1PIAHKPYT7HvqDEqizUe0'; + 'KL1xUWA+D7+zffRgqlomyYd/Fr97VOtg+MNja3JbtG+ztb+0aKGiPtw4PDPcehubv3N050NE1mG'; b += - '6plcW7/x61mhTcwPdANno4YHBAsAOwTPLD9lIVovLtBqYRf4yOwa5Xx5Gogb0h0cj0QfCsyf9aX'; + '0d6Otq72xu5tqS33FoYN/grs721v5++Iq+toHu1pYWWZ+SQd6DTznwHjBIc/dAZ1tLf19HW2/zQ'; b += - 'ojX1VphnpsjkN0TGncabuEe5HIzzFVU6iPuhUASE+u4leOvuYCGQ/kg3Gk2hyLko1wzE535OFFi'; + 'CuX8WRt7jvQ17vv5T3wuX2dzbubuzvaurra21sGW/sLnsXloP07W7Mtne3dLQP9nS3d7VxmceHv'; b += - 'CtCaeXfKtLmdKTrOc/vdRjwUfaEH+sQUrV0v3PtvCJfqpf/HbqPeo/2Gx1PJQRZxzpWE3oBmxJv'; + 'fmd//8DgW/sHJJctVe22q7OtuW2gv3VgsLk129c62MEVK3nkrUO54eHeL+5qbh/o6B7s62wb7Oz'; b += - 'NAG5NDm93GuE35w7BEiP+Z5g1e53x2e+yrhUEUlnwjENtReucilfoQRDM/0GJx/xe6UV42vZ38C'; + 'q7evo46fI79g3sP/Nw3t2dbU27+7synZ3tkFH6+/q5TKPywfthw62f/fAgcFd9MT17wwOgmSACs'; b += - 'Ws9sU6ikArYc4N5XnJtSH4zUvqEOvMifWUztrZbCxodEmOp6Zac/fGheJcmOSn58LzKlLv1pKq3'; + '+2tfb2Nve39w0ODnYVcPfu3n37dnV0dPa2wi8f6N29G35ia0G7c4muzr625oGB3raB5u62tlbDL'; b += - 'hOK6bSuaoaQ2zc1EW5Kv1LDaCwAVR96tD5utU+k2PqObku9vg09Ps9Vswz6dtRKmw7x8PUGGE9e'; + 'uYM4OxsywD0yeaBztbe7mzBW/oP7B/Y1Zft7etr7exvb+3LtnVlOwt+Xx9/a0dHX29nb7avpa+7'; b += - 'G6SQXGBXPd3mEPCd2iivj2QUardk1+uEM8nnDeZ7Cz/uTc4y2W4HoW9wMRC/jRtAVzaSgG4mpUx'; + 'daA16NQtilHfe+vwnr4vHoafOHhoAH5sf1AvXf0t/V190HsHu9v7uvv4+zS51Nzd3Qbyor+5tXm'; b += - 'M9AY+pT0yK+U9r3HmY5mGCm4wzHJxQK6x5KaCdqubUgXC9yRT4HTIFTtfG5rOtyuvHphx3Aqn7B'; + 'wub1bVu6aSMW98tb+w13cHiAPuqEv9kLF9LaCRONbGgu+JXh9N/Tt3vZm+Ibulq7drQVsfeidvl'; b += - 'ZtbCZvDjE0+olgFowXxfNoZY8Q6GR5aQc/Q8oiVC8qDaqlnUN0M0tgZVI/tlTxKvu8T8oW9gxqY'; + '56YH9Xa99Ac0e2f6CvHbi/kz+ysIGbe3v7OgcH+7Mdvf0t3UWsBD95V1u2u2ugbXdvR0t3X9vut'; b += - 'ptmf8p9tgas8PHNeBtVjPYMqEl80am8Lrkm72rnJ/1rTuvMsDoBmcTTRs0o8kmkg+UakE8tpYsq'; + 't2Gpeq5cKTZvQ8rHYeaYm4c7GjbDb2mtbtld1tXS18/N7fOzPCF77wZyDOSFRmNenjP8IH3GD1P'; b += - 'Qq5rNbINp4BYcdhMXSPurJ0sooSGafCFHiZyhneLp6tVIhKcFDf69/tkIuJn1dNoJTaWMoTmvjK'; + 'Q39h4AsHhr8IPeOi823HSjiOZVqmmbAsJ+EkrbIkQI5ZYZZVATIBeddIWoZtwf+2laCyFpDgBoA'; b += - 'FznvIWgqEHxyWPYuhhWugEQ1S1J1psafZHFDcP9uBGZLQs44FpuGKZciatj2oN5vMa/EhNaVXOf'; + 'Rb9km/AdYy3XMasM0DdcyMmVGWVmZNa88YVhWYr5lVRtQA65hAggahWWkkgnDTFpW0oKr4ZoL4A'; b += - 'P+4mjeYItXCValT/yLUKYxvvD8XiS7XA2P+VV/AncDEoi9XHUFxt7NzzL/mcwNHeVr1bQN3SAOb'; + 'FQBj4DCpRjoUQyUWOaC20jYSZQC4EXG3YSEjOFT7HgTaZtOvAdiaRrOUA3zAR+BnyIkbQTeBNiI'; b += - 'MKT6w9qw0Z6GBbnFMZ05vTKB8pLjr9EbS770Rm9fTPdQ6+Gg1BdGNTu1qiNS1TZs9/lPtGAh9to'; + 'AOfDflFDiQJKIIfmwY8/E7TMZJmGSDg2+EJtu2WWWX0Da6VTLjwX8I23CT8s/jR5QZkzDQ+w4F7'; b += - 'PaZXNWn2hq6asj7GebNVyg/RD5Tl9G2jmAy146TkVcOFQxMYEHopvVpmfZ1njNCkijnFEnEfogj'; + 'oEYsF36viy8DEtyUcPgV+KWO67pJl38n1FYV3lyRLF+8pM4wXbzPSsCdNlaZa8DTAAUfZePjTBc'; b += - '8T6DoiY+JfcJ8hgiaSqLQY/Z6D0n5dV2OVqNO1M+5ZVdexpkYOQpPykjooS+qgDP8wm6fRT8t0d'; + 'rAcvDi234OgM+34aboHQS78QPMlzXdPFFBj4M3mc4+Er4Zzhwv+k4jom/2gbQMLD6TRfudPEHQn'; b += - 'ux3dElNVlxSI+sYxJMz5CW7VCZXC0YBxJcTsLISVK0vV5WAY5eAm2NEKALGaCq1JVTmxiHgc1Eg'; + 'kjbcENDr4RWte2DfkPfhvVjUM/03GMlAHlzHRlZaXrJM23za/DH37IvEQZ6HG5kZErRkXyy1ZFg'; b += - 'bixRkLQglBbQNAgr4CG17dnWJhxvf0VbUFmpBdbWJY6biTMnOuNJDMXyJLZoZzO06atVsM+Osw/'; + 'pkLWvCt/W8dfqt331s/MWBMOcmB/aQNGNfNJhjN3xr84i6QCcC+hN2FPXTXobfe3N97+B0YhA/t'; b += - 'N4yuAgfsNnVh0DvQcBpYnw2kbM19V10yspReN0SqXfe7TtEbdpyhbQOD8j9KC9fth5Xb5bhyx+d'; + '6R0eOGT8W3PZ7AX+mVW7+8AXgK0HorS/tgpYHmTjgd3G/2PN15DDA4z9it2gYXv7+3fBEM8q0Ns'; b += - 'CoQ3hL/XMu3Ztd+iEbxF7waJ64dpEnfrQoMsrO5m/x2pCddcqsZJdsKk2N+P/Sp9b3jRvONyrZ1'; + 'HQMwMDBunnWqtyOAwKAZ/ZRcoWu+j8ndgeMC4b5f9a+C2nFnxNfNnzf9u/7LzH+2vmaetW86/tr'; b += - 'R91yzz0Y7bMaz7+v/FJm4pN0dEfW2crfsxFzNkfKxAzT0U6jQiz807iYpAdPazBP9noPXiQVSw6'; + '9r3nL+0LnlXHX+2Pkj53v2Lee7DtK/Drj/15pw/pr+fgGgv7P/AMp+1fkVyP+B8787t+k5ZwH3L'; b += - 'kL72u/20/+JBxNouItV+H9shHO/yecKAmFDp724w4u2VL1TEqAKRmadmFfh6QgwrdHGBI6YV+Bh'; + 'edvzc98w/lb+5z5y/DQW86vOv/BZhihC84EXH8Tcv8DqH9hnzG/an3F/Bvzmvk1609NiTU/APq3'; b += - 'BjCuwIXkxr9DFkZAYWOjilFRMLGCBVCML3bY4dweIU3UxswDHaGwMAc4Ku4MUeFXiN4rLc4CbCD'; + 'APp3zjh8xPesPwf4vnXJvmifpb/fsH/d/jX7knXOPmd/1f57m5/0dSt4z2/bv+R8zf7P1m+Yf2f'; b += - 'wr4GYC5wQcIvC0gFvEZzjArQSeEHAYVzoCbiPwuIB3iYtugHcTeFTA7dggf6hr8Hih28Xj+W6Kx'; + '/d5Ajt5xvW9+BUn/j/BI8/w+snzP/F+u8/Xf2mP1b9ojzHwH/8/bvmf/F/A/WTzn/yfnfoOQfWj'; b += - '3O0z6TH+7sjeDzVfQse7+u+FY/Hum/D4+HuKB4Pdu/F44Hu2/HY2b0Pjx3dHXiMdu/HY6T7DjxM'; + '/vjFmn4Id9yfk/7Cn7b+yfhTv/k/O7znvfMb9i/aLzO+b/al12ykdOLPy2c/uL1jNHjx5bYeTGU'; b += - '9514bOvuxGOo+z14DHa/F4+k+y48mt0H8Ii7u1imvzvGO/jubjxmvO6DVHUYhXi39CqcwVsrLZ9'; + '3v9dY2GMHOnraEmy/B+2oT8KcpD5mSQGQsyJ4LMaJA5HmRGgsx9U2buBZm7QWbaHPL7OHsnwN0O'; b += - 'Vl2/E6b0i1lQpNRTrKA9xZEh/gD7rsYNrtdvhWbsdnrXb4Vm7HZ612+FZux2etdvhWbsdnrXb4V'; + 'MreCzFSQuRlkbgSZ60FmMshcCzITQeaqzDRZV0yxLjfuDvm9gL4C794t+jKvA27KHvI3CoT2AzT'; b += - 'm7HZ612/HusjkNIsnt5sFJc/ekuWvSbJs0w5Nm66TZMmmGJs3mSbNp0mycNIOTJpk0nUnTnjStS'; + 'tDPk5hHIXvvRdI/f/fe9QLp15TuTwj4pfgQLrRa/YWFgAnpMY8jeJ9WJ3pkdsgj8rN2UMQd4K6v'; b += - 'dOcNI1J0zdpokkTT5rapKlOpjCQCSuZ+ybMmNk9aXZNmgcmzbsmzfdOmu+ZNDsnzTsnzTsmzf2T'; + 'MXTchzfXq/hHmuUu805rlWvV/GPFes9xXMc916v4J5rl5vHPNcw95XMc+V7H0N81zP3tcxz1Xtn'; b += - 'ZsekuW/SvH3S3DtpRifN2ybNWyfNWybNyKS5Z9Kkk6Y7aYxb4iQ7/bvObBGbpb1WyUfH1YodHbS'; + 'cE81nY/Qt9AiCvc+1XMc517ZzHP1e6dwzzXvPdrmOfK934d81z/3m9gnpvAO495bgXvA8xzQ3jf'; b += - 'V67JmmCcdwzHgI7Mj4EBFx5y9SYhyJOGN4vtYuYUdhHI8hs4t6qcmAhgxwo2x9/cbFI+jzhQDhX'; + 'xDy3hfctzHNzeBcgjy3i/SY2ygg0wGtAxEYZEP1Uy+PWkP+KQAgbZYwaBaD4RtkoXhOvFJJeAeQ'; b += - 'hL2blulLqlmxDYLLVLhxDYwhqVVMN0K4LDZR1sOY9ALY96xOQj4qhG0B5/C0cc04jjntnMEcc1Y'; + 'AVP4r8GfKhlgHTzqRHPI/3QEcsa7DumblATMKmM9IzARhjgPmsxJzlTAjgHldYq4Q5j409maJuU'; b += - 'paZeIqY1YgTHutMjwHgiFMeqzqPAeCI0x6rM48B4Ig52BBCxJxGnIVMKSLOasQ5VrGgiHMa8Sr0'; + 'yYe4DZIjGXCHMXMFsl5iJhpgGzTWIuEOYOYLZLzHnC3AbMDok5R5hbgNkpMWcQ02FNJTAdt/K+v'; b += - 'QRHxKlujs5RezdV3Qc9Vgp43iv+Y5lq8zBiojfk3EGDsVMf8mwhsUkblFgKDzPlO4xC3wxoahwA'; + 'V78zBE/Q2ma0kpKqygtp7SCUpfSFKVllCYpTaxv+Cfrn/0Z31n/G//n//xe9ZeEvf578K/6S0d8'; b += - '2GTwCsI/Bo3zKy3mP+6agFByzbIA/xg0YdDi6C8SWVSQ0sc8aCuDahRJ91NtnAkkIJSGWhGNFQi'; + 'uwfftFM4gPn7P6v4ksgEJCgkRqmAIXYQ/c9+FujpOPp2oP/P733rv5lfEpVx9G1AP3PnD38LXl0'; b += - 'wJTUk4XiQ0JSGRhNkiIZGEQUk4USQMSsKQJJwqEoYkYZsknC4StkmCkYS5IsFIwogknC0SRiRhV'; + 'VR98K9PFv/OF3El8S5XH0LUD//W+cPA33V8TRNwP9+M//1dfhfjeO/jrQ//zff/MXnS+JVBz9s0'; b += - 'BLOFQmjkrBDEl4tEnbgZpcnyzTmyJgiaU7MHsBhVc3E3H+cIsrEHu15cO0LFbkKrpoCa7HByx5m'; + 'D/7T/7rzeAXhZH/wzQf/FPv/cn9pdEMo7+aaD/X18/Pgm/PyEJiF6Xuwxs9TnxOWra3H3g+G+bk'; b += - '7RGx6xBySqgpj8FkCTvDDXUMiTKzk+W8mOu2eTDoGr15LpTz3NQBW8pzsZwHg7rVm2ehnIfmgLT'; + 'McmvwSUzzP+HuD/ZYC/CPhdjL8L+IsB/gLg32D8NOB/K8CfB/xzjL8D+N8O8OcA/zzjbwP+dwL8'; b += - 'dm+dSOQ8mjU5vnsvlPIdx2NKb50o5DyalwZ48wP+Sl9ZoODVyVH9Y5hCk3fBgEGj6xFwt76KKTD'; + 'GcC/wPhbgL8U4McB/yLjpwD/nQB/GvCfYPxNwP+rAH8K8C8x/gbgfzfAnwT8Jxl/HfCXA/wY4Dd'; b += - 'hIvUlb0uzj03OzU6XOuC6ptzzaqf/I9MIfHsj7HPdxlDLtp33Zv/qFn/nZiFNE+7yBlEN+2sh+d'; + 'IFp8Erv7B+BlTW3G1rHr7SNhMCdVMqmWTGkoyQ5mGkvyT0lCS5VwNJbm0QkNJxi7XULIvVGko2X'; b += - '+6ffktSGvvklpZSDvtpM/utf/nFj0tNmvtE2YpSjvhpK/uduV/7N5LS4pQ2Dz8/bWd/evn3P/OP'; + '0qC1DU49IaSvZP1QmxgkapgkapgkapgkapgkapgkapgkapgkapgkapgpA1Az78vCAu3SUSeHlDJ'; b += - 'OKW9Ty/1aQT6aSf7yV8+vijf6XBKwkPQT5Psf/niJ57nhETRVOXRnoYTOoXQ5mJCJ5DQ9E3oBBK'; + 'PHynCjDy/MihZcXhIuXF0UFXj4hyvHykqjCyydFJV42iDRecODbBCJ5A/7B9TVhio0oe0m6DwpL'; b += - 'aBoGHBGwSeFjAFoFHBGwTOCNgh8CjAiYEHvN5oPtYZCgqntCpKzS1CZ3SiMAneP4ZZKsFv/mvf+'; + 'rGdJ3GHdMUno2STQbhNwjoFbBJxhYIqAcQZuEnCagRsEnGLgOgEnGZgkYIyBawScYGCCgFEGrhJ'; b += - '/zPJ64kgN8XF83AzxD2vmR/QX6uKmuE+O3QR0JzR/gI/3k4/RNWur4wikMxV/P7BRbK+Q8G0y9d'; + 'wnIErBIzYD1+k4ptmFalXgwIzydQJLjCzUL3GBWaWqpNcYGaxep0LzCxXb3CBmQXrTS4ws2Sd4g'; b += - '76lMXQAdwoBrNylA6ae/DR4jg0U8dy4KfIN8AYG5eo3ndekdLzoZ9ufMf1dn/P0ix5zmWMtbsMa'; + 'Izi9ZbXGBm2XqbC0SEK7IWSicQMXukdLKHAtEEyLekaFJI0MT8ISmXFBJUMn8vIycVEnQzfx8jr'; b += - 'jc9v8BtiM3v+LXvTgE1mh+JkaGRcvtZUY9hNx2J2U6y6SJ4D2H5JnpDzNAuD2WFhMDtku7c1XHu'; + 'ykkKGn+pxg5oZCgrfmvMvKqQoLa5q9n5BWFBP3Nf5mRlxUSFDl/IyMvKSRodH6OkRcDZIc1Tax7'; b += - 'cHknr0FmjqXMkbbFJhTA3lx3yNWPtzP60k9tzbZ/E7NS21mqrYi67w7ESVnPZVddabYirwBDXhy'; + '4WNgXXhTroQ2sLGENvByCW1gfQlt4NUS2sCnSmgD+0poA3tLaANDJbSBt0poA3tm0gZASYWJxaA'; b += - '9Pdmvsp5hGibHCduswl10tWavtiLVaVMN0cmu1cOxrWmdMYs3TBrv8EyP4nR0xnbwVVPvcUG07b'; + 'YJAV4DJsfh3NscZ56QNVspCuKM1ScL5uKBUYRvhTCxxG+GMIjCF8I4SOoHITg+6gThOBhVAVC8G'; b += - '1iyorHsEXhqFnTlyCuZCW73mAnu5FZs2eN02oGZYCK8kXHaPFBNjo90B9j6DSpjkpK1YAf/bC04'; + '3UAEJwH3atENyDnSoE+7E7heAbJInNj4E1kyWk6t1kCal6L1lCqt5PlpCqI6kSUvV4qoRUHU2Vk'; b += - 'ZGvBwL9TTca0eK2uK759I71S1/5Q/NfXi//1WAu2+G8x/tuCf0Z4O8f/BukORf4GC/RbYMC0i05'; + 'KonUiWk6liqhFQ9mSohVU+l4qXq6RR07vXFE9+N+AdsuZ5E7jQocm8WzYyBp9fLqdg6UgVGYELz'; b += - 'I1t0Jp96kTtjlH7uD/NeL/BNvGvKP3kH+60F+CDvZQL7P9otDYvV60Nt5hHDK5ye9HdERxD9CBE'; + 'UyboBoh+EzSGDcTWNC/7HDEOTcg+T1maie2iLE3B3qAszb2eoyxNup6nLM22XqAsTbNepCzNrz5'; b += - '/pOb5Dx0g2EmjtOIwnLx+0igP2kkvsZoqP0F6EMML0APTCpr86r6aVQ2e5nBtQ93G0fsOmDe3KE'; + 'BWZpYvURZmlF9MmBTmOag/vkxDP6l2PRqKTadKMWm10qx6WSy1OCfLDX4J0sN/slSg3+y1OCfLD'; b += - 'XNv8GGcvhIvxenXKvY8llZKjllyYm5yzE0nZnrDuLCPecxhjjnsFQe9bNI1URO91IT7K58fycKX'; + 'X4J2cY/JM4YLsoNoGz4i0GvcB2MAIDs/6eWWzHOQ/c+QrwgrcahSIAryHwKIpEAHoReAwFIgBfQ'; b += - 'xbxy8mfsmGpgnCj3r2iTm3W6kbSy62c+O02JVZgmyOZGcCdWo+wvimlDWmnr0P5t8RLKTMw4mwd'; + 'GANikMA9iPwOApDAA4g8ASKQgDeRuBJFOoAHESgGTUJAIYRaEFlAYBDCLSiOgHAYQTaSHQnvHmk'; b += - 'RA8+TRF+w6/wy8UnE0UUvp2xNuaGmnRsT1F2NvWpYGVURs9b0naySPALCmgjth+FJGsZ5TDCeHR'; + 'x7peI17XeCtJk3W9VXht8h4hXdb1mvDa6LWTNut6HXgVXpZMFK7Xidd6r4vsE67Xjdda7ykyTrj'; b += - 'lRsx18RuwN5x+ECVqxKC3f9PBNH9/09JveBMuM8MBc4ZtixviEv9Yje5RlGWigEG5C4k2a7OThB'; + 'e03it8daSIuF6z+A14/WQhu56z+I17c0nHd31luA15S0lxdz16vBqePWktLveMrw6XjXJg/tuqI'; b += - '4XJyfFEiCaqFLPFWo+DXI/bVsIWwQRFxcy8wWJYtB+kZu0tialvHAextdWvwvy3WFJiKsXbbpjN'; + 'IZSrVxQxVMIe+6oQqmkNNuqIIp5B03VMEU8rYbqmAKecsNVTCFnHKVCrZur8TddJUGtjYod8NVC'; b += - 'KM+MyPOoPo/p87g+Z/V5Qp+n9Hkaz/m3QLzixzd5QwdhrbdPTDMdzFhTv0IMuzcBK0kVGA6eTBO'; + 'lhXgLvuKv2rXQ1xky6mzXOz1o9r1iqfhO0GPeUdaAd/eV6JWWw6QL+L6Ia8qjVsPUC/h2iRVzWH'; b += - '1lWECEfNp8fBqQoSjQxskMXHEwo7ybOqT7xwwfCHowlH4acmJR7dFJVTBEsoxekvKbkKSEyW3iB'; + 'nAXo9xHt5VXtIW8B+ouI9vOqBpG7AP0TiF6RV7WI/AXon0R0TV7VJIoYQB9B9MK8qk3U3ACdR/S'; b += - 'wXoKkaFBK/LTG8nCe0i4R4tYTm5IpFNSEbpN9Gk/TTAZtKfiPNamqzmlRCFZLaedH09ZnaOJtJ7'; + 'ivKpRVOAAfRTRi/OqVlGPA/QxRNfmVc2iOgfoEbSg+M6D5L0FGu8tiPLegijvLYjy3oIo7y2I8t'; b += - '0jxbbUD3A+z0KitaQ7nQs1t1IwIrN8M6Ifk2Ry26THVDtai+zW97aS3YNOrpTa9aNMAs9BoPKz9'; + '6CKO8tiPLegijvLYjy3oIo7y14iLynM5zOZTpr6fykM5HOOTq76DyiM8ZirdllU4vakEMeVLNHK'; b += - 'N7Kl2rgGb0IyayHmLailQ54AG9l0nTAD3ldmxIa8l/yDx8UgSqWb4NZmIYSthSRLMBVUHzfR43y'; + 'ivTg7ItF1e1GaqRNE/4YlpD1jNP+GIaULYAT/hi2ly2DU/4YthEthpP+GI4S7YnT/himFG2NE/4'; b += - 'xzqXrb2SqyX/HR0Achi1qmIJCRJC8TWzWUAFscKAoIXTfFhm7pn4vKAgvtB8JbY9iGRHBcUlouQ'; + 'YvhX8gBP+GJYXnIHT/hieonkG57w6T0qEc4EYU62XDFRXjSo2/NCqFflhac+Ky989RPyYoX6uXl'; b += - 'nxaglEHsuLUuIQ69sNDObHW97WrMon0ditj/ovpLzvfT7lTe5zKe9o35/yJvWplHex76P+xUk0b'; + 'Ro6omLxaqasyLRarK82Kxap68qFVNmReOavFA+/3wzLOQ0kWULqa0VrJTTaz2a4hjoibgptjp+1'; b += - 'cNwEk3bNZxEp4N8Eo1jQhyubJLjl81yPDMkxzdb5Hhnqxz/DMvx0DY5PrpLjpfuluOn7XI8ZeT4'; + 'GiEzfFTt/htwbcFDt9PwJ0yU2x0/efBLrkptjp+08AXXJT7PT9i0CX3JQoojs0jxeNYmVerBKP5'; b += - 'qiuHW+kqBpLRCLb6gqsz7qsL0fge2k1f+o3LP/mXG7EsNSDgtAeb8m/9x9/+xJWKxJ2jOGzuf/W'; + 'EWTaM+LDpHNi07RlRfd4qm8eFqszYtnRE9ePCvm58USsTQvlonqvKgT9Q9SildrPFcd5c/qKEtX'; b += - 'Hf+Jr/0Xj5igOhwTf/OF/fuIPNe4UxeHA4dWPTX9rL0ft+avXfmR6enr+0J9TltmIiCmkKQpPWr'; + 'R3tBdbTjVEf7WnW0e1ZHe3R1VAhUR+VGdVTUVD9EKb5ak+KPalL8MU2Kr9Gk+OOaFH9Ck+JPalK'; b += - 'qP4dmiKQzPNk1peNJkcwTPDi3tePbTlh3PAb7obJgNtLEnEjGDtNfHcyNtxPHcRLtwPDeP+dfxH'; + '8WZPiLZoUb9PG9FZNos+ba/Yf82Yvbmps/gc7eFfHDt7jMDGJq1o1eJ8JCsw0ep/jAjMP3+e5wM'; b += - 'Brzr+G5Zcy/iufWMX8RTxolV/DcNuZfxvOuMf8SnneP+Qt4bh/zL+JpxvwLeHbH/PN4pmP+fMiD'; + 'zj9wUuMPMAfpELzDyCX+ICMw/hl7nAzGP4FS4w8yB+lQvMPIpPcIGYYfwaUlZrw/ij2jD+mDaMr'; b += - 'YT4cT/6LZyldwOmqOsNwnDewaaL5UE5PGvdSMbv9UMCLBDYFvETgoIBXCNwm4FUCRwS8TuAOAW8'; + '9GG8ce1YfwJbRh/UhvGm7VhvEUbxtu0YbxVG8bnRYbxxA9kyipirIJhfCQhDoWMlYgbJ9+HcVK2'; b += - 'Q+ICUe4vKfZhjg+loN0vxEniYwKcEnCHwOQGPEfgCVXKRT5waMAkoiww8YLgntW7YzhvHQPts6H'; + 'yEJtMqi0osMh38UuI7wH98sGW6ToifD+4ZAtY5cZ3oX7ZXsujrv/YMi1scsQ78D9srlr5Y2Ifjv'; b += - 'qIV8/s7U8Md3kiaMLKnqlghZ9nSyKNDM78+nA6yJbo/9KzU458PNnTZE0Kf5VcNEHsaeQBzDmf8'; + 'k5djViQMhK8eqN/tDTo5Vb74QMnKsetMb8nGsevNayMax6s0rIRcntdWHnzLxv01opUVTTrsgm1'; b += - 'dypRd0Q5MdRIURZQoH5wjcWuJmywZKGjJQYZ68NGTz1McY1j6c+nLA2ZIg1xxjxPOpaOEdtyEBs'; + 'eHIGtXVpCdq1OQhatLkG2rW5BV6ylB9qynBVmy1goyWz0jyJTVw0423nJ2rfEa2KHGE+xG43nsP'; b += - 'j3Ev8NhMcFrakOHaGeMu4RHcj3PRhgxqItIHBH4wJUJ9UOCH00HpLJ4NiGC1Le9LiWjfJ/BTKRH'; + 'OP57DLjrWBHGa+G3WPY2nXeYnPXOYvNXeMW27tGEmyVOmN5TahJoxVAkP+ED2oVTv4FeU34S/IC'; b += - 'uUwK/PyXifb/Az6VEwM8J/HxKRPy8wC+kRMjo1CPEP/FRkxydfYjmCUgObTFDZrPZZDaaQbOBuP'; + '5/yCfCV80LZwqi/IQ8Kvywuc4Qvyi/Dr8wIn9oK8IfxleYHzeUE+ED4oaDiNF+T5gJN5nL0L8nf'; b += - 'd+Sk4giw//1VD6YQsyhP/VjKl7vJw0wLLygRvO3zTqEEXx6RzO8TSOeF05y8Opn8bdqozLyR/OC'; + 'AOTxO2gV5OeDUHefqgnwbcMZOU3R2bHiwE/V5mjyaFxVe86ICb15USM6LCtZ5UWE8LyrA50WF/r'; b += - 'DWOuGQ5JwTjqHE3KI5PFXE3pnHEX8sZJE6hNe46xfGJJdXdxhFnLmecuH/QuKuVcTkVxW5A4jDc'; + 'zoQDEvOrjMiw5I8x7iWD9fG+uXaGP9Um2sr9PG+nptrF+mjfXV3/9E3Y5M1LkBl1C6lNI6SuspX'; b += - 'P0RJf/UaLn0R+WF2mIBFZhbm1hvJ7xAddu1ywzZ7IMtAO4hsqTrOIsO+LD2BUqeIHIvkBLuEiGx'; + 'UZpdYmZ1bwZZ1bzZpLIcmbSjlaLDjRXZNFO0YkGii60THSjSeIptEU8LRrzYi3OYJ4Rq/KiRzTh'; b += - 'C5CbEqyWwl5jeoly+BINuQCyAL1bg1IcHgLwO8heLGSB+kD5DTbWVRIQPsmdoEETP0BBInqFtIH'; + 'ROWRB8m28zW2nR9l2/lRtp0fZdv5UbadH2Xb+VG2nR9l2/lRtp0fZdv5Ubad/yNmX2rU2Halxra'; b += - 'iGDMidoREQO0OjIHWGdoDQGdoJMmfoARA5Qw+CxBl6GATO0GMgb4beB+Jm6CmQNkPvB2Ez9BzIm'; + 'rNLZ9RLJtU5RtfzBNYv7MmsT8WTWJo6EQWRKvScyfVZPIh3JpabwmMX9WTUITdXXxmsT8WTWJnw'; b += - 'qHnQdQMvQCSZuhD6C610E8ofCI8CGRQP3h2yjETMiXgFDF5D2ySMU9NHXnUE3NSyXiRyoxLZibF'; + 'ylZ33c/W+HbFoVb5FQAnlZ3P0HQs4vj7dYKBlfHXf//rAzVcRrcvOimpx2/xfC/unGa3LzZtXke'; b += - 'VAltpRqwYAJh6IztjMz0gSH+wwHvvWCI52vs8g8X/d54ca0V4YI2dzgOQ9VGomCV3ctDMEQtoc+'; + 'sMun4rX5ObNqsm9FkqRsnhNbl6cJveKmB+nCW0Su8UAObD1kSvy3PL03PL0g16e3hBdmA78JTcB'; b += - 'yHydcIkhEPrm2+U+yY1buaCHycpGvw/pquD7j/AypH05iLvq1hJ046fXULK/UwterY5bf1ctj31'; + 'wxUvSSMreElSnh0vwf4/7AB+BZUM6aOdFAkcMmikZa/swIt8wikgbBeBw/m1QsI2EfimTxYStor'; b += - '4e+/by2LeXx769PPbt5bFvL499e3ns28tj314ei0sNEW23bh986/bBt24ffOv2wbduH3zr9sG3b'; + 'Ajf16IWGLCDzebxQSNovAOf5mISH4+MAH/44jexP6gDqyO6ELqCP7ExZXj5iZm13JzaHPOnUgV3'; b += - 'h986/bBt24ffOv2wVdpBDaa7SmGWF4mxUwmGCD+2kiIUb4kcv+IKBkXdvsrVJP+eLXIFfJKvkkF'; + 'Jykb/6joCGTFzkq76dacy/RX7q25jGrFvko76Vacy1Rf7pW5jGDFvkm76ZacyrRX7pbgm/dLeEX'; b += - 'H2JWQRODtvYyHpIEilFIEyhOu/flV/KQKlC8QrJAMQvpAsUtJAwUu5AyUPxC0kAxDGkDxTEkDhj'; + '7pbwi/djfNE2yACT+xpZi/08ZVO23cdXvXWWvQlIR2970VpnxDSOfx+lPaikA7lI26E9oKQTujH'; b += - 'LuKqC3IGVBNlVSIKMFZIguwtJkAcLSZB3F5IgDxWSIO8pJEEeLiRB3ltIgjxSSII8ijE573UfU4'; + 'o7TnhXRcH43SnhPS2f1ElCZ/lvS2Py0LSCf7UxKUvvUnJShd6scKnvYhmVDVWiwPylqL5UFZa7E'; b += - 'TFNMsr9VZtiDEP9wx9EpHjtI//irEhRYS99qHDx/IU5OrjMZd/QyPz70Tw35RH5qW0+E+/FY2zd'; + '8KGstlgdlrcXyoKy1WB6UtRbLg2+U4MFdJXjw8yV48HPxPKjJuCk7X9inUTrYM4i62/YMou6OPY'; b += - '6aVvpbgdjzv2w4vjnirzUskQY2Vl0VTx8b17eY+s8Pcb95h3ml2mu8x32veZR4wuyDpYB407zYP'; + 'Oom7ZnEHV37RlE3T17BlF3355V1J3QRN2oJuqOa6JuZE7U/XBE3VhE1J2cRdSdmkXUnZ5F1I07M'; b += - 'mfeYh817zSPmUfPYKgXdO9ndoJWMaCQ3VUZEa8TOOZhObUwIoTHm2CDSHufxcAckeHBjIpYhgRO'; + '4u6M87Mou6cM7OoO++UEHWXnQJRd8kpEHUXnQJRd8GZE3Ufr6jDHTODmZ7h2H/iF03xS6Y4bYpf'; b += - 'gAEhIFGX9NlpGgMxbxRekd2ZFnyaPXQxY7F5TuU4y6ELgvqqh4l2bhz7Upxk+KwdWIkAo9q4lMw'; + 'NsVXTPErphg3xVdN8TVTfN0UZ0zxDVP8qinOmuKcKX7NFL9uit8wxXlTfGCKb5riW6a4YIrfNOO'; b += - '6qZJ9d1312XffZdd1nS5k1u9eu85ZX99pwXlaFCWs1epDf+0OVij9H/+pQxbGfpJqxBL2KdogK8'; + 'fPux9Kmd4r9rreGeseBUd0NcLEzMvi0/VNVlGFh00crT9MidehoyOTgXoVAE6HaDTGvrVXGbIfz'; b += - 'D4T28tM1htu2IyDIjCNG/pGnnFQM8LE9jpKrGNDXte9JB/XUVXqtvU1uS4HL1bPX6zpi+F4gab8'; + 'U3bm2pNCrET5vD3svw7vXwbriFXd3xE9bjvRZeTPFycO9GfG8OExMTDZ9CfArxKQ1Pn7A+eBc8O'; b += - 'C+EKX4jH11VigKoE1qnUJrNJ3ilTXmkMat+6A5D7daAIFleK/KdCTM6gC5zVLOwhVV7fTEH0YS/'; + 'DXUaFT89CesnmOrjq4wcleSe32n0RAObkqCn2uC4u2gpz08p3nId4VLCNzpmwAyQ7gjtYKg/QCh'; b += - 'R099GU65aE0M3r5aEPuux8l3ifEzm+8CZ71eqkjsSQltQldvxWc8dhQhixa0WKU3jjtZOkaedU3'; + 'e345QoWqejn+UXH05q8WCVFRWKBaVGd2UqGdwuGdqX6DaKBb4NV1uL/aDD5B7Rz21MZhtWtYbRl'; b += - 'zhCUMJBTk9djZXciYW2XR8HHYTepzMrZmursRWKT8GGcXWMaKMwIpQoZfPAaJCbzYUTgw99slhM'; + 'W+4XVZmG1U1htE1Z7hNUGYbU7WG4Ndjl7J8DdDjK3gsxUkLkZZG4EmetBZjLIXAsyE0FG7vzt5I'; b += - '7BbnqgnA4wjrFpCmdYoE1uD/yeDXh8YrOkqXxDLOi4jlA+RUx7NMiHEOiHEOiGoDDPlrNrJIOYJ'; + '2/okLu962XtYsbABeLelm7uAk7jVBh5aXxD4pDrYrFhSSHnMqF3Nq9TNRnesKN7F1qH7vXrXaye'; b += - 'QicDXJHQ6zWZDKztBP0EHwzLqs6u6cK/hk+akG0i1xjBWjR7h85xVhX1OddeAbuEXilymWUDMWl'; + '0+pveze02o3u7dW7Wf3nlE72r0etafde1btavfWqX3tXqXa2e5l5N72MgRq1e52b4na3+4tVzvc'; b += - 'As/+Tao+491Pesk/5K33KX+lT/hqf8jCzylLBXlbSqswYfdbwP8uLe3q8EJkingXzRcSBeKkiXl'; + 'vaVqj7s3T+1y9+arfe7eArXT3atRe929hWq3O8wIg/3uXkrteIf5Iu1591yxWCwTZcyTCexdCGE'; b += - 'g4NsPBfFa95x37i4/2sRstXsewYQuYuWvaaJlM5Be10OgF1mnFIjbDk6hEj/pXWFPyMv9e4t8F/'; + 'lTwJDVyFUWJNV+AfFoYqhbxWQbGedairuEGVU1BEOLvQA7r7Fw4eDCz4A3wvhqwjfDeErCE+H8G'; b += - 'r3Ivxf49zz/zvPvq/x7jn/P8u8c/57m31P8e4J/Z/n3OP8e49+j/DvDv0f49zD/HuLf6dU23qyd'; + 'WE74TwJYRvh/BFhG+F8AWEp0L4PMI3Q/gcwjdC+AzC10N43MIUN5uup5HteUo3UrqJ0s2UbqF0K'; b += - 'NOrfYpGGm/x7g3+X+Pc6/17j36v8u8i/V/j3Mv9e4t8F/r3Ivxf49zz/zvPvq/x7jn/P8u8c/54'; + '6XbKN1O6Q5Kd1L6nBwVNwQ2lfXKprKedDRHbAhsKs+rsWE9jQ1Q4FZQgGwqG6MFbnMBaVPZFC1w'; b += - 'WUQr+PcG/s/5aNdWZMyx2SE3digD/CAfc0ZKxKTFOiLtribPnkY4ftKKQeXaozkW5XKMt3LOfiM'; + 'hwtIm8rmaIFpLiBtKluiBe5yAWlT2RotcI8LSJvKtmiB+1xADqHbowVGklRAjqE7ogWOcwE5iO6'; b += - 'pUqWlF7ELhkNAWLY5CfFsb3tqJDenlm4dAi5C3yu5NZH/GORnSnPZNdVaiG8OK1CAo7QuLBldW+'; + 'MFhjlAnIUfU5SeqwTSeRnFwU0cGQh01bgH0twFxl2MXeEwkJl8GeDyADxTH0F5TjcVCE6ZxiXvW'; b += - '46uj4uB/RWcw2FdpC4EFRHsuwiHFvaDGKCeoizsQZT8ViQrCsvRUaQWDLOXo1eLRofjvTyC3Zv1'; + 'FvETp0oT8XunOJZ0HfrxQZUSuWiOViqZgn5osFokYsBGmVEq5IzvCgrmGQEfxtlaKB5FYl/PHoU'; b += - 'IL8iflS0BhqLG4EKLqbmPXHwJwY82O2fBS8W4EIBXirAywV4pQAXC/BqAV4rwOsFuFSANwrwZgH'; + 'w6QQ/ERMhxOQiwDTAb+ZPdDOuTPQ4mlqNg4uWtyrurkzgFyHiMnFPIMIOcz8qpCjgNyASOvKORp'; b += - 'eKkDau1nwUAEeLsAjBThTgEcL8FgBHi/A2QI8UYCnCvB0Ac4V4NkCPFeArxbgfAGeL8ALBXixAB'; + 'QNYw8rJCngLkQkZeUsiTgEww8qJCjgEyxcgLCnkCkElGnlfIUUC6jDynkMcBaTPyjKv67IhNPdd'; b += - 'cK8FIBXi7AKwW4WIBXC/BaAV4vwKUCvFGANwvwloKy3Mionubzsdy3YmCj1LcizxteEVlc6/Nfu'; + '9+H0W3mTP2mdBiZy1yxoiOWuPNYArZuuwBvDNbP3VAM6arbsawHuz9VYDuHO2zmoA/87WVw3g8N'; b += - 'GzeCFeZN1y3f0E+xNiJZ2ne0JVLS54txdgh7RVxK9SnPKzd+vCKp24MGzIL+fopGdM8avEZj4ff'; + 'm6qgF9IKanYoPexLYVsnXvqya/EfLrPYW8HvLrXYWcDPl1WiGvhfx6RyEnQn69rZBXQ369pZBXQ'; b += - 'jKdBSRVvippqESTuW+w84BWxQeHPkMdlPjMEFllhMdLti3aU+0UEFnbICVd7HJOCZYqcMrwedDo'; + 'n6dUsjLIb/eVMhLIb/eUMiLIb9eV8gLgFzCyElG/oAci+l6xbeyctcfCRviOdUQqu12aijZ3Ds0'; b += - 'tkhi0eBpaTY3Lg16Dz+BCPoPzH8sOGv8l2tQZbyKtwXoA1QAue/jO1kp6iOGCqvJxVeXjqsrHVf'; + 'lOSQ7RpKMtU2DSX5cKuGkqy7RUNJbt+soWQH2VSAoj61UUPJHqi6GVbQKFXQKFXQKFXQKFXQKFX'; b += - 'M7W8/ycVVm5pSPg1EwXOAoHxer1RnmrQ5C2mY6eBHO6efZR4jw9bV1f7W2vq9WjHyH+NRYrDXIZ'; + 'QKFXQKFXQKFXQKFUQMl/AafOE5OPnmN13cq/YwZ1nO/exbdwVt3KP3cIdezNebLEJL0vERrzgiG'; b += - '+KyqQyxBu/nnGQpMl4pstkbqVuC8mdTseLJ99IwAMSjriK+3u2Rp2kZjaGBu4f9JfgY2Ra8VoCL'; + 'CCuMWRwiKxjHGDlgPE+v4YTEyqSDtV2hBbt6UqxOZtqQexfVsqQWzglhoQG8yl+sNmdan7sPFdK'; b += - 'BXi5ABcKkKYf5+qRo2iecq8eOY5mNPfqkeNo7nOvHjmOZknn6hFR7tUjMTFi90JGWU04Usf/X37'; + 'j5sopdaDxvypcrD5n6p7+CKgabs4HLBwxac+KZZBecZq4Syc84qoeyct0ooOxesEsrORauEsnPJ'; b += - '8Eagf9hrTcdtEKxyOtMQfmZx2YbnPI2QikekoKg5gPJaR2cnu4iW2KKzGH9Q1GoXVeJjVNCfzrC'; + 'KqHsXLZKKDtXrBLKzlWrhLIzYcUrO8harGoHY/5pJXEwWIyUoacUEiPFSBl6UiExTIyUoWMKiTF'; b += - 'HzrCHzrCHzrCHzrCHzrCHzrCHzrCHzrCHzrCHzrCHzrCHzrCHzrCHzrCHzrCHzrCHzrCHzrCHzr'; + 'ipAw9oZAYIEbK0FGFxOgwUoYeV0gMDSNl6IhCYlwYKUODVQDSywMZek8hMSKMlKHBOgNp6JhOfw'; b += - 'CHzrCHzrCHzrOFteNaQedaQedaQedaQedaQedaQedaQedaQedaQedaQedaQedaQedaQedaQedaQ'; + 'ysC2+aG/Mfxpifg0kq/G/b61hvFTAPdXM1ZBlwcxl5TctrSl4dvmJiS3OVLRK5WmA8mOSTacfOm'; b += - 'edaQedaQedaQedaQedaQedaQedaQedaQedbwNjyrnOqzbQp7wrjER+eBTnBecTKvmfXg2AnxxKs'; + 'XshOXboYK7hHS+F76F3gO6M70iKJNwNuoZJb4T8IZE6KOxDaCRKolUL1BAuIV9XQE8V0FNF9AQa'; b += - 'jh1dNdhylqT0TP96NbXmlW4BY3ymoTBaq2InBMVsgC0JeMaZizxLTTvZTbn3d9Z65ahFh4SMvv+'; + 'mRLSyKTeLH+derPzsN8s8B/PBmwalnB67gIjVxUORfctbSi6Z2lD0V1LG4qmLW0oumNpQ9FtSxu'; b += - '8VNpVzytWC5MxPa9mXtj10rQuYF1Dnv4iXq1U+oXO+4JF5Pspd1TsRi5kGv89YsApyimAYDfN7c'; + 'KblnaUDRlaUPRTUsbim5Y2lB03Zqbd//4zbvrkNUKJ9N1+Efc50qjU6LYCOqo2XYlTXgdOeG1eU'; b += - 'CO/Orrwlw+pIrXgbZsa07R8rWd0YNmDXpa8WhJjmBrBHGnRt3dY0zusacGaWjpj//VW2ENGmbi0'; + 'IrlsPVhWnukoCJz9PM76bNzEXADQbOEHCdgXECJhk4TcA1Bk4RMMHASQKuMjBGwBUGThBwmYFRA'; b += - '9/UKikkqjyzJ8tHiJMeSxehwBTGceSdU2wb2NNSOFL80O8hCUtVSedDmMTJwbbBn8PrLBq9bDV7'; + 'i4xcJyAi7Y2EcWIO3NM/GPAxGlktXhbMwhgUcS+Dqv2mK7Js2aPaVOeFXtMG/Os12Mq8qzWY1qf'; b += - 'MUDUoq8o0Y+suY5Zt69gxy4NagpLKNS9UXgUv3Abfsq31Itbe67mXGmK7Jx/JEE+RUcx8DcA4n0'; + 'Z60e09o8K/WY1rCqQ/lMnlV6TNMstCmfYplNeTl7oPwDnVW+EJ2LvdRDLxIvRGduL1HdfrKHvoo'; b += - 'FtPvyV3tTDfOIsPzbgDx3cCP2UGU+OH71d/g6oEu/yR6FKvMsfgSrxLt9AlXiXvw2qxLv8IagS7'; + 'KFM32PkkFXu6hnwAFIjPEl6nAKz30e6FAZFb5ChX4VA9VDhSIzEQ/RQVe7aGahAKR2eurVOC1Hq'; b += - '/IHoUq8y09wAbjLb+Lyb5cf4+Jvlx/i0m8XX/jJ2WIAw1ih2SH6XZHxXzyTDh+AtPawuf/AlNjL'; + 'p2KBCZ8b5GBT7dQ20EBSKz5E9Tgc/0UINCgcjM+jNU4LM91PpQIDIb/ywV2NBDrAIF9Kl70AtRB'; b += - '2vYIrA0hZ0zR9x0w2/L475P4JsW/3Y3/iMQnFH+vG/+ixA9S/Ggef9cj/kclfoji33bA3CXxdz8'; + 'nKMDO9zqCJz9vOoGHN2F9oROPsGGjw424tmDs72oXGDs7shS9EtvH7IUUwLbwByFMnCG4Qcxa/w'; b += - 'CcV3EQ1bkrQfM3RK//RH/FYk3FP+WA+Ipdio1j/hTEj9C8SMHxK3vVNp9xJ/2JGGUEu45YLqS8I'; + '3iRB6Xovkox0vddJPLre8yQZXW8jCUXX20Ty0PU2kyh0vS0kBV1vK+kWjreN1ArH287KurcDr83'; b += - '5H/EOasIMS0gPmHZywOzis5w/dUK2tZk3rfXQXNNsIh/vT4ZPsDkwiv4/xa4ZzOfPhRyjISR/hH'; + 'eTlIwHE92mmuuEm7M2KxPK/iqCzWlwVdcqFoNvuxCW2jwJRcaT4MvutDaGnzBBfbQ4PMu8JMGn3'; b += - 'ignwS/VNiu07jEG3eQmJd/lJCflZFwK3u0kD5aTYeJiu5M8VE4eYiuOkHXHkZ+XxmeYwvjoz0vr'; + 'OBATX4jAscq8HjLrB4sKmKJf0LlL5E6ScpfZnSVyj9FKWvUvoapZ+m9DOUflZ2sk9EJf0G2q3ni'; b += - 'HBrlI0Av7ePQCGGsKM4QYovQNrfwHNqWQ3fl0N05tN3K3kfQq6QvfXgCCx42MdHEpOJ0lHAKX90'; + 'BfF5/LidfH5vHhe7MqLjeKNvNgkevNis+jLiy1id15sFf15sU0M5MV2MZgXz4k382KH2PkgpcCL'; b += - 'wT8mxocR+RGNjiY0l9kWNbUpsU2I/qrGJxCYS+5LGDkrsoMS+orFDEjsksVPspdsMn0TcNj4S9a'; + 'USnwOgwDyLsvRqXA68TCz8MwEBQokgLPU4GNMAxwgYgUkOYeGAa4QEQKSEsQDANUSVEpII1EMAx'; b += - 'DRxcp1lLCdE3ZwRB0Rd3PEKEf0IeIujmD9AVNDxDaOMLwPh144RveIjO63yOh+q4zut8noHpXRf'; + 'wgYgUkPYjGAa4QEQKSNMSjAdcICIFpNWpB7oFFYhIAWmQ6oH+QwUiUkDaqnqgo1GBUApI+1UPdE'; b += - 'a+M7rfLsL5PhvUOGdb3y7Bm0wDJme62YmjfL0O7Yod2BUP7HXZo31Ua2jvyoXdXaWjf58Y7Q3ub'; + 'WgfCKo4xc0G1lgPgkKUB2/FGM+4QKyjj8ZYz7hArKOX44xn3ABWcevxJhPuICs40/FmE+4gKzjV'; b += - 'O1Sdof12d6g6Q/ted6g6Q3vUHarO0H5bPlLT0tCmqSDNTfm5Q5vmArXx987y0KbJ4J23H9pQ/Pb'; + '2PMJ1xA1vFrMeYTLiDr+NMx5hMuIOv4MzHmEy4g6/izofnEZVl031UtQ339nquakuC7rmp7gqdd'; b += - 'PFKO7D7JEAVSJw9WGOM4HHsR9ljta4+V5WLX47tUHPPI8tpe2U/m41WSzrcgAFeO4NPgGl5dyga'; + 'xSwE33EVd7ES4Cp2ZEXAVfzLyoCrGJ4VAlf1EFYKXNWlWDFwVe9j5cCFjlYoix6iKcQtoXVed0t'; b += - '01dFcf/hU+ibCDv1Ea/M3S4G/p4L+nNPjTN2vwt/emlQni1dsY9/7EpOA7lJFPKSGL01B8KO6ie'; + 'onTfcElrnTbeE1jnlltA6b7kltM7bbgmt845bQuucdktonXfdElrnPTde6wT2w3W+DE94aGh0ci'; b += - 'exTfGTjWd2yKqOf4qs2vqqeGDH+Kb5m42vitZJnAIqPbXwsltF4DqD4uo2vyw3hRex1MBNQms8z'; + 'fMcPkc4dEQRn7PHQ9h7CC5kRDGHpW7b4TL5wjfC2Hss7m7IYydPDcdwigVcndCGMVI7nYIo9zJ3'; b += - 'AQQuKzoXwDDTlQrOpBtIxnyQNuTFyxzdRDRmBatCeomjW4jG3ABJTj5v42hYg+UZQgRIoSf0px5'; + 'QphHK06rDc+BoNyKVY8U4oVz5VixfOlWPFCKVa8WIoVL5VixculWPFKKVa8WooVJ2ZgRU0iOiqm'; b += - 'cW7HjJsB8QwQDKJgZuwlPhd1+nvu6AzzZdTfw7NYd5OmsuxGPbd1NeJjuZjxGukN4jHa34LGju1'; + 'KEtER8UUZYnoqJiiLBEdFVOUJaKjgoqyRHRUVFGWiI4KK8oS0VFxRVkiOiqwKEtER0UWZYnoqNC'; b += - 'U2leA1VhPKLFmBcCQYXk6DCVFgZssaVbasEUMCBXY3/ML0hmie+PoWwVA/IUQPT2aEbCMmiyagU'; + 'iLBEdji06Jw5/9MVhjPFW2m3FosCxL7CcktFUR6cCdKoAnQ7QaQ2dQE9EzXCbJB9Espryy5N4l4'; b += - 'NY4OeD7B9tggZZCNaiZzYWs70Rcyp6/eu3PXvvSa6/9xf988EAa7vn5r0DL6zde+7WDyUUwqLPg'; + 'UXU9QGd9EbbeWDqOFTiA98EGsLXp4MjLQOxppsNCr+fK21/lgd+SAm9vpmoyGMJmvE8iy4e91eY'; b += - 'EolGv/TD33jtta/cLZHMOu45cf03f/nHL5099rWKxE5z7G/8s6PHv7T0H3/9qsbCwlO453d/71/'; + 'WT+h22tg3ebTdbGbZV4gEnXEGERs9aBD82ds4b8dWgabvwAbz5v+Ss/WC/+yXFgfBvmEWe9VcB/'; b += - '+46t//vUf/Xcay/zqHriy/9y/Pj+9VSIXwDzeG8yGuIq5N4inUphNOsdOR2D9795gLkxDWkOeP0'; + 'FvD+We8RyJnQI856DimQZz2XFOWznkcq91mvCR44ag15OfQ3c4fIBW0Cruh/dgmuC9gbjjzP7pl'; b += - 'OTUliqebSs5vPYlvbWfAGSdstqvoh96PKaY+/aW3OK6an1nNR6PkhbeM6EMCtyb5BM0exCjO/zZ'; + 'D5HZ2G66L2D/NW8y+Z+TmBoMV+bjBoENebTB4eOjPCBNZrz5399/81L9PeKtz3/6L0T9Jeo/m/u'; b += - '3BQJW1omCqqPpVWp9hN++WAo0M2Hhisv2mzKzVtJlipadPBik3zV2ga9k/LmzfvS6cE6Ix7g2m2'; + 'vET/2C7T2W+8/T3/2nCW9Nrtx7XOafkLQnZdlmeW+LhFslvU2Wb5f0DglnJb1Tlu+S9G74rReso'; b += - 'l3FvMDTFNopjbt4xaZ74UaD6N7lBvmCgzlkuSFPrplXCwDkHA3OrYqC2DANzOETrxQCfrC3DwAz'; + 'dW2ATXiW95TXAe+7T0tLK9S2F4VXCvgWgYlMUz4eioLc10D7esIbIAZ7UaYBG+Aie9GmPRugAkv'; b += - 'H9mJgmmN7MYAzz9oysvQYA3O+dPBSIB1splLsUPq4eYcFA30mkuZ1kHPRc5F02VckNR0kzQQukk'; + 'NMKo5Se8tZg7YflJ7xm4gT0L/ZTXg+iTll/uPSsS3jKR9JaLlJcW5V41wD7AKwBuAFgAIz7uoFM'; b += - '5ZJDUkSzSVJnJqmiNp3l8NSdXlIwAHU71ImuPIXiTNcmwvkmY4thdJ0xzbgyTefFH1PCGTxUDG8'; + 'hzPL9jGhFPjJFWRYN9aaoyKKN3hRuFs3zpliVRcu8KaqyaJQ3RWUW7fGm8LJoijfFI1m0wpvi6S'; b += - 'Ci6uWPa3Lyb0ry2JZN+tmzoovGap2jsOGicDoDGyNJasAIaZ5XWEs5yTvCVWFpTNF72nNHmrZ/W'; + 'wa4E3xVBZt76Zoylqn8epkrVN4tbPweXC1stYYXldm4VfAtTELvwuu2zvtEbxu67TvmXDd2mlP4'; b += - 'sJQso7XH9q5AajtXojSzEqEly+kM1XqOSKtfieGaJQaeMwidvrhCKdBZUXT2O+hc8ktkGZTx2cc'; + '3Vzp30brzs77Sm8bum0b+B1Q6c9ideNnfYEXkUWA9qboiGLjp+mWAHfj1cfvh+v1fD9eE3D9+N1'; b += - '0R1laOT5PrUSWc56Lzwue4lPJsiH4FP1YweeHC3R2dgfzodhxpWTWdrZNipe3aNFHk/psk/wVmj'; + 'OXw/XpfB9+P1Wfh+vPbA9+P1Gfh+vK6F78drOXw/XlPw/XhNZjE6NoiOLEbFNkV3FqNhm6Iri1G'; b += - 'StTWpJ/0uWFlqYN2nWQ5Ma2qRz3gpNegwt6miLLle0RUqJ4e7gQuhU9Jq/vKZLnlvTwz01rTFmP'; + 'wTdGZtY7AJZu13odLR9Y6DJfmrPU2XJ7MWvvg8kTW2gOX1VmrHy6PZq034PJY1nodLmuyFh5q0J'; b += - 'SxZtqanvBVquhMVDbmiUVFD+v4Cvl/T79/0ln9/mgqP4GpA0ODpilJzvm+mWFZQPv9g+ev0icvy'; + 'K1XoZLW9baCZf2rLUV2u0ceZgtyV0xMr/vYB9AR1YLECCfyldbRqeNDbqEcrfR/XeM5FkGWItJ5'; b += - 'iUga4Omy6nwiwRfsmjVa/gC9v8i+OvX9Iff13cG1cAU/daF1uQObW8dOqreh0PFUVDWh2t01nT1'; + 'mobqncUSRPAAx52KyiC8G24upm/skA6LMDnJdTzFgTPs0U9UioVpZ5y8Lh6NMbzzfOxSFIVmR/e'; b += - 'f+bmP4e5m+rcr/Ll5HBER4XajLLYe7ELXg125VBM9d4bqD6O5eyCrR9SIM2Wq3n62kNfrzY3KKt'; + 'XIeUKkWpC26uC2+eh0VSqsi88OalSKlQlKXBzUuDm/nHYTJqfRl6YC7znmQwQL2GySnAb2D8KYn'; b += - 'zX8VnR5xI/OjgARmkhZ5SwTnjq0IhdCRWLClgUooi4WHyw7EMSulijsFJSn8TFWlrBW7RSFgtxb'; + 'fg8k5wG9m/DmJfx+TS4DfynjqCFiNiB8D/DbGj8nyb2AyDvjtjB+X+LcxuQD4TYy/IPEjlF4Bwh'; b += - 'OrFsh6bvoIZik2jYFsqKDx/cTpwXpxzX1x0X1yUF4eKF2fcF+fdF5fcF5dk0YNZIN6h/E+YGdE9'; + 'YmUM8jeUEgdZANCqT+tFmB1P22KpB66zYFUmfbrkDqm5sUSF15iwKh55eJmoChLMhCNZepaq4JG'; b += - 'Hy1Yptqeb//qX7z2+emv/5+/4ywYtT2fnPuhfz/9sT8//i5nqrzwrW9e/MU/+fqf/1mltKjScib'; + '6AWKcsUpTZogNqw9WJZZjHet1xRFgf3LQ7vi+WWRXhfWlEWBfctCu+LZZSFeF+1oiwM7ltYwCgT'; b += - 'roM+83mH1idiaEuPoi56wCTftusDjMK1NCVWuUrf5Fes2t1LdZjmyt3JY4frsVGCHYiyzmx3ndX'; + 'lI6axCnp92RXBtQNSk+ZxCpIOCUJtyk9ZxKvIOGcJNyj9JJJzIKES5IwSemYSdyChDFJmKJ03CR'; b += - 'cuwsSIOVFWooadiFvF4q1DXZoF1qhf56V5D7NbvjrJ2lQzfWs3camyUhMXKys0UZav3ibuHM+nM'; + '2QcK4JExTesEkfkHCBUlAAQn8YhK/IIEkHfMLgiSQNiiQ5NdmBZK426pAko7bFEjCbbsCSRZuUi'; b += - 'p3e21rDAbsAYM6tu5NNXZaRdIPOp/Vi+WhgYp1KB4VRsqtyAHzFOh/ddJE1pVjC2t4qmKN+xXJs'; + 'CJzi0KREmLYigUQpaIkTyxMscrwSmzy5VYJpldmsTyx/clQ1IzyJDUDDIkNYMMSc0gQ1IzyJDUD'; b += - 'l4aNU+kmxexHeTmw8xZPiLfHk1kJTclyLC3DEH/BpJuhP+cuKm0zwJ8bsstOrWA4mmYwR8JCAAQ'; + 'DIkNZMMSRXKkFShDEkVypBUoQxJFcqQVKEMSRXKkFShDEmxDGGe0ORIrAj5CNLjIwiOjyAzZhUX'; b += - '2gLGCseuUF9kSenSpLqNnRtGj69HGHD2bLFtd0Z7ZIG9t4F6h9Rj92IfFqWAU+rmPppj0knyBkF'; + 'wBGglSEDeDuonbznqNm956l1vBeosb0XuU28T3Cn915iAeN9kvu69zLLFe8V7uLep1iceK9yz/Z'; b += - 'UpJTzyQpGyRnCFdqr0Kerppjb/suXdBjnXoDB5WNRsG8+t1MZ5RoNt47GeNnbQFHboViyXNTPkr'; + 'eYynifZpFh7eRxZS3gSUGKIUknbytLChAOSShBAoiyQdvE8si0CZN1AdB8yM29j6D8BhGv4LrGY'; b += - 'GjPARH9wHnBcAyg7chR1zWrRYhJnDUrMZslQ7I7gP/qGNgR93GgoZzZtMzRYEH3S4GwCW1309LO'; + 'ySRWzsfRbhcYyWBdeLGA2L2Nh7HeELGBULrlcxKhaxsfc52vCB0bEyWud+RCqPn+ssVBpXSi55v'; b += - 'm4T21nV9VB6ivAJXUN9EmzukrbXV3R0kuGPkXqkxuqkuscsax0JdU/lH4tI3dgdDstfARQr8AYR'; + 'ZM5rVH2CyGZ6bOdzJANsh+tkDz3mU7mW1/2uy1SOdwklcPtUjncJpXDrVI53DyDcrhFfJr6R1LK'; b += - 'qQP8ILF/ACHbIBpJpJ54t/MQ8bfh/wprQnwvl9phtx4vleDain73KCvBiN/9cKIb4z2pxc2G3Kk'; + 'LrFJvPZln1k5GcjRTZy/HIq6ZCDGt4tXqUMmA1G4TXzqy/42VYgE9DbOnw8FaTIYH7aKV0gAJAP'; b += - 'u6qT7BxvT5Lh1rd6qLYmFTnx0Q5m5Y5ZAAl2FFRdhnAZZwPlbg98UqygWOO5Wr4vOmHwbudWeZW'; + 'Julm8/GV/sypEkn8z50+HYjoZDDwbxCdJ4CQDQb1RvPRlf6MqREPKRs5rg0AyGNE+0UlyQrzYif'; b += - '9ifIbZgLjS1kynX77xa2Ge3C2xVhPW19XgDhvXlzIcAvntSx4e3dwIItbPQfiP3WXCHSbjDJNxh'; + 'JIvNCJ4kQ834lSSzzXiUJH7OhE2YZ69tZ/VMJ9TkH8cArij7Nwn9MF53TBOV1wThf8cOLi8Zy51'; b += - 'Eu4wCXeYhDtMwt8NJuHcT9PafPmn//aZhKIid5iEO0zCHSbhDpNwh0m4wyTcYRK+G5iE6Z+ltXn'; + '3ucO6G/LeiGpD6gHoX9398eSIAdhF7BfdnfHPTm5whdzWLE3xoIkucJvZxFgr8lEAovEPpZlkb+'; b += - '2Z//2mYSiIn8nmIRPDYglzqWWCKai/GfYRh/kbZ8RTa5s7qvzbAo1yOZbEI0SXZUaLL+y1o6jTT'; + 'zkAevUjoZ1iy+BsD2fIJQpezUPM3BGLtJUInRaD2gG64I8g2iOeC7DJypKBsWrwQZNeKF4Nsj/h'; b += - 'bTEl3sqGQ2dLEJaamITQgVsXPNcb7hK8dON8U5TbUUu9AQh8Tl2NkGlLOrMNXlxC71Qa8l7omd7'; + 'EkE2QbxZlUyLTRAcLgX641WvHy06vDS8vey14ec1bg5fXvcfw8ob3KF76vdV42eM9gZd93pN4ed'; b += - '4N9nZh9cDv1pdjNIins1rcO55W4aSvVtz7OOgul2nJco1zXmC3PlWvKcc1yedXxdEtG5PS1eaj+'; + 'trxsthrwMv73tZvBzxOvECqnUXXo+buMkabaIeWa1PkOpKKu5KqfqSfRtU3KfxetryHKnqNkkV+'; b += - 'iBJDuXQY9FSWqIwlGFVpK+fUg5NIfHQuMDNWwks4zlMlmLtye4mMeTlaYlahhB/YBFUupNwiWGf'; + 'Cm8gqpbhdfzqNKyyutJVbgSr6DyluH1MqnApPq6UiWuSJuuMEhb3oRXuHWHNATa0hBosyHwvsWW'; b += - 'ZoFxST7sCWDCRBXxTuT1s0YXX683l5rCe2VC5IdCK0qG3LJ5/txC1vlJWxl8lZ2vdOdvrztlZd8'; + 'wHsWmwLvWmwLnLbYGHjHYmvgbYvNgbcstgdOWWwQvGmxRfCGxSbB63htzeJWArINXrPYODghdeu'; b += - '5k3Tn7151zYN05N6w75+C6c25cd07pW+Ruma3Z4jeE1Od6SN2Sskvklohd8rbk6xK2JVyXpC3Ju'; + 'rtjSE2tIQaktDqC0NobY0hNrSEGpLQ6gtDaG2NITa0hBqS0OoLQ2htjSE2tIQaktDqC0NuY405N'; b += - 'sRsidUlY0umLgErgW5agUDLRIuPBjlpcUjjluXi3/a6c3bWnTNZd87+deccWHfODevOObjunBvX'; + 'rSkGtLQ64tDbm2NOTaUle3pa5uS0O0Iw3RjjREO3JO4UhDtCMN0Y40RDvSEO1IQ7QjDdGONEQ70'; b += - 'nbMgLTfWIausI+YTWRw12/liqiY62PzH/zPPitiYmL3xknMU44tRJ9HRnvmmNd9emjG9Qot7qca'; + 'hDtSEO0Iw3RjjREO9IQjRbQSQd39mO8BzVe5Sg3QZEUHNyOtV6nrqfcDaRibIkdhMXtLkF2JMxO'; b += - 'GG5JXsrboBZdSSyWXk5iobOWkJaVPy+9OuCZxS1mzWd+8bbPYIbipqhJiXucZaW1e5/Ky7iSuVm'; + 'O0NiXXjzOrjCFM+APukc8VEy074jQ2zo4UFjE622kCuPiRtwBJcxiGQRaRRJJ4pIJpHu4Tfdd3T'; b += - 'ss+rXe5hYvusO9lvfYjFea3PNJY1k8azMXOoS1nnCoJfbGzZfiiMGB2VzRAhfD6kstOSzxRhwDj'; + 'SRmkSbsaVJNwTa2Vu2tKmTFv8rSFeGKIu2J75bZTkTVh4wh7iomgyBtmMdOpKazKo7+TEEJuRsV'; b += - 'MyBVaH/HMGYkKhZB6pmHaiadaBq1tAUVDVryPGajqpZd6iEKsTRd1pTRI72ZxrkNh0x27D9pMJm'; + 'CCn0GTysbMt/AZtUNsXUayvLsWk/rMN7mjmj515JOmb+31EzncGZd4oY575wk81d05PMR9/X1++'; b += - 'lJ+HRKM/t6oG/cWWRPSYngtym47tkqHBoGT7MWB1S86vNh19y8tpCTuFR8CHbJ3+BtwBiq3BWMD'; + 'ogJ30FYikLQz9h9ATLF8GtDAPmU3TqEQrHJelFYQ15ljhbEeDmwitZDLtDW7nJsHin86QyxtKjU'; b += - 'rNu6aBa5aYNECVyxw2QKXLLBggYsWuGABtejoqUVHFuVhfWuwkEFu0VFCuV3BSCJyREYmKvWPa+'; + 'UXhsWrVI6Sg8is2n9UGFwhPdVtCKnRpIWCk65yLvUnYaszz6jGAEEB67xjBrU3YcsutxeemPv/k'; b += - 'crKOuxgb9VHThrsytmE7huyBPl20JtG/bMPBk6vVrbvfbx3prb/Sxs40ViZaa2zECeV9gQq9mip'; + 'LY/83IF4EGJef/vaf/cJYG0/ULsiAFNiAgUEfR6kcbvOxcpltfkNdbuwMDMN/YvtlNColOo2UoO'; b += - '6vjvVVczTKvIyQuPohh0qtaNiunY6WmY6WmY6VWMqpXt+OlVjaqVxovZaN69nOBa1DPWr3D3tla'; + 'wFyBpyJagMBmNNQZtw8PkVMHZqyGmXfoCQI6F8R/UOrHAfGx1euFc01Pn04nRdbly+uCF8cUP44'; b += - 'p6tOmLq1qDe5vpxUZu4kGt9qss0uRk1uyC8QU359JYN4fXlBYhAvMH1sxo9tpCJTPyTZ8kz9eaZ'; + 'jIYzLWn35CvrNaRI4kP88p0+MoL8pXV4Surw1dWCF9/+hg/vUys0LHjCfyQ+FdWaK9M4CututyV'; b += - '4/DYlqfG+IbXdV7O23MRyISs0wBuXWI4vNSV0TPLRZgUZ+wqTfFXrVg2T17pKrKEmtcKeWmGkL3'; + 'Was3gWvBe4VVB+xWAXl+EIydVahHVAGTZJCxy/FSDrwGl0rgrwyycBIvybRZUQGtlAkWaWkduMn'; b += - 'InssJSn85VSREsGb9M1rTU115mqU/0KsVa5dr2+t7aY68vtlYB1VbogCV5sdLKEW+O1b5kRat9Y'; + 'KYFKTAWlv5AwYbay0XWHAX+7ct64YuY7cFFwyf2QZGE+GbqRVYO4Ljm+/4OAasJ0b+SYU+zIV4y'; b += - 'vkSM6tjuy8u2e4Tg328mLWs7b5A7atxn+f292JxfBizOTzuoab1uxexVQ3HUJ94GPVNnGesasZ4'; + 'Aq1mHaE4VZcwifi/FOEnMLy3MLy3MLy3MLy3MLy3N2w7mF5Tlj4pwxcc6YOGdMnFtYnltYnltYn'; b += - 'fF0lap/bdWs6N0Md6JKo78LiANvt6P2SL5WqOlYhq051ankmVMipc7SszmrOb0iNCPpseM5Xa9i'; + 'ltYnlMQ5xaW53TBOV1wThec0wXnFpbnFpbnFpbnFpbnFpbnFpZ/zBeWb/8mDMPXfggLy/fkiz/G'; b += - 'KbLExYjqFjcCg14ggmy4sZQD5r1qCj6/6vUYEfyHx44ObcKOyc28ajbBrEvmTU5jmc3yehCuRlg'; + 'heXRb/MrP8aF5VPfnq16P/6F5ZHfo4XlS7/3oRaWb/zuh15Y/i/tVvuxJbiwPGXv9e1G5J0TfMT'; b += - 'WTtPGc2JBvslzuBwlumtZ+WsWbL4TycoMPe/HfdorC9P1Obyj13uPFBLfYjQ/N6B9GJRt7pum/5'; + 'ESl6bxRtNDE3BmZEgc9+QmXtB5m6QmQ4yd4LM7SBzizKsFbwBn4qBLV15UEq1qC46kIJCbGOcwe'; b += - 'Pk0GCam8KOgwsYe8yn2n5pK4vT0fEXTX5H0pCd9etrTDFOSIV6WwX7hgGQIl2WQb1CSr0ntPY/+'; + 'pIiDb4Kc1FUf6t4Mub8awUzrbgaSmcbcXzUjjbhiem8Je045kpnO3AU1M4m8VzUzibxnNTDHkKi'; b += - '0EmarQmte7PkpSz5AXq98lQL2ioHTXgm7Rym9rc+gWPDlmn8/RZsxWobm7tZjJfQw8lNTs5mDxp'; + 'CV/iYf8I39LCs88eQNElk3ngpRzKH8/IzLFvwaPfikT5cUEjDltRn6NDTfcDGKm2x0wo8tj0wYB'; b += - 'bVLZQeTGbOxmNZ/8h+R+JMf1y5dkWcBK+RIG531PxW+sziuWfO3se/UTa/BR7h0o3H0gH8LzLwL'; + '0wFziTDXg2jpgLlImMkgVDpgLhDmWhAnHTDnCYOR0xdJzDnCYNj0xRJzhjAYM71WYsYJczmIeA6'; b += - 'FW2jGbD0xBENu+0C9uqdK7p8yAVYZrmP4D0DDMc01x42MoWna37PEyMetzDl9/p1cZ35s9OnEmH'; + 'Y04S5FBxNAJhThMFQ6XUScxIxGEgRU4zk0KnFcHiK0qcpXUvpM5T2UPospesozcnoVZhukJEcuo'; b += - 'fgUVePgVHcjPEwY+n4T5bZQfl5u0362KR+gyh5Imyt8ZRMV0TkAhzUINdmDFzvH/lf60a7nH2QS'; + 'JIDp0qkkNnD76pTnRFY1h1UoCCTo5h2xUEcngqjr4E6DKOw9Nx9FqgyzAOa+Poi4Euozg8E0dfB'; b += - '6mCe3HPwk3sePfwpdo2Vbj2Qbof3iQPsYSsdRnutm6u0fSAdQuy2qcLjVsO0pTpDy2uSDk3t8XB'; + 'HQZxKEnjr4Q6DKGw7Nx9BqgyxAO6+LoC4AuIzjk4ujzgS4DOKyPo88DuozfsEESKK4//mHARDqB'; b += - 'VMnD4JI3Gmf9QeVZs8B1679MtNoT1b3/3nU+3/CzOYGVt+ug3rgRPp+EwLdtIkQgTDjcDrOtX8X'; + 'pwpHv2L2Rq4H7i8+1ocaH8Z7SO8wP4wScJuB4wTcYmCEgCkGjmByk/PvY3KD84cxuc75tzGZ5Pw'; b += - 'ZGY4zgazXNd7VCcJ6l/gxFeRnMvPY9PQyjk2GG+X/2R6uan+qAEN7wGlk1A0s1feaPQk2mmnGQ0'; + '+TK5xfg8mE5zvx+Qq59/A5MrHwInwolkZsV/SZ2LEPUSfmRH3EX1mRnyb6DMz4mGiz8yI7xN9Zk'; b += - 'hvd0GyZ6kLzbeMnujgu9PZm3ng3poiWSQj/U2bTVGr2o4mbkAcGnjzRuP3+bs0O8awfIuWwVkkr'; + 'Y8QvSZGRFbclZOPM4FZmbFUS4Q4UVkJT7Hiw/jcvGvmOXKi1F0BEwxx+LRK42iKnI7Hp5EQWujj'; b += - 'qljVeahSMZtED/jFvWlwxlD3J6YxlTb/fquFc+YnWwGf5BKZ9qOEZ4a7wR5PnA1126YFr+cmeIJ'; + 'AwzP5sCg9oYZxnTJsrfpXwj5acpLyh/h/L1lL9N+VrK36J8DeWnKJ+h/E3Kpyl/g/Ipyl+nvEP5'; b += - 'GSXtP3wE4SYcx0wbBRMSEbN784SsopOsRVVMKtAw2EpW/gMnJIzYp63+WSqDo/cQ69n+QOKkmtW'; + 'Scob+R+QfTHtVEws67nzSNgoG1SjqIZcr6Fk4+c0lOSXdRpKstizGkpyZY+Gkoz8jIaSvL9WQ8n'; b += - '1w/wFceUwRxVDs8xTTRHrjhclWm78D/8RVLhLEPrW/uwGXE/uJdinX/u7gngr7DkJa2jQDzxMFD'; + 'u8nQBinrYUxpKdkfV6bCCRqmCRqmCRqmCRqmCRqmCRqmCRqmCgiMmfI7JR0wnnwSMcV6eDuJvyq'; b += - 'U7h21MfxMl55nWDZtJguyoHtZodswE41DoMfLCVUFT/fmpmswvLv/0fhGHPTiPrp7+LX/2C9WRP'; + 'v+Dmg8jKcM0ZvzqtYAjcfxVCF6S17VHCo9gK5H9Na8qj1A45E8yxC9La9qENB4KM9yRG/Pq1oEN'; b += - 'oet5iPCU3ULokxLilodECPj5/m74ONaCOcqQbclmke+PKV+2eJUi7s9mbITBNJEt/d9aavbqlyn'; + 'B7L04DoHXlVk6hjAFogemde1Sag8WgeD9HP5VWNAhrniz6in8+rWgU0Hs+zAtEv5FXNkni2/a4H'; b += - '9ruzWl+0L5/8TRezO5q/aiFtfoYixbC6PWEDEtmw2j5j9Cpcxk0f82SXOMX21+CjVNhByeZrIZR'; + 'yXXdGtd1R7muO8p13VGu645yXXeU67qjXNcd5bruKNd1R7muO8p13Q+R63RW0/lLZyqdk3T20Xl'; b += - 'OQ3oJXPiKN9gepIegYmo28qW4/dVn7eZpxDuK+pkn9Av/bNCaHpsz2KfhvMm1g/q4pQxPTFozgz'; + 'GZxSdO3SWeF5rcNnU4oWQNx5Us0cqa6M8nyGmajl66FM9JALjmkNWdA/Jy7gmlG3QQ8I1rtll8/'; b += - 'Wbrfpq6hvebbfvNEOF1T8XAsUgyRd23cQ80+ZsSGASJEZhuRs+1qNMw4UnP8QvE5npdD8Otj9jN'; + 'SQJI5jFdlyPSS249hLNmoPyfg4lpTt3UMDQhwbS1boodEjjvVzKgoXF4h0l/VBFOJ7XCDsWxuCM'; b += - 'g0rN+GQXU9fgFJED3uUFiyJhFKczRT1Jld5Pldtg2h/kyxEAXU/LFCt6/dkV238ydh6HpfEX+Ns'; + 'RVHL7FJsRPGnQ0j9G7RovduVV+GwWjXqfx29ZsxKm2Pyu9UtYkha9eq/POqnfLiBdWoedEVRsN8'; b += - 'oDNdgzyNqP6hr/wcn4emlucf/YIZ7x017pqZeGG55Yp6x0gwbFgrYZR0MB9AaLTZSYmLt3uNVYD'; + '6KrYiC1WlJgU+CUmBV6JSYEoMSloKDEpWF5iUrCsxKSgvsSkoKrEpKCsxKTAjZ8UNMJfREly1YQ'; b += - 'un0W021F0YsWT55/r5Fgt+RPhziX6uvWfwAGXiL7b3vHDAtEof9fOPsrsob6WPNoiD2UmcQQdAB'; + 'VB8kyNVnFsbFKTVRxSKxXk1QcCZepCSoOgMvV5BTHvQY1McXhTqhJKY5ynpqQ4uDmq8kojmkr1E'; b += - 'RYGIlzHEmeXDY0nM9T6z/R7Vb5f8VgEA6i4vwKb14vexOOsoHIEuzwqNXsnbqtYj50mKLblUWUD'; + 'QUhzIawXgqOjeO/aMaxzoj49icuPnREzeOqBYZPjIkKnYCO9k1Ky8CC9kE5APb2FXIB1axK5AP7'; b += - 'CuyVNry/gmkWLmkD0ZGOaG22SX5v0n6wb5oYuIk18Be07Kf0M4EpgE2+3F8J3UxhBhdb1O5GtpP'; + 'GGXIR9Ywi5BPrCBXYR8YP26APnA7nUe8oHF6xzkA1vXGUuzdY1bc5Ozj31yBkOApc/KYBCw9OkY'; b += - 'd3O8UO8YBHzrtFJe6XHwEN3/Om5p6IE/1Vkjdn6f65a9O4eoImTixVG+wk4SfUGY8VvanulmEwT'; + 'DAOWPg+DccDSJ2Ad1glLn3l1WKOWPuXqsI5b+lwLRhNLn2R1WPdNfXbVYd0z9WlVh3XXLJxPTc+'; b += - 'ReoAaXq8sQV1kdcd5yxK2K0ynhKHsqJrgykVQMrolD5uGlcuyqmG8cV62Qt3qFvNUr5K2rQkxdK'; + 'ZRH/ETaJFRtAntaN/m0WLaBVtol10iKxIi0qREEmR0k4H9tI5w6u010mDUyUuf+FaIWRSIh0GtH'; b += - 'XvzrmRY1L0JYbxr2dU/0FPN5BWaBoD2qxXr7SLch98P46eyb1KuqjUp5vD1PNzk8FIeTjh8Iw8P'; + 'U4XG4KI9Nq6FSAThWg0wE6raFxEcqvzI3xwWorh9VpagbG4K2QX0BxeS28mCIV3FqBr02q0LgaP'; b += - 'cvhmHh7i8K08vI3D07mjDcPhQ3l4hMOH8/AohT2Fd+zDhOkzxbjtQdoDRTt25u0YhdMYbcMo3MZ'; + 'jVES6S8fJUq+IJE8CobD9JsNCr+5Uqz+tgKIzeS2OtbjbgSdcodopVouZxq0QI7rjorxCghakPE'; b += - 'o/UfhOEbrPgrXMVrvUTiP0TqPwn2M1ncUDmS0rqNwIaP1HIUTGakjPT5UriNOmaJyNR0HI1LVea'; + 'CCEyIeKew28PEMLkdViH1vRwF1Ul/PSiVaIRWlSyogS0bJt0ZxGhGVvGieL5jHSzeDCyaN0qiW0'; b += - '/A+QWvjPOLXhnnC14Z55e8Ms4ve2WcX/HKOF/swfnVHpxfK+G8cLPitmmGneSU23S0p00zTpuO9'; + 'ZeYWDxvOyKAHXhmyMiVxMmKQVsqoYgotLZnaUgCeXlgs3hmBgU1fHvNxBjiuPEGgRqvg3u7i2lY'; b += - 'bTpeE+bZnvadKKnTad62nS6p01zPW0629Omcz1terW3TZigmJym/4gPwHu8tvKhs2s8VWyUlg4G'; + 'o+BBe/0sIqrgys0ETxc+Ev87mHeq1+cK90v/9HPYAfXPbgfkDqoz/KLH2r84N/qP0P4hHJD/8I5'; b += - '3TCKSv7IB6/k04TKptPDZabw+aveuGsBnz03cXzkxserxIuhzXI5vAXWQy1ZlKfZeSq8qGc8u/O'; + '8E1zkf48AfwW90f/BGZD/+Iygff/+1/EN2j6h8E46a//0ckH3yLpH8ojPwAGrHUtfyhysAHKOcf'; b += - '4D+BCjY2bCpsV0C6GD9tsPdEef5L9uQL0cpCfOLvDvJwFOB78De8JsXPIUxC21OxtfZL4RCwm+F'; + '4DD7APjjB2iR9Ee/tfyHcuvHwOAVD4/Bf4DBwP6hjJkf4cOdf1B94yEOyw+AT8yHqi8+wFt/uNz'; b += - '6U0SSEk70q24s4+PfY4mmoa608NBTLoymPRB6D8hiSxzZ5GHmMyGNUHjvksVMeD8jjQXk8LI/H5'; + '3AHvkj0yNfwQGLfsHUU3pH5Ua/sd0q/1DEXdFapIRZ/EZIe/of7Paqj+28qg0W6F3tE0WnEq6pX'; b += - 'PE+eTwlj/fL4zl5PC+PF+TxIXl8WB7fJ4+PyONFeXxUHi/J4xV5TMljWrmLQ/o8rM8j+pzR51F9'; + 'nIZ49INCiVoYzJ7EcPHCgwPypx5uMfFUf7TK2oLO4YldJCUyOtQQupMJqYqkSNWEjPRrtSCqHCW'; b += - 'HtPncX3O6vOEPk/p87Q+5/R5Vp/n9Pmq15A7UriWavxfiV8/mOAYY7GiUh+ZkgwjPxDkB4L8QJA'; + '1P4B8XL4CFFU5IqaddaJC00i5UPZ0IsEovpqWgnW4BQ4a0L8A+KwzOL6ywBr0rR8dk2Hd5Orsp0'; b += - 'fCPIDQX4gyGeDKHs+/e2vfeunfv1XTrD4C1s92fPjf7bwma995re+HknUBYr63Lkvvnru1379V+'; + 'cJtN57eTo3IAn7HZTTmAx212Ug7g0za7KAfwKZsdlAP4pM3uyQE8ZrNzcgCfsNk1OYBHbXZMDuD'; b += - '7jqD1/eu5//+yP/+K3Lj69O5A9FUwwZWac7Vg9tpdt1HZpmxjAHm2UmS4MmX6Y2BrljLzSehrx+'; + 'jNrslBzCvAePp7g1kP/cpXUFpI6UrKV1F6SOUNlG6mtJHKX2M0jXS9i4C23uDsr03sBOoCEzvvj'; b += - 'qfWY7zSetqT5K6nPUlT4lYC66mTYokZ62mVqHbxK2y69WDyQ3L2B4uZB7NYZoNdRFn0Qyw8/T6I'; + 'ItN5BpuYGdQEVgel8Rpe8hujS9N0bp+4guTe8ro/S3iS5N76ui9MNEl6b3R6L094kuTe9NUfoRo'; b += - 'nyEGH8DPIIM78ZMwuAM/TQZH8RMzOIIfNk9k8FOZ4iOEqam0xa6p2+Kgmn8T/hVf4QP8i73+yWJ'; + 'kvT++oonZxARWB7fzRa4DgXkMb3x6IFRrmAtL6vkRTpBIqm0QxyYiFzZvAPmBO4NvBKLuZeGJWo'; b += - 'PP7DMnXZ+DJG73LaHAqZlAXsUgX3JoPXtzWKIU+lGCbMUYufQ/nSThj9+4c9/JqLwZpv/L7908x'; + 'H2CPwHPjkZfL0T4f8PQdfP5pi5392HkTMRjdrSLA3ELMSYtd9NmREzFjgEkHmJuIOQGY6gBzAzG'; b += - 'fp/SFNPzz3tZ8KKH2LhiGf6FN4q81/5he+uPjKFNscgi2hvcS2bDg5gX7eR1xhbq2LaGWAokOz9'; + 'jFjvSs2snYo5b7EjPDp6IGbHYkT7Pbs2AuW+y32CenZsBc89kl8E8uzgD5q7J3oJ5dnQOVpkeNq'; b += - 'aS16eWZfo7ZctLa/vJMwjFDJ62NMNo5c8zmk9aWmGfaHLPppLU55pkWx2w8aW2TeabJMYMnxYZZ'; + 'cbJTjdKcHpqRKcni7B6ZkSnF5TgtNrS3B6fQlOFyUYvbEEnzfFs/kagasIRRMOXN1BRk0AyxaNo'; b += - 'bOJs+j/NV/Iu90GSfmaeYaGqQOaiQOaiQOaiQOaiQOaiQOaiQOYifjwM7gMzsJ8FE906LAzuZT/'; + 'MitXgOKQ4fOf/cFcquH+9YuMaaRFsq9lSgSGbNKILd6j+CzGNMkkFu91ejvyphHafnbewxdXRmz'; b += - 'bNV/ueLPgabbKjDmbIqYmuryOyHCB8/dIsoGusbuA19mXchtLvh0NHkZDT9L+PMnvTZpCwzQxcB'; + 'hhbBvS70cmVMNy2Fe0/hoMWYp8nDx1uLXYkxz5CXj9eDXYkxz5Knj4drYCcZk2Oe9daTrHe8DWG'; b += - 'PhoIVGI9909JmGKLPXqQFqEfugvghp1d7q6CJTy9jQcF3ezUeV544q786o+mseVWr5qk/G1daTs'; + 'PBFnvqM4Igt5R/RCkvKO6IIh4R/W+Duu+rTpeh3XPVn2uw7prq+4Gr7RVT4O32aqTwdts1b/gbb'; b += - 'LI1pOPLN9WJSczFNKrQdYM6yohMJuB+JqCxBetbiY412lJQPKzobT4J61tNHXG+iSdgcDygcYb5'; + 'bWtaZgEPGoezxO6ROUPklpM6UtlLZS2kZpO6UdlGYL1vmFts6vmCWrmEXxV4eGkizZrqEkF7dpK'; b += - 'NNZx58MkHzzL02iDVa5QR59v6hSPe6jBk2J0S8agbxoUj5v74ElmYqoPVYYgkPlQZRBWOR+qQBg'; + 'Mn4rRpK9pUWDSW7V7OGkj3ySQ0lO/ETBSjq949rKCkkPCUkBLG6R+njlD5B6ZOUNlPaQmkrpW2U'; b += - '1fqgCF5rRQxUIytYfqmDL7uFYA0bRh15+qDLMUELQVnFLQ9AWFuxE6maGkLqJIaRuZGPsSN3AEF'; + 'tlPaUbTOjz4eHRqMfh7tGoy+Hm0ajP4erRqMPh8tGox+H80ajL4fT2ow+n88ocHoA/K4BqMfiKf'; b += - 'IHGEJqP77KqR2GkNpmCKktVIZTGwwhtY8hpNZRR06tMYTUKkNIjZizQ2rAEFJ94QIJYkzAm2ZlW'; + 'B6AsiNBjdQR4km0Qq1+shhoxrCq5xKHDV1GXwE9ECE6YuhJ+MFrhm6lK4OVpg0tTFcEu0wHVTl8'; b += - '+M7WL7f0Hwl4p8jFXaxFrI7XbC9db0mzipPNk4k3ttx7DEXqLsl3Q69kG+Ynsu3VE/lm67H8m3Z'; + 'Ot0QI3TF0Qt0UL3DR1SdweLTBVoHN0RAvcKtA5stECtwt0jk5J6SEJJBqEnxcrRGNerBSr8uIR0'; b += - 'g/kejndvO5hlZz6emXvm+HkbwHsD3jDwLoK3Frz34E2HmvrPZS7qLCq0k73ZgdRyRh1mX+viOkX'; + 'ZQXq8WjefGYWINurd158ZR4Oi/Wimfyokc8mxfrRC4PzL/hwQ7C4VARM6zEjEQxg1fMeBczRMaM'; b += - 'EMXDrWGfRhyNWduCwBQ5ZYNoCup/17EbXsztgz26NPbtn9uxm2tMNN+yCYLNtRV7EK2fHqRwLsa'; + 'qjEDcczYHTPcx2gIMeoESwoeGn1KV1DaSOlKSldR+gilTZSupvTRwu0a9y3W+h8NUfckanWIuit'; b += - 'RWcsdNgZBpuyfM5vLr4qaiEL7xS+UtsYV5/aIRrBR5Pfu6+ELq/WjkigTgJAjHQfsmun3sJYht2'; + 'RTSFqWqIeCVF3JGpViLotUStD1C2JagxRUxK1IkTdlCg/RN2QqIYQdV2idFEyaT18ZW7aFMtn1e'; b += - 'V3j36v8uyj+j/j3Mv9e4t8F/r3Ivxf49zz/zvPvq/x7jn/P8u8c/57m31P8e4J/Z/n3OP8e498Z'; + 'bQQ3A2bQ49BGfT5gxRN6s2hy5Js2lz6JI0mzZniOpZtTlDpGfV5tDlZzZtDnedz6bNoQdjjDZHO'; b += - 'L2WTgEe91QQZilrjur+2Sja+BqhaEYdIRJPkKhG3lWFxcVojJsFexU6uL2c1Y39WQyrqcCjA2Vc'; + '8dFAlS3QIUrF7WZnXJnsCvmU36SIhSUCzeYi9BcJzi4XW6fVAe3yx2U6uB2uYlSHdzO+yjVue28'; b += - 'ouQPeO+dZA2hTlFLjUuqRntRmKXWmJzUppR7tSR10U8VdlCQQz5snTePA6VjPm0Olco/3pG4rpc'; + 'lVId2867KdWp7byhUh3aznsq1ZntvK1SHdnOOyvVie3B5sqxj2G2Me6WmG6ccUvMN865JSYc590'; b += - '72pJpS6ome1JFS6qme1NFS6ume1B2l9kRGMIdb7hmwMCxY4hXu8iKhd7eMZT0Xg3kJsxHd6q77L'; + 'SM44Lbokpx0W3xJzjklti0nHZLTHruOKWmHZcdUvMOybc+InHNZc3WVZEd1JW4B/xZhp5Bb2Qig'; b += - 'drixNgGs5BbPtocVxA6E9nkqDQ7iWuxsGRH30rLlZ1BtUtOm5DO/qZXFs5VG/YsKsdFFcayox4P'; + '1q5cKCAgY+wIKugFYyHDsTmf200d2fB49IIoBRZuA6D/4IJsOUK2rEIryFpucYpgmNVmn5oGq67'; b += - '7VGPa8E+JfOi1b4jxiKtZiYxWiFjtCxjvL6MMW7mYztulEJhcbvBmXwlT/F3RgnsjjtPOqRJh5H'; + 'sdQDsUmtmCPsguFi74JN4mW0V042d9PcKWEF8C1SlTl7EwvWg7oyhEJHHThou8aI9ewpJgn7ynP'; b += - 'E3rvzpMOadARJ7Ow7TzqiSTNIYt/gedKMJh1FErsSz5OOatIxJLHn8TzpmCYdRxI7Ks+TjmvSLJ'; + '9NC1Sv6KDFzTaEqkL8TrfmFRwIUY8yRUTfQLMTxDLd1lgSDYT7At4Qq4lomynAVflhIpuiK9TNL'; b += - 'LYr3meNKtJJ5DEbtDzpBOadApJcJqep5zSlNNIYXftedLpQP0RVpSMLVVYeYlWIS/B4hw52ajTv'; + 'xFxn4xVDzlfBlBtYj/UKcabEt8/xjVs2xWrRljiUDF7xxjhHDjWLDdwXOcSa/mmyZGNPEjtamS8'; b += - 'nKGeK0MIbqNBo1Od3MB5Cn+IPH6D+oxRB9fjvhZ5wO4Fem2aKTwbYOeWeHU6m3i0E9cpeN8wHs5'; + 'XRlulCLTlxvnRw19e+C7IQviIBzc8GSBR78M00obPQxELSw6I5nYUGlgC+hfDJEJ5CeCyEbyJ8I'; b += - 'bXUh/e3zQYGJeWMUq/yMp0P69gKcXo8Apy4I8Ifjenntx31pPx9H6NEYe3Op09v0nXA93hzDkjf'; + 'oRvIDwawtcRPh7CkwiPhPA1hO+bCp5A+F4IX0X4bgiDgm2xMWURiahaSpdQupTSOkrrKV1G6XJK'; b += - 'HQvAtwnci/Y7Hgn1tlmdXF1RwOcGqGB3IN7JTQ0/4mLAwdB+ytw+4jg6ZcxFH0h6LIVaVs0g0DR'; + 'WRwKSj0pGlm8LQ7E2yIl3hb1YFQ4SywOxFut6rWLqNdCgTNBARJvS6IFznEBKd6WRguc5wJSvNV'; b += - 'wAZAwhbRip37wNnCbyTKGVV9rAoH/QEcdj30T42TcxSa+KyhUkISxw1gJzFjhtgVMWOGGBWQsct'; + 'FC1zgAlK81UcLXOQCUrwtixa4xAWkeFseLXCZC0jx1hAtcIULSPEmogWucgEp3rxogQkuIMWbLy'; b += - '8AxCxwVoKPypTb6sAUOWWDaArcCy4hZ4IYFlixw3QLXLHBVgDb9rMIKtGi7wNcos74Ij6bB34RU'; + 'k9GF+LnTRR/CXjmduhIDHj1lBUyNhy23mSurKTm4ICgcBLgrwcO84wnhzxDcj24EAujKBn+vNyk'; b += - '7MBfrzxskEvEpuFqrFJteIwbDe8baSDjg3j+YdxY+jwK6nKQHQrbKmTXMSFRiB38QvdpKIKtoek'; + '1+FjuEQ4rTFwVmQ9zlzMsiMBZkTQWY0yBwPMiNB5r4pM/eCzN0gMx1k7gSZ20HmVpCZCjI3g8yN'; b += - '4aSp7KfN5H59g5y6piRr7ELTSc571fNsjhVuVF/t6xPlEwpkzMeRJ1435izjZ8e4lhnO3f1Xhiw'; + 'IHM9yEwGmWtBZiLIXJWZJugnw/H/PDtneA75HDvoIYw1gSsXTm7yzHdBdtmhB/FVRbpeTJpQpBv'; b += - 'RfV/gSwTcUvkLwLYWvEnwoFPg6wUcUvkHw0VDKv0XlH9f4aX+3P6vwYYJPKTxD8JzCxwg+FzpDi'; + 'FpGsme1A7uZuFJAe9n6GZDHJJZrmXgjGHakYKPlxocQBn0+gwb2aRhxLSpg8oEu14L8rb6fHvGp'; b += - 'iVQI0cO0BNJwNARk8vFOSMrJufxOSUE7ohZQKYmIaDI1Mwz0Sy9dkkq+2clTxOVuM1lRMPcdWot'; + 'RNwS9NEicZNLzxuk4CoWKDNKuFvACUjD4c9UWbTH4J+gqEia2Iv2BI6YkUSQVrVIlA4K4B+Kah5'; b += - 'f1OW5kTct65dfKIOrJ1FvuZk4pJY/LZH8K9EaVRue1y+UBUBxKaVW40m9pVIzslKTExPZVzio/L'; + 'FkTgDdCsBHA6yEo0MM4BOsBvBaCtQBOhCAuWV0NwQyA6/YGEAbQWato8Fm5LgWhT3W7ggxMmh++'; b += - 'bKmdbtDWbP/oFFovtaWpbrlfWbmrbShm6fGFPU0voNg1a6zCDN3ItCrgR8SCj2PVMP5+WyRjJpv'; + 'fJ1KlJCvtxIl5OvtRAn5eidRQr5OJ0rI17uJEvL1XqKEfL2fKCFfR5Il5OvxZAn5OpqMl68nksp'; b += - 'ez/LDjQlvdL9Gsu58FNJ3RIMNDxwiPKgSSj/vMGrrjBu/1hDNIjdNey6N1qsUOHXixpV3pK7IrR'; + 'zPbLeGspX5IWpBIqCor1cSeJolrSoOzgxHvYJ7IWRyB/I/VKRSZBmkvkZ0+PeOvZ1ksS0LQC+aR'; b += - 'VXqtio163ovW9wvrv3mfxDVaSQfh4gIunCWSV3F33nxQ6HcuNJbUjTe87Ptz5hW1+c8Lf58D0sg'; + 'rAGO98eOD4mSIKii2BUcPsvfiDmqxpB94N16nEoYPCPpRljgLEXUm4lTgkXCbdkqR7knQ7JN2Wp'; b += - 'NWsphvh4onGh39sK9mKmb2/aIPbiYBaaCvqhlfkTLT4AamWeGHFXsZEWcwAfSlt4vIA98qj/fMq'; + 'PuSdCck3ZGkEZdJ0yFpWpKOS9LdkHRXkkYl6V5IuidJJyTpfki6L0ljkjSSVCTiEECdlKTjIem4'; b += - 'G2Z9L2TD7+1M2zP5UyobZ35eyYfbHUjbM/nDKhtkfTNkw+wMpG2bfmbJh9h0pG2YfTbfyliYd5n'; + 'JJ2SpNGQNCpJpyXpREg6IUlX5E8eCT9jRH7GVUk6HpKOS9KEJI2GpFFJuiZJJ0LSCUmalKSxkDQ'; b += - '1Pyv4ntqV38Q4qvZu3YOl23qelhjdzaZd3fGnK28L0HtmMjazmZoxa0MguRK6LO6hcZ/NRycUdx'; + 'mSdcl6WRIOilJNyTpVEg6JUk3Jel0SDotSVOSNB6SxiXpliSdCUlnJOm2JJ0LSeck6Y4knQ9J53'; b += - '52LSi7uOG4uKrm447hTkeviDlGui7tgFpKbLZr28GwTd4tnhxhgPBPikfHsJzYazwHitPHcQMw4'; + 'HfDg1igo4BsvHAqCQPYTSyAkyFk4dw8LPl/iEuhbuJiukp9RSbthUFdPsQD57pgsETeyxG0+EuV'; b += - 'noPEr+O5ccy/hV3HpjH/Jp6bx/wbeA6N+Ut4bhnzr+O5dcy/hictQFfx3EbTOZ53jflX8Lx7zL+'; + 'lPUhzqgib3FpF+73iK8jia9WtKvXW8JXo8nvaWkX7teHV5Hkl496deutwyv9xPecrxedr0GvN5L'; b += - 'M5/Yx/xKeZsxfwLM75l/EMx3zL+B5z5h/Hs8R1rEOWSaqgYEG/aAGVLqIZBmcjXkAZzkzdoIdDU'; + 'eAKvl1zPw+tdPP0KrhddbwVp5AmvEa8XXG8lzSsS3iq8nne9R2hekfCa8HrO9VbTPCLhPYrXcdd'; b += - 'GnGgOYQFpJwt1+KOBFApsCXiJwUMArBG4T8CqBIwJeJ3CHgDcIfEDKvRXikA2xwXS0mwXwCDxM4'; + '7jOYZCW8NXs+43uP0s1A7KKcFYovHiPUGd3YfowwvzoslojYv6sTSvFgm6vOiQSzPC/hGtAv7aB'; b += - 'FMCzhD4nIDHCHyBKimu/BqQk8+mv0rVbDnX0Ng/uuGGNDA55j3e8nlIdJuQdlrgm65mloDnrj5u'; + 'duRLvwKrQLN+XF42gXfkw8+rCHtbPc0zCCInZGZAjsr36KuzSGOcRej1t0UDCgDwvKDr+KxYtfz'; b += - 'osdFWIxlpOU3MtVk1pcdIluvrSSPQFSKd5DJfSIrRSXwdUlRRFh6vek19M4XXwxE0BIzb9N+ppn'; + 'RLIz7CQ8ufjhieUZP4CTYfznTp/Yc486Nt1YsEsY+hZ4dR9cEQs/IC/FGrQrqPfjtbcs/6CXMNh'; b += - 'fYlNhNI+3bELLTYhXS2hOrlAUL5C6BaHvG2q8txWtj/mgp6mbIbAfVJX2erYN7dK2oXDO3gQ731'; + 'UXs2Z747LIXn/FnGW3oYU/lBgg3CtWf9+figBfwckrSZWYZlfg5R5XNqg+dk8Dnz+TkklqtnGb3'; b += - 'SFEloa+Eu+XOLgUxDNY+eaUseSC3R2sBkUCUGREK+WAD/qKxTVRIttNZzbfCCadoPSOl9b52vr/'; + '5OUQtfk41PifDzyEZXjXLIM/PIWrxc6rwOdX8HBL4lbPoAvwcohY/pxKfU8XPodEhPYvKwM8hav'; b += - 'Lx1Tds6v7xZCdG6MC8WfQsNAW6VFO+rO892vhEMLL/XRAOJQYQ2bEc/JM9g2KbLTtKXhds2SNN1'; + 'Fz0vicSn4ODSUVs2gW/ByiFj+nAp+T5ufQuJOaRQHh5xC1+DkpfE4FP4cGqeQsego/h6jFz0nic'; b += - 'I6nrpQ7ZXw7skOXgTQzbhZj92Ga5rzQMW6jrg4vN4BZMxjGPhH/wOCQCK9nSEFTFW9nbnxju8sh'; + '1L8HBrRElF1hm8nZMHti8+CWITbk3y71IUwejYgHUbCeEeGGZCsZaCKLMVJHU5gcAMiWXoTJJY/'; b += - 'osixn5f5KBXISPBh8tguAU2+fSP4vUSqURFAUralvxRBoZN4qmWi8vLVRGlsSjV8ZHA03LvkdT0'; + 'yOGcwDy41+eZASAPfgBv4G2mydzFACcSqDTjW44Q2SHyJZ2c0sgpIl/WyWmNnCbyFZ2c0cgZIl/'; b += - 'YK6hLSDnHee3E8W8r1MUJVhHCpAazJJHGCED92I+OVIolyyq/rKFEXrdnSAHsrp/nlRazLNDstV'; + 'VyTWKDG2ZBRBLTOglarUS6axVSyWu6SXqtRKVWaueSkzqJYRWoiprCSpxXS/RqJWozgKIJW7oJZ'; b += - 'oWVJPBqVS5uCLxWlbsdAq9X5fqHwKWq3BAReKMql0gE3tR7Jkx1VdxDMDhdw10Eg4dquI9g8HAN'; + 'q0Epms1ZS7yVRvPlLXeBgv3sGwqQlqLqBwixmMT7GMSjDSYWSaC0t5g5Wb0fopfkS11t/ws6u0f'; b += - 'dxIMHqnhXoLBmRruJhg8WsP9BIPHarijYPB4DVMog7M1yHkweKIGWQ8GT9Ug78Hg6RpkPhicq0H'; + 'oM/tFLjf6yatMbHVJliPnz+Iu3bk5pEaRJOyGGS7dYArkL+hIwvkdxy4fenyUXQjsSzK/ZBtOmv'; b += - 'ug8GzNch+MHiuBvkPBl+tsQwIIYRFuuMnwoNAEvWHZ8nEMJWw6704eQ+lJuJxspEc9Xh6hIRons'; + 'PLNjKWVqom6GUVTOzByk0jQ1Bg27nPJTMl8uzExPwcSfrYOYJZ2kTCiFpeyQ2vBcRluOkQ5DcUA'; b += - 'qzb2YwXRJt0BanQSjNIHOaBaCEmT5wMpfafiCmvKbDvak3orvH7NjPfYGtgERiDCSEqR/ee2azm'; + 'vP6R2Pido67HUaQoVmgKFpdDkMEVhkZXulJzh+beMEh9w2/jwX0B1Y2ZyMC/JHcKhE+sLqxKvaM'; b += - 'kKTj0TCj+IpjazZSDhMnNPI2EbmZr1CE0kMzHqFRJxSEGvp1ySwwIFYA9asV/6iaPTri3Pui4vu'; + 'WdJ+1DFs1OxpJorf3pVVaD9Dy1A2stW6SltZZsERhMnewK0yYbct2Z7ApXKPRsdAuzNHRXSBM3G'; b += - 'i7lZr/zFGffFeffFJfdFVvhls141ay8pKuwleepTpWwwSfQqo7LFJA9mvaIeo0m8c0b5837ah+e'; + 'Wdp4paSJvpgZ3JFsc2CWIWmcZGtPilpIiOrA0X6voyBcYNp/ihiLpmBl5xFK1gWrmD5lQFmBDEX'; b += - 'Mz+cp1qxXfQqbITHrVZXdu5j88disVzQljjhWqdv8inWbW6lusxzZWzmY9arB9L0cDODTVXV/0O'; + 'TA6fR5gjgDhvBo50Fq5jWbiO5WcCxGFAnDEDdzwL17IsXMuigLmE2IcWZ5Pj5RJiD5qcTQ6XS4h'; b += - 'TaarWO+Y7JL+ILPOuqwhOzXjhmyr17iNUkbhbMerWnpOXz7FTAs2a9PDbrFZna2k0U5zW9TWR3r'; + '+tDmbHC2XEG9ggmta3kdcx9K9Plh782P9N8jo6wcKVWPULeFMUICUpJXRAue4gNR+VkULnOcCUq'; b += - 'L1NXKis1ET4smDTQZ4169XQGnZQhzmuVZ/i4JjFgTX85bFZL6Ag9y/REstmnpj14qbBrFdTvZ94'; + '15JFrgAheQ+kpTtMBFLiAVkdXRApe4gNQwHo0WuMwFpOrwWLTAFS4gdYI1MX4sXEAO9jGOLhNcQ'; b += - '1qyX2kdTLMGsF7B02fpbCAssLYrxsw2KWfYk4lmzXh6b9botnsxKaEqWY2kZhvgLhjYfLcXSOYs'; + 'I7iTyj/jWvSIIYOn3a8S51FNgk0BS6KWn1NXpCV1rVCFteZW2drnaE1VtaYWGNfjXE1ltWYVWPT'; b += - 'lMW22kRuofadmvfrEthkjYUFtdjX5ZTXr1Sx8RXhi1qtAz+FgBfTMKHquWatnFj0btGfUrFdVzU'; + 'OQb9sWRQO8qboaBNiSKuRK7DSbHyVIaZcJrdO2kpjQJ6w2y4kh08aTmNQnrDjLiKXTxpSY18kWF'; b += - 'EBX+yYhc161dg6lVd4ElGHKW3GqJr18mDUy8FjJGa9+FO0IWPfIugga7QrKYgEZr1qeRvPrdTG+'; + 'WXM1OnrSsRt7IMDNG/oSJMS2tkT+y9wS7kD7Fy2vkkew9TRzrreUlNvJJ9p4h1vV6eJmNvJK9Z4'; b += - 'VIbj/W0MUFTqorgUxbBGx0EPIf2syk1ud4Vs17WzZI6YoJ9hBbnGFVDWoOSoSVmvUI2pBUz8oiG'; + 'mHvXW81EYBTL0cMTPUAS23UfRSbwNztbeR19y8TeFgwmGk5TjCYaTlEMJhpOXowWGkeeDgMNI8Z'; b += - '+tiOmGfNetW0R7lJMOsVQp1BsNvbpCnWtpTGXK6s0GHswcWSzFCPVygx6yW9IlakqC6hdJF1lCS'; + 'nAYaR4uOIw0jxQcRpoHCQ4jzeMDh5HmoYHDSAedDsNIr/iInnyYdlHarTqd5IfuIyHzdCnmUQzX'; b += - 'eXPKPxKVv7A6GsqGuz5a2fHHDQbyG+sfws3M/p9p6VVjY8uGCA/uJqhjaqrBPqdde67D3jYp4+m'; + 'qaEkk2Y1lGTsDg0lO0O7hpIdqE1DyU7XqqFkR23RULJzNxegSCA8qaGk+FB+FwVuXB/a4RMrqzj'; b += - 'DnG6r5mTveKJfV63gDhBfmjjeEpczMk3rIMM22r76UiO2rxWpuHpN5IT5ZbxdnkD44fTmDZCFKT'; + 'Ik0Wxlzs1sCmvfj8tY2ieoRYFYW7XwHrNL9SiUMytGlijeYVaFJC5WQPTmk+oRWGZV2igozlzWR'; b += - 'K98uOPur5p8sOKrS1h2Qevk8K3b3kCO8HHsnugbs9BMtSrELHwQSrh0/xZKbls2v+WWjysDHJZ2'; + 'Sc+UGyRqRCV+DmEiuu9rmSV/TQ8SkxDaboe3Rh3BKl79NlcWuU/rYuitui9MO6JG6P0t/XBXFHl'; b += - 'tFRcFlAnGvcrvi1F6xfab55l92H+iUhc2r8qwdMaPC/Bsxq8KMFXNXhJguc1eAXBUf9iJBwmgbM'; + 'H5El8PZKB07eVy3UAWOm7oc7ooWGDV1OdwtKbS5xBLeTD6ej4snZvbxFBvFpgc7FIejRMyQEjMM'; b += - 'EzgV5xeWXLZtwVYCKLWZLjkBUtE+tUYh9tT5rrKAmYEkcu6YHWtrCQik890ZuP6Z61nqazClFbI'; + 'xQxdMcNdzBAZM6zGDMUxw3fMkB+jJsQoFb7mEv6hnTuxskapsjSpoNY114SoYG3zsRAVrG8+GqK'; b += - '4KsReCe51+vWoZcCrWnyuRC7hKFwkR9HaRFD3PNy1yAzPotHKDGbR1WGBld45Y4bQ7b6m3vL1sH'; + 'CNc7VISpY52wKUcFa5yMhKljvXBWi5JrnyhCztsgZVK19eiGmvcgVlNdAH7Y2N2aKhbNqcxhWbT'; b += - 'IltDG7QvHJZNGDcT0kJUYlibQxX4IYnfRpKn96S4EUNHmJvbHy6geARCV7R4FEJXtXgcZ/p4XqY'; + 'ZlDsOqzabLYVi12VQ59LGcTZMzRGZWRQ59PGfT4zAK5WxqnCEqZ9Xi0EVrNiUOvdxidDjtpAypt'; b += - '0wOOTZa8ogEsnYKqsO9lp5oNtcnhw1Cahtj1cqN0uBnzX8DOoW375kpa+9go+vbl2PY1x0on2RS'; + '5WJssxOmojvFHiMUEJzgHI156fFmuNTreb0tERzeFqqOTvVaY5O9ZqT0zLNwWm55tzUoDk2iahT'; b += - 'LAL0s26gXY5ucSm2EvqdcRzC4egct7xy92dusd3lDTus2m6F8hglh4oUjVjDxoi1c1kYx41KnSm'; + '09z04cdg+mDwwRhlM625G9E5BFqgHOkRaUu/wwJYbhZm30w+coP8ZqR/pknzYrQ0VaD9CgQa+k/'; b += - '22MwCbNdlk3M/I262CUDXEH35AhnlVOu5hGeUaOl8RitDgRQle1OAlCV7SIJxnUkdfqeZ9PlfFh'; + 'CdJqubPw20QWGnoXGJIPm0Ow3WQb34NWSb2aT0wiFDJxstAR7LF6w9/pOI3laGUOC3+hwVD6zeN'; b += - 's3nbwrG2QREjjDUra72F3w2SVK3RhOqAq5gqKGeN2q6hAp2MF50LLJrx0pKbqABKdr6YvaXIKZh'; + '85dzQ+Ec9nT1V1MFSVOhhKHQulDoVSR0KpA6HUcVDqMCh1FJQ6CCo8BmoRHQMFn4WrsIEjT5HNz'; b += - 'j2altk1mowHsj9xTWyuV/CUbv0XiuScsgW+0BYpBnaYln6KcgnA84zlTI2KbWuI8q3H5PKq5tCU'; + 'CHnIU8a3dxisjp6q1IdveUtVodvebXq+C1viTqAy1uqjuDy6tQhXF69OobLW6YO4sJjSIMDrBrC'; b += - 'uLbRzxqql5XGhQ5r1HIEOlnWmrogKj7scHPdKy8EJr7QcnPZKy8FZr7QcvOo5y0GFZyd0Q7+2S2'; + 'w7gEH9/po48EuY0WH4firEMfLTIKUhF/hVgRtQzbUdtjKvN6hVikxcSsGoY2WCxqxRKxVNSJerF'; b += - 'Raqmqoo2hFMZ0ipp7HVfU9rKOYwzsanuNLlpqudquV05fH1WxPcTkNHTMVHpbYJwyt0NdF/zfyO'; + 'MLBcNQghfK1Q57FWrF0bsjuz7hSaadHHlIoNWkI0nzmeZP70yYtdBpzgfz1OBbLBfxEEHOT/JyH'; b += - 'DtBLVbBUPzjjvcIGIrZWL286w1xt/+v3XJS39+o5SQ2MqlrGe5b9GD8FbEKyVdKoYgQYjJrSkQP'; + 'sKecvkaTZk7yrklLRtQnZaIW+afCAIPl4hb0hrJT5eIa9LiyU+XiEnpdUSH6+Q16TlEh+vkBPSe'; b += - 'uyTZZYaUlZLPBFwDk1URCZK1IHTMpojNPhvjWzTfK0asAb5dViKA94mBc4A7ZLkCeL/Y5x5lH9u'; + 'omPV8ir0oKJjw+QJOsd3kDS+BHluz6hYVm/MpD1SqD7jbQXbSFJcJL1oaRmJa+RlYuVgah/JI6+'; b += - '+Irz7TrGRDnCnLHwAv0dsdgP8XlkdAb5LucEWAg/kGnLdXbnyXHcs16vr7s5V7roP5tp43Xfnin'; + 'AOhS0jfF0ecDXQr61XH0eUCXcv7ROHoG6FLMPxZHLwO6lPJr4ujlQJdC/vE4ugt0KeOfiKMngS5'; b += - 'rdh3Idvu57cvW+7sO55l/3vblSYPeRXHew+6joDXYfU3lNUTRs47w/N9AoIZEI5Wv6duk6oMN/R'; + 'F/JNxdBvoUsI3SwLrJOligVdJkSOKusI0hXyoFGkOl43R+DHFjZMOBuPHdIKBiwRcZeACAVcYOE'; b += - 'fdZwU+xG9UrNoYc7Rz3rjCZV+oVuXfnMvTTbCWvqpJsjohJlMudVLUWOhMXFMFfUk5BTfC4sbmp'; + '/AZQbOEXCJgTMEXGRgnIALDJwm4DwDpwg4x8BJAs4wMEbA+APmxQhDxfBgHMfqsw5atcQPF6toe'; b += - 'vSD/2pKnRs3k3Eki2cyW80ZoJV9hUB5cIMKaL9bUJTbqZWOYUciDPTyIohAf0RdLqoL6YRdJZVm'; + 'RI/WzSe9RfT2e5OHFvyTAXK1NKx7M4srHnWX0JHwTuzsOdZfykd0e7MwqJn/To6nd6ZhU3P+vV0'; b += - '8IhZ2X+O8I8pvoNwoR9V8HuIWisUhjuhhk5UcovG8TfO1nv6N8rEoxQn+duboKzLEbgaYsa2vma'; + 'LrwzC6ue9ZfRCfTOLOx61l9OZ8Q7s7DsWb8hS2wVZduzvqDz6NHBiLyQhItJOSa4sEbHTIt5mMz'; b += - 'duMRdrWi61VCtSoryNms938iWlElZI4btHJaS+nPrXwFW1B0sF/UWrYEgomqnPcg/NgoqVWm1Kx'; + 'HZAEmNZgsxMRBj2J0fxgW6WFROyyWDIulw6JuWNQPi2XDYvmwaBgWosDT2Ldz5l4YkI4dOphreM'; b += - '01hWlvLtpq517zd3Gd2mPvNO8w7zU7zPeZ7zbvMA2aXGTO7zYPm3eYh8x7zsHmvecQ8ah5bTWI5'; + 'dL5gzPttfJsZm8vl1eeTQRKqfFu2Sw/Ojy8mMZlygP/KU0eko9waXDZQO6K/2p0rj1geMfqzfjy'; b += - 'XCaxHI3LOGCBvtDewkRiG03TRXysVkqPb5PenFyr/CoLo1j7Sf1SsYh38JFqveoaovdD4bCr/gp'; + 'Kq/2cb1x4f5ZuHBH495dvGYZ0cHayd2/I6u6/HQa0dXRxYVW60rimPzOCyBMF2TZwGEaVOe5Q+m'; b += - 'BFs0A/g4/pQzx+BolRLghiuy32RImrc1f7Hy3KT2uqe0oSo5sV0UMOQD/yzQdYWkBVpw4PexND0'; + 'jTxQUV7kWfpgWs9ii/K1LLUoX8NCi/IZllmUT7PIonyKJRblHRZYlDce/jiIL5p5HFxFcx4nbiC'; b += - 'sqizVXuap2R7nqr0O5KmTlKigW0OAoVBZDVqmKHJXFkJWpIkdlMWQ1qshRWQxZgSpyVBZDVp2KH'; + 'UsqhH/oQblteC1+uW18pjuNc2myhq6pH1cNPy2uPlkbSr9MjKm7K8jnihJE0vPbLGb1leNl4ySe'; b += - 'JXFkJWmIkdlMWR1qWi5yqLtchw3wx7+m6u56E3wPSUB4nb3AOuDsIKiirGJkmLaUGptjK+oqWh1'; + 'tMj2ym25bXGS+epAGnR7btHcvripdRazhYQI9kiGnL644XVDKeQI/kort4FHystJIhB3ok693Ds'; b += - 'DmlE96TXIKtVM31qkS1+qRs2WF6nR+UwtC/zndod5cLvFuXC0FUutEqEW1jpsFAutEqHQ6wsWCg'; + '+QLRRZbp1fSbIoY9r6l5qJ58bR6FpoAn1D5bvXVuAd8jcp3qvrJi6yq1LzoUC2RF+2q+fKiRfFA'; b += - 'XWmXBNZQLa65yoVVGfIPKhaEoF1ZFuTAqKRfWVlIuDHPlwjBXLgxz5cJqrlxYzZULq7lyYZQrF0'; + 'XrQqhsmLNsVXD59pJ2dl2kY6h8uZVXu7YcUzpypw05p1kKRzuJxZFbhb1qzDI53D5cyqwt2xZh0'; b += - 'a5cmG0TuXCWq5cWMuVC2t/V5QLQ+bRYmYuXOXC30u8GNvshWBvGo+gwdNQACC08DfibMe41DmGJ'; + 'Y6RwuZ1Yl7q4165BI53A5cWrcfYtmMXHi8T7GDQuMmcShqNiHML5TmTGpT+BsIYTxVykDJvVCnC'; b += - 'Q+FHsihB3Po4Rx6bK+FzlfyyAsFeLEAFwrwUgFeLsArBbhYgFdzcE9ld2Do8fO/9OO3Pv25X1r6'; + 'OEMNabMl1SvwdY2i1JXgC4VlGxIQOLJYkfANsVOEl9qHmOI38cOLJYReKTKCjcXFX8SRRV8SdRV'; b += - '/QococR7Xjvxa4d/69P/x8d/+iCuYOI9/+8f/3/svX2QXddVJ3r2+bj33K/u01LLaqtl69zjtt1'; + 'BWeA0FaRFpD4+HounpkkncW+Rjxy6UrE83+q8O7aNMGnj+BiYZPDdEH8MsV3sSXm4Eq5OBev0aj'; b += - 'KZNKAbbkGk+h0ETseJy+e91JTmar84Xr1qt5UK4/nloQmb5ClDpGCRAw04AwaxoAgBplgTwQYRo'; + '4i88q/5YM1qUpp0gnh/uYK0kC1SPDOVXJe0zwUneFURBtadaWsEy0qOKPLeoDMZiylBIsTE6BoH'; b += - 'CHtBlPRhQCBCigMHqDZlCCEsSMaiLyNEFEb/3WWnuffe69LXWcQAJMFPc5e+199t0fa3+tvdZv/'; + 'dqZZKG1kdmYMrxDwq0UzxAalAvfTdWqai8i2gDSw9KqKe58lAZDVBICeOrOc1ynBkThDOiSPsea'; b += - 'eqffOT4Xx3/qQO4IErn//T08TN/cObPfuFXD2AzkQryRFqeuLgSlBPZLmqoRt7EUxxoZT9GMz2b'; + 'tkULKFQVAnjrTnNcnQZG4Q2okj7nmPygBli4IATxx5z1sjw5ShEcQTKgKf97gMVraYXQGCSHzek'; b += - 'MFCw3+jQC7tZKj8HA8NyxyLuOHYAZFZ0tKV/W9K/LenflvRvS/q3Jf3bkv5tSf+2pH9b0vYt6d+'; + 'zJkWaqDTmAPIvKB4sKBy8jtoFVF5gMFhsOXoZUElJQgQh+oIRzEjFwSshypDzQJFRMqjAV13tZi'; b += - 'W9G9L+rcl/duS/k3LHzAL/RYtHU1M3002cEf3YZ/T77GabxtgxG1M4hheFGY1TRC7PjEcRYwGib'; + 'QZ2ztVhQZ2wtFtS4rcWCOq3Hgjqlx4I6qceCGtNjQZ3QY0GN6rGgjuuxoEbsvFq3/SiH+WwocPF'; b += - 'BBosWow8i8eU/ugJpltFj03srgI50Rv9mGoTo+Mv5HeQtH2CYSNChmfslsp9cxoGRShnsgZihkY'; + 'v0LyQG6JnPjVED7RpiJ6B0xA9NqchetJOQ/RwnoboeT4N0SOAGqKnBjUEUrpbQ0mZ3hWGcCB51E'; b += - 'IMKkBO8/W3hyxVlzM99/i//8EO/+rl/NSV8+QM/88N/evLU0c/uELb8lx/7rR/46U/9t9+BwijY'; + 'VpNx/v+f2dAlUQC8rfUHiK04Tl5wrPcbpq+esKT3K6YvnPFp7ldNnyewpPc7pk+c8Unud00fLXF'; b += - '8td+7o9+70e/98/Pb/S5kgWPu1jWnjBL4owdloE0x/djzy6v3wcEIZ12WJzGOuQ1LobQGIo1ZoG'; + 'p7odMHyny480+m85T+VVz+fo0P53Xn16zk+lN+lR3phS4ivnQS1idLNlG6hdCul2yjdTukOSndS'; b += - 'TfKXjBqY3JyLgtNDr1vDlaHu4R15fodd98voavR40kvh0xAAtqQ6g8bKxt4iy78ckySC4YTm1Bz'; + '+hylzyvmkVXuh2utMkJUQ/QkKF6G9WWEKNWom6IFJriAZITN0QLXuIBkni3RApNcQDLc1miB61x'; b += - 'eMe8qlpeu08OB9b7n0pWgRTpP27tr1IC8RKRS41pA2lrTpWtKmkra7lrRdSZutJW0maSfXknZS0'; + 'AMum2aIEbXEAy9vZogZtcQHaGHdECU1xAdqCd0QK3uIDsdM9FC9zmArKHPi8pMkLUCuFFNgHh/h'; b += - 'k6tJe2UpN28lrSbiSu2LJTJXt7diX3XV9z3gdpenYh2CwdArQ6El0HYIwTu9ZMgvE8IXRBeAWGf'; + '8h0HvgCfF4XjSLJ1G/b0Hlvw1nBh3oPdAZLMKt+AGW4kSx/BCa/FgTlR+PReXHo1H5sToqP5qi8'; b += - 'EDIQVkBYMkKZBOU1UA4qZQqUU6AcVspm4abdlp3uC5YNc/VyxV0+Yxk0kvEaybhGMtpIuWWsNaS'; + 'uORqPxYFZUfK6PyozEqP1ZE5YdXJD+8jxIbit0HiiNE+Ws0P4EgRpT/WEHgKLb4+48WhI5ii7+/'; b += - 'dsYy1hrSzlrHWkHabZaw1pJ2zjLWGtPdbxlpD2ocsY60h7cPsbKwf6LmBZ/YUmmwzQecnxsLkQA'; + 'uiB4FFv8/aaC8FFs8fcfKQggxRZ/f1VBCCm2+PsrC4JIscXfbywII8UWf3+FHn1OWvx9r1DAoNl'; b += - 'wpwTHDUgLYBbAeQ/5Iz4igAcoEfThHe0LkC1ML84Gc+DP7Ns9zYzRvhP7QgtWzkDAbcGRVeHbBK'; + 'fPLAQdKpNRBi1i+JGLQlbUI8GiBUv2KzeEBdAUNFrQz55Mo6eClmrOY6+OOTGljh6MmTg1jj6op'; b += - 'lFwmFU0MBWzpKE8Iwp6Ts5QnvIJWAxWfMJJG4CE4VrgFPwklnjMqgEK4VLglAWFcNQGAElw1LjK'; + 'Dn2+LobthN2uPoC8Oe1RFHd8LOmI2j14RipVMSaDWAtiYvkBFrl4O2WMORPh3WzhayZuayTraI9'; b += - 'LVevh41f0SWVrPaTUIQa+JN9LOXDGUcYEXI0uEg7dtp4RhBeonU2gQZ5BE2mFOcIioAXtLyhXk7'; + 'bEka2KLWQtLsf5Vy7qX1LqWSI0LVSpWtm6brGzdkgE4p0zPZ/XJ28iak7eJlSZvM+tL3hZWlbyt'; b += - 'eBxVU8UdXNOfN4YPs5mz+LR9UyKg8pOUZv701erJoejlADYV/k0Eg5IYoHpWL/Eb5PoeVljft4S'; + 'rCV526Sytp11I28HK0zeTmh9e7U94eBRbbheOOkMrbbp4LYkMrOCMPbQlILQMnlbQTY+4go8Yhp'; b += - 'lFQ7AeDOWXDuYXi+ZkUx0nqjoKO8cLxEWfOATcxz9SKaG87tJ1bMtoe9E57Ak5wW+NdhQtv/nMm'; + 'lbVY0oJFFoPgEueqja9ZGFK6bRDMebt2Cp1q34nHWbXiOdTseVN2BJ1dvf/i9oXC4jekNhcNtTH'; b += - 'pqPuqNqPvigHNV+UDV8ne3XYgZpDTSgyzCuvNfVGrBdubJr37IBv5zidWzbaIvZBhxUWZKWWbBu'; + 'coHG5j+kPhcBvTIQqH25geUTjcxnSJwuE2pk8UDrcxnaJwuI3pFYXDbUy3KBxuw34Bwy3OFMspO'; b += - 'AcFlHGgDDzeCG7mnaYjOY+amQj7t1S2v84aXEdUTWkpN1VLyPfU9PVA/vziPCMK2WfDKIzyjjgq'; + 'hSt96fEUppqWbTuP5/9/ctEPfksBBGdbBlboFJ5JJCvAwU7Ssr4TlWBBwRFiSmn6E7VMuQ0B7/a'; b += - 'NVaNif4XaOMFXi1dvnp1fsFt4IfTyBJCvK3NbVL8iaJDRxzvmjeiS+Y3Kbej/ar7w1WjUqhmbtZ'; + 'gKN5TjyGzn8wJjwrVqMvIMj8Z8Qj6Bq4Cq2FK9FM2Ij2wRVoGPQ4/rkVCOQHOdzH+dy8oXPgiqg'; b += - 'rcqlHr/PsVN+pgdn7B1t6oHX/25XAgK1CQJzyjp7zyMTixTvcBvTJmsQtD7dStRayvzlM9C9KBH'; + 'nSb/OgDEuOXt0/ovxyNmns1+MQ87bOvfF+OMc1pkvxh3nfZ33YrxxjuisF+OMM1LAejHOOMcLWC'; b += - '9h5Ztysx+l7iU7frZlArNK6YpWGW94mHef2Frcv5N3pYopRHvEHSCt7iw15A6DjxTokWQ/9p/U4'; + '/GGWe0gPWE8rU5YRKbJGQgoDS5wJhkAsC9dnWSC+cRF5aJZcSAfL4kMyA6vTADokSnY2WkS0y1F'; b += - 'tC7wGXBvAWh33F2u5y9wlAoXyi3fUYzvLDIiRRyY2EmHgX4jz/DI8jE8xvJJkX0fYGixPRBATeb'; + 'vQL4Sr2F2PHGxgDKmWkIbGcw5VjPItGo+JPl1m1R8vxiM0xc69f14gxFk1pShQmRn8xpSERoSaA'; b += - 'QC10PmSEDlVEmvZw/XsQeoYkP2jhX0F4hyOPpXfl43uPYbM+uXfm6srlYrNubb9izCPXRvUVbLH'; + 'riuoEaBJBQmArikIPUkmFIQ+KFcVVAMQGQ8RyACwNqBgf+wKADwssj0AHEwo13zEt3mbo8MXly8'; b += - 'TNAmAHmov0TZMOZ3l75yLOOYadXGQ76Njn5ZdxZlTFCfwmZYr88slFeB/RHBuaYwM5NmyO/bbAr'; + 'JviT5kuJLGV/K+VLBlzRfKvlSJZuPdnriOyoDxA2JSAeI6xJRESAmJaI8QFyTiLIAMSERqQBxVS'; b += - 'DVkkzLGCAf5BE3NVOVxPG5jMyQ2Q6WW7kfA8gYv8Ykkn8qpA0J0wHoGCYBG0W3QPMpwwO1vyjfi'; + 'KSAeKKRCQCxGWJcAPEJYlwAsRFibADxAVG5P1q+E3rzS8dyfsZlZuncvNVboHK1ajcQpVbpHKLV'; b += - 'sTHvohV63HbUWKnYsnapmuwTbxo18uuzUeozkW8aqE8b9YEJJh+cUZ/2IleF/vSkPnQiL4NHy3A'; + 'a5W5Zao3FLcVCqqMEWjlHP2oKjPHTvkLxOZsweHsyAo0FnHBfS8s2IZYvYQJgGY+RKzjzBJwCyQ'; b += - 'PX3pQvTRg8fHzMeFhryBGC2Kmsx3cuSnjzO8pwB5FxMYwXGtYn7LZkW/91BJTqqbz/WOJ6SgiTK'; + 'mLcJkwJMjcQcJowNmGqJeQMwC2mF+X2ilQFtmViOJEZUAWKpLAy9DlGVgFoiUaOMSgOqVqKOM6o'; b += - 'hqn4u8QA1h5BIPv6byAvm9vIWrvWHzrWYV0ayZb42OYPOt4axGloB2uIEg6bG8xoi8xoi8xoi8x'; + 'CUIslaoRR5YBaJFFHABP4DQfRkW4oqEl5CwexkSYVJJSPcBAZaUJBtcozOIiLxP1DRkVaG1DSgS'; b += - 'oi8xoi8xoi8xoi8xoi8xohMwoi8xoi8xoi8xoi8xoi8xghQqhGgVCNAqUaAUo0ApRoBSjUClGoE'; + 'twEBOpPQCcMBLSXP/4Uekf7ZH+0RXpH2sj/WNdpDc0A6aGesNG1Xdkb9gY6Q2vRzrDa5G+8HKkK'; b += - 'KNUIUKoRoFQjggEjQKlGgFKNAKUaAUo1ApRqFCjVKFCqUaBUo0CpRoFSjQKlGgVKNQqUahQo1Sh'; + '7wY6Qk7VcdbKDFbRR0qTvWAriO1qb5wqapemMUuR3WkgJHCVexfWof7pchb2bdxMkOYfkxAtVdV'; b += - 'QqlGgVKNAqUaBUo0CpRoFSjUClApT0HI/jUTeruLmM8kbhZG2D7MHpJ/s3wzKHtqL3B+h9Eco/R'; + 'bGMwAyLtwSRVSEoxaR8m6UJSmklvY5IpJGWYdBiTmkJSDZPex6S2kFTLpCOY1BeS6pk0Qt7XopA'; b += - 'FKf4TSH6H0Ryj9EUp/hNIfofRHKP0RSn+E0h+h9Eco/RFKf4TSH6H0Ryj9EUp/hNIfofRHKP0RS'; + 'mmHacaI2FtEamjRKtqZDWxLQTRFtTSFuDTrHcAVjPs4MeAAqew5VpYD2ShEAjuk51mJpS1Es6Nc'; b += - 'n+E0h+h9Eco/RFKf4TSH6H0Ryj9EWp/hNofofZHqP0Ran+E2h+h9keo/RFqf4TaH6H2R6j9EWp/'; + 'XUtKJe1qlppmYU9YpOzTC1RlGv6tQaptYq6oROrWVqvaJe06n1TBWKOqlTBVMbFfW6Tm1kapOi3'; b += - 'hNofofZHqP1hxEuFkQXNNf+ZcGHQS2HAyGfiClQVUiq/f63Z8EwoyL0XAyQ468ZZgEMQUc55lMt'; + 'tCpTUxdo6g3AyrXM9R+M/Eq1Xwz6FjtqK4Bpp0ZtqBlMOZhFypuQOpiro3Q12IXAtJaZt0Ifd1e'; b += - 'MOe9RrjDlgke5ypSLHuUaUy55lOtMuexRlrh4VzzKQaZc9SiHmXLNozzDlOvV5AbVEFqNr4+Jf4'; + 'ECBAWsf8G6HDQOIvR9pG5uJIARh3/AakbWVejhSAYcoXSNvJHB0pAKOa7yHtRcnXkRIwCvo+El+'; b += - 'EzoR5XPVRrB3ftcLAdQLZDznaQ2g5r24FwO3RuB9vtsL1xGJSXZ+yLhWh32O0O1N2hvTsYeIcP7'; + 'W3B0pAaOmvwKJr0kej5SAUdZvROLrktOLS2DDNM/E5M2oBvOwEMPkBm+mMOKZHCOR1+vUy4XUZb'; b += - '4DjHaK8g5r34OifXM3WXYEAGgoKYfK4AsVm+If6jM5XMqOIQ3O/qi847Gxj29TYNjW2TY1tU2Pb'; + 'RdIp7JDdCwl+vUq4XUBtpSEc/khhC0ySKeyQ10ztKpk4VUX/g69XohdYVYoVNvFFIbRaNO1Zhc1'; b += - '1Ng2NbZNjW1TY9vU2DY1tk2NbdO/fsRBxhtcY5uGQ21qRrWpGdWm5qZtqjpjVlHZQ4/w/LwacY0'; + 'bOSxapmo7JYVWtUFqs6jcpiVaFRWaxqMyqLVVVGZbGqx6gsVpUYFcWqBqOSWFVfVBCruovK4TkW'; b += - 'pys1x3hzwoxqqgnZai1l2WOj8WTj0mf2LAjQHkRLlh4X81cEzrDfvV4pu+KxiHA7mqs72kpoyZr'; + '/bhYtA4NMjCdve9Z1cdMXKrP7PUrGg1rXfEfyJX/Zr7grMulcqnMv7W9RK6GM24uwxkzZ8hszjq'; b += - 'BQUzHztb3mFmoJ4sGW9/XOVIPNDIHfxwysE+j7oKpg5ZM3Vn1ZT3dLVay5IMnQz8vfwNPmc76Aq'; + '817dyIyNHMEiKSAwN7c29dzBn7/Vp88mOOmE8V1kGT3SG+FYnd/M7f4DhgjZVpnLwqXs92zqGmd'; b += - '6TGlTV2OtZOPS/21gUBARVVNkt2Dl50SSirtaCsFoGymv3Latovq/m+rCb6sprhy2pqL6s5vawm'; + 'yIta3SWJprgCyopMkdAEAWg86m3n3TN/a+mzMPwoPMw3tzPUMVfgJenbvy239AWy18sxK+yTPgf'; b += - 'c/u6XL0+W70erV6fq16PVa/PV68vVK8vVq8nqteXq9eT1esr+ipDcUAxchCUsMYtK2YAcdAqhgY'; + 'zdtVeQy/Eb5je5eYeyok+/n35i7wV+BO2hy9ru+8S78CvvgJtqRMcW05yorhAXPlR/swydXCCPz'; b += - '+Paj7/h0cgYw8aHliTnEHJcT5c7fnuJx2r4M5OQa6ol6SvTjD3JpUmveGr0eTOk8UARtB+Z+ZER'; + 'z509ha/O/JZDv0OYmd+3fcNZh44XjPQtslbY23yrDgoYWCd1nglkLFlpVFQAxsn8peO5cPdXTfn'; b += - 'UJBnLviAorrb4f7JkttPrStLW0EvTp2IqRyJKEjP88Nl2sp59/786iQakBOoADzMSePhwF8UG5f'; + 'Fwt5RaRPl5xzaLfTHdvBRcJeVLquwcKP/sUNUJej1YR/2Ybz4HflJroyfg/uWJhHpG1vglwGYJf'; b += - '3suSoLhU0VrZzGOI9S4PS4383E+LvdwOE7gSIuPyRkfjtt6OE4FW2gyTxbYxjB7DJB3WZ7uLFI9'; + '3DylqptFlBlQDq5VFhv3cwaxkVZJezD2c+wH1Ef+V4droC3pSD7801HPSNw5m/xl9jHD6IlYAVV'; b += - 'zuYdnPAyd9hNpumA29bzNG7YE3ss3pX36Ny7N2/SEZr2GHqUzhYxB+8tGKQq0QNeggNespPPwYu'; + 'vBWW77VLHyrGbzV1N4a1D+825Lvtvnn2lQfGA4UHk9VWPDrN1Um4PHvH+Q3eMncbaZ4CWAj1aj0'; b += - '76JxyIA859abFghF9mjiycUVwwgeAAN/uNgT6ognT3t5CeezDr0JuAM1MpzwoOFLwsSSwHsAk4m'; + 'yfa78HkH4QuSTdrPhe+gYFTJCg/N44ks6WsJ/MSESPLFwC9NVJR+kTXri6wP/SKT3Jah3hFA69c'; b += - 'cybeMZQopzYMC+WnwXCoBdRY4yfdq/izfcJgx+9kJViZ2VWCcKf4+dTrBvA6hXTKF/ijuoh/JxO'; + 'f2YfJu5o42sZOiWwGDepAJ8EzMIm1XoC8Caxj+XYllgSe8Yy0jUGHagIGoGBGydyyd3POQegR3E'; b += - 'v8cgCIX932/zapbQKAHX6JdI8hxWnmXebH1WP+2fAP8h+2GKoGw1J0QUGyBw1wO5gj2qVuai/0i'; + 'Jb6pBQ51FwNHiTMIkXYcY4DF0A3wk/LIHtHXD/QVn1xezvQcsBxawgbyOXGB871QvIvvSR2w76Z'; b += - 'T9idbpKvf0RwvPP12TSUHgEl0s3vFHehnXwSEozONPH1Bqzvt0Eu1Icx3pYFK8IBe7P8R7j6tul'; + 'h1+JEZrol4QMr+7qdIOO5xvoHszCoUXDlbadBwB9AyMuvxVE9gw6BvPQU27zCwJ6hvkIAMCi8Cv'; b += - 'deZ6vq0Q4xd6cODcF5/JlfKqcm4JzU3DuGDj3rpw4liULYxAwCMeOLfRngNbxaP9u9Se1jAPgmD'; + 'myAAAKNazipiDDtsLyuOMSxsL6uovSytvUzqJ9xeFdRRfBt+R9qpIB4RLjyFfhLehQGrqSfZEap'; b += - 'BvB1ZTMwKKsS7vKBdvpLc8tVw8Juf36YV8XT7N3LlRn+m0jU/hKxigSEzv5Bu9eJ+L8zEBe+zmd'; + 'NbG/S/VCBRUJYq5Ud0CS3AkA4OyotKZrhG6RsDmTdEIhiB67QLzPvrjNA1FTk8KPxgjHNR44cBO'; b += - 'w1wMEYjcXgv575r5nezTKXJYxe4ZY/qsYlqIM2chxY+K3s+FByLhG8AgIkDLGrKJoZgsd/K2xA2'; + 'Y4ttk36jD4GmJB6BwWCBqiAt+QIlFqp1MViuWtoO6xbXwTvwdJ+GQj+EyPc4RDIYFCxOKfnqqgM'; b += - '5XSyGFfJDLPBRLnx8T7NReX44/2UHs3H+xPUq+YmvdoU4SD3aRt9OkG7OddxE9MsvtsFXAelZ6C'; + '1yhLeUvN/E+qg0qDQhsRYvbVN6UrMDPSXnp3DQWrMCIcuWUh5fB/AEfcRdfeFfVjIlP2oG/RAr5'; b += - 'n07sYLBCEKRDGp3eVZg86NUantgTFmXo0Ro/G6NEWevQ29CjrzrYsyvPevLXQX0eTHvXoRr9HW9'; + 'O0yCz70CrOAZJJj/hSNSmystjKieIjbEAeO+ki+4lXPHcKWLH2BkfseBLmZkLjkivaWSorBjp78'; b += - 'KjbfToOunRDs0m0qNj0AqJKxhDhrPdgB7bIIiR+oynbTw7ds7b4vSZnmNefK1HW2LoG+e3rdajU'; + 'TsNNzzjFBT3KG4M1uzqiAhqSHhU+kaOWpbVTBKVE+BKMnfw1+ok3yEcqhpJRfhAxc9O7N+Fj5Vq'; b += - 'zpnUq9u1F5VSVm9V2ll+fVu2DsQ7r9LgUkmKHlJS8dTi0VjJ9WwsbPfZhAfWjp4xch2E/9THwp0'; + '9M3Q93l9HdyPz0y8qAOSrCn5aj/llGND8Yx/3qvbnF0IzIeIZs172C9o8Gw7ooG9pW51diS1SJS'; b += - 'KU298QF8uYghssh+J3gG772VIYsa2CMkUOlcp+rlLTkfjGHrJTVMd7+UN1/aV6x/MzfEWF3yxtH'; + 'lHNbSf1ATuiD3CN0Fm58EyTH2HiK0CSJ7GlkH1pYwWJAXcIvRH3+jbJR+iR2POc4Plu8HxL6RsU'; b += - 'rRdsRCdgj6frjuMkCLHID4jS0+zpuGkQACU9/pQKtYfTmBVbrTOArYywff6k/CV+dVOIeu8mYp2'; + 'gv0vMUYbnpSd2js0hOXvYT2PjIwgL9BX/pxDVbMaKikjquBtuQkGO2nXegYuuWuAEWn8pquYK8c'; b += - 'W4KvK+xX7XUlQNVTPtQCLae4DynNwPl5Va7g4gj/yYqsyITG8W2d3FiHzDkXjF5kAEury2NfOu9'; + 'c3iRSmMPyogpyyCo55Fm4wC/AmkJHyW2VVJ+VmyuTdChw2V7foPr9SyfzKzadGoBtgRgQRKmCIc'; b += - 'OEYj0YpFK9RA0WCeJg+0izqktL1x5MygC3s+OJO1vcWpQHuYcM9LN4QE+xK2tLVGFZ5h9NLE9lO'; + 'SaeYSaTRCVsSAqQwlUxoKojAVRklraIMUixR0JWRF4DPs2tYUra5KkkGwZz6AY9u5e9K6kbolnY'; b += - 'N7bTu4Od3vNary2tN44d3LjrWWM7vk1rhD0iRjfreGM7XrV6e7bjTSd2vwIbgKrjjdfx43mn6vj'; + 'crBF16+FzkBZOvQXtDWJNMJZtBAImwG8YyvApUpZ26pdC3WeOB1/PsNkNgoJ41cWikiUjlglYB+'; b += - 'u6I4f8zo+qore5Hl0oJXb7Cy+FlOVGZHpzSLR8V7Prdbx4pDLdt44d3xbO571kG/d8ePyrfYltZ'; + 'hjWTSuBCzUitAPSfIQ/tLS7xYNrlfiAUVwWSEbf9GMxPBvMTDKOBJNErRt1AXfGO6qZGQX/wsUm'; b += - 'frzHyCEawUl8gshge426X+IsKgrky9NjHVYIgYx5HmOpRhPbPwPsfYjCZVS8Esvl4UnOv15C41J'; + 'B1YlxTUSQ4L4TCG7k4kK2tQK2DbQ4j/djIwuRWS+ObfH33OJGR8kavEJ9FstNPxCT8ocVSkpXji'; b += - 'Rt5ptqlnb6BJkD1Uw3OSJC9IOZfkI4F4CZ9nbCDSqoAPx7hKkSOF5uKi2oqB2op7FlTFJJxy2iK'; + 'zJQBoHIlmvEhSwsj4cllDEMthISdpE/is26eDYeoAA7g2K2+jmOyMTOx+OiZPMxKT2JLn1k8TEw'; b += - 'o21Qo7xz7y4RRXC8An1SozFYJ5JkNomWt8ltG/uO2ZALdE8Xyth9J1rlmEz7GazKcTFFIy7cTes'; + 'VtABo/8K/j07zVkS3bSm5CjzyEeQOCGBG7olDsITElgSi92F4HbEritF7uPwLQEpvVixy8BcE8C'; b += - 'kD0IehrkN8/BTDXlhRVTrUa4k1Seu16WFi6q2fP9S3rDDCuI+sKdgjXLciDHV4FryfQpXKLZjqi'; + '9/RiJ5AycomBEb3YSQRGJWVUL3YagTEJjOnFTumUMwicksC4DpxHYFwC53TgIgLnJHBBBy4jcEE'; b += - 'HjHMWQ38HBJ9BSNqT1w85HeuZOi4YRe8arf+2mq2N/o6arMZtpWZRiD+Uj5mPsuLX4jhWjY7yG9'; + 'Cl3TgKgKXJHBFB64hcEUCEzpwHYEJCUzqwE0EJiVwC4EbErihU+4gMCWBKb3YXQRuS+C2Xuw+At'; b += - 'JHxP0nOxoZqoignYAcGAcMk3DtymnGJycbYFC7UU/RNjMHgSc9ibSvaeJfR3hKZFW8JTBhiyvGA'; + 'MSmNaLHUfGvyeBe3qxE9TfviPbRy92EoFRSRnVi51GYEwCY3qxMwicksApvdh5BMYlMK4Xu4jAO'; b += - 'CbtqHdat44xLsUMppgckm41pVKwiOm2QM7xGq4cRpYmkRZwMqHG1C3GCK0Z2YUqsGemrXbeax3F'; + 'Qmc04tdRuCCBC7oxa4icEkCl/Ri1xC4IoErerHrCExIYEIvNqlTZh5nC8bxQllIg7U2jtNQDOO4'; b += - 'WtVaUzCXWWsXHfJzveV9LquovqBVeQgyDPYDw2FhbQ1fHGlVLIZLDpNZziWsHhudQ1PQKQqQ5YH'; + 'McSi8QEJRNrYqWu7z1UaP6iExA2TmSHclFDx0wutmmOVaP2YSgShL66EsXMpygH6DVRSIAw+hKu'; b += - '8fMzhB04WWXIhzgSVuKoQRUBaWsZBFPIBvYOMEQ62CtfC7xSVo+Amu8E34zdK0K2QEiXNgKWkV0'; + 'CDzST5wcCVLgOgzvHaTc4xbefj6fEFG/4tMX8TA97X4HqupgCeqB3A2I5dEUG5xj0lgu0UcKhwz'; b += - '3TtoukCL12vlsOImCZsI2XEcHuNWda5WXslAy1VNXNzlVZim1eFZ1BDzMzDe6lAYRDT4lcgbzPq'; + 'Rw0YeQHCkkQy4LtJ3pPEpr3sjAOzIRvhHCZxC+HsLjCE+G8GmEr4XwKYQnQvgkwldDeAzhKyF8A'; b += - 'toxgHnkNPtY0ZKXR2bnAgsMAl+rvIlrMW+L/BSvRAuZxRnLFQbaVV4k6LlEK+YaFmW5ZAYeXE9Q'; + 'uHLITyK8KUQPo7wxRAesWk/qZ2XYfq//wD9ukMPmwqXBK45Kki+X4uuOQ4FuifXnDBSvQxMjq45'; b += - 'drH+YaIcAUyfSJx7otPOPEVnQaXbU0LAJU9EkTdmG0iZMNSF73Lh1jopQbeE+FYdJgSeVSWTDl3'; + 'TCfXnLoofQ/RpWtOfZS+j+jSNWdZlP420aVrzvIo/TDRpWtOQ5T+PtGla46I0o8QXbrmeFH6iEk'; b += - 'crI03e7TRtAj0K1BMwNvZqOYT41dBaccaKsPCTPVU+afxP5ZMh5ZP874ryCYYmK5/kX2PlE0Zsm'; + 'FpGuOHy1wnAtI15wV0QKjXEC65jRKCrvmyOAhqF1HgoekuBNYvNfG4a0+xV1hgVhAxbCTVcubgm'; b += - 'qaGdconjT2Qgu4uMLOsQfmkjq2qyifDxNWUTy4Eqvthf07PMpHVPqHpbVj7JK0i0pr2yegI1T4Z'; + 'jK1fhHh3dCd6AjvDjYiyv3C5VpfmUOepXxZh/ABmFmwyNwLHqCQ8fZ1ACVsHSwxkKC5IGJGN/ej'; b += - 'zEr9Bw8WIdQdK67eeAooPdRZL5D6ga4fyPzApB+Y8gObbUDMvW1BGqye0RxUz0DZijDbIhWxf7M'; + 'T9K0BQ1YmFRHBlyimMvIt4BPk/6EjkKCw9dVIREGON1U0weGaHG0c4/LBOLqPPzyWcsGsr5ZEI6'; b += - 'tqq4TSh/9DZRWhHq2tEPKC1I4Rul2ygu0jsoVVYunwhZDDLgYLBEA5lmB2PY1VgN4vnL+jF0uUV'; + 'F7EY5r1SeFRARp3miDv5UTrUoFYN14V03U9i2oz+CpN8nyI/MDgjEYuk5dcvkDCehZigiRhGH18'; b += - '7wKKeZ8qJHOcOUEx7lLFNe9ijnmHLSo5xnyise5YIovniUi0x5zaNcYsopj3KZKac9imhonPEoV'; + 'cnCREm4ZQIpi8L5KAUQZuEXCcgSkCRhi4ScAR3gxJ+fd5JyTlD/M2SMq/TflrlN/Hu9spv4d3t1'; b += - '5ly1qNcY8o5j3KdKec9Cp0w0GYe5SBTLnqUw0y55FGeYcplj7LMlCse5VmmXPUoR5lyzaM8x5Tr'; + 'O+XwvD8sbDFzFXzBIy5qpZQshMmCWkzDWzhJiZNEvImetmCUFzwywhaW6aJUTNVClRc6uUqLk9g'; b += - 'iaeSwWvUr3T5IIVLobx2J8TKsinfCR0LB+6EslXuhNLV7oQm7J1QxqtXm9esjq5ZLe9OqIdJje+'; + '6i5Q16AtD2PV3/UMb0O7c2TUYUuKeRJS0UVuqiQY3LXHIoBhTxhqVBD5xUS9+NVMPKcQuJmvDQj'; b += - 'E2nmLVk17J9Srr0F8J9Rxd0It/05ooroTSu0KN7GGO6HeLe6EWKOuPXAn1Kah8S9exc5pxJ1Qa8'; + 'zygk7sST8YfGFfK+jLCOn6yQ92SQdfxkhbwbBiUKzvfFzcYmh255+KwLb5o3K+uinWQ2zkVDy2y'; b += - 'HupzDtrnIn1NY7oc7wnZAcfBq6u4eUlYWvhd6aNyGAbfAJA8J22nSy44t8Sora1JNYwMXFQcqCa'; + 'Mi9aQ2fgWI+3MxrZ4AvRsXIs25tmYFrXX2XgWJ8OzsSyqqLNxLGquMQyLuicPYuRByuMYnxaLY1'; b += - 'SzYt9S9dd1b5t4m3duUe9vs3nJ965YtlNVtfWgp7vI91i2uZjpyNZPiQoLeUrmaSZkzUu3ZO7B8'; + 'fm9x1czJqiA2O/UmMtPbbwqHQoNRuNYKHOE8GCntcYLPx5K4IFQm9lsJDorQoWHL1HgoVJrylYw'; b += - '38ne6BDcgmBO/d7EDU3Czt1qQvxtVojfye8QxzI9EeP39GqmJVczOS5C7nRXM63hq5kt/tVMfy/'; + 'PRWBwud3qPBgqj3WLBw6q1BU0i9R/abWrSsNFk1nouXjJfAS9pLBmuw3uO5tAfzds8iOyU50a3B'; b += - 'tSuhbezXTUgZqLbIM317NFBDkt+RqpuVdzdyV9yDIn1FBPo0m8HlHZdLN/C5R11tHaYWZNtJb3r'; + 'eb7hl+GYse8Dv+6oKPtA1InHjx5hZ7h6VMFM9r6rE48dBSYJ8P24EoGFH9Wxe/CsYsSuDrFn0Wq'; b += - 'LM1IN8euTVTGvaxhMzjQHoaJ0K+jd68RgmTjGzx8yEc3GhzNSxzkafh1sSOa724PvEE+83HU8Rn'; + '4D5cUkdCkCMvO+gl0f4T+goRHjgKLEWH5WZyEHMaFFCSsOgq8RYSGs76DHo8mOxjWiZVH+Shm6D'; b += - '83wXqQrngXTunh/28ClzWEz8tKG9pmUQbs/gQsbnjX8K5tMrmwyXNm06NF8nHZyI65svN7uDl7Z'; + 'tncU5zhEmNQFpxlL2QaSvaiMmEJiA0HuWNaBQK47gkrMGz1o9y5IsjnfaoyWO7h6c2QLum0FJIi'; b += - 'ZP6VTVZd2bT8K5vWKlc2E3plk464sknrVzZpdWWTDl3ZcE+3padT9PQ66ekepZWeHoPAz13ZtOU'; + '9f9ytsOgDdCT7s6tRAu0KWIyu5RrnpCp6aAWl/s3ReWqEe3IlN1N+UQWK+XyECJ5cU+hAUlaqBE'; b += - '8tgG3O6OubNr2KOZdNftXNrWebqsWkruzwS4QPZ2iY9vc0222W09X6+mN2tOjLnK20XLwJ2Omww'; + 'Q7HbYUGJWihRRzWKUy0D49udMH33A+X5CIhR0098oDwfAXHcxHN4As9Hv9jz0Sv2fAzfGNZQiFu'; b += - 'hy4c4ipo8hiBPXjLRedAobvBC8l88/wNyAiF+814yFYcBe89TJQ4pDjEiKGiopaqikqOGcPKRWU'; + 'mcstVroGObsHDs3DFCYPuHaTdLdAM9kEyQ5Ea1GT1H8QUSAdpliixewibYmwqwO4jbJqx6QD7Nm'; b += - 'tSoe77znTx8rdz33tp9q++KrjzwdpYWN3mkNEWGK8d02qwu+PhCvAcPqz04bzJHEYe02OT2hrra'; + 'EzjM0E2MOErWFsTYB9n7C1jK0NsEfwUJc68m6sR3jE9KRhGwkNRFhDiAQilhOiiRBJRCwjRCMhH'; b += - 'WrFEkLu7u6Um36Oj5fjEzf6plEVENmaEN1hW07BXgBSpjjVhmM48HovzQr77agqPdyvPDTEL+OS'; + 'ETUE0KQ5PEscp+SVmH0Qvr/2Xv7KDmu6z6w6lV1d3VXd0/NYDAYYAZAdRGWhhZpQoz4EUqhWTwi'; b += - 'msesT01HELjt+aFREHhPWq2Fc8+XDElLa64h9X4ytkX09XL0uVa/XjHu9Ur3SLrDugCjG5nHAAV'; + 'KYSiqc0q5+gPnSx3N+estodH0QAIos2SmJEFi7DFjbEOI1MObcO2LMBrwoItyqZtJh5x6RjJ0jE'; b += - 'GMTeeAA6IYm9UBB0QxNrl1B0TqQD6ypzaafrN/zG4qRNGjpU4/KnmRwqE2+LxVUcVHYmqvY/2oK'; + '2YVaQg2QhBrYRm1YQm4mZmBb3/n73vVfVPT0AaH3EzlnicLrqvVev3uet++7H7+IyVoslXDbUuo'; b += - '7oL8Kg1f5ls0K6HLnsScOt/6Nb/0K3/oVv/Q7f+h279D936H2P9j5XH6i46WV5b7UHlvNeGAl3b'; + 'mKTLWEwmWLRlO4SmhepWqG854EnfMk6CVPgs56EvSiJ0FnPAl6wZOg5zwJcsToBk+MbvSU5js8+'; b += - 'J6ajiHLI9D4fcPWxxAjSibjI4810hJ3da8bbTDPllEd5himnPcoyU854lGeZctajHGXKOY/yHFP'; + 'VoUmhNU9OZGpTedit50sMO/w9GbnUpvuO1v8PRgp1Ibkqa3Vanc8SA4CTIW6+SjrQTH0aeKfCRK'; b += - 'Oe5RjTLngUZ5nykWP8gJTLnmUF5ly2aOcYF+a3J2O9jKnuupRTjLlmkd5hSnXPcoKU5Y8rezXmH'; + 'cByJqohHSwmOI1GOdJBEfbRGoizpyEmiauRGiFSuWXu4peoUR6jUHs27aZTiCI26aSPFCbDUA1I'; b += - 'LQo5xiymGPcpopz3iUM0xZ9ihnmfKsRznHlKMe5TxTnvPO5xDLlGLlmQiWscwcMQ0FQd0LRaGhp'; + 'cGNdFY2RHNkTRPTWJ8lzHLxoM7uKKfDgSdF216bTYu3By2TVOh3aOF7truWhWPpI2O19UEhKoo4'; b += - 'zqhNay73gB8YQ8j4GZeo9iOLHuK9580o7q1qyMIrWWY/XToBaN6sFUP5vVgxkGFhzXWZ48RHS3c'; + 'Mc6wZXJEaBukfIYbO4IkkK/PLb6ZfkLr9MdysBksXslvBAadSg45d3oWRskCpx68FaOBLilp7KC'; b += - 'O7Ann5wJcF6nr2O0UdNXwXL1klkw10AJHd4+4ID2e11r5H1lwMh7blUjb4zrcjZ7Md1UmXWzhvF'; + 'yy2AZbR7spndJfnOxCm8E9PrAx0R0qUDObPEMltZb+qxSgkI22KCYcq6SS7DU0X6tRw6RS/NTVd'; b += - 'c9hJoDKlx9PirgSNAs/PST3sE6FUi9KKN7jfYYJpVK+ecwTQinEW1M7nUFKzou4JP1WR6rm4yna'; + '6FPTpTet7N9SqJZLb6kqMrA0KnHpiVJKYdFWEBhPUroYCzqtaOlHkAHahVEKLPXqqzuMlEiRDQq'; b += - 'zJ5nfON5leHrD5nVWbxOXXYfP7s5/80o0bNz5+45cPsOE04xrUDX+XRxtOouVuaTg55wx/X08ZO'; + 'GEGaB+sVIcgfJoGNFR5NfYnIbyaBm2HuBespIch/JoGmIUAbV8MfCQcDTOq5IQoPBFOn4ICPhHk'; b += - '7aBtNl8y+knX4/lNCsVu2ZcWaUZV77CZmzxmjxoP70y2n66asab2E8PN+PK67WfftKzn54dtJ+u'; + 'yTUg9mSJoHW0iLB7MkvoOt+FkczOEnB+rrktkDxNclswS01yVzA5FeaRwlL96BIJRyup2TE/Rsv'; b += - '29bOjTSgnhtlQD13U2PYNRj7ylXF7KCx70rNgnp5zca+XzHP3jw7v2BrMvadu5UF9ZOjLKiHDbf'; + 'iWfEX55Ks/qGHghMPBCxcA7VEytUKXZ3Z/H+/PG/ry5P2/tzxOgreb9/Xl7f97Zn6djT8n1Skl5'; b += - 'nviqtulxr1ZU1t+rKV7dVV4Zadfl1tGrHn49lfcNFR0MncbGnrltFX2Gr6KVuuOlAF2vKirHeRO'; + '5cL+UoZerqbKcLgiy2J/+rUZs7AagT/Ml4t00M3TPQFhVs3BYms5NSw/slI0aLslqXKRFI09WBc'; b += - 'bEmQgvZY2aF4A51vjJPSJ3Bv/JG4woruHsi/AcmItjEIpSFyEV4X18wEI16IgFSQEdsvp8hsrpq'; + 'x7HGmqgK9orkH60Iup6vLWTX5yuP4rhwrfit5UygE9WqqF0LESUGrjHMZDuahJJoqzSHpQ3Nl0J'; b += - 'I+Dluj+TfX5GDfZ50NW1u/xgas/xkeu/jiuRPi8RgUL1e7qPcUEH/qKdXzsK9bzwa/g89rbiw18'; + 'RkyBRCxNRrQV/UK7MhDJjK12RXRCuDtlDvRpktqy1Ao+z6q8Rfxf7KJQx9IX/V9Vc5XoAAY8mwM'; b += - '+KODO45/xUY+ABZ8oHu4uJ0PgXB1ygfBIqspN0wX04KWWd648Ze/852LL+WZnPmi6Zf20YbjZz+'; + 'PfRdqSJN0uKOTiEiUy9JinbRPuaLKidyWuNt+2eHmt3+E1qdzjS7ql7ZPk17+kBSvUaWh/DQGfO'; b += - '5n2j0XmxmLZc7jkNvcU++meZXqOzAkcAmqFVMv5Qjj9/5HspjX34HJ958vBhH4kzS0iFUUPw57Z'; + 'moQ0Dxbb5MkyzLeVuz5cbM+3l+EDC7KAu/LOwYL8JMPBovzE+wc7pdZuOT+U/dlFRzPi+8oaakl'; b += - 'dufOwvDNJutmnHkHZc0tKpNZ/CLTWnff7yv/vFA7W0PaQdk7R0zM03Ap6f0x77qX/3y41a2i7S9'; + '3itCyAAmisS0XDd7CVCjlFYz5UsswxDDnm+FyacmYFO3hAJHU5QcTDVBF2XIthUEWLkZ2OZZ6x4'; b += - 'iQtrh9uwyU3p/34Tz37XD3fDtJ2JS0dpPMNuIXntAd/+P/9SD3fNtJ2JC2dvPNJbJ847R9+6l//'; + 'JEAu0nRzhnc0Dq7+CDeQC4ioMG3yxVtfHThmzwAEhF88AAHn+7eBMekKbMYDRmOBp92qjcymMqZ'; b += - 'SFxL20LatqR9OzsPSDXtL/3Ofz1XT5sibUvS0tk+XwfREaf9kd+68ZtRLW2CtKmkfRelnYB4m9N'; + 'u4jZaDvDEuZwvuLBtwlgvuWy4+qZcshvG8BuSEyh+UjTE98+pQmH2Zy7JNZFZC4jSaV4aFlmcwi'; b += - '+7iMHz9TbN0LaRNK+m9JuZqxIokVCe48qxDCvfyDcBCWfAFpm/c3ivQivd0DRR17vFF9heN0CZR'; + 'zP4oBOeYkWreSrxbxLa06eX/IMPcBdlp4GcRY68Hqy5IkpB52E7Ssqst150IylZhIGRZQnuyIt1'; b += - '95zcXJFF77UPiR14LduuHtLnp7mGkz6t4AjqUegKdpXJ7OESuCIaOKmUx5P+u6RZZH99GrMGZMj'; + 'cOaXuq3n/FIRxcqvxHMA/yDDnnQMrResAL2RoZ1YwggT8PpBvWSnCA7ws2swBi9hHug6+rCvecI'; b += - 'Hk31+8e/nvvcfqcanTP8aIplVKbyRywh47l7uXEM9p8cZUS7hXuopSO4WY45V2abVKlhB+4AtIg'; + 'Q7WFcdGXz5acsXDV6Y/pP8PQoCcQIA0t9zQr760n/pSwORDweMLisdzEogNoHp6EJDCz0IbRW6U'; b += - 'y253ccpiOE/4aOhTSsdsBafsD+f5AqUE0pBjtT6nzIfzhKOHLZTSMVrOKbcM5wkndndSSsdmWzj'; + 'PPG8By+lY73KT03d+Zx9m6As8H7RhgZ3CkNmlXKg4sexgkbowsufS77rh1yzcREE7uaOH8PN/+s'; b += - 'lncN5wlvEHZTSMdmddsQP5nmSUgJU0rHYHTUW8/KEy4lBNsMlXRPhu3UOWbaGhxFfB4MFG3VfKh'; + 'HLP55G40ZXe+g6BU22RX7Hq4CO+FdVy+bVmmJNWVDCMi6Wxilz7uMCUdmY4+ELPkuiVT0h+dksR'; b += - '5jelFBLdJk/1AA92kF+HTX5BDdnYhEf06UX9wCkLBOy5yoIhnPvojdk7AZnXi8Y3FEwmuAGIJiq'; + 'PSRtTkoxMyZTMRF+mpH+AF8LWJDLwfS70zoF8aqXoHOBlETIHu6GN9NqUTNkpcbZ4+AmvaUram0'; b += - 'v5rNa+1imBOepJ4qkZLrAVnVMjtx1lD1f6UM1XFzZWWsL/Jmav2p53BKo9qKSePaikpj2opK49q'; + '0J9PC2Q7B+AA7XtDRQBm+QgJKA/AhlWSFVASWXAb0bAgghAiD3cXlY6Dh0bkqhXJ6cbXf/TWlcN'; b += - 'KS2Paikvj2opMUY1lZmGNGuCsRcfz7oMvob5wJhoPP+VLujWkdzzbr0P8m72vo4Hyd6DwtzttNJ'; + 'ECsbJC2pgYGzYmR8IhDcwCgGYbARsWWAh13ZHVlcD3IiTEGGz/8KIk3jlTCkASHnCHaUISMfilX'; b += - 'ME+PdQQy9hQZKnwbgXV6iqV2wl+BfjBhXe9Byjg0W2TTTa9QVll4xa/mlF8WkupUb65WJJVtdKc'; + 'WCFoBt8a1t6qNabsHXov6yyXkUKAeeG12vuVlq0MQPOiB2nq+8gKZx+daQrBo71uc1j0iKa7QgM'; b += - '/Pz1WUlQQr+hVWcrTxXAqrQjdARfZs7RqztWvM1q4xW7vGbO0as7VrzNauMVu7xmztGrO1a8zWr'; + 'G2P30tBs+KUFSMpLURVK3ltQE0QV8WYjBCJX4J/LWCGTloFBg0rl0SOmKUbbNPRojE6+uixO0Z7'; b += - 'rFoWLJ9a8z2rTHbt8Zs3xqzfWvM9q0x27fGbN8as31rzPatMSxb5fryWbOa+DeRK0e+JPiOfkeR'; + 'JlZQoMpw/XhwZNmcWW2m2GfvISjkCqHxfLKx6QZX2qPkVNyyxKRg0rI9e1Xc0K/IyN7UOOjFSZB'; b += - '5Vk5MpUKOUWttlV12J13FvP2bif9bNuEYzn0T+G00apgUcIxTZgurClHRZyfEXlqLrevHA9dLoD'; + 'zsvodYhA6cmO7RKtisnMKuubTIPvnWRX1ApzqG2lU2ukY0rKeaIUGx6Tasoqq0iaW86iDBuAZdP'; b += - '81UtIDe/pfsVefqpFxvdA5cwjb2VU2zV/FQJKDQcBKKl6jJ/4bsq8zvcnoXgEDaoyPivHw6yM25'; + 'QUM3+53LKQYLhtrwrlD4PUH6Q9Nml4ZHONZyYHZACQGU3X/L2VO9sGqMY4Wqi6DGCanLhS2Vg7z'; b += - '4ay7FN9cAcUrFtXJlzepyHYLNuU8o3Ij9u/L6NbE+gYHVlMfF4bOPFHUGjFp/eIh5+kFfPn5Xqt'; + 'D7EMj1rJpF5pDggQLMwsPc/WSBRCIdZElKp36xxKTTp1jiUmnnrFEpFO3WCLSqU8s8ejoEEs4On'; b += - 'INVBafSEtcBqW4IegOODBI3xkT2Wk8gjgxWySECW0WWrSDIpGXmwz0zBu0C8aSyDkY+rEmA1SP7'; + 'rDEovudg9FRz9Y4NAhRu8N+FkC5JwcRQE2d4vwxjfhZxEQc7fIB+zt+JkFsNwt8gH7C/jpAk7uF'; b += - 'R/xNvw2RhGDb4oRmAXYjmEW0+H6o4SDWGcsWIjfozwNR2yeGo4jRIJGVxYw2Ut6y56hosYDq+4j'; + 'uG3CWyyV3FNAoU1iQe3K24OYEQuNYkoAsAduNHLhkodygjgegAEJGldn3aZaWst2Xg+7TWmHZW0'; b += - 'fw+1X31ghfqIf4L6ElowLwbcEqpRP+1EkBw50O9uFJuBbsxigsDjo0dDaLir32G4V41vDYHuYCp'; + 'fh2h5IJUfRa79AaEhL8RyA/fAQyIm4AGsRe4EG8HQsTNwIr4C0CNeAfwI24BksTtwJS4Lb/1GwE'; b += - 'tSOONwxuEXYBbF4SleZw1wNkVX/9ZgpMW6BwNMYNiuFCE+iqlfprC7qD6K3EeRQ32NsW0BYwF2s'; + 'PcePVQrJEVUiW6yaGZImqkCx7JoZkiaqQLN82MSRLVIVkecvEkCxRFZLlrRNDskRVSJaliSFZoi'; b += - '8maf94XTfdF0/viFW6UGOCbCb5IvC8S90XifSF3GDEgONf4xWuMahwDiHONX5ziy5AYcJxr/OI0'; + 'oky/UTQ7JEVUiWb58YkiWqQrK8bWJIlqgKyXLDxJAsURWS5cbRiI5Wsl7QrEJ1xBogiKDgxv69H'; b += - '33vHAOVc0xdBvk5vKpj9Y8EgF4tcNiBko1zWZ2W7XNavZdNcvqtm69y8x2+boRhWQQbHYp8bO/z'; + 'A4pi8c2pC0876DH1lgmOHgaLYId21KhipXln440RMsxhmWROwU8IXwn1bAa/YUQJw1VxaJ0PLTY'; b += - 'l2OEvxw5/OXb4y7HDX44d/nJc4S/HFf5yXOEvxxX+clzhL8cV/nJc4S/HFf5yrKDLzM1PWWaGK9'; + 'EpFQDP6CglgIFAJLFFNWbR3RbCSjcrWJHd9QrbJG/oDCeqaCTJG7LVYtq8CZs75OdMjYOju+NrQ'; b += - 'yKlWkT5THyYQ0RG1eoBbFYBLMvYQwUHTCjhko1SKrhsdrAGAGmOrWXHSpr96HnAN0jQ2IN2KtAi'; + '/trW1fT1oLZTDSo/aGoC1fC72xOjx2OJTghw9iw+FI0hHY4tECZL0TOxJ0pHYImCCKJ2OazCZa7'; b += - 'ojXiEELYU28Rgxa3NvHa8Sgxa1DvEYMWrjVjdeIQQu9kXiNGLSBeBfI+V7v54xMjH0O/byGCg79'; + 'HFwARlejr2pOn1yGJdgjqdjC2QJYAyX4ssSiWgMj8Te3TMVyMbPBPomMdjGzUT+JiXIxsuE5Kbp'; b += - 'gobuwsDgtxmm/6LS7+bQL2noHg79Gw3diyHEb7NM/2Wlb+XQr2joDRz6VQ29EYON37Yx/d8q/T4'; + '2KPj/lKZENmAh/zydjGygRC5qXIBsl8B1kIomM+oQ/eCvywyMbLJHG7EAl1Cx35gW+YJ3ILuSNt'; b += - 'O/ZqGvoFDH9fQm+D6bsx80wG9UYlxo2JVv3IjywAG83tg+wWBUhOPd8E+GQKlNh5vh4EZBEqszf'; + '87kjaFtzR8aaeUW8BiBYe0Cr3gIytQQK9e0gTjeALk2CrwOtEqp1yzefYF2IwFZegWDB4+1K9Ar'; b += - '1tNHVEECiN4fEwbWIjCJQyPO4vJvCYg2PW2XBbsR6PWfhSnQ1nig145HDZia7YiMcUPG2iw2/HI'; + 'edFciV/DFuxK1CvIdVyRWQb79irQKAGVXIlUAILsSpYL85EqECvKyK9EpyNkmkCkwHco8tCvVYO'; b += - '4NYCmw1jUdabBYl8jtEe/nO1XBxelCWYK2PfsoOGg5gR6CIbLirCQUlqNjicIKK3CEFFX2HFVQU'; + 'hAk+TsOKvUQ6jGNI1OVGU4UwsGtcWRNIYv/63UmMPd1et4NhFiAFccFfjImb6XJzh6UF4+g6N3N'; b += - 'Di2ouMvhBRUzDjGouNthBhX3ONSg4l6HG1TMOuSgYqvDDire4NCDijc6/KBim0MQKu5zGELFNzg'; + '585kHeXBzhDNcCO5Y14VY7Tu/XkIGwlGLkGGLKpvCd8sR5JE40h0RWusC3sYpPdBxtsIycwh2AZ'; b += - 'UoeJNDkeomHNIQsU3Oiyh4pscmlDxzQ5PqLjfIQoVD9waU4ja7k6Z3bXNiP0Z2CBvMsxB3mLQg7'; + 'mofLonkCJyvwXwkNBOWkMyXnEaFKGdkw5Kc8UfHoloEVoxlhYqvM28qFNcCid/LpU4OW8LVpGe3'; b += - 'zNEAh5hwER8i7DI+Q9BkvIxxg6IR9nIIU8Y1iFfIJBFrB0AFp6PQMw5JMMx5BvYHCG/DaGasg3M'; + 'j0QSSmzZ9b8C0T7kUNJtNpqK/dThv1hpcWOdRJFfNRSM3y+lukoNLHBnB0yfSsTYjSihP32GH2m'; b += - 'nBDPiULxe2ycmySpWRa1pbNstjcIUBu0ByB8xyHFXGyptRgYVZ8pQYLyOIrNVjoFl+pwYK8eEoN'; + 'R3N2+LPGYrgXik6KgM6wR8RuR8PL2yfKvG5IBZNacu1Kmj5KeB825f57AMfHkdjhAuPZhSFETdU'; b += - 'IPmaGDRhQ86sdipVwyU+XFIwcAaMBOgCV6mjDodpHojySWVSRfVScyTvVMCYS8FX8Uw4wAxf4Qn'; + '8pvZ5otkwuZQ5b3pQnRN3SCww0TzGZmymYT5vpKczs1eW4jP7f9/wJzG22Y2/6fbm7tdMm4VPO7'; b += - 'xWT0nDubKApemnsHZEZxvFhZ4EvjGEE2MpyjCIwkATe2sE7Cgxuj7oKXanP4J1E+o/ogYGeEWZO'; + 'BZ5yunVDnL5XObPS11TPRqE7G6H/UoWMlVvfPD83+fpHRoehY89G4S22M4+MdsxOlp26SLYUrF3'; b += - 'D3YpHkaw9Ygp9zIiTtDfjPlT7E7a9qnzwgj/vl8c3y+CZ5fKM85uTxJnl8gzzuk8c2ebxRHm+Qx'; + 'snKWDBGejHlIPFpEes/t6xubBzp6NcCKWFjVILyg3kJ972XbOXE+Hgcst4uQFXGodSlsKHBXlFb'; b += - '1Z5zMrjXnncI4+75TEjj7vkUcijL49cHlscwNCQKR930WBjVGn8RjdDfVVn16AuV5GucR0wp+0v'; + 'sOURvbcXjjyMKLpeM+a7SxbTS2XYkD2nZtoS4gfQ1rtexnS0H+BjNwOZuRUrKVogN5pLtLVSnun'; b += - 'Ic5b3HfHruHd0TeoyYfkW78nbDc0RvBPyHaU/hcdkb+IZLBpMfpCWhsPQCOBVk6MYjbL3ZQ3ypV'; + 'vtK+p5y83DApU/3OYpopAd2yvWpsc3iDr7RVfaKGR1wRwX1RJryCK2OZWiY7pP0J1PTWQ0Py3mf'; b += - 'gEdOk6Aw2yrcsOiPtGFrcsMaATi3Od/IM9WnkiT8yIvqoaQLNnj8OBAKHsr1hFtUYaoFe/mHPbP'; + 'nY4Ae0O3OaBnBHcEffn5mHln6Jx58+BuchnQ3aogGSAb9D+cSstw0FM5D+YrHNBJI5QlptKu1iB'; b += - 'p7D34TKHBloMCVgQJXBgpcGShwZaDAlYECVwYKXBkocGWgwJWBAlcGAlwpZvcsxMVaF5RvYv9o2'; + 'V6TKsDIW5u58iiubwxiAQZjgS+oyrpvpXtu7tQWKG5RIOKcdsyAm+AycRCIyxsIX9XB70rCc2Zc'; b += - 'CoAwB1Ku5AjNNnJHzs9oz40vv++Jvv3s1HhYNTTkBFpZORHpjwZ7hPPgHTqFgWS+4LYTwSGYsP6'; + '7rP/J8kH0Pbbt17YNH7d1bNBcoBJYxW4AYpIU6Wjw/w83KNVG9UTkV9aa25QA53tSuNvWBelOT0'; b += - 'TjnHZlBzC84aPZQ7UC1WzKzFXxqRsHPsfhdrRsQ+7WJDPzZCsSJOxJGRH8ma7jTrssYp72MMm7a'; + 'aa2R5vaXqaghE3tbtbU5GpNzTuDRmpWXcvwP+THRUrtiIyBXLcgXpKHKHfKGw+y6ZFUkqfZP1RB'; b += - 'VcG1mFtWZOEuio/IiJhCZ6MsDogVbk2rHu0W2jdPk7l2e5Jv2fBy+7MJdDl9x4YzDV114ksPXXH'; + 'aJyny0Xzfln+FFO1KJojjRS63eg2UhVYgYo3orvuDvPG24PgE/nUEVxKY3Gn16Z2Hem1fOGtciG'; b += - 'iKw9ddeDOHrTyedp8cPujCMxw+7MKzFDb6vm33rp5Ui46kXp2cAq3UY87VQ5VrU3l/2JVf1W8ze'; + 'BwB/yJHgChVz5DQ52MOghUkHeLDp5Q4fXOaOiySrTtyukIZc5JGPQ9cYP9kK/UhI/JXbNJPAW62'; b += - 'f82V25V0J2S97e78qoKby7v73LlVCXfWXl/j1dGeyVdLv0XlikOoK8ypJsHuRrqpQKvq4bvM64Y'; + 'ASmvZVbRmwnrw975Y0bO8tayswN1gwZ90sqB3x+JzwMGPnJNE56Ujl8GQSShGm471K6r3qb9Krb'; b += - 'j/Dj6uuc4R2FNmDda5wb+8jlJqCQ/m8q0qN6x4UmwF9C142/dvO4Ece+2bcCE2N/P+6aAcVKBxk'; + 'r1XSa1Xuqi6Va90eXUn9ipBr/raq6TWq+7VewW3vq7tVXdSr6S1dvX0eJ7r7VtYpvSyXcn/WnTo'; b += - '5Qk+YSzdCVXiILtrC9XwGlCzZNbxb/bI+RcWPsQZxHu9knA5Iy+D1xizypdZuTV5EqtRmWKmNrf'; + 'opATiWXsFg+TZfE0v87F08TiUc0UPhwjNbFUqEusElli3WIpn0aHH1OUgbg87u9ggM27o7hjOMk'; b += - 'KfNyUPFQGju9o1XSwzK231b0q1vg2WAzg60pvsZpb+itjrzo74GBa9CVbcYDt9q3ZnPXNDh9AoQ'; + 'qD2AKE9/QotSab8B4dhZ0k6/KLAg9KldTWLqMEk64Xi+pJ+UepZuwmQluJTRS61biJ3VuJchSei'; b += - 'GYbPcWEEd0UlRdarBRoc41r3cTU0KVdiW2Isz7BXrXCGveIN15JvsTxq2V9jIWRjYoF4LW3aJfU'; + 'uRmKZuA2lV9SFIax6PkNb08W64A8CQx43zJbkcqtw7HI8bCDtvU57+vi/iEzchvGaTEV43BArjm'; b += - 'EAdfhb6+Qwq18eJXXFZw/zvkH2uOXm7xgpNWD1D5b1tLCdt6djYP38F0fDWef3PJY9TX0iTyHRx'; + 'UAG/YJk8FIOC5+UMhustseS1HS+Xa7hhc3xvMcZFSRS0IafeeocHT8RGLVoOW/NI7Cypzs45CLw'; b += - 'kd9b4nZS2+hY+mLvK82m58t1Sc8G9HKyhX2e2vXYds8x14FMErPKN5xJcEg58aN2Fe0XpDn1VFQ'; + 'jMGNfG8QHpXy8QIfodfkZgo3QNx4VW6mefjA2UVuEHGukPFEmNQCQeeKOfiQwgcGNzLgCJVabMf'; b += - 'DWFktHRnXK2ruDDfqHumPJuS233QG1X5THdkSVIhr5XdURnTV+MbrefryYi9Rq/wxqnw7VPh1Z+'; + 'NDnwDHyoWRqLNLagFgylf/GfP/Z1Hc73H8vrPv/wTnw/tPcjIz//+5342tvc92YCf+snf/UNj73'; b += - '3So9uIn3NYRt44NduZunK93m8aM8DAudcTA6qzxi6qO4u2ap2Q+yoxKXdWo6Tig1k+OeQeotfzO'; + 'EM+bHf/+r/5vKn5QT0Q7/36d9091vy2fI//ucfA44A77fmc+Xrn/ytx/5Xe78tny9/69V/88Puf'; b += - 'JHbisQ7L/WnIiE6mPw2F/E86Qj5Xz9C1o1ukwC8O/sP6mXeGthGMq2Bj9YuRPnQ/ZMTcmjujZiI'; + 'dvzHeXxH/7hP27Ze2CrvPbjv/rC3+b9QzJrbWFTxuaYGLobwgc3y7Pfu3GC1HXCcLY3TLSNcj2e'; b += - 'SOjfaiIiGwP5HRbC59XBWfFlkKq/VmPQGVaFlqvR0nO2cSJlpoSVQ0hSvIUrAIeGkKLtm7Kv+9S'; + '1eS6GA8s5x5g+GIobZPxJWbGk/DBa25Iyh4LB9GkPKFJ5YXvG1+RoKydjUnh+EKUHbqM+DRL5lh'; b += - 'L1b/VJlfs1M5TfSlsRGXpW7SGZUdPGFTjcbVVuRmADCR+kLpy3qjfrbSTlHdyWd8Q7Xu/RRI6aV'; + 'Y0JE+oKZYh1WSn7DJsfBsmhFrxpM2I/EZiWY8ZTO6PqOrGcdtRuYzMs34jM2Y9RmzmnHSZsz7jH'; b += - 'MppmLcBhx0av+VJerbE3qA/Llr1/YlyUowd5eCRyMEjkYNHIgePRA4eiRw8Ejl4JHLwSOTgkcjB'; + 'nNeNpmLPqMRc04bTNyn5FrxjM2Y4/P2KMZz9qMJZ+xpBnP2YwbfMYNuT0gMn2vT7eIagaZBE5h8'; b += - 'I5GDRyIHj0QPHokePBI9eCTQGXwbPXwvdlSEmhe7hyjse7Gbo7DvxW5WsntGs13GcxZDO812Mfz'; + 'MLIBS+0cGoxMAEmZL7LZnYnZd61rJnZpMwXAvvo7KTcMy53flLuiy53cVLuWZebT8p9yeXumZR7'; b += - 'z7AJk/gl8LX4s0sjsH8kLbbmQimnlx6KF0mS7+P5WP4KfmJOGfwSvK4Z/H6+nDBcNr2cMlxqZjM'; + 'zuUuTco9H6iOT/JvkIVndMFFB5TOtPIw+6uy2P8qgHWyFQbObm/cHsn4dj1uIJt5o2MWJuiNGA3'; b += - 't1QQKrkVma1Kf2sGdmK/eOndw7Frl3eDSUxNvWkvg5TTy3lsTHNPH9a0n8vCZ+aC2JX9DED68l8'; + 'TZH/JSmydRigWqobfBnLoLKQhjEZl0iraDu3ftWjoxdujMmnGOLISaeqnFMDYBRP3MmkVg9PatC'; b += - 'YuaeMdaEp/QxN+2lsQvhzTpTdBckkl/vUUY4FIoz8v6vKLPq/q8ps/r+lyKlC/1eVifz+hzWZ/P'; + 'YGN4owWReDW58rjRleE4U7qXpdFN5SVRiesKkQMCcqe8cTfDWMFCLprEYnr4vCUy+Yhii8OyIK7'; b += - '6vOoPp/T5zF9Pk+7hH4KgJy8xRvpJgNkVCfGBh/sGnJaTWvHxYEo/6w4ELWPbTP5oOjF6EERCro'; + '3kxOUThfS8Yhyh8ynomdUaE4D7GuvZjRBTe9LWh3cbXNioQN6MC8d11gfguKxBPXPQmCMQzJyp/'; b += - 's72P/3jG79P4/RQAIh+dC+N/KvJ+ikVHhWao+rcj0vB7SyknPa6HYPF0NAZ48S81H2yh6Xg5hOD'; + 'phKhQyA+7aTmEIjPOKk5BOJbnNzcCsTfYgXis05qftKJ0JesQHzOyc2tQPzbrUB8m5OaH3ci9Bu'; b += - '9LzVuMVVcA7Gh5lIvotriI7oiL6K64iO6Ji+ixr9xFdNu5iG47F9Ft5yK641xEd5yL6I5zEd11L'; + 'sQHy7k5tbgfh3WIH4Dic1f9KJ0Pdagfiiys1DJzG3AvG/YAXiO21EKQrEb6kLxBcqgfi8avy8KJ'; b += - 'qK7zkV017mI7jkX0T3nIrrnXESPORfRY85F9JhzEc2NCh/RepTig1TA3Ols2mchEXNQGxpOB8Ld'; + 'y6Pns3o1o+e5eofs8LyHch5sAAMQeug6h8UqSXG4ENfxOCEbwdcQgoJb8lv/lR6xmzuU/MtYjMx'; b += - 'gXA2EJ4cCE8NhB34RgyFiljBN6BZJToTv90NJ8TgZynVs1F5FGeQckZsc1ju9mD4SsyQahKbXTF'; + 'wDfvXNKsYsC8p0V4nvld0IzYRSAgNsjvg8m5e+oEN+LSfnbK8T36ybl1yJw7JmUP1chvn/bpPzZ'; b += - 'iVosLJNpuPA7xXM+IQjjukejwTPsY0Qtnz7aCKG++xSioOnZu2ffEzve1XDu12R223D2F4iEbF8'; + 'CvH9LZPyt1SI72+dlD9dAb4vTcrPKrz36yfltyq492+3GSogb1vJt9CgtCYc71ohOOhNj+RRheN'; b += - 'on/tVK5YNxx87yBT/80EJ5zA8ftYG5vC02QbAdzH434aswyFCg/g0ZMUSBbKl4tPqerQ9P+OFsw'; + '9S7pAW6bI3Tjh+GsdM6cEGFHoDOw5nUrPqubb2WGrtk8sGe5Yb8oGcqx3ZmxV/KmkBfwofFg5qE'; b += - 'f89tmL0fw8H0QVx7zz7Xlh+4BatzZo5IQstD4jJEuO4Q+n1RCwntlNB5eTyhVgOmjt2OtIxhkBD'; + 'gJHzWC9Mwm5Aoh6eWf8ueKHY/Too+NEOFQ631XY+tibtWKoDr2adCw2D6d2PumB7iPSLQdsL0Sb'; b += - '9dwvwTZne3Q0ljs9fsw8ojXM46qGHe77PgdzrSSb8hyNkRFQWPJUc+2gT5suMEUb7aGaheW7+Qp'; + 'adz3KQSY+8xYIZqCGOD6mmUPE1X17rBdrnkwQA3gNt+NrRB8HbIDQ8HuAG4t7rYDYDQjXMCaeFO'; b += - 'P7Ci+kh5hpmkJxiPaizN2di15eyHj7qf6ZC825e4x5p+nTpr99sK8oxcKap9Bpfgz+iJUpZozwU'; + 'jE2oHnMwBOShoaf001hXuwEQvnF+6CvBNPC2K6aUZBoeJjIlmca63A2AEM5zhRJMA687JaVvwTg'; b += - 'L2pUTbrsG+Q622EHuEtG13NJa2eQ6wAIJn9NYebOdQpKIFWOFEfqGPPfcXogW2afq1xgJmS2qJt'; + 'GlpS+VW7U9W4AhHGcN2aVYBp43ykp/Xa5weHDRuRrKLE01hNPSKXhccQG4DO3mIeETMqHUOOigJ'; b += - 'ux8894jvZBtU/v4+cMs9+B9XTEpNV9iEm/tig1CuqYGdCDdJu3MNlQbt0dXsPd9IYJaon5/jBVM'; + 'gZF2UFETCqKCtTgDj3d4Agr0dZMbUoK0bo4/ZHhV7ueBTG44/mu/NdVyN6VA3eJJTvW+A7v+0qz'; b += - '9cujFJjI9RtKvoyWOhUNdMZKtFDvjZPRat1xIsLyRLWhLlA7+Thm9KLsepNahE24eTLgI2P2zcJ'; + 'oFzV3EOnL2Kc+CWqzgHTl/FOTC7inNg/yrOgb2rOAcmV3EObF3FOTDaxDlQg3tDUFFjuxoVmzdh'; b += - 'D8+Z/7bHLgK0m2G5wDTiFjXcDVbcUACKwYb2jpICcgGm9Upr4aj3V3QYzVh9yQUxW+TobJH6Vt6'; + '8zZrm1d5skg5LNn0bc+RxcpfkZpYVnBCXY0RanLB1qVsaOo5tkB5QBIV5dnqdM3RudjeK/HQGBn'; b += - 'i8RG26HiGuDB+iXQiWobENEVvj7Qx7R+Dz1pmIGaw8iXMbjY3sLLjkMFVw3LXOEoUyF7pG3034A'; + 'PpML6ElT0cuAor5DzwJ7/cfTIyudeFqa5nd1TA7kT/nsvRNzG+yyZ8i9Byga8QGxGOiKh2EMDcJ'; b += - '3A5on7CnDgrw1pa5ySfBa5Q9v8iFkbUeXJ33qFajT3ai7uNjgx+yyNu5FsOcePe8kfFHcK5/GMm'; + 'l3Mg9Yg2kvkhogco0gz4OmQEWq7Xt7YbebUrR6QxCUv7L63l6qtwXkqRDhhetFrwy+i9iDEN3Yt'; b += - '+2Uj/aE/McMmN+X7w29B8+Be+DncziW0PdFvsp9rdBPIwmYxjGMMurgbdPCPb34OEkNkH0hwtFr'; + 'G5513cBnarcvaKoRzDCRl68XoSaF5dTKwMiDIbld67QTlsKlK2Vsnlwv1rfNco3wpVeA0iOXZQJ'; b += - 'lc53YWY+nNq13eFHITrAIKh1YTxK7nsjIqK8nL0Z2PaHY7L+tYT1ZNv9zPRmxnhyLhtcTTBUD6w'; + 'kZUOwrzn7wa+GD45a2svAFDLrJaruAsJg3oYlxkvHy0fYal434L0YziIynDQ6Aap6jo+VGzV0Ag'; b += - 'mNgNHryeHoda8nh6O/8+vJJxradiPXE2m7w5G0zTPRmtaTz4SynvxYfPP15JoZWk/kkqC2nlwyq'; + 'U1gwHkKCSAOK+uTyY4+gBl2R5sE0O3MnyYIsUYfzYfQvFPBJ6GqJBDb+N8w+LNTiDmxc7G1MawG'; b += - '64nF3iCCr31ZDn01pPDYX09WcLyczIc6IwT4cB68kK4WnfQMXMN68lhK/qS9eRw9DVeT86F/npy'; + 'FJvxjXR7cPFlVJoiAB9y/k24EvOL0gQyNztoXhW6YXYP6q+cNBVx6Iir60SJbh1IOYScD15zMQN'; b += - 'JvTXk1Ph8HqywpJ8luuthLKe8LyM9eSTDV3hq/XkSuivJ5fCgfVkKaR+Cqv15LCd17G2UfY/Uq0'; + 'sJL5n2q7txGQd8gdMsFTmFSN/PmhtLUruT3Bh2I9SMqc9K8c08PVqlSa5PKUCkBnRyVlTND+ZS1'; b += - 'nmCcnB9aTY9HAenI0GlhPlqOR6wk4l39M1xMRVOInhteTZyJZEOw3X+Z6MuJzfz2pTeu19STBen'; + 'Zb5g9TwcwF4vRDU7JOleiPH7iuM63ZPvtUxmG5LF1gM9nlyGqBP2Qw3VfG4d0gdiEKK+TlVDAig'; b += - 'K0ZyJG/XGriUhTQ9+XlxOzllDrZOHfGb1gK1j7gK+4tJ7Zp8KvD6ySaACrJOHrhgGskmGixSqJb'; + '91It6mpKwZegSIAmFSezTX/miFQRjDHLwMeVzPm1eSrzo76Qr5Xl/N005cFPaxumPyrbsfPgtEA'; b += - 'oJVkoh3tQqrJBrCKomGsEqiIaySaAirJBrCKomGsEqiIaySaAirJBrCKomGsEqiQawSmQFrSCXR'; + '92iV465ZGLUvzTRrfXDQrMtYRVuncZa67s7IMS0pS5Fn9Ci1P/ZeAjE+NnD1U4XYUJbsmG7pUJs'; b += - 'EFJJNIRUEg0hlURDSCXREFJJNIRUEg0hlURDSCXREFJJNIRUEtWQSkTO7jiYuNNKk2moPMXC9h8'; + 'cHg5pBABl1e/pI8+Kmo/FXs64Tgp/jTzT4bDboQNxNzp3tPD/xUIruPVp6mnMd7G+Vn6s1c1GbO'; b += - 'yLp27IrhFuguNVdLZBEuttWV0rLPGgvXWWLDxWxVs3RoLNrnGgt22xoJNrS3d0vQay3fHGsu3ZY'; + 'b2hmI5dNAH4lG9LFOiyfwXP/JrSHVvhiyp/Z7P+QlBuDvSi7ZN4BO2tY6eL72yhfGHskwZ/u+CM'; b += - '3l66+xfDNrLN89t+iIlVm5tR5OUuY6l3kZshLCKulZjaeI9fJGavPfg1Vzz1537mtEycFVgEPCO'; + 'gEtn9PWimaS8qd0pSMpCUBrJnSVLuek8vTlW6TBA+FUnrlOiS6kIJ8YpMW7m3fEqGJ/tHimyU4k'; b += - 'TEIjXMLrBy5QKOV6fc7YfeAwUnnQqBmrbmBXTT9mdtXZG8O59hq4H6ajpUc55m4BqHI+znyIdpZ'; + '8nJb1zkHgWLxMohdFeSoGFtfxVyiZibEfF1pwt4+yVqIgp/6d4Olaj+xgwagBLCFTFCUg95Ywgk'; b += - 'amTqRT7EkQ/TLl4ju17kwxy5Y2eRamTmRe7gyNeodVsaO+nFfhvH0o67aGvslBf7No49DWtWjd3'; + 'J5Ky7iczX4xpqC9DYFb+TQa9G+jIH25YxoKhgRHdKXalv8dF9UZZX9D5Tk3IKbApHUkCR+K0H1A'; b += - 'sxb6dY2nJLroam3uxT3DsWYrtaeyMFysGvOcodkxjZ73Yd3PseYodV3XpbRx7HO5P3uM369NIrg'; + 'NsgkgVdvFDLEAN3eKGKIARa+UcAQA+R8o3ghBjD7hnAhBpD8hmghBvD9hmAhBlD/hlghBlEBDKF'; b += - '0d59ysSDhvPrCPo2KJos3kUFQqUV1xRlOL6kpUlqdDUZlETeatoahJiZrK20NRUxK1WdzB1KI2S'; + 'CDAIIGCKFGMQaMAQKQfwX8naPItDLYwzw8hjjuzzG8C6PMbrLYwzu8hhiu+DvFP9m/DvNvzP8u8'; b += - '1QuDnNqUblEzYgTpVrUjETN5mNDUbMStS0fH4raJm6fjXiloNGT/T85ezeZgx+cPaKNeD+jveLU'; + 'WyU4n76G95JE8cgzDjGYTE8RTTtSTLhmS1JMu5TNWSLLPTryVZ/qhXS7IsVbeWZLmwtJZkGbfOS'; b += - 'kgCN0pRb1DsMeFOUzDg1jRkX8/Cq3xBXrvLNa8GqH4EfV/nq9OpfnVn9q7Orf3Vu9a/Ou6/q31j'; + 'BJ5vXYtyTKGLc8YMhCORsXRaDgaDEdj4WgoHI2Eg8E6ysE6ysE6ysGqgoLChfVRPwZ0dX3U959e'; b += - 'VY25AXHuX0s6ANNrJjhDE6NGoCxL1dxS9pFCGArW7+NI+5d5AEAr5UMl8GjttKSSr92H1U857Td'; + 'sY/6vtNd/1HfbwYEetT3mRGBHvX9ZUigR31fGRToUd9PhgV61PeR0ASP+v7Ry/hRH12HePLf2KW'; b += - 'mVnV4eCEpDhDaHDhz9hP0FxgwxlFlQn3ViiUttnD/ppBLXtXH+nNOVuMzG+VNOJnGTNs6fcCYlb'; + 'xYUBbwLU3k0ZfB1ny32HzxybM59/O/A1z7PPfxfwNy8Ln38X8DSvJ57+b+RsWn89/D/M3rFef/1'; b += - 'srG+dPNlMRttnH+ZLNZ4nIb5081ucTN2Dh/opmRuFkb508zs8L8dm4R9E2zuADlXFaxoUn9Zzrm'; + '7mb1jiPv99zN+wK3z++5m/YSP5/A8wv9p0LeW0R7jf7L0k//F42BxAMn+4+rUnYj36KzJScyOIG'; b += - 'DexEIbKeftSQv1kZ8qeVIX+7MuTvVIb83cqQv1cZ8o9VhvzjlSF/VhnyT1SG/OvEkH+9tURgdZm'; + '+hylP33KgeAWjhwIE8bwZUgVzQWbv+nO2E+qiKktMHS+SKxYFUJYd6OWUVgslER2FRAOoqvG+Mv'; b += - 'WhW707YfFul6StQbshMO641foLPYnvwZYpc7+Ph5wkOvrqhtryC+q7qMssWu68OyJVoEjvD+JdV'; + 'jWlp/GFVM7Up7dyrwRXjJfPBQRc/HxAuT37eP+jj533Cx8nPewcZft4zmMbPuwcz+LlLGET5edd'; b += - 'ekfm3mBkyyNeO54XwFYWLbQBtu85zsauZXrJPeOpqA/WvrUZEaq5JEXf6K9eo7aFYu0XMLfuI5Z'; + 'gFj+3D7bi5x3CSMrP3sE2ys4H8xSxCwsIObywVRDWDxYo0R8sUuw/2EndwGAXFQgIqQof3ZyKCD'; b += - 'xjesg0kCpwDBumWKTyjcmkyLslZZpsme7XpMJjhGPDS84l8Xb5+VUABOVfCFdLS0vMnmrsX82i3'; + 'n7Q1khp34oNOS836CG0yOlsD8fhL6MByb0gn1gD9h+tp5tZ8vZbraabWaL2V62lm1lS9lOtpJtZ'; b += - '2nJyfhoJy519u2kuc9Hn/egPLZ354/216At+NGyBklr0RT/6D0/85Bfr0Zf8aFgXNWvRl/3o3z/'; + 'AvZPraObWPL2K79k/+jxQh8dmKVequRiEz4Z78YDPNkwX7TW2WsATBN+cR4TuJynhzP6branhrN'; b += - 'xy79Wj77iR8Ne6Z/Xoq/60T/8i89dqP02m/aE7Bqq4+hnwOjX/O9+6Dc+8K5artf92H/3bz/1MV'; + 'AQNU4PNMM6JY14JFBWvqiv+zNUit8UHSDl9mt1quW3TvgQrflK+O5yQu57XxnK6r7fXRnM0G6YN'; b += - 'NFjzYU871bKM/wSsPuTSoXNpRJc7dzKd+0CT1fN02XMNWE6cKaclSTe3HRObnLW/giFWkIJ6u3j'; + '2kD78Z22QovFBos6/PHsC3Ypct5rVSnppPMevpHPjOV1X2/nRnNFBCkjC5O1Ey6Mii8Ap8mf1wA'; b += - 'gqfXiQrRcPxvjitrCcAztiqOQxY+y/xzfUfdc0ET9UtCyrGmnPZd7CuHWaADt6h8qra1KkoSVsL'; + 'rNLOQPLmHTIX9w2YWOHXp16NKhP4fOHHpy6MYZ9GwnpPnwXsyL/LpNel8AtUIIqtQod+XuQ+lPN'; b += - 'MXhIStn3tXplorlqpSkyHDhdCLeGrzW3C46MBE9r8CBLCcOzGnxGguc1+KwEL2oQvhAo58uas+h'; + '0yyasCQ7oVz+V64BbfglTyI6CLXUJsF4bcP7ve+eZG1AJT2HYQ75KH9zkcPsNf4ieAueIjef5B4'; b += - 'q4696jQoVkyWxBQlZhIPRHloCDiktBi21fqxCPqc4r2kwDRXycixI22HlgStkcUCoeo4Rq44v1S'; + 'lIByByOe5O2B2lxAtz2I+Q56mBFfrHnqkUeLzp3uPbE1s4zsb8cjOrBMx8I60G+v/u4YP7E0AWh'; b += - 'icCLq5cUWsaQjG+pk0pmRX9ykVsl6h7wDL/SzgHdQzmOQiFPx1P36W3TGg2RrSbOcTKNoS4bISL'; + 'k+m64usnnQHo+aMD7UF4eoS1sQETk5hUy/nljxXcUhlXWPDe2oA02177IvraJFzV9JxscwTZjQ2'; b += - 'iaQZBPhqhIusy9vIlxXwtUEEm0iHLTdliwIQNszTbWQmA0vNGiEJhVfNG1RImvx5MokXrbatuqx'; + 'gP2bmUHUVEwzvrA6nQZPprYx2yAK5xPpzUM1gMyZy4F8Kdrz6qGsFiZGQbf7qRbUx+f73DeXoCI'; b += - 'DUk7NwUVsr1KS1VtFKrUpmopoV4QJV4vtaXwDzzbZDY6qJV7ToLPaPB5CT6rwRcl+JwGX5bg8xp'; + 'AfAWeCbdWiD+tCGdmjj2tAGfmjhuljL3Xxo0z9KTHy4J9922JXBKrVfboElPuzw+8DAhK09rbPB'; b += - '8pcks+GLDtcISvS43q64I2dPZQMdV3TfcNqhSQ/3MUeemNiTsyijfTBjZNlWryKeDXBQqVEpVoC'; + 'UtIeS01mvVn2FIUXIeVZnZz4c0llWEwj2dQOSTLJYtnayqYlxT5TeRfN6zpb2R7uDxYd2GF3hmO'; b += - 'WvNUcXSL670Kh/J7+x1KhXr+I/7Ru1hwhZU73hVari0pF8yxx7Nt3O4PmYAviVufQivzJ/XuZX5'; + 'Vaw3WrLdj7dB9hzNt3yybL99/WpVPI2kun0ZSXz3/pE/msDSe2HcQCnQePlW0iMwjzeuZ1ZL2ZJ'; b += - 'syr/Mo8eT11vXEmtTwZezwZLqyhyMOF1QbymzRdEFgnjybp9at0wVbQUrPvCl1xNNNaPzW4tQZp'; + 'RihTSvNffRTK2bZzRtpiSPnaQWAH1e9vbVtqlT7KDC83Xq1tsTB2OuNgo0LxwgzEjevwfhhKyVc'; b += - 'jVJML1g+r+MrrmrRdTzlU9PhYcIqx1DIfNqJdDocYtFOHlVSnRoB02aNcGKQcGGQUMl2pNyQi9L'; + 'wpc0nhZa4vydDj+SltlQ61zq7LNvD1ShBb3gCcYFjMQSzUg6+CYGYhq4FZ+N+KxWAt+2HVj8o08'; b += - 'a8htdUzhfAzMKJKKmSHb54M0gm1ckzkxYFs4BiKqm7hs9O8+BPSkbodls5jB/Cyws9O7U1Pg9dH'; + 'IhVjBFvW1rubT2PKasuBL0zHW9bhUOUcLLc2rjgednHM1hdHvlVNvrtuMPRl4aYj4dfJFg5BfQQ'; b += - '6gx7vp7ECPd9G5gR5P0JmBHm+n8wI93obzAu3haY9Pjx39DXg83L8Nj4f6G/G4vz+Fx1z/djy29'; + 'g6aicDPqw+s4jeWFv0AV8CLvS9V2ZwsavVnfXURr72/Qb37+BG39qrDeEuQAkVx+d6nOup07Bk9'; b += - 'TfhMdufxmOmvxmPvH8HQzX072R0h/4WBoTo54wh0e8z7ES/YKQKAI3RHr8/w5AY/bvzGFq8R0N5'; + 'jQXrrvHRB6Wi8FeKB3G2pO1Qac+7R9Ip9aLjLSDpmyaTWp7Pv9athDWbXeth1GcXm2ou4UlmR01'; b += - 'LuvzsD6X9HnNyPMKnh4QPsyoayj4sKWuQeDDoLqGfw+rah/8HpbVQ5D9Xvu+D4C/gBVDf8CCCy3'; + 'DY8tQQlW1EzcZtre2D7Y2o9SNUivF/zUe65GmokKU3PJqbJgNQkO9b9Z3q5mMmn4eqjHgVTINa7'; b += - 'K7cmtyW3JLcntyK3IbcgtyO3Hrcdtxy3H7catxm3GLcbtxa3FbcUtxe3ErbQKDgD7DoPbroZ1Zr'; + '/6asFXPAUiF8A3vOR2T2nhoh6ucz/Mp2SSUJwTB14FTec+buxk2Wy2m6c1jAkxfs3XuOSNrJ6Y/'; b += - 'ii+7by2He9ip0bBqGHubSLPYdyoi6DvAArWKzoptXdzq2TdHdVPyXoWVCW9pLwLlI9LbqW7Fj+Z'; + '5hvRAk2bUN8TQmXpYfw/qsv4hXczC1lOkmLM0f3aO7XQP2ULH9hlL0o0lbO1aU4t+3t9INInBsk'; b += - '9+VTXsu+vpqz0S9RqR2w2wrWS594FWAhPkbUJbHdG2iHkPl0OLV9Z0ooT1vlaS7q/opbfKGNrkk'; + 'lOd5McXeNkmaRnW0Zc+bvsD33gr9AWfDW0ki6GvWsxXTgzsZ2Z2M3M7GTHnWl88t7s5PjP9qTJC'; b += - 'Ue8SI9uzoewZCZTt11l7Rj5/Nm0lgTd/Ae3ZhkeqaLryBLKr6HhMPMv+ZMTpVDQtSdJbJ+nuqn5'; + 'SdNzvQGxx33npST07p7Tf5LPk43DzdP/VODjp+nuxXapJqr2KWgD9UYdQ7nrfp8RcoWdDbO1yY5'; b += - 'KnIY6F1bRMH8G1o69siFUb718b2zdBufVkZb9i+EPvXrn33wy35Dflm+Et8ZRGIf5TH73agB8AX'; + '3U1yONQtN1/xhvma3jhfY21x89WqzxdmCdbxdoocHW94bx1wGNLFrizLUKfJkp2at46pU7ywRvH'; b += - 'IM2OkKHdq27O1c7pppu5TIMYXtNB32pbcmLzMK/vJnVgJrzunH8gokgpQBuYiNq1JgQAZCEawOI'; + 'GCPfYTOEH8oYeJqynH3eYJfT8XE17GjczrL0P1QmfKQxR+0QJ5XXyvgXh5XHdl4WhcylJw2H6nx'; b += - 'bBCArIvmvnAD+vfwKOLRSaDjH9ailSX3gRsh6x4SHH5r587J9APgFZpCBJfwOAqbfH2GjC8ijrK'; + 'KzUwXBEFNAEBwCe5f8EPB29eIJd3HMXTzuLo66iyPuYs1dvB7ai9fcxavu4rK7eMVdXHIXF93FB'; b += - 'ChhghfEFx+HSjgIZAhPweEeBdQish0M8CkwisAH+8ihwGwIb4U6PAlMI3A5vexTYhMA0ZHxPFpt'; + 'Xdx3l2ccxcvuYuz7uJFd3HGXbxgL5YA2mwsnjgtPrLLoTXE2Kmnd7napba1jKRqPOQwpdNqD+Hu'; b += - 'rTnHUD1qrPP17r3zf087BUaf84q9+5BeMhrt5r/ylP//Yz8UaJo4o/8VPfe7zoYaJO8qf+PP/+r'; + 'j4TeCuJRlVKr9YO7f8SbPPD2o2rp4G4PevMG3n5ErRrc7cPelIG3H1ILBnf71729Am8fwh8AB+/'; b += - '02njil/JE/+5d/ZMPENeUXvvgT/yHSMHFQef1Dn/7u79QwcVP56at/8qP294izymM/+qN/2dRwk'; + '+ukyf1FtYBZa5E1h6BXuxm5jXhip1Siwr3TnhEFHgBVeAIstiY4EzWsDKLK/bWOBFLWCFlns2Fj'; b += - 'G8ur/3kv3/tn3P4SW1vhjytg2GnQ10h4ag8MbKjBJA1qHVuHcd1RXnGpwZD+TeHJIojMwkUacXh'; + 'irBazU8ts2FnhJC1ix5Vs2FjinBazc8q0bC5zXAlZwubSxwAUtYCWX128scFELWNHlt28scEkLW'; b += - 'dg9zqkOPre+UBgtOtOwDYT8eGRnyJmmFR0tSN3gbHDuMEu4zLiyKCxZOLpsiYofvTpjFAuRnlRz'; + 'Nnl22wOMa+tlqWV79qoTYm4Nneq+dK4SDMkGjusvVsON98ajUr6ZsIHnI8ihu2DTQElEFF59rsh'; b += - 'vzmOJUMn5UY1IXYSKzZ/TiK6LUJn5MY3IXIQKzJ/XiEkXodLyFzRiykWoqPxFjdjsIlROfkIjch'; + 'LMAHQA46SIorscsLLPESSixRxGB3V6xm+dh1wACp8s/U8yNSbSd3MNZo9ucTE60mG3VQEVEpyyT'; b += - 'ehQvKXNWLGRaiE/KRGzLqIWYl4RSO2uYhtCjwn9DlH19sjxjGPBb4q4EjxjcwXSByZjop8WCO7o'; + '74UiHBeadT/7RepB9xUDtvJcwL9BHaRlkn6xnN5m9VMt+tp7dYnZeyz5Tz06YPV/LPlfPbjM7q2'; b += - 'yJ37JTIbFQkbpI4dnJU7CkbOzUq9rSN3Twq9oyNzUfFnrWxM6Niz9nY2VGx5zmWOW6bqFqC4WJx'; + 'Vfqmd3mJ3Usl+rZ6ea7fKOvlbLQ1Sszt23f0L+rH0t+vjdS584gsu111sfv3ueqWtrr019/O7kE'; b += - 'Is2Ym8ye2YIF+8wWdsPMPeFjCrD9hobKwMAS/y3HOqZ54O89fElYjsM3onmEtyzq8AxIMWhnxjK'; + '0eQkRy1CXI9f1TLIX3pKB9HVUePHDlCsFCTt1Fxu6q4XVXcHqm4Xau4Xau47Stuu4pB+vIEFSdV'; b += - 'qRI+J3sXFgmsa1+PSm8Rh9zwqT/WDZhFRm4JBNlSUBFvQiNak8JEiGigPG3/Eudg5D5Rn1TgpTy'; + 'xUlVcTJScVKrOKlVnPiKE1fxR7GaUW+rqrdV1dsaqbdVq7dVq7fl6225ej8CnwjU26zqbVb1Nkf'; b += - 'wZx7Xd2GB5iFlgnFZGj7BmsRaLaxrJ10nNXXn9V2tx6U3iurtG5zmiRHRUX72F4r/5FlqJpYWSr'; + 'qbdbqbdbqbfp6m67eD0FAhXobVb2Nqt7GSL2NWr2NWr0NX2/D1fsQwT6e/Y+ySP6TUSs5dfakiZ'; b += - '5sWOpNIiRpfNyW60JASNb9uSnSlKX7HtSgMZiF3DbClfqTw8m0MjvtaXHqTOPYZyOOe2XNkeWQT'; + '27POov8YM+dtGWbtWWbtWW7khburW2dGtt6fq2dOt9TFFvWtWbVvWmI/WmtXrTWr2przet+sg9Z'; b += - 'pHcfACyxWHmdU+0wPhBZbygGd8y5OMIqQvkqzroyvat/LB95SFD5oeDdyJN9XLtYXMI0xWS88a6'; + 'PvIHU9FQGVvFNkUp1c50gnbq2U+aArlWOs53Qq/79kfQjR0GuK27LFY4+KoSVEMN68LbZUMw9X2'; b += - 'XsITAJUxi3YNb7zSGvdMYcUKk2SErJDz6oviWKRrv6uH+5H0MW5w32HvOfMDn6ZGl8D5tcpGelo'; + 'QsQ4kSdDCI1aZc7QohoDuAkKmgs9PQuorVeaFi8xXjKXmsKQye/FJlw0l8yFptCDmFinCasqn/i'; b += - 'I0qSANLgj7kqkXpqN7wLiqoZaN3YypB4EF/qZvrKsxOSHh5+SzWrH4Dtkrl83jyyuY25vil/hH6'; + 'sdORI5AXNkD+3ys8glYF3AHSaZP8u0hBDXgr9/uznQrUQORl+WJpzMny4aAwJjdhYpu/diRDWKP'; b += - 'pWXPAf6IJCfeT19UJXxy+uEwXJ8Rb3ADka6fuGsrzcpmF/MBlwX+SUL1tBAVelu3Ua3qKfzp7Tm'; + 'oUkGx+zuJ93bXsXn3xJ+2rYWHgRNnvLnPN+HTkhdrvQvfKV39S26RIlVrZmaojz3zWP/QelZMDN'; b += - 'HsWVlrooYiAvL38MnqHxFK6xL89VTDsrds9VR1762Zt05K3K8fr6clSzqcenL7tqX202deV4nWy'; + '+IF7QiD890RnIvscOnww9DWwd236cgQ2tvT6ZDhlk8LYfwpl0hfB3lXfGNwrisPv+SGrjzXhfc0'; b += - 'qnkW0G61XkT/pMNw7LUNOSB/bq96OXvWO+R5GYCzYoWO9CtpxI9kVQs2xY9cqkTA+PfKUT2teKi'; + 'VU9NVT1BjNikl2ZwRxDQ+IqYX6E2HW2XjHNd1crB3XZY7kbJGNV/qSv7Zf8d8ov57A7JAa+Ft9F'; b += - 'zyUaJ0FjVdcNA2E9Z5haPbv/UvliL7G6EtFi4t4DfjSmzPyEIXgEh80KtdKFiK1AnQ8BXRlbjF/'; + 'qIrnVXOoy+sOt5iKMKhqyOLpufsoL3aHtjxRJh9nfMc4iSQf49ajgkliLEZI3phXIrZIqxZeGbr'; b += - '5xyjMvuQjDkfaPmlMBpvNDaXOVQYaTG7tSf5tY5i18wT+MHlzrqRkXaQi6u21L0QJ3QxriScVKs'; + '6yn42sXwrR95bMq5GtukHdAr8HNwYXurQKixRa7XqYkF4ffKX7PbK5bSelHfq6k2n2T2K9oHT7g'; b += - 'HzfeDYrgXtlrl3rOMe4cKZ3G69WtXs0YsQNp1m5mBBknYTRM+Vq+8py4OHzNxCKMyiXPuGbLYKd'; + 'kUcO+OHvAEr5sdi7dBJCJtbdMP4e1jU5+jQisUri7qto3yhPUjUtATd1/bdak7D6KiRJ7Lw2zH3'; b += - 'e3Bzuo0dFZXXdJvxtu6KLcleDUTe1uOItO7M80eBrdZu+gthUCXw7H/cVhEbFGB4UwDaSbuFqc7'; + 'SxsRvpv394yd/ERtc07I7P1GbcM0xjZMRzeMFMhh7d0uX8ATn4jyjten7ClfOuHWl25DuHNwS+D'; b += - 'eGjJEkjXaCr0lDrwkbtgihvI5ovcYqrSeFYW63zdD1i+k8XCCm5TN502oyydih6kzYnmOKz32us'; + 'vw+VLPzn2klBfopNuX9DIPiWjd49rX9HIXjC2gCwYZMYaxQx1lhfxxi/Dusvpbbrlq9oKYOxKEQ'; b += - 'mA+rWwwxJuBSM1SFYMasY1ZAde9xrsM3zjmFFN845jTTPGNY84wxTeOOcsU3zjmHFN845jzTPGN'; + '5oOGghUOHnTq4H5dsQ4qM7LF/BzfmfAuUKCX43rx17wnYshuVS0+uIFjVD3pVoKvVFs+Vn7Nuaw'; b += - 'Yy6Icp9HucgU3zjmElN845jLTPGNY1hrxoWucrxvGHONKb5hzHWm+IYxS4w75RvGHGSKbxhzmCm'; + 'FVt0ddXlnKTAIiwH29mz4Q69dkvM1Jj71tLBf/5m6eCr3x+EhV8/fNXpYKff5NU8PMbqOBzn9+E'; b += - '+YcwzTPENY5aZ4hvGPMsU3zDmKFN8w5jnmFIZxsQ4XdAk/wttCDRwoGf3HAFfQGCb7bbc9i11b1'; + 'CjJjAxV88fNXpIKPPzOJCj71zDePCj79zP9PBf/8UsHHvyCz98/eDBV86gsbqeDTX7giFXz682M'; b += - '33lrm3Sfc25d42uzdrstWAyVZDkab4TPG1liJ4RdFj+9dYjFArkD0lf23lCLUi8aH0ayxIqBVoq'; + 'vmUwFf/BKVPAHR6ngc1/YSAVf/MJmVPCxn69RwRdw88wvbKCCrzyzCRVkxgYq+Pozfxoq+BuJ6a'; b += - 'fX1IEmo81Hn60GUUOek3teDLKHOSeNfe2GCYt4pOCq7NmVxgkU+DQeRT0Ho/FBH4E6Xxd9quEMw'; + 'vfz4XIOV4qEKeeiyMLwelir1krR+Y4X6B1Ou5bkE64ztM9DeKhlB5GTxnqa+DB9qSNCzWYhoucp'; b += - 'tWGGCSfM0Ct8MHxP+SZGWo7tqT7xMKoM+++hcjvc4sSDqQpHxD6NiVPjIz++Ebv89wGjX9PEfhp'; + 'm+BE5KxDi+zcBjUdPi/IbgUHV7m4Bao6dsYs976vsBl7nXnhBMxcFSmfjcRhGXqdRMh0NpgEb+X'; b += - 'BrWL/XA5tGSBaiT1FFKZWvMD/2NTKZgajnh5dbKPlGS6wQmglLA5grXmHsvyeEXDEpenHX2+QxM'; + 'wsFO/F4M4Y6IyGrwUURQNXgkIqAanBERTA2eiAikBidEBFGD/yECqMH1EGGn4HeIwGlwOUQwtcF'; b += - 'ahQZs6cvLfHhRo6+LRq1IdZTkevEDXTXftrjR7LgSscUjMFXZydeNr3DXf/UXsbvYeAvi3XuY9D'; + 'SnsGV70Pq1RLBjNR6rvTRMn/XQ/vDyuMlwgGkjtP50G3RZYgtF/MZeLpMP5rvyrfA3WX20TzPt8'; b += - 'E7Q+7sdAFbTK7tvK5rulu5tReou5t5etNxd3BOAHdHrt3cVHXfj9u6i6y7Z3lP03L3ak+Kfg97+'; + 'LnZe7RvMi3wfFlHsB42+H9sgPAeAvqAmPN6bbw7yz/buXfOf7dxr/qErN9U8cYlWnNOJmWNzUrp'; b += - 'D3HYQW//VDx40Nt7xaUHvT0lPj7obY84/aC394kXEHrbJ25BoNppxFEIvR404jqEXg8bcSYCZVi'; + 'inTimhcRpnWFi+qmVbTRcq0tABlWrMbC5zRAlamtXVjgRe1gJVpzW0scFYLWJnWto0FXtICVqY1'; b += - 'DwR+UEW38cf5twyE2n44Y7TaPvavzaR6VMLU0iyLjyP53gYgG10eA5mf3L8DmR1ix+SOLzW8Um9'; + 'v7HAOS1gZVrbNxY4rwWsTGvHxgIXtICVaS1sLHBRC1iZ1uLGApe0gJVp7bQ5lGnB+7lR81rea12'; b += - '8oNr9RbH6j2PyGx7KqmFDfQUnYYfNzjoPo/PDcFv9tueFSmSWEE53v6Zn4QG7eajE88bvW61bgv'; + 'XaRxsKrdn64N8zKJ1qjFem9EGYVPXrPnPxdabt2FN8Fob/H/VYy4Uemrs8y3nM1iE1tk6ID3xjo'; b += - 'G4FzutW4LxuBc7rVuC8bgWV162g8roVVF63gsrrVlB53Qoqr1tB5XUrqLxuBep1i97U61Yg6hnq'; + 'faRvl2CEG5lJjZw+1V2qEM5nygkCqISMcHGEl90JGuD0TS83Fw+j4OzpSPb5P5iDjTPiLOjI+Is'; b += - 'GysQNQ71jxWIuof6yAoqr1tylzfe8TwBvGxc3Mnq9ZXqdaV6fa16PVW9nq5ez1SvZ6vXc9Xr+er'; + '0XDVWzT4BXzGspiuwa22KFhLhZ80JzZskvvizkoGuKczwbFThsqxxzOdwKwfNaFyonUgytEaC6T'; b += - '1QvV6sXq9VL1erl5PGEGQAbwCr9fqlg9Lh8G+gmV1HjEcRYwGieJRwPpKzK39Hi7uy1+6fO7ncJ'; + 'zxzOI58eS/oCCk/XUxNJ3YHUrEo9USzA7Hwu346MKZ8Rnyh2wCx9Lp9HRv9wHmtG40SxHZAKc/k'; b += - '1+wgjp5Yr0spJOVqSTSnqlIr2ipJWKtKKk1yrSa0o6VZFOKel0RTqtpDMV6YySzlaks0o6V5HOK'; + '2ZPQO5w2r9DhRzANSgS3KIbHwiuzWiWIbQBWYtQdCh8Nq4vlIkdwpZZm+BFHZ4TzR9K13SkGm3w'; b += - 'el8RTqvpAsV6YKSLlaki0q6VJEuKelyRbps3KCZF/70kWLBez5SLDjTR4oF3/pIsdzVX4djb3D8'; + 'BJ12HZjRomZymfk2/jIrQ5i2rxBP+/KhiOUS9USYx9xBzjFdHmTiJOSG7i4+KM5AJ2IhoPiTNSg'; b += - 'iA5XkO2S4UgVfUoGI0KpVGPJcCiT0GEJTenAZQb73Nmf+f1GncEsyWMwS/IYzJI8BrMkj8EsyWM'; + 'vgT46G5RkoAiKIxHg1npAQQKZrjcXBGSgCaojUeSqtWgoMNmIpkPADXSKHtClkxB3SFHVXUrpEy'; b += - 'wS/IYzJI8BrMkj8EsyWMwS/IYzJI8BrMkj8EsyWMwS/IYzJKYweCeymcr657KZy3rnspnr2CAvZ'; + 'C4peMQcubrEK9TVSZieBLEqWuqHYVUUIq5VygXC2gYuaA0x8vg3TtI36btWXQ7YtWTF14HG+TQN'; b += - 'Z1Tw4UAYAA38IdijxX9PmaPk/p87Q+z+jzrD7P6fO8Pi/o86I+L+mTaxZ9i/mvrCJv/kFwxnQ+1'; + '32dSEqYmmJi61y9SupnZdqmrRM03NXOosU2c1ddalzjN1XlPnXeriCkzcNG7XHMxd55izC8nGhu'; b += - 'ArbjNLG7mPLcbhKLVo7C9oK7AQeNPZMwThWry3fAVWu3UBMgC9OQ+t7uENcvPU4VT/EBoF24Iv9'; + '1CAsvt1KhduN+B+wUN2sWqcL+dMbvSLyUmWZ0l6xKMxgJMPbGZ9sRmxhObLZ7YzHpis9UTmzlPb'; b += - 'cYRo8oTxER2YxjAFjvEerrn7pbzx0r5i4s2sdzfGPmnFDMxGT7DPck6A12Ld8T4u8UJgDHVg99z'; + 'LZ5YjPvic12T2x2aCxABTnRkICzGhIw05CA3UHTE5sFITYtxuUKQGx2qHdfYokNNuIpobcLjti0'; b += - 'Jx3neREQndr+ixmKDv4IiRYv9Tt7cWYy91M+gvkoF75XRY/GO+aC/rir5vsV+11L05kLzbrJmKt'; + 'YeTOsokkbz+ct336OzScViefr6ferrG0Ovm2KpWxtN6lsbQ6+ZzP6DKW1l0a96uTbz2cdzWjx0h'; b += - 'vV78/X7SvWSfGh3lqL4aK7yPRmkd1dzkC8HonX/jo2lWN/eYA8z7ty/0HVdYXiY+BAkUJsv0KbR'; + 'a7wbjh4zZw3lPM/oM/fUebVEuWVsO533NmjpRmFvlUMesPZIllHFKszJYqjN9SdKFNmY+bOH7Nf'; b += - 'aMUWa98Cy1j6sRYuzBGFxq0xGDvpVp/CE9atv4Wnz2PqW2NtS9viYavkSXSRrOldbEeCdajB7Pj'; + '0GWIG4+IS3RR/gF24QVPhUGtfvHfUYgHsr4lOZuqU+BuDtntCk9Vy4z7XHCU1Voq0xALvjhKZdL'; b += - 'fWN7sFGyRW7KPYgI9GDL9WDoZYNfWc89OHG835VubLK+3ohunKh1Y8dStBv1ByK/PyaUyVosRaj'; + '4GAdb1xQjNSAsHr+uOEZqQEAtl1TmiQKhsD8INFPBIC8AMICViLAPh+RAR0pCQbpz9T41Srel01'; b += - 'FVBzYYjHCTSLRjXRoHI7Ea39ioBu1K5rcja2hbrRF0m7ULLQbmxav1yxqr1El0Q7G9VxiKdp7Ck'; + 'PFVa11/1/FV/PKbW3hVKkaFScgEAmf4OGwDQuACATL3dBgA0LgAgU99lAwAaFwCQqXfZAIDGBQB'; b += - 'XA7dpaeEDMkPI23vZVCAHoQS+JJvDs5eWdLdRD3PBpH4pP4ni//RnmAvszpv4zyCDJs85xGrV5l'; + 'k6rttAEDjAgAy9T02AKBxAQCZ+l5EjOpUAQDfB9vMXG0+876P/wfzTnwvffy/AAEB5Svp4/8FRA'; b += - '/gwH1vcSf2arz+OQLy4c2Ghs9wKe9VkVHTK9ey5uQ+BfQdGgAntm0PKtT9pm4Eej8Q7XAO0oehv'; + 'DK2zb+HyJl6RlHWJjPtcLGah5k/zoGumT2hbgIs38ZD+yJXVJ+Pu4p7OQg4v0TxJqE4m/AmrPz8'; b += - 'pTQ8q6A0k/vz9cqPqUhoBiLr/NpfjxwWWObLt2htqegtspZPO6zATt+uP56UQUfMKzAlcokZcn/'; + 'mR56RefR5n7enREAyxhGd3XkwOUpGt8F1U+/mg0lfJhWF4E8I/F+Qbuc0H2YxTPBBoco4id31vR'; b += - '/AnMzTZwdxEzQrEYx7KgzeKl/G/DyUI0HWHM4zpvvfamY3L9PCpayYzRqnsd6AbQliDfot7rMT1'; + 'INQmMNWsqIHAlOekZv6RIqVwF2V06G8hKAaM6Ez23TENvPSVUly7U76i5XOYF8Lf3real/CQC9h'; b += - 'q6Fhy77FsQNJJIO4TLqQVtiwSUalZrADYKQZeNagnt8gnlwXwde2Rz7VE08YuCduG3TD2vpMP83'; + 'k/qFBwBB7njEhsl+TtrMGLXcR5S5uLFeG+ulxtcMpUPppMLYygUP4qfpeG9tr43ttbK+1ia7X5m'; b += - 'kBaxrtYn2+oJdmAHqUxDa/IAKBM3trDmVya4mlOSPVtcGJGwmgpC9DJk9og5/a0DrrkhkA4O1XO'; + 'q9RmelhXltKmqj341S7Rdbfsld0Wheiz8gY5CUSfZ/R3Qi5IUpM72IysBeluYgrGbX1h6Ba0tuh'; b += - 'jvjZAgLH+jdXFskj0qx32BuuePKL3BT9hkJw5LFOzCU7qbM/ykNBMjRDP1rl1ZEabjhOqy2dkA/'; + 'sPl8m+tIPATZ/j+hXukHjvK91ypSlgsyYJyA1hoaEuZ8uXhsJDWMLDdMoI1DfG2lSKGZ/OyVGBr'; b += - 's7ofCJnHe6WEQN7tRB1WUwb6enaVR+1Ar8igADanov5auDVWXtIUDzIj+cKNgVCIZ9quPhnGpcY'; + 'lxrWf+H5YBCovy+XqK6jT0ld9/dkyOlPHqi1MUYo+wW7lrs7ukGaPR0SVwyzb1tRHwxclqsERqW'; b += - 'bqegwgvW9W7X03MMa42/1eZ3GfTGBam0ZN8kvzrBoj0brFxknh4i5PAHyzJHX+VTfqsXSVzT/wP'; + 'Zyr4et2X2E3LzS5KFP3gEARU5871AatwxlbL8R1fKs9K6oWykVTdfRVRi30WHDhYEt4aDqZtT7A'; b += - 'w6qjzud51ph50CIGSmqtke0AqW0DPWb6kEeJ0LMRREPaVlNVVhCVeoq4F8qgH8t9mAjtkA0Eswe'; + 'k1M05hRowVBtVyoIyJ0R/4kabHk7AFd/awfKP9AL3QG4cGDbddCV9G50+I++i3fjAPhoicBTunx'; b += - 'LmWKAbkLkTaqBeiZhoWeiVGLmBJt2dvHDSjbiXeraYmz1pOmGGHga/0U33RqJbWFpP8SV9CepYC'; + 'rC6hwRo6X7aesc9IPs1hkWrXILzMh1dnUvBskaYWaY9NSKllqtqKBWW+b5erNCIIPHrwYOy1GN4'; b += - 'b1Oke5dqG6LxdWxkSsPL4m8UIRwELEzd+En6Ou/HDCcctzydVXZiberYSTVeJ2GUVD/xclYvWh9'; + '9C6V5045EEvmx6XKpcIHFgpTmnt7RtPhghr5OyBixP5OaGfZ8HdCM8umvwPuSMvfAWAk8XcAD2n'; b += - 'piJ7UiDZxksG5D9arVqRjjWrFh1mI+Jog7wjBSpZsluVUNoHihDNVQbpQvh3uBRvB4rbRtS9FRo'; + '7OwCDdPwdQD9SfwdQj66/2yt3PX/3Drnr+7vb5W7K370LlmP+DpRk2t+9W+5m/N175G6Lv3uv3M'; b += - 'H3LLdyUluUbQllbx2U0J64TmjrnVJ1gU+EdNqNSdh0P7WEWir2fif2fkQz8Kux3jT0fuAq0tPBN'; + '36u/fJ3VZ/9365m/N3H5C7bf4OAArz/u4hudvu72Dos8PfwQpowd/BRGjR38F+aKe/g3HRLn8Hy'; b += - 'Nw3HumY2XL/KHNEcBEJq4srfpmkuDMFYeRBITVsRnYZbvJ9svtTpZ7Hvr87OwhmfDVCboZy0RuP'; + '6Pd/g5mSbm/o9HSwN/SpqnwtzR5us7f0iJqj789httv87dP4PYt/vZJ3L7V3z6F2yXA8S6NrKCo'; b += - 'HcULQSXg1Xkq8ntEfiRgDuZo/OiPnp1WT1PtD5ieZneJbzk6f7Zj0gKgxWPd6s6HKsektFSk2vX'; + 'fld+98/I7tupCf+ICwyLHu72hpAMjFGlm0aSZftygrhw34oNY8C55pGNEFUgfhfCax8qont6bM8'; b += - 'VFhk1vmUiw6W1S5Nf0pt6e6W2zyK4BYSuSa3qbEbk1vc2K1BqobA86SDERxZvFCkuD7RQMi7OfF'; + 'D+jhBuSM1/ReqHZOIb94uukoq7Oz9FhyCIAm635JldU0pzbJuMfgRADXgoLqqNPPwkHUkILRAYp'; b += - 'EmGgzNSgRtTLnmUy0y57FGuMOWKR7nKlKse5RpTrnmU60y57lGWWLthydNuOMiUgz4IKlMO+yCo'; + 'mSfdxpasHrkaRbBy3uoethuVpvyWMt02VcSO5+tftdHgnntVx0YJLYBeTBygAosR2aO/bVBWFLH'; b += - 'THnGB0FlyjID9lRV/LunPMKu2K541eS7I4FEOACA3AvBe2ltCsqV5VcDtvt0dvrqpzKBr5kffFW'; + 'vqQfUUjj4RtnwEf3DhFi/1p4EpYgtPpGxOq/4gNj9XIE1ieE3g5s9aLRmmL3gjXPP0IpUEIZimj'; b += - '0Sd/LUB816Ac/zI14LGTHREH5PGt+PO/pgrzAlBc8yotMedGjnGDKCY/yMlNe9ignmXLSo7zClF'; + 'IF8EtSe3vyig7DPLTPOdLmRT1zpXqEUqlRlp3lPTbHOwwNthho/XuzePv1QrBKgCbxNAwWLe0jx'; b += - 'c8ygpTVnw4WKa85sPBMuWUDwfLlNM+HCxTzoReEy4xkKTBs2JDRr88GNWxeA3+1rB4Df7WsHgN/'; + 'Wf7Ba0LOOmnFO42vlg1KlVJlgwJouT2qxAbRuITpNUw0sp31oqlbeusW6aN1i2zC5gzZCFVYXoG'; b += - 'taweA3+1rB4Df7WsHgN/taweA3+1rB4Df7WsHgN/taweA3+1rB42WTD4xe54cazYkdOdtGjXGLK'; + 'Ccl0aiK7bwb4AkTSOe1V7lulZ14TC7ANPau6uoWoz5lhM8BYD2dC9rsfnq0MTZgAn+jGu/97lxH'; b += - 'JY9ymSmXPcoVplzxKFeZctWjXGPKNY9ynSnXPcoSO8Ncir3GZ8pBj3KYKYc9yjNMecajLLMygWG'; + 'ZjxPDXLzDhD+dZYP6xjTFqPDNY6lQ5mlD/zxql26mnvrQb4Y/XWOpVPn8hbsjlggB/ZSRqJaRZr'; b += - '9xIaDt8irITDI3qxo5rM7Q1jIzvPY92GItHh6t9ge8Elfy8yFOn/YNuOMcdSw6NeiKso4FIkPgc'; + 'VLd6xDCNXavxzWysbzsvNvQcclu13NFIYXGt/dYAP6wZ4CeuhqCqIU1PJSbWAK2VviEfZs855tq'; b += - '0oqfAVqb4AGQWICa4cbf4Xey4o1Vsm62lWXkNFixYTQE99zI7lFc42kML0R06wYIUJtcqneez5e'; + 'UXyTLQqF40cg+EavsvDz3m+tBFfRKEs7WEy5JwplaAgx5hEZH5bpLfIhoCsLgC4FQZIXjkVxDhg'; b += - '6y8Gvo/IjBIK6xNKaq6mX4FpT2YYuuPAJGlK4QBLd3Y8wYqYCmi9efVxNj62SIxEoSj/LgiheMc'; + 'xbO0LV8L3z1KaVl7+0LqSDSL/z+LPIr3kew/ds7ZyqWiKYz1Ib9BOUxy4zCmg8HJB7/c4VDU5e3'; b += - 'YYkDKrM+wLhkJzqc9R8JbTOKu1MW3CQDP7rC06tAkVch1od0wQEfr1WDaCYjaqex/OOqXNm2VfN'; + 'rWiEem+835le9FjAKbB0PXLrElTz3LW5ZN+SOoj1DPRro+5t+XxHQGk5igIJE70RoZCrX3KdTPM'; b += - 'TcAfYFK1RKbj1nJ6tX3TRXO5m71Ivk0A9smHxKYl0TdtYNcqPGwtl4miuDh3+Z5uk8k4Ze0tFpJ'; + '/nOokcN4cX10OYStXvmsoZaOQQDlW0V8iVNFcvc7YQnW/gT0NXdHnzhSXIsRWuvu8BOVsdhUzVh'; b += - '5aY2tZDEXehIPGtWTs1HyheK3tanLjR0+wGmlcqcM2iXXHJSPusoQY2TKhONpMvBo17eBK5HXA0'; + 's97h121EczVQlIzzWWgg9KsbsCMado5cNieMUDsvj5+xoQ6UWMUg8gEm+zPHvyjhG8HxW0/P4Xq'; b += - 'y8SNlepRJNjlmwXJcoaqtwsLOxiurbNKlB76vbsoAE72lej67NUz9haLbNf8AZV1GXn8St7U018'; + 'IWheXtK+Xt93HOThsAq8iaEc44Kdf99DwVIcjUZZIp3hUh73X2C5MhDBe0+7WnT9uncU66HOG54'; b += - 'VsA/xwooeWDB8rkGEmIVXX4d0P7lHlm13wKfK2XCjEU7l32BWGrH/rxzDluGUkdgn+irQ3uuvtM'; + 'I4A8bzKJ6Lh3cel7+vBbfwq4dOuS2kNXTrKxh6JONCcBvnW21dp7cQGkdX+HxR1Rko/B7Wv/K5H'; b += - 'GDCyHBnaqif2NSdW8vvPYmaBzvh2OC3gzHAsILkMqQJuwMVD3FeG2IKWzQfC/4HAx//6lpaW57R'; + 'DxI1RdW+z/kFKsz15y3atCGuCjy/Yb0pF89oMMShxoiYRyAImYCVMjm4n2FaeQdLzEP797N1dAJ'; b += - 'HOPBxrWPtBPFyUWxbh2I6VaEqYJ73IhgpHjR+6gNudmKfvdIG2kLGkF+Sj7HpYTBwvROEhfrQXy'; + 'lL+Py9G/qwoM+mGunzLXNZV6+/v+48TvJlp8xXj0F3YHqCnzKs0w5Z0ZUWOvmtgjbDFaiuXYFFg'; b += - '+ejIyusqKOmMosQ31JIfoItka+FkJExIFcojsKfg28AXCSy65mTfPgIsfwXTUelvRAj5b2IFd25'; + 'S62qFFpP6dTARiZvJ7zsLrbjmrNuFiEoaqS4B9KzCrrv4vD4CEEy73p0MTxY1mK2l30m6vP5VN4'; b += - 'ZpVZMmRfKG1LBUoZhbv87Qtien8Y5gvsY+IUggdxChL4U8G1GxfUU1v+S8HNy/8ou0S5QDEdxuz'; + '3SHbFmL4Cb2DO+m9l5YEGWYj//OFy0j/VVlr+kOQfaZh1CVWgCGJ/sB051mbddHyW3RxNqO+Nr+'; b += - 'V390KL4UT26Nz2EFOUcfJWp0t5BNyRdddKCeEli6Uv/pjr6pyA/owRx9GHe62t6DbPPOzC4E0WK'; + '3TXUll1zbZevobYp1va2KPmLk2u79Nuutn9/DbX1WZusPT2dbKjtjK/tD66htp721MTjPQ21tmd'; b += - 'rmZ2ahDxUV8W/IX0M9Qj7HvsHrXSp9CXbU4DniZJgBOdsjhtZCohXn8aLScDDq0yhUxxWyQxyq7'; + '8bX94DbV1U60jGKnjM76Oly5+kQeg6ol04hPHrvBEZ+ITr//W5k+0Jz5x6QpPJBOfOHuFJ1oTn1'; b += - 'qk1Vfejw9U1nDUbxlT9f44nvarnL/CkWPU5Wp2xO2IJX2GzBAnk0umnMBrR3doZIRUISE5wgMLX'; + 'i/whPNiU88c4UnGhOfOHmFJ+KJTzxxhSeiyaN7cfMnzMQnLl7hCZpFUQ1iRWjZGb52L6jMHzbDZ'; b += - 'INj6xCwMsVWhSjBIVMjuaFosH5T8DzPnNZxrpCXmz8iG8e0LIQNIhfmYDqVMx9EZDHL/V45SylO'; + 'NUJC+CTTClJtF/R8e5hLGQDMyoriGO8BPUJxwkCvtoaCJg0HOdss5pHNwRwtw++i/ZGb9AHO5In'; b += - 'IOR+rEyJBEYzVWZFACFKoKhsV/UosX18z28Oz+PoauHQrVUmLlEiTSIGfw7rgQs9CFOOyfoZCHR'; + '+S0SEgT+AN5gu1foB/7fPRBrlPI82c+SxpUEJ5EnxL5D+Y/sI+sbl92DWjAaKpM3c7BcW7scrOC'; b += - 'vialOWBxk002d14rF8sQwezT6JS7nwvuBkXIaPWB2huDT9SByyOPY5xewD/ZGIZUuh4NHjtjaP/'; + 'ZyD+zX9pgUfLIsKaICJtHy8rIIec+ciWptjzQdgu3+F1S5UP79svfj+zbfw8bB2ixDW+xLUTLbb'; b += - 'kFwjTth/qHDDwc35HX28LcGfyWv6eE3B/8jLD9wjPjyjZrfCQROE8tk/zEOvqJMzttM/mPbtBnz'; + 'fQsv377VtVzqhB202OACA8G8ilCgF5F+ZNhw6GiRpEKeH1owUIWMBFLICl6sAYB3PIqL1CEx6k1'; b += - 'pqXb1nlqhm3lpeUVCDL6jfBAuGPUvzxg91MXkoV+mxaPfpM9Z7bhFgnOo1g2Ul678AmjMMuc73V'; + 'NVkf01OomC5lOfVa3jZNVgsVi/IGPVq1iMr9KyLLThCzD6Xv7L6l4e4Cv2V8VcRr8CHwM8t0sDv'; b += - 'sAxoPhteMSjHZ32befIRmScjjymP/+ROsbNZv4a6FkiePxAfUwVKS/R5j2i6FtDR28AZqi3V2hI'; + 'GkKjwVAe9UpYjCh2dBdtqN9i3txn+94kF4lOuM9Vjs+VCUKjIACxO1iFhyivAgbeIbgS22oDWdS'; b += - '5bieTBcEmKULRYAiiWhe2aIxG23yO+ic4l4jwErlGSheyj4oFKaOyHCmRxpgWXW9lZxoM4xxcaE'; + 'KMhiUs9ZKioonFfypSAon94bC3suHL7iHYYEY0QgV6OQYhqFWDPvpKOgZ69YibbzXesK6nozWpD'; b += - 'fu7ytvWLQ57DxEfWI7CX8O7Z1eis9+KaKmcgzepZvmEOJfCT324SSNP3X1yS53WlqJBa1jC5Vqr'; + 'gXzX1TaVeFirNWVsmGaW2YRYi2J+emT7fM/OF4lchWWAL44WF7CRODnyniWknfoMgeZIS1GtAxM'; b += - 'PBo/0mOrnA+9Jm0VoEynXVud8trqjLFtBWrg2uqM0bYCLBteWVEvN1oCdGvNoww32CnbYOdMrcG'; + 'JezIVCtsAvxM0NQKwThw88WYloBoxA/s4S0gnc4frYS0QrHVfzMEdAKroL42UY8Kzn7wyJgQN0l'; b += - 'm1LNMrcGm8Gdz9omBBmNAZuCDehmH5xOeiAZYBE7U6hU/skJTPkzmTv3Qd3lVXwubBKuziVQ99K'; + 'z8s4exXOOKTSP+1Q5XcP0B1Wg+bKOIXVDn8inFddeDff5rRqXtvkNFbzvvA2VY2n8Mi3QBLjyqt'; b += - 'rOJ741cks2ilsy/JnM/sCrfKL8Aa82Nea4ZJRFhEG+QIP6vkC+abCHNddeRb3FHipp2Xhrr7NJG'; + 'tvvCcask7+VaHOtEZ12PN+cJbVWHezmcJDQE94bhKa6svPKu68yTf4nSHybh2a9YX3mLV6HJetV'; b += - 'ygSR00PWQdqXdx9vYPba+kwWg4HgVMf+vWAi5hWGm/cCqZigG67U7bp38XDlXMo+uI8HA2G5Ud+'; + 'YFGzTqW6rzMRXhi0QlnHbWCc1x5VZ1np4+USyqcr2RZ87QwWv9nXZs2pfPqERnmIh8ytlMeDuCc'; b += - 'YAVzCZe2PIPA1e9f0QmJx/CFqDx4ZG1fHlzWL4mp8f+LH1zbd8/a75DuvuBTyT8IHqqS0QC8gvf'; + '16b5spPnSh2qco5ApClNddw5c97ZduIzozWGydwpNh+Anz26gEbhqPSvvdOWN27qXTv3RNW824q'; b += - 'nq9ypPPLn4iH7C5CAvLysIW4h+fOyS0El2NGRFv0wOvdUoi8yYqXvsj/TESGU2YXst6EKe4yxKT'; + 'zXt6wurdTaV375ywWndTad3bJ6zO3VQ690jS+ic0RZXo8QmotnZVWvQGE3ZWavQmExZV94WEFhM'; b += - '/esgACUO/n6dUCCES5ybri/U6QBHTzEVmZbRFyPJvl1sAFImuqy27MYZ3b2FeZW+8rUix/DbbTT'; + 'WVK/G0/sJq8dX/Vv6D1pm+2HD3RoUulsPqyFJdFgNTfQ3t7+L9nfe/s7a38z+du1vYn9j+yszcL'; b += - 'WE4vI+vQlc3GY58k/Ga2a9nMkz5WZPhxmA5QnFj1/S/TblQT0tRUrZebliT4caQNXTD3UQgOxaY'; + 'iI1Su5hp2XvDkEvUHD2wJk3wpbgJqiP6ZVUYMLJJOpsDp+6V1EAyHaDkFyGEHDHkH/HkE7H0F3H'; b += - '1OoWrq1iq5l5N3wz71G1EjPv0CsJWrMqxOurGKyN0EZZV/QJWUcajti8TewTvvl+w0JEoJCmVsj'; + '0GtH0HjH+U78GfhsDd/oW2AN2R5RAephozH4fIWKnbgKnw8HcIKD08Hs8K/02Gt8O50gCt8Ox3q'; b += - 'AM0Vv+KborvGFCTzr/Vs11y1zxL34l1dlr554/m2paFTha3w5dcV3NC77wSAcg5dfwzHhiJoOcr'; + 'Cs9OB73Cr9Ph96Y42J7YHYOd+WK5F6d02lMtDr8F66caMjtIzbFBao0NUjI2SO2xQeqMDVI6Nkj'; b += - '7a3r+eKq6a1eurWySq8J2jrTA80N4/jInIdZuHrc3/vb+I+fDyVHY6lpNJHs9/6d/8jxsfW/rsf'; + 'dsUHqjQ1Sf9NBUlsJ+cQtgq9Y5HE8yHfqTm7cyf3bv5O7tncn92r3Tu7QVMltR0l0W8l6op+Cln'; b += - '/r9QKhnmHroxHf/1tL7v/DcNwuR5T3zp774F6d//nOf/cLnNekJBnCPLhiIcrdG6T6GtbjGdch5'; + '4+mvrJiQFA8BsVhyv8ojBAIFXLBbWCJBnLRbNEPL68yfB5EBYaivzvpYBR0iJK8wE5NdS4egGP7'; b += - 'LrhiinhfHlPZ961SiGOjCxEMF2JEAZalAMcMxLJbozMGfm63Rtm+oinIBzgLS3EStOM+KkZXSnl'; + 'i6unuIEyWfes1LGs1LGs1LGs1KhgwzwIfVSstqjlbBYOPR6Niv6lwcDBm6j1LEpLRgW7hkNcIZm'; b += - 'SyPTVCQNY7ZuXcmlkKa+MKKVIhoZKSpsD+qklw3Ds0YqhIyMVdIr4hTacTS7oOSlRM29JQZtI+c'; + 'N6omMNH4RGMTIS43hyimawzVoRe24MJnlushjdfXwwcXCkI2NClNt1hEr4eqUyntIISo/uCQQes'; b += - 'Q+oKpqVV6wVWlLirZU5airyvIaqjI3qib5iIpkI+qBH5krurha5hKdkp9O8w7/YsfO/zB/kUrxs'; + 'wDgH1JnqcgEy2bB2iYG9/+bHvPpKsAMBWkbc2yUyulNndNBPmSIAoC3IbgxVB+ti9BIY1BlKhNz'; b += - 'IBuo1epp/xKHbaV6tUqJZ53kXqHX6eYIY/hJRNn4R7jFUpR0uGSPInBaUtybVRJ8n1s0igleUgL'; + '72eguIJvwdlh9bix8us0MExyaXnppVqH8I+mO7VdA2MrAvDKoXFvShuBdFaZ4RTyo0ZClTlUoml'; b += - '0pUELUZZDmXsiVBF+Fp+gfk7Q2FbXIIeFHg0a8ZpDgUHxLoSFWyQfftwTC+nBrFA2E7cYYGc/Oj'; + 'kollc1blC/PxtZBhezQWULMh6EMEMy9Rn+VVRiSdQ38Cgz8Cgz8Cgz8Cow4CQMCSiwXIcfL6Aqs'; b += - 'NkE4wEtCz4/Tj3BwJGqcfl6kChEhmFvuknmEeP/ESNSPmlnlYdqFu/P2+p1kDgKeW3CGEiDPVQA'; + 'VcJioY4etE+6UNNXmmZKUdtzirE1UKgDZp8t0rLg2RMDN4UgUF3hnHtYtKFdNk46D0MJmsNnwuX'; b += - 'QkIfZ1KjhgOQlLGxyBD9OHHcGi5/1kyzQPsGTvRusd7G052dtP7NmUJSFOzQCamgEbOXGgIW7oo'; + 'vl+9VwPCpceUdUiQ4kjX1KJlQ8SYDihMlw8cm9jCJxN0IEdzUw2QHR7J4P6OpmqEeixJ7nIx5nE'; b += - 'vLex+Vk0WM32lCRm31nLxTvEmpjvm+BVZv3LbDKAX91QKpB9XmsF1uzJggY39kz3bhDB7vZ8vr7'; + 'Q4pkhr46myJc/gVMlqO9VRDyDveKqlB8q2P1AygG/MoyOmKvsfOQByDAxwkLwx6OJPqpjU3JJy4'; b += - 'f103kYEzdk9YLdA8Pk07nBDn5MBzWBoJofJbGguhcl+aCKHyYtoQQuXMtCmEvPKMKoQZR2gJYdY'; + 'Li/hy1k7Kn6AT3C4SzYSWk9Yc+B7dTFmJW9qaUa9/U6OmIND0/fBswhHsPGXs6n7EEmUkE+xMl1'; b += - 'R2kLY5ggdIcxVPlWFcL8j9ITwkCOMCeFhRxgXgjXBoDEvBGeJEZYTQjlVUdYJ5XRFWS+UMxVlUi'; + 'sWRQzNwWZVLxzAm0CTPRQRMXCkiWOg8sAJ3rxmARYZngQr1vgfo7HlbVtxahPO4IFmBtdG8PWJs'; b += - 'hnK8oGoZyrKLcJ5XxF2SiUCxVlSigXK8rtQrlUUTYJ5XJFmRbKlYqyWShXK8odQrlWUe4UyvWKs'; + 'ZsIgAE5cSyTzv2hMSQa9hE2iojQi2qlIiAyojC8G+QN6MfHkjQZEMGlU0845Gz6ze1iw7tIzhpP'; b += - 'kUoS6byQiuUgxWlL5TDFaUQyjMV5S6hLFeUGaE8W1HuFsrRinKPUJ6rKPcK5VhFmSUKMbHPxpEf'; + 'dpT8A3NuX1Iy+NUwKHtR0UvpHLN6YewKWcXJGuUPjQDEPDkCznsepypiEGiBB7ueyUJ53elJKWi'; b += - 'Kn/6u349KO8QwmeYy1mDStSotywWTbacy0OWbI5DPzLUEYehGvZj9USzUMaqZUeblp2F2VtEb2W'; + 's7RbLA+Z3E1Z5iNCJTQLOOwbmcl9FMC/KaCLR30VAcCZPQphVGEmvqVv/+8YmvbFOHhXMqXW2G8'; b += - 'ZLqcLRPu6xK3hg1bnOhbR66plE3VTFos/xtPClkVRbd+TUxfQOI54Mtu/IGMd1l7YWO0RDz+0DR'; + '6vca98ogVnz1xp5A5TaJDBx47Qcpb4kV0RuhFv6N/UxR5EyCNQTfHatiih5MdwSEpAHousZFuDH'; b += - 'J1voiTMnwvlCoe05kr0QKpXzr6Tt3OaU3LA35ZXmqZBLK1K8HOIpnBXM2mqgkaJtWpypTvD98Z7'; + 'IsFknipclc7qIy68Gy/2kFYZhErY71HXH5cuS1mhIWpOOPMW99LW76V5GSziPAzd6biNkohfZ16'; b += - '6DZtd/Mg23BUlh+/MDbaSahapp+gx7lDSNRNwxFwaryS0r4kiX8lYGSFO3YUeUmfWX4Y9rmNh9h'; + 'xwsch+RyiCig3PB3pDieBNek1ZX6LXlOJ19ZryuY5eU/LW02sKt9p6zZcC0D37h7SzuilMGDiCL'; b += - 'TSX4wcMN33tgbJGzzWUCKQu0tJMSy495rGhMQ7koKV/7/KvEep99lchEmVKJ3wG5ZsnN4xD00mM'; + 'dD+3hR2oNd6LVqBuOh0pJGc156NAM0WIi5AVE6PNhvaRyn6K0LJ3/j+51bv74Xlk+e+GJRvK4+e'; b += - 'XdTJTonfEegcDtShK8c6YD1CPSC2ItLAtoPngbT0oafXDjrRAjjSUuJds4q5lLghhnM4O0WiejB'; + 't6jtquKR1xod0bg2ghgO6js5dQ07KWMPJFr0P9CIjurskVIhGs5SN4Uz8kFcu4vWUSvoyL4etvT'; b += - '6DzCiniQ4M08AtF66xd/YbnGnRstmyyWm/idk34WH9eZ1xz3vvmDaa8oqZiLssmY+3h/cT5YWrr'; + 'amWDIJLT1rL0uOwf3q+0UnQ1PRwdI0JbLtWPPre5zUSX29xgGCPIsev1toXpm5lB5GXcZ1HHy9f'; b += - '7JFaYIkb2e3ozQ5PcjazglNutCUwlu2AItRvHUXYEmKN1wQva3bZHksxlKLWQZlo96JgcO+f4H1'; + 'LZM8zuVgnTJcO3yuA1bS99H2dHRzLRTxs9Ok7S7iM32UNIrnd5dsPwb5gSSoj6o2mNVDVVGUYgZ'; b += - 'hHEXJgn2DyR4ejDB0wMJ9tUTNMrvBEGakqFIoPklFYtGV13f5yOp8OXP36rC73YVlmrOcjUhUqO'; + 'Azccs2C88cjrY/R+gsTOzddqoqy9sS0K7POJ0puMqooszJMs69FugihviMRYd80UjvIoqMA6TNN'; b += - 'fX/mLV4PsgyKpaS50ClE5tF0fua6PFqQWxNEYmhwVSD8SA8Ox4w22Uzqgg+HA2zHw7wtw3cPIDj'; + 'Ex6eXyX6XAh05DZ+liD1ATpyEz855Dywtk7UtSNW146Ounak6trRJWsB6Q0khH2ahRBEDyYV4cE'; b += - 'R8Ud0/No/zxNDYkzd39UOpOTHwTCk/dF8Q0he09jb27OLDDG7frvB4wPrd3bNLbE9oodlTLi1dC'; + 'iO1WJbiIV3fQBezoF2NNi+pQX2kT+mB8pB91DsT6LzZzy4pqRYuC3uyjWY7Etp7ygZqRYl2HLpV'; b += - 'RbxDYygKXP6ZhctyktLrwXUuMqelDNv0VmNn52YZ/xKMwYCS/Fj0x3eP0Xc9HxahtKddEIiDX/Z'; + 'iXxWZPeRHNSDHMXwfFUhbbesoLZ0aKMdQminVYbO6UF8uMFMM5gQCvMYttO+UFMrVi3sWhhZIJS'; b += - '64RBvvyC1zn/n3ZOIp1z/Zbc+E9d5zzpOkc6bMZ1WM4dRhPIf/osi/9jnav5Mt7Y2YC37tlSI+h'; + 'yanvChmpKT1c2iiZIslW5WJ8kjJHSpwAOgsmBMp2ayMm0dKLqisIkN4EQtFC0Po8xvL8mTdlgKy'; b += - '8sGXuZJC2SGRVzqFi2ynfOb08p7LntPmcop/TAXTqgU5z0CkVOn1DVkPUe+4B14m+/sQJcZTOyV'; + 'ea3YJbZil2LKCV6mrdwllsS+k7zMWMELEntO9LLFSl6Q2HWyl1krekFi6oQvW63sBYkdJ31prOT'; b += - 'oDF/py+PCgBLTUGxxOQf82B2HQ3+jQDfpTDvigf7vDROhvcnAJ/WmHpNDf7EAW+nc4/IX+nQ6lo'; + 'RCSa1nfilKcQGopSi4eQvLaTskJSmE8AkSNkuKS0ngdmGlHlJSZwIZs5KYFB5rHoNx4Cmn07MvD'; b += - 'b+F8QH6ucq4Q4VPa9bUQNjNF8ePoosGY60yogSwbDylg8RTNTGam5+XqGAMa/HULt9thiwd8OMk'; + 'WjCJzrOnUf8d0hmAx6x4Yk8WF2T0nZ7d5iehmA5NdHS8Wi+i6vrb8RfFzBxj9YENX89mJuebDN+'; b += - 'bybaP7HvqVCT1sle+etqL+IczSqtDHx0JhRXR4M0/evp/OjfxqokdsbIBBdMBjR0vFYcCOKoJfo'; + 'ql9/0MfH+yiff4JBTv/gMKbv1/d1t+neOgW+vxd6mu9R72B88F8pMR+HqRt593BX+mFDEMfwQGY'; b += - 'wyUB5BlQwJHjFLIxU2cAXFRjDal4pfD8dcd2PDFdAeIYBpuKaC5mmjYfOloELDy8+vUU8O49ZNX'; + 'Oa2c1poaoxtEop33LSvxl6EH6CNLVthzv2uDbuQMOk+3cRTFAOe5mmliYIlpi6DesN3RD3I+LJp'; b += - '/1zCFguG0plwD7JKqjLW1r1NdfXIHiGPUWqL2xwJrj9QQ4+q2aQwJvgYn+NCuh0NHu+1rmQcxDK'; + 'qsSU/sXCgxFJVl2/au8DuI1pHQKOAycYlk6WGc+ZuWINF5f8boq098NTd/SqfbzLIty1PtrpLtr'; b += - '7GInCzWGHtzFSCyfsuhlPHsJBBm7NhV8M3YsauAn7FjV0FGY8eucrHDjl0FU43N5gRwjR27Chob'; + 'pL71cw1F15AAy1Lx6zeK9irRtWi8In96NvHRjYxXCNQNHM8qnqUYwPEx2MF4rIMeHSo4xMX1Qxf'; b += - 'HLuKvi0C650ibn/SaenSFGNVeGmKsfq9NMVY5V+aYqxmME0xVm2YphirU0xTjFU4pinGaiPTFGN'; + 'ZGLfwSmL3JMX3toMUeFQh+QCW0XjQHpenbq7jfCj9+dfyLfdWSwmM+Q6Z2GyRbks/sW8hmEJeos'; b += - 'VlWmKCWz1twgaG15zgWrDa19w3PBaCMgbXu8SBDi8zgg8nLh9Cmz17xFgObzeK6hzeJ0VSDq8bl'; + 'FL18Kpf/718YMMp63lkYbGcEoymgYOGAnrdgyYeIRP2RiESJ3BPaNFIVRd7F1396ENngRFG+nbH'; b += - 'V1YzhZ7r9BtJHx+kZRVcbrNtFjxut9ouSM128QDWi8vknUo/E6J7rTeP1GUazG6zeJ1jVev1nUK'; + 'hpVqpdAYGWHljkHTT1J78EUIITDGRzfmSKN9C5lcWytDFEEoQ3CjJO/LN3TZo8iMpBP6p33VBgG'; b += - '/B6v+hr4/UBUeLuPyhG7f3tKjYMVC0sqfxDirKZ51qxIYQBRT114hc5Lyw1X2viwlf0pNUFXp5U'; + 'CI+7S/Q22oKySSLXyGEXFINR6oeUdV7VaYmUVat+GKI5R9E984BIfuDWntLScGecPj/g0NPqDYz'; b += - 'jv5ORKIuGK+S7dJNsg00vlImVdeQvus4VsEQTanEd/IX4FLSqFaer4Baz1Ps5bw81dQ0iET1CfY'; + 'hrkht7cQmEUxjP7eMTTPr2+rX0x3PWjjKgC6pAwpU/RJ3tWAcbwXLN87t8Kv4U/uG0MZvmGH+mG'; b += - 'KmA1igeuRhUCch1q7XvVPIsRgF1eE5p/Ai+T33RKVjoza1de5ocJqXomBrSI+d2BNNcqb7SrefB'; + 'jVXljaM9E3nYPOwvhYn9z8RJEiUT/mvhT5NhecC5xhjMACcZtHjvHQEYlbVnw3eGCNGWDsu1+J1'; b += - '5czYOPQW6GfQLVPP7k9+T35rP51vwN+Rvzbfl9+Tfkb8rn8m/Mvyn/5vz+/IF8+61z3L1LPOnu7'; + 'BMFLo1WCzUs1aqT/YtFSjVuqrm5aKa6XOb1qK/PCaWYFcxhd/62alqV+WXbNCAZMrXmxW3PlSgE'; b += - 'fwabvFYAe1CrDDguKm+H/OAqEnQXm1YO4KvyC6xpIee362X9TEY+n46HAFghk0zcF9NtIdoJ9PB'; + 'LzkbBMDw6a5WDQkP+NnuPNXSUxrQ/lQKSHFeoTn3ueaG9SGDZ398H29f6FokWka5lPslQtHp7fC'; b += - 'C5ZJXMvyEfMhHIxCoNtEeIvpTBpYi0aaLliT+iF7UW0g/Z3bHq3A/fiOnWDkiK+pDe6XQcLVMFP'; + 'MEBE6giTtXUDHEw4vut7tbm0EBmVSmf6pNh/1m9aOshmLyXOez7v9SQ1u1GV+NyUL76M86Ct1E+'; b += - 'ZWoQNRbL/EGPnTaOLfuFRPjKf4zvH09ijezmHr0XboyeUCQ3kMtlvJLLH0+DnVLFRiNnPJLkSHg'; + 'WSvegDQspIFsOtJm+TwEKzDVD1Ii/sKoZ/XA8B4rThy05AW01/hSQ47VLqAYtK4acUv6y3hMpnz'; b += - 'yXI/u7UEvLPhXZX+RrIcjNRWjn/xrkkCeMVBMOTRQKTOunI1UrCAWHIhAzeZaA5jqOucbwA0JD5'; + 'ytFQpOw3uyYgYhrlqymPlkc/5NulZ2CgA/IDToyONg42e7ITovzOEceWfyO0UufGplfLS01r5HU'; b += - 'R2sjJfjYj0sz3wPm4Swb2wHCCNtHFZtHElz+A38hBbgjCvAh5oy+Qsx+6VULTSYmH2m4apORKsb'; + 'GfSfGh0dSe4smNpXYdMz+Sqthz2ViqAtbNjqUyQNr+/6k0h4qQTYet1nIRwmUiKoFJgUACn5Fz9'; b += - 'YtRSAN//D6y4GJ5TULD7SCJdv/nB8GAkr1Nol6WI11P6TK+KiX0eDA9HXN1sQawXtLqTNFtQdeF'; + 'k1B8E7aQplh+Vm55+OMsHJ92LwtkOVatkGU+sObQpYMyg5aKON8h7oS3MH1bdQDIt/Hg+sq/Sre'; b += - '75IqtZzZQz1CHpi0cbipf9foFfXsuVk4Y1TdnYmXBgZ6pKiY9czSq9UxqmUCK2oW2I9QUQtZsAX'; + 'CPZRjMcvQC9kgbU1BiMLy9O/1l0uz/7S23Di+b8+K9eNfTAc+5FX0+Xy5RSpX/mSXP7o/L79SD+'; b += - 'ICa7awfdRAkSPumsiyPzL5cFMr/mHtBFzISz+csi8/11Be+LA6+Mg+3dAKc2IaF/J1LMpZ3Oav0'; + '8Uv7I5c69cvXjPyzJfUlldLKHVsoLv965T4UBYfnyZ58PyhvKXzohPy+E5ddOyu/zUfYDyIZcsf'; b += - 'bnuirFaBdJ3rHxw9kNW+eDm6S7adDQJ4P8HnXIDFE+ufsiqHuT071kX5/Jcjqo80eei+PDMitP9'; + 'ylr3aWy6ZvF85dlz9+cF+qgQFf+DEpv1Q+8ePy86Om/Pxn5PdzBo9zqd1Dc78/b1NuvklTntOTC'; b += - 'olX9mSrHqHzehlSZ4qzN8yNpaA5s3Z8HuCKi7Qs9jxraFdHzKdrC0ONttH2hR077I3qcNLQ5CnD'; + 'VYAMK7kAMLUBsKboxoAr34XUb6R/nLTNFbN4dEPQtlaKUxcd5iJyuvBwUQq/ImUgAoBOP8D0l8C'; b += - 'vgy3H1uif0gaJHjtoc0SPKdqGBbjfwiZka3TY0H6Hnk9iI7I1eoh2ZvTIIOLbGr1gaBcV4IYKe5'; + '2PPDDDogR+qC+9PKyU2lH4CQqXxdirRg/hKMgT23LA42gYxjDXKQHK4iFVkg401yupvktEaAjBs'; b += - 'Ot0btpQ0SPOdqz0SPFZIZ7Ntpd0fN9tEWixxPYu2yNZmkzF+A2pluu7OcbCFotDuV3HcpvP5SvP'; + 'Q7sIEQ21ArU/AYxiQZnzXps0ZGFdPk6EsKfZtnbBWmOVbgVtjPSZyo04K4BpsaLvjlEgnK8C098'; b += - '1RQG+atQ3n/UL7xUJ4fKpJ5c+QQLmYO0SKS5hOH8uxQvuVQPn4IdzIcGR6iDVAjX3doPjxSbKIV'; + 'NJPsMNZ5xeZfiA/swhjOpD6FJ9u+9ee/5LN00cSZczcTAnZXY3z9xsSM2Yw8cVBnhCQ78RY5zBa'; b += - 'Zyy/7VC+4VDeo28OFROUKE8op0Pz248U01jjkdvUobw4RB8V6/ImZxMfmn/zkeKe+QOHPnCIWnM'; + 'ywoT35NOCGTfYgeWJp0GkmxJq0HmraOtJamrYWadh5pfZtmNO2JNyRtQdKmxjr4J82wuYpth5CD'; b += - 'aSxdHNKlo81uPFPdSd2w4NH/vkWKzJFpHvzp1aL59pLiDVvXxQ/MPHSlmKf+Nh+bHjxTjkmgjNC'; + 'DE67NCRUqr/PifpV3c8PCYbq78H9yR9/DwghSKnd/V4L9IEPXNGA5z0s4YETHVaF1piyVkt5jai'; b += - 'UPzU8fKbbSotfMO4fmZ44Ub5DI24mw/tD8uiOw76B6zzeOFOshiDlEv1zcKYk2QL/z0Hx6pOjRz'; + '1AJlxKZeZcrmWcokpl6oUdOOh28xDNlI4sUVyfecl3l+qveECUy7UUs4x5VwthRbs+OtTzjDlTD'; b += - '2SH5m8/UmSIok/hTJSaaf5bj0A1mOo9P3mE0VbTQ/ObjxSp5HAbFbQ4NH/fkaKNJVqIE/Tbdx2a'; + 'jyzvXwNgDIKKZIpGjW9r0aQzG2Z125fVj4odPPfDEAFtudFpxEC+x9uDz788iINyL+jgcugw0z2'; b += - 'j44UHazaQuTlm/OODvWRGHprHAPxyZZD8xuOsNP6Lvrk7vmxI0Uo0bgY6x+af+ORoguuFWI8v+0'; + 'mGqlq0zZb2W8ixTnq2lnGbK6VrKSaacNCP9OW5uk/81NrHGJba9gf10iL/+edp0469PeZIpT9ZS'; b += - 'ITih5V8KYRa78iFwuAYqaqVRZ2tVn+Xr+2TupvYlTNufTHLznUDFNbPQG2kvcwamLO4jlMiBmS3'; + 'jjHlWC2FtuP4W62ASD8wa7W00yx1OnJvPxrzqbj2FFPWaimv8ZnXarVcZsrlWsolplyqpWgUZEZ'; b += - 'CG+HNTfi8n3nyo2Ezce2c+xsHeoeJOYvGt+SwHiWPuJsa/lzYRm+TbTcCGyBscG1KFaJjM0k9tl'; + '6r1ptIynLL99vGJrtzknT0aRfw9gMAWeKR6jy2M9hVgOLyhzYOuQ3/bVGOLU64juyrtHgNbpmW3'; b += - 'diQDxg45ohWwPR2Yml63r49gtJ9E4tmkHe2RzDN7PKlVr5uO40Net6xPYJvpHxqewTEv/b2CPiC'; + 'FoCFQV5m1EdiesDWLOtkff18E/Fsd7pzYGrdNKUVcmDXBh5BTWqisH+67cwRhJ4a8AlYNYUh6th'; b += - 'tM7CLHQzL39BvnF7BIdJ+cz26El6tLZHAByMt0ewE920PWIYqLu3R4Ayyu/cHgGLamI7H+DS7RE'; + '5HIGM6ecDspNRx4tsc0TF8fHupsI4LZ4Wa0BYgLnBDqB0qZsdHSbWDyzGPzyPMeHQgbJFRAdsa7'; b += - 'MRyfZvSpNottp5NNzw/boKXrctj0CJGFje5R3vj816YFq+0LnsnLfItycwL2XeRybwMd39Vh2BH'; + 'hsQEAe37/P0wTg652RCkz8a83/A21DbFpwyjphEvyN4n9r5p77v2vmHvgS8E/p0YQvwFwhCQDul'; b += - 'vu+DHYdjPeiyh5WKNjoqQsFYZjxQXGfskF96Vkqfrizn6S61KQWxEnG6gueIHQD0QuwJJ8RmsRe'; + '3URio55R2MO0s4nL7tDNMOyNpLZ92F+JrrUtS2yfdPoRy79lIN6RcnpbLvQxTOGVRighd1OFQRB'; b += - 'DZeB1L64XpunIzxWVKIYlMV3kcLtCttvhW3HTnjnzoRK9zWQX9dpO4WUcmgMqGIJaUmUgvDtcCU'; + 'xVB5MUsQsBEOrzqjGngd7t707KXdWA43JXvfvJsP5yTr1vQmDhlzTod7eGkvQjDfmOIGZA4oC7Z'; b += - 'lEAKr+UM/BoEfg0Cvwb0CWpgt8fi2oPKVM+Nkxkkk/sHaOWF7B9jW2AkBYocQpjKxFCJHUgT9vZ'; + 'UrjbD2GFoPAkQ6y93hDA45LahFnf4f4vlgy5TN/aMEgFcnbgf66MkNb7IVaMUZrHC8JJyIt+pIv'; b += - 'Zvrcgp3hqDb5VgRiG/zw2XcSoWoMvRxkkIaaz4GLBDlgDD2wIqiRsLk6bEz1D8C4NbjjL5l7IY/'; + '2nTRBFHgdLN6ikHLIQnRZ6W38mxDnr1Yew3WZmv8Neuhe82rvmireo17ga/6sq/6yKtV1dis4Xj'; b += - 'fuKt//XQfTxQWu100i05tFdleN7Mu1KO1nWrrs5020SwR8B6hnp3vLG++/3oSDUH4ulO9fit9bZ'; + 'VkmirfuLVemerEdxY/Vnjqv/MSPW+1xdqvfZPyba1Tz1jn3LT5Z/0Q4cz69lGfejWyZs1tKrTrC'; b += - 'ntxH0Wjlu0BDDuXxXcQtgBMls5Ce3m3h5aIuJO7j7maCzARmuXGjRtN7e2vWeXr3BKhlDQKb1Um'; + 'rGDG1WlTzRqkbSN+KCb8RLmz3ZqhrhXu9fLPTZvviifTxg29xoJVifv9MwXY0mdzx0pBbXskIRu'; b += - '/lhZje/tzTvzqK8cd9NmI95POs/q5ZUFJgaqDUMTJwAYZXCZBFY1fGJgSNHEQooa1uqmFt7FwKF'; + 'UlNgcjYUjff0MOC+vZCzteAqTaFEl01m+nBdxZmIJIN9/omBBG0/E7vpXYRhgRq69NU1U2iEUg6'; b += - '4NfKqOIsMI8quQ6JddCB90yNv5VxijNxIkyS7WJ2+w7fmg8iiZtPfFljRUgw68kRQnKmV9AaSpa'; + '8FqkyXFyapDdHTDyl1BLOmvGPrS5MIvYy1P01nxEjwXZ4UeKqTut4eZgytlu28jlsb7Smx/lDcm'; b += - 'EKk2xGoTjHFinZjEJxjisUZ7MainMMRo9tmhqKszR2VxQ/bo2bfABTvOAgfz1hJwcDQMMqDKo7P'; + 'bOlGEarqDbad+z23LghKyozuINnK94cgdbAciJTgwIGjlHRdzvDHCHdtBM7Qq0q53nVszo0HFHL'; b += - 'S08OGJPKCMI3YOk8szFlYCFORTIvshrwX7B7xJE4gqPuEIjrrCIKyTiCoe4QiGuMIgrBOIKf7hC'; + 'NUvWoR7Qu2HTAIV9sDdgfBqhCoS4OBNtirogePAo5Zw41ZgmDutHhv2jGLx8eseYUxi53VSax+A'; b += - 'H66wh7/GyMOimhxVTpoZJfixniyDOxl0gz2AJAA6xzDfu9t6T2PUYjgnZdel7NiU3Z6yU1R2mco'; + '/YAINPAMYt1zDobxizedMzisTGL+DTWLsdMujBhzKx5OhdN6EzTwyUbFGYAoyVURd7R2m+0tBrE'; b += - 'OVdndKjtjZVet7MiV5zQf2dhh83Y+3RS49GP37CyaM7jUNtknab9AvZg8VZg95Vto0g8P4Ny+kz'; + 'rT8ODE4A+B4PeYeF/tUGoCNW81DOZW9T+TpwnRARcaUIFxiuvkEHC8I9JeWNgw4XdjpAsHNZPSs'; b += - 'WAQlH2oZlmL08rosajIYwHKnVzcS8PUlDMHpr8FksoQ1htSobEimS6iZwXi8gp9kROjydyCjyR0'; + 'j5hGReiUgButf00g3kY0WFeF012aRmPOu5j8RDJcwkNCOyNL3xkuhN14KvfFS6I2XmrbHiJW1XK'; b += - '9yJnMpO5HR1IqekY+DFwlgwe7MX951d4DM8vdAfKw2KoBjNojEBXwaNfIwdTLx3QXzN456/+0gx'; + 'Q8OrXVeKlWCYtxtbcxJm0Wa+YtAIR6fxe0P8R2Ul8C4VysoX4Bq3L05KKhmNGLC1pUrhVNeqLIM'; b += - '6OICKGOMGEZb9UEXF6vGibeEFoMF0W7fxaHe1AaKcc8Liikn6oD3pY4/UwHdY14CEDUR0BnNcvn'; + 'bcHl5KWnOBwOL0xyCH/WO5HoQmj9OpVQ01OWNmmjkgTzg4h7TRw1XKB4b3bQ9O7PSR1twe8VHcv'; b += - 'uBanfzII6CQky3tyu+qDOjMvvpM2eduY/r3VmfKvOZG/ohveeb1ksIESjVi7inUxJ9hbRTtqwIl'; + 'rR83uD2E3u0hJHRq1TfG36OKiJYqIa0fV6Gtwh6W8jtcE8Zq5jtl9e6zplyqjhZ+gzpDGYlB174'; b += - 'JcUTTLpZmFv8Euh67cYk490kbPj9d6nPs7liIN9HosvT7u9Xosjtw1dY8B+fJe7sWnt4iHXNjGi'; + '4vCPI/TAkfhjaVSsCjmGpYDij3RF63Z7QHW1129vXyE7jWxjjXg3lprC1UMp5XXyxYRqqOFz3MU'; b += - 'y0HDLTXwAEwvm/LHGCdHTD2Aiz/jcAwJKzPE0j22RytguJCwNHKILsTpTt2D4b5ByvDidj6RQjC'; + 'Ny+gsb4az4C0L318mvXgrUL/pU0YKzcHh9lBeJegy36DF8LeElkprHcFLzGE42egx/iB/hpZq/M'; b += - '/XI64aaZe1Q0DRa4V/oROx7E/t13SyApWQKbx7WUvAma/+nP3/jvL3z/D6zQCegF2kvO/+If/OY'; + 'ATIF+Gz/Qit6WTnrQfqEHPRgt1DJgGTu3n8WYTHMOzvBoRryWrOLBSKO49hskIliC4cx5PyyAn3'; b += - 'HP/Vvf+VPfvAAneFA+NiRQ3/6Q+evft8/oYMTwkf+8sSff+DD3/sZCi8jfOPG7/+XL974+CfpkH'; + 'IX09wOnlFaOOQq8zmgruNWKEcGDPGQ1nVHv61c96B20piUUR3BEAdeTVoO4wbCz8iPJcxCVZMn8'; b += - 'cY4Y9+Esvof/v4t9O5LlIJP4RT/ynyHHCrCS3ET++wjteyf+I73K4S8QVUefhnXw3Y06RLwenPh'; + 'dFq4cewUjwcne6El9xFdYij4VFkSSOh4+SEs69RUmQEgytI/SXdjQe40OV+o8bXDxRPhm3IU/hN'; b += - 'NaolXfCsD8/WZmx2tQgz2UfS3uGry3kdZ5NWEXhsJxlO1jR2HOBhxbmRQMTD4Ayw6ySla9QWtkN'; + '7YHsblqz9TeQvLemF7y7w8+xkFIjbq5svQoIS6uvAZy1lgzozw52CXAyv+AHPq79nyJX8PFjy/j'; b += - 'aJXsL7CBtV4Gc5gXCi7bici3v12qGdw693MRTyO+3YdcbqyuA48eLSJn1xIpc3iu8CJVUI0G7Fo'; + 'bLRddDnhrpfO9EPXYX/q1nCzz3zDVzC55/5epbwi8/8176EX3xu4hI++XObLOFnf+6buIRP/jlf'; b += - 'iqL9Gg3Yt0ciyRGs1//CLI1k+tEqWX1b1LgTWvMVWcHZUBesmLgMVlI7pG6+iGD2+ocDrqSTx/G'; + 'wrp+j3xKQRu+Iev3M5/6etbvE5/6r339vvTpkfU7rJbw6Se+iSv1H3dNczXmSo2csW1EMKnS3BG'; b += - '995sanf/fHfnKpR2OAzqLzf/biD3/vz//l1U/cTWMA4T/+we/57eMnP/ujP0+D6hoGyQ9+4T//0'; + 'oOR+0iw/Wk8jkXvhOPRmeNkPG2Dge0VCJR0cMV7YWlW+EavQRwhqrCSE/zhihrZiBJIAAg1AU5e'; b += - 'Xd/9EdO/wIRrsgoOv7v/+LGjY+Ob48uIfzJj2IU/fGN92yPLkTuVk2HT300gZPsYLEjQ/R8lmoc'; + 'ljHt4FQR/Kk/X7pWF5vHYPS2sstiddWk5boPKVT64H5XT2k6Gi7JtsnQEVFtWead7qVVr3UnV+j'; b += - 'd6Ju4h3quPwnzlxXMpk3Hap1Ry4QaR56pkmHIFqGfi8FKEz2fFqE2e+kshnGlJT9VNpjeGruGgr'; + 'EI1PmdBVmLgzmN3Mto7L66PToeISQCYE4CstBSYEKEC8tapIsWO7WCzdvOUm/Vaoj91apu1U9us'; b += - 'faKrTFtE5jrIz9GV5+tInoC74aI+luzhyltGjvbB8jeiqJcnD6lxDTIMX+NCHwQY7ROhUBdlvyo'; + 'Hb9ZfVSpMwYMHnZDkbjtigF7AYZM542amyT45LSwZZ/8PhccIxlWsQOwZWFfpKZbDmelrVu25bd'; b += - 'lcT4uxO1QmYIUEGohdqDjTXhTn15c//QnDfyhJuR9ymb3/bBE2yDjpZv+xKeqV/JOKkRDuKM9IM'; + 'sTKEMXM/PAG+lfPb7XDiS8wbhSF6xhtZyVxjew4IF4QOwZWPIuGtPn7RPQ0b4irEG2q9hbF8y9T'; b += - 'XO9BqpKza8s5uci8x++81uwDjpM9hPN8Q7nIOlOId2p4XR0EpTzmuaummIGbUvdusACF1tro7U2'; + '1Lw7YXjXrjoFdn6K/8ghlo2nGknbWv0tpzpedu4yK8hin41Fqk4TWMhtfQGvCcwa6NeUaxsTVih'; b += - 'rtZGay1FtLU2t6o1KkslzL2u8Fq/G3WkXlzy0/atU162DfJOaoOlpX1lWqbZR5vlJD+ol+S5s/x'; + 'rFAkA2jYg11upkHSJzftcbvWmN3LSfE9TIujx6rti2XT5lrm2XjvnDUjd9rbPmTxFApOrqkLzPt'; b += - 'niziO0YlPSbRy72QfQMHj0zQL2pbFq2TRDzQT2pvIJxA4UB9ok+G6ir0NpztpNQ7f0QtsHvTBeX'; + 'mKalmnaJaUc1rcs0LME1U/Ruiy4gyLrGNcl70CI3oUXu3sZAJ9PDPNWr7cO8w6s8vik4Fr4zGEj'; b += - 'rrBzwVsOKtYW3Z7P1pbh6H/ho20kUg3pFQ9+ynmUulETd1Qc/+INyJjtWfszV9B5HwWh6g+jOo+'; + 'idaj3B0JVZAcTAFoaalKo30f1XcI20oCriuASQ62xh8Zwp00Rw+MHZ/TdQ6AxKmpUGe5XigCF5/'; b += - 'FJI231uvt8Iy6uIuqqf0K5ato095LZpvMPpI9pSldGe8hXqBZpuwgO2P4qQTvLRniJiicFs1WFg'; + '7yOiujigHH0mCkwuzXIYZ+TgXUMjyfhRN7iH3awJQYolXxrAwPBIKgRjITIEKck0P73xmeNlqZs'; b += - 'eNa5NR2WW/FBnq/7GBFPHnRoTTu/kobpgeb+2kUrz6e9JzDqemy/gP9t+cc9FnpF5bEDuXmTmaJ'; + 'e8Smot6THn+B2X7h6xTA+Sa7KcIipMdF8p12ihFRz7jm1oRGiQF8JTLHs4bVtiPRmJAtNp/5au9'; b += - 'tyZPQPenNL9H/sncVZrpIyqdwyd6bzz9I+yAiSCRgIzT+fRKfDcQvLRlNsE8SpEMJ7C/slwTxUA'; + '5hqJ7PMw8ZH22LRXoDXCRrai5UZ5kSmnaynnmXKylvK6pkRVypGIT9VSHmfKs1VK3rg+Oh7eZl4'; b += - 'L5DYoKXdRbvvs4RKZFsrPM9pTZd5RngveWJ44nC+VvZ/8XVeB3g3ey2Ua8hwK/8imaq99kgn7Tq'; + 'y9jq6DaucwWPRRDhs3RH8z3ps/ZDFVOzGDQ5rJW/BGkDPGGZX1oAKWvx3Qa8gwVmnzPtEIzSH60'; b += - 'U6e+JRO32Nix/GBYpyyhvh7/i2HP0g/AJzv/QUgq/MxBMbybP8+lpBr+t7+YoxxhieUAtSd/Uyx'; + '713g6b/puGTpzjttcKuE8/z3F7a3qBGrqCjttY01HU0Ft03K6avqSGDqXjttR0NzX0OR23n6ZHq'; b += - 'ee7jGqT7GI95vMTMY8qTWpgFoDO+ZfGlonf4OFV++bcDDOKkXDn4rWCipFz69T9802M08tKyhdC'; + 'qFbaj1rUbNyQhOMZuWatYcYBqNZezRriWAHo1lLmnUDURFGs2BcbG2hNTBH5OzZ4eeqA0l0cfV5'; b += - 'zf3Y+gtpxP+UYIdCOE4qu0JeEXjRxFL1famq6iwG9uyStx4lkSjjobD82DVXHuITm47HvbWh6Kg'; + 'jZw9u+bGmpv43GfruYnmdn3uc/XcruZmPne9nptp7qzPfaGeO6u58z73TD13XnMXfe6L9dxFzc1'; b += - 'NC+ILYrVGyxshL/yXWaCoZBym+02/ME4N8sD8WMkYv98LSEu39s+9gP6jcKUUL+rjjuDnYV0x8g'; + '97tl6bq65e3zuS/XcPZq75HPP1XOXNPcGn3ve5co4p6/HYWItKFtwCOKBAOhwJZxQSALpgaDCoh'; b += - 'LWIbtwQ9Po81p6DTmze2plHj00XUAZmhFmRFze+HfpK0IKFbkojb78X8nBWimrTtlXu/buP9KDD'; + '0wa3JYxRHdJsn9QUDbfRgWoy3JBHikl5/FN4UEqCJOpH6goPhR5LtQqwLfXFJk9fefD/D9jvC2F'; b += - 'xZq+gmuSN6iC+PPtfRZolic+TWvZ7eXBP33VauDzyZa1vPPx+fZS3niJKpOPZZ8143a7zmqf0eP'; + 'kT0d4F8rgf3W6MWc08vUkBPclyGT3iXLG5EpJAUsWqp6B7YDUPuZmtnF9ZrDlgxrefVD3XkOSFn'; b += - 'T9IsdnJuoq/rr5k0/o6Jl+brDTziHN3ILmqCU2Xx7fz9DnvuL9blUGcVdn1Mva5Fb+gNqF4ntdk'; + 'MEmRLuAD3NbvRIu4tezd6ngfw4Af92RIU0N5TBbupZb0VL6OIN7H/mmwb2HQ6FJUiITOvp58b0u'; b += - 'tKApwmLkL5+bNU4s3lic9oicsVeitnyouWkIPFyyt/8qreYj6D+H551cXjMPnsn75qDWu8n0m4r'; + '48F3ULFYQD1NacpcUOzYopWuogVGjvPxDTqoOxExY5zbpp6u208YaYNPKhMxB58PSis7Dy+Xe/Z'; b += - 'uP76pWGAs3zNv2/bIYdPlEIMsW44pZD9o2LCxYStBkNmDrCLMII7AFWAqPkj0FvTFT1eMXNo/e+'; + 'ZG0T2xWZply/1EdBUqmijaKTsf0ZL8IkJWXT0sD10MPkxIG7z7XgKaDmDDQldlbc/IEMq4aJdoc'; b += - 'VEzk6/YD+JZx11k6OiaA3y0G/KbPHvXhnulUPS7zRaOGwjuxP88sBPt4bi82XBQPPv2mjvReh3z'; + 'ZPcR/tgtJz2Wd/TCDsW8szBI6rqISqjO4IlJMDQP1IgX+IhLzoXn0jnYdX5oWZFh/23q1O9ksHh'; b += - 'uWovjHktm5SdhjX+Ln9TMYuB+a3Kmp7TR65QMQhPLOVVaiUFX2xWyPYMTx4wqaylAluV6J4IlLk'; + 'YWFFB2GS5YyQ4KEJVCMs7wHEyM5DmaiIwD8MdOHLdW7XfpzqxyBSKxaWh2dj5EKv48gxwCcoqWy'; b += - 'DimXj8WlBkbPv7SGV2FeIptJN3BBsX7gA14SiQe6Ar9xNuARqZrQohV37Rgv2P/kXJw6/Qfq4Qi'; + 'wjBWCBrStLRsHKTHVVnznZo0IRxoR1hsBJyMZ4A6+85naUM/TPm9RuZklG46YOXv89mrqQMCIG0'; b += - 'i0guXEN51pxiRWLugYbznC1cGPxtDgFYLHqrlFpJhxIrvM8wNC2jYFuZHRZyrHTn4hH/eaEB5I7'; + '7bsbeESxThCXg8hosmOgij8y6EAj9AM9wuQWykCqxYer824TgS5YRHs+NQ1ThSXWyra1bVNW11M'; b += - 'kJPWKDueNxxIrtdftb7yQaRVyxO4Uj6MbXMkSO6qSbRLtBqxB5Kb3BIk9y+aYfPAJA77czvhn++'; + 'aprp1rPLHxqMaWokAOm8dyq4ZYKMNbGDXLKEHxFQx2/QbLy1v1u2Ei0WqyCI0jnmNogwrgSFpY8'; b += - 'BcBu8azwQzvbX4zHTn8QjxwX3A+FmaHM/EE7hwvyBcBJa3A+EGTS4Hwi70N5+IEyhuf1AGENrG4'; + 'zhET61/Fpr+aHiZlpGrpWxNTw33TNBxPfOrRYuGEBkq4oaBicKmgL9iegr5geUF3scWCvmDzBRf'; b += - 'P4DrmPIEq+me12cFyiIdzZjwmjk9/B2P2w4kWTckpcaE/vz7uOHgsdTtg2+fRU6BnRb/fpXaFPE'; + 'kbEFfsKygL1i36KvT+ZR6qMtnrBbJuwzuy81KESHYAcMgQd3pAFx25AyIlWfSjB2AWNEACJEDc9'; b += - 'n3K0XtvpoRMnyL6xv3YfIA+9mZKyPTNRL9tP6/Pguo8JfSc6Bv2W7hoYuTNQp8h+uR+O0iIJXKh'; + 'meM2xWPiX5211+ovn4pBIYSPL7kj/v8ruaj4/qtpwhuPKe5G9z+Znm47M6lzNQV96V/DmXP6v5+'; b += - 'zxJ9vXq72Ffc+WZKyPRtRKd5606m40o67hsxmErKrk7fMU8W9OfpoiNsHaPp0KJ5xzFy580s/47'; + 'LBuzRnOK08lf6vLn9d8fFpncwb9yjuSP+vyFzUfH9ctOUOD5W3J3+Lyc83H53UmZwCxPDkFyB6b'; b += - 'RViE3mB8FgXjX7iJCbjc/Glu6nhed1aMhOh/zoifr0ZCnj3vRU/VoCNkzL3qzH30c9x8Qvk94Kf'; + 'v0fz8YGdBkSP5LdOAaLH5i9p/hLNPaYJApI3l23mDZp5Q/p7cdi239jYeimsWn1UfJeCfLVIId2'; b += - 'J6ikSE8jHUxohBQm5mP0FTZPWUYLZIOcFsPUFLL5WQZFvR5iTb/CQ6bIsQxwRoGC/qTS8PDTvsY'; + 'GhbOP/e4miCuQ6HVc0Fsm1vWiURWgd2mrMqaDu0WoqMK8I59ixCikMtKqYpwiRrjxv6G2lhatKh'; b += - 'gjDZbjEMlxioaZKTYWaCrWr1K5Qu0LNlJoJNRPqpFInhTop1CmlTgl1SqibQaXVFqTNIOSshmjy'; + 'pFq8Jnj3on6HFKxDi3Sh6eTnkM/ZMv0nujlcM2CSj6eeuBBSBppEIIGxSFdB/GV91/Ik2dDXCnK'; b += - 'Nsid46BvY0IKQgthxqGGbDPMmwjPiN0Jwoy0nnfOpaZ3QJEFYG4SMhYJhBQyLRlZa9X9+DT0sFf'; + 'vU9IBFSamlgBCyfveqb2dBvJver3HTU6acE3Bg+mIjkCIpPMNoGyLAwIhY7Q43E85Z6+0PBpB44'; b += - '0FBk7IGduDwfizO3gAJy5/g7EiOvtgJu5vg60mevpAJs3c8iCNTMnOKBm7nYH0jzLIQvQvI1DVz'; + 'QGij87mh5i7AR1uR2Sy+BTRxKu8iKFnqYDmcTs7r+NRhnhrYewibz33qdFcc4bGhj7O/oe5RiC3'; b += - 'Q0xyHr2ft+Dlmv3qy/4Tx6P8whizckRsvWk/e3cch68X4bh6wH77dzyHrvfoJD1nP3uzhkvXa/m'; + '2N/hdl09wybiF1L3ZV41VxZfk0b4UrcjbqvnqyJxwXAZGnWYgWk3/XsPECtYgrJN+VPcONViP8x'; b += - '0PWY/d72KFq8CjfiNN5i5YC7FjorMciqQbtWmk78E7evSTq8T4Z7g52AuhuhsbqmTZ4fWYV7c7/'; + 'rfp6vO+oMDGcQ6jDNCKbFQNkMfhY/yXtql75UT//7se40F7nt7QRdwHPBvhMI+Ln87uLcH07evy'; b += - 'z977B+l1nWWC9/d3v1/dV1JLaqnb1v0+NEu7UHb6DyNpHG3Q1Ua2heOJoFxbSVVqy1ub3XJ9ck2'; + 'i9kBK/KL5b5vyQWW1z+sfxCmLRXIRNkZkmQO7fSmgkvyP6EDuMM+4ZD5+djGBvtvTv6byrMg9tH'; b += - 'lW1rFNSNbnUQBxTFEExtGOxhowCDV4gbBmOCwBtrgBIUYImbEYCA1CNaAGByiYZ2JJnHwnud533'; + 'MA/2wh8wUq8jkz1OaMoI9uR7tRak/ouQ3sbZn0ScHY1eQM4jIN5I9r/rJxdnemHRrjd7CCzcYCV'; b += - 'PuuV+3LHtnCDvFluz+zj3n3HPPOffce99zzvM+j2VWAiQytYjt1hg7KvyQYCuUfsI15y8jmVoey'; + '56zbzjpG6WrYu28qg3kr7+ZrQSuLfahObdBK+faCeQqwK9ow/tA6L3pfDgpEJAtqN7IWl4G9F6g'; b += - 'aqJLT4cqRcGE8f8PdbEGROtJcTgXWpimRwPjgYdleoxb8KWrDWcEIN9AjHsguWTUjWteu4IKoWG'; + 'uw18Y3+ReKTOAefBwPRrUH45EH18zIk1Htye8ffzIaebKFAfAPGrZ6j4vhko4NcZp9OR7QRvquZ'; b += - 'O60Ogxo3d5XLShz9KAg7GRzjqc09uta6bfkaN5ustFdCr7CTXEyHMHDkcjECDlfyWY2NTpY9+qm'; + 'VmDQfr89WZRjWwuQzm/BzYKFbBBpLJS1c63VKpqyp969h/M7isSSpbLmx8GKsh73JgiJt9vG0Il'; b += - 'Cpq6H7WAcopncYuoOoKWw+ojpBd6xiYoMwn35EAw6/l2bx/oG25+5hqZA0khDGRxraLZuQ7M1DU'; + 'Fy1Vcme/GAdp9rs0uFDxKg0gAusMAP4dpL4Ng7bstgg+pkKkwNdfCGCE0oZZHmBJUuqk0RpNG2y'; b += - '0lrtGsbN1m1fm6cvdg1XaPECDTFV+dnUH3z1pRKgbFlUBd2WBTTPLDCG8P2BQb+FmFlwdsik38K'; + 'F4nl+kEhjzwrF6++Br+LND2uUnDwDl3uz4vtzF6uvXVTeDIuNJHsRbqzydYow7VuB1oCwH4rwoN'; b += - 'MO3AzbFZn7S4dMBm2IrDQL4csCm2EYtqAFWrc1LEN/EbYLBSMvI2BQ5JgXGFN1ubYr2O8yrgDnh'; + '6swtO0dCBCKzQGE5Yny+XNHy7sqERuVP7ea38go6IYk+XbHxaGnaMCZg6KfowKvxsR2C25r0alp'; b += - 'mWNsgbaLv13ieyZ+qx+/V+ILE7/Fj98n8cA3bnbxnXdEWpNpE29sgY7Emw/hOyV+1sQbW6DrbJO'; + 'aPSym1MJo4KhMPFFt0FFLAlsof8gZAQja4lobrmRZafSorGsjBdWrazB27c0hHbMcOONEiVCwAv'; b += - '7Jb408Rt92+RdEr8T+EnfNjks8XMmvnC2ycw7zEuG8btM/OQj5YzaFO+hq9dAecUSNStolM+z7x'; + 'lXwmLuBJTZNVydm3AMuhMn5AfrVfcIWXTg22GQ1eTLxToOI2JZV+wQSIVsqnKo7ZlGDP26iayf5'; b += - '4e5ueEp5KRt4tllruPYw7Lgkl7xRRrJGFtqG2/3bTIGsk9oDa95KKZXJjkrpc81UyeIgaxTp5uJ'; + 'PDUCkLG/AGhIl2uqzTx8SMrFB+bG1tbWPAmoy1eSUyRSnojdgb+RPN3sSZyCeVxSaO8QQshUJPi'; b += - 'k9zih1DFNjcZJpTMdSCsxWxuWLICLdWxDCb8Mopa2uHRp5Xqgu1XajTsBMk1PMsBlZhfoHeH7AZ'; + 'x2TAnWi3ACBjjyCf7EBTpDDE0pzvXR1chDIZBUDFaI4Qnr7dk/iMu3VxZblKHyC68npbyP6d1iv'; b += - 'xFwgZZr5zizg15kLjN2rsc5cYOw+jXXmAmP3a6wzFxj7To115gJj79ZYZy4w9l2Ijcr8nNgLJuY'; + 'Sb7Na9JtrWvn6U+BdrXwZZ7udiyJ9Cp2bYH3BdjyGzLqX3YAktOoWrbIBmkAZpRJIEu9qes8HTU'; b += - 'wKKEwF0B8T+0FRGS1ATHHCACSys45sRjo60CLghEl1i+KL4XyhtgJYLOAAVY7llxNXHcSWc0fxs'; + 'mTLvlohWhIpl807tganpE3A2zWXAI+wKHDb3WND8qL6Uu1i9yaCjq7dbfvJfXWoAhqsrVT0M6FW'; b += - 'W91iFSXEvtVkGsm281YbdGc8eseK/1NK0TxAnw8VhJyBXhb16FjDKpLE14oFH2WXAHCAN3FweaZ'; + '/drvl45K3T/h2WR6xX8YdQnvGtWUc5V2dxE5tGTexjOd0GTfzpi5jSZVTQk8aepohiXGKZgQJWc'; b += - 'uPNy7TnR7+3pmAPR/VVERVKPnge9YUYriUxVxwLc92qWFuVKBW417JkVHwqVpL2VIIap0fCBW7i'; + 'UdrGLMcTFdrWK/HWd0FWsfpuWZaVn3uorxIByADxbTtNWellVMuNkH4KgsvSLAkevLYNZokHTpo'; b += - 'vFanegmpYGZZrusKZtZtN9VqZviACL11R6KQh6nmta01Z0Em3qt5Zjt+tbWmGojCDmnonzUMTVN'; + '0b8gpTzYQ3z1amWcmiXciiM7DQ7haUcKgR6qEvZntf0gO9dpxvVUpYv+YwmzzCZKr09QRWmGUtZ'; b += - 'DqSSKVUZvBEM5x8Zea4FMbzyeMYk273FslPXxk5hSE7lRWdmzedCxjCFdv965vDlC8nqE5DDkdW'; + 'OQWwU13AOHDvhQDOQmt0RNhExQjzsYQw4D0dR4hp0YgG+asGuIvuPb6c7jNbdAeE5R09LKaY5Tm'; b += - 'wstUdyWa/X2vVtbcOqOVtnNO2TbqBN1BiY0lRN1JuJVTfeQylATtAcptSOvY6pnYzQ3Buh5tHTG'; + '7hFPMEZdwEz4UWFKodg9Whuz/jpS+nXEwkCtDkPJUI0NLwUjorSF55u/mU/f34G8JC7auNn4K7B'; b += - '9IGWKy+Ge1G5rZmNm3vjNwdlAqcaWkF7F3FhdjVUd1LSaOXkDuSU9DYT0fuwWmMCDxTJlOOP4Gc'; + 'y33JRuudO06gMiLKwIiw4iQ3BxN+hoB2Y5n7LBuqLcDkETFoPLcv1hgDnhTKucc1PHgAtKiFP2e'; b += - 'qTfeEol7IzGwD7JfwmoHL4lvtMJbqMsQi++Wc6fManfKVu1OmdfulO3anbJTu1N2a3fKXu1O2a/'; + 'EwZSMrXyYezpb7518FVgKpE17BCeNXZvCHbRoXbg54K3RkABLtyBnGzaY41ex+d8C896XV90+WF'; b += - 'dKSdqd8rJ2p2yUHfKWLxMnTvlxtqdclPtTjlVu1Nurt0pt9TulFtrd8rp2p1yW+1Oub12p5yp3S'; + '6mamPFfdNMqz7uZYyM502VmMAAO2NaicgtgmH5bHQiuHh9dEz1cBj4lpfwdviRl3B8n5sfC26DL'; b += - 'ln1Y3yFnWgspIwAvEyT8lD6t8FMH7kmPoTOW6oxJgvjKDk1BNLXrM+ui6VY0wNBORgzxFfYB7xC'; + 'sbU+TeHjY37PWPL8BR4rs6ZjOAXH2/TEHiu++RDWz7NB5X/0FJslG3O6TzjFJSNIO/1paqUdnsW'; b += - 'tcEnsrvmWcbsgoPNS4QKue2j9jjnZeiEu9Q6haZ0KmQyqoalIJESxo2m6sQ+FlYSizBt1qV2neU'; + 'tek/bD4Xx+6B+4LEmLpJA+6ZIk7aQgytdBa3ZojKhfKHbZJs/ZMZnKfi+UWd6V/btQDqFT2b8P8'; b += - 'Tpi25XVsyDJQlt8PAp+KFTBlU5bFBd72EJICiWjw9gdlfcu0W1WuQ3Nhq1/9PwknigTlwzOUiMH'; + '4XctXMxd83bmY+36oLtcjEvj89lr6CRcCqaz36c6ESnlZPHpqALCDcH9AYpv5QszXnoKPfdgLny'; b += - 'zAdW76CVEtR8ovUDXnOl8QekJeqNk+IMqgGha8UNLce0PSg/O2fKWxXJmsdy+WG5bLKcXy62L5Z'; + 'HuIiyeOU55yBzeOZcJg9Bv3xSq/h2SXlgkz2JYZHSIg9k301tLwOCzd9NVNai/ydGma/HuXpjVK'; b += - 'bFcvNiObVYblosNy6WGxbLYrGcXCwnFsv+YtlbLLuLZWexbC+W+WLZWiwzUwdX4iKcN7/Rss6bq'; + 'zMONNmdYwuC205BOTKaPrUjKQTgBF+RSZmhmqk2xKyimVVRJyYFJQ2+2yoNztkkwl/Dz1VnZ8qK'; b += - '23LYDg3Kq4na4mt2UdnH/21gI6aqRDYMfeHW0Simo6L7wUNCfmgzUMievEYvSoUT3Jz0vfPj3yG'; + 'hgaAxJ7AVvcD0Pb5FPxsq897I/ihRQbM4GyPCdnau6Wz61Tp0ivlnBcjEn9cyhibPy/BFj7U16A'; b += - '8zklON+LAi8m9IyLhPxM+HoZS0gssbDF75BV/2IiLpkW7XA1qWnQXhKzxou5xJiX6hjlY7+7jOC'; + 'N7K/iMIEjwCFvKeENjZG4OHitnsByH5PBNgDS1kn0QM8tk7Atk+PTURkNouA5JA4e5wyDknlBKb'; b += - 'v+qBCcZzP6gOWWpqTXGFXxv6YY1dOiC0tY/iqivxBDGdVwEzN+6BLDKo6qxJE/AF2xe7oA7KimH'; + 'cqaUIxgZihnl74G8dMx9Ynqgwj21LbjAijje2IUp9a9NN/VuAUzfQwCntw+p5k3Jnipn5hcdddv'; b += - 'BnSx0ppWdCx6jhuuYB7ZrrQaNvyANn4hqdUxBADF5l7Zw7KTlwWj0xFfbEzCBMkaTikwk53ZMD4'; + 'b/Y28dd7f5EOt2FeHJTedx5bkCXexzA9wiob8Y1hTtmh3AOYF/ZAjzJSQ3zPfve4slMuPJe8MCU'; b += - 'Xf3UfQZAj5YHeuNaU8yScWvxHXpqNj5NlIuC74/diz/LybDbE+83IZVIZGZtuRCu25JRTDts+1h'; + 'ogJe2VENnyHIpY0fPHmsgwvOziMtyk/hQ0O6ZYE8S7hJRPKGH2z4HAlmIHgUFxbM5JhN42q/mWG'; b += - 'eLDfxjt5/sEhBcFi/rln5ggX4gUkxHqZs9lmeEZyvLVITnewn9OFRSjSCbY2R+oc6XyDtbt7ucK'; + '4MnOWZkDrboHyGUIyOnGEuQQqL8p8PsH8s3iFgiW6ANVc7oJN7cx2D2y2fonFfs1kj1/evN02GR'; b += - '6XzTTrNPOOZHdIY6ET32iZlBOqic+UTsSvtFZz9izqutnkFa9gIg/a5x4oV2faNqiPpOfeCMqZl'; + 'Y01uxfjuxvdoa57fJivM8uv97Gf4ue3Th64P4MJ4P5yGxlqSZ7APfrscp3dLXclQH3CZW/Pdtcp'; b += - 'ThZVcFtvJKXL3q6KfZg13tmx/AeHg20QBGCAPmdsOrM1K25sg87vj6f6EVTQqQ8EKoj38po/9+C'; + 'KYavLF/+hG+0+HIHIaMjB5H13R3+FUGF6GnmSz6MBbRyueFSx885zzAcQt7pdFtkbIc4o8YA/Uv'; b += - 'Zkav19COZ4Ihnq7zahnqMBgZmhqd3RMQtO7o4ckNLs7OiGhcne0FEpw5+7olAbn0I0S3LU7eox0'; + 'uPyFmukGd5vlkaZn83oo1MWVBqRFmTjVdJ8R07q27p5DAUX8qezrr4KtPc6GxkT0QdfNlCHhFkl'; b += - 'V7o2GKkQ4O0SyrEmGKkQ4D4JFbuFb4vXfqeEprEGGKl38LskVGLtL1IhwPskNIc1v0iFAN8H+YN'; + 'rvZH+DLci5Q5m8ttJxU3sr+MKw0QUKLyCbcGITKLjA2L2QCdy3LWV+9rDVyjvBKMJXWp0yRlMV9'; b += - 'wRFmPs+Z3UrBg5n3OnV8ygNZYvlDx9L3iTFTdin3Queh8OOBb7+nQWELmdzkccFw/FQ5akD2wmo'; + 'tL/+40Bh5jpXfrKZqvwj2QNI71b2y8a3IrmR+JJEfUtkxHaQQveNici3JAz8Edv68AVLYL9zWUi'; b += - 'smnHOvpQNtcC6Ah2bOemTYXVh5eKibYPBtXKDUrmjHixbn0QXoniNgJlfdhSOcMRqL+2jZXhjGR'; + 'FLEp5OFG3fBiBqJJfeHeN4gJkPQv6hWq6jHqYWmf1a64l3LSW8E3UYjarBXXgSM69nbduDOYhvk'; b += - 'xmEUvrCEVl7XqjC4yappPZNiFxlcHQIv6sqOs7dwbLD2NZRY97lVXhsAE1d85PBXfMj5Ua3A/DR'; + 'ruCOYlA/A7YF4gEcDQ0papNox/d2wYs2oYhQ/KqnFs+nFsjoyjMD6flU9irfXNja1v1kayOXkkr'; b += - 'E6zaOTAQfPQc3grhcbKK7DhWbjBz7uOLpvV9LhnyHV+au/Ukbma2OzqLX3MfnyCMZXd0JrQ4NEs'; + '7GecNN6wjdVj9msHjeaWKV3cWES3uauZTx9M592gzzEEMf0XcauwBMf7XEmdZH/L7olhHunB4Wk'; b += - 'kCxeDwvTmHuuFgLRJOZhA/HZ5dqggcr+EE+wwvF/COizNG6e3h8PShKb2cDCa0OweDkET2rlHxl'; + '/O3yTwgb2FLxErz00K6bLeGj0A/7AHNst8LXTNVFKmviDcuZae+upRmb9kgtjcqbrVfcYzTxCYd'; b += - '3kBttcNG86JDy+IJ5QPbwketU2Ygk3DviWu50EmKazxu5X6t8vY/017ldm+39B+z4b7/vE9Dpik'; + '6UEQfP4AOgL1USlAbgexnDaUR4LuVAb25xvegAR0ckD/I84xvgF7Zc44s1uwieM9j9oygEp0bg/'; b += - '6PmNr6Z3m6N9bZQbcoX9QKA/1DjPmqq1v3JVpSdLPBA7wfIt+TXK8GXmnrdLfF2KVvEh2d0eMkE'; + 'eplOar9FRNS2OteuBLBOSJ8BUSxPcP6DvwAZXkfHCwhURRGJ6+tctpW5dMewdlS4afxXvd0ZCUj'; b += - '3swsj2CjS7Kk41lSQUyFtlApUXxswGtDByZm5zZE4hcXaXFeeup202bxZ98J/J3Gn70MTuHP7Qw'; + 'qBbUnjeIiJ5IQ7EQNgA/pSYeFlHxlNiNnJKpGRrAL7m5krWEausA3vmZh4QWYs7IMb2gBjLi7aR'; b += - 'W+DPPYA9/dp2QfTXzZ+6E7L4lWFLizpz5U54Y2lU+AnG4hEeEzwlB8Ay5UTgsROye3e32u2JUqP'; + 'HcABMVZZR6wHxLh+QEz0JJiMyTr8uZGyDis/cAILHhCtxAGDMMhS6iT0szJPqReGrX2TDOw7uRa'; b += - 'COpuvNtBjVmvCOinrhKkblet5RXq+kxahixzsKHh5urPW5XWjKhTa70BYX2upC0y60Tde9sE+24'; + '23Moj+dZbA/g1NW4NIqVIXTsRkfCc9mNmB5c1Y6gyjdXaXVarKs15/60Gc4aVvtV+1br4iOH8F5'; b += - 'dwCuTnM5HrbuYXFYXxHQDHUsjiHVaJpxBlrhFKp5STjtiLO2GkUUi0nGLcFcdkdAWVWyz7jNiOu'; + 'a/IN+16wOadIZlb1i+UL+XR36lum+Xrwjj/JqiRGMx2++ejdMc1r57nNEicFyKxvWVCm8mkyK5l'; b += - 'dUdAyBmWqEzcFOJyaEUhrsu4TYhr3xEksv/FuI2IgyoQ56nTx+8IdjBUmNCtDOUmdAv3YJA6wxB'; + '+k/9cdehnk6ulYZ5ief+8WOl2G+HHwThZiyMyjEXAs3CjElrS7EXGs5Iaa0qC7FfDmYIMZ8Ofj6'; b += - 'StzOE1G3cKUfqVoaQukW8NUxoMxfXkbqJIaRuZAipGwgUQOokQ0idYAipfbgBM7XLEFI7DCG1DY'; + '5ZgvBxsFmW8c/7WOF2R+JfiWSTLRlm+uKJM9oyhTujVJlinJfy6FmdLuK0gzsVBUnPmVAPLMrwT'; b += - 'diprYYQmrGEFJTQhqQKtwTSI2E1cmEKElWW95lulgmi2W8WAV3dX82DyfoPdjy1RAxA/pTwpAoQ'; + 'fMIHm2fgqAs2TZlOB5vHWFQSa62ZcoPk8WNgL5loFmr/94qcjFWium3GB5u9I3jdJoLluvkUCTe'; b += - 'pmprGDqEb5xXwWJHZkjDJ2Cm0iCUamXkxw4v3gpXH6QpbWGFGCtmnYZh7dFL2d76M7wRTl8RQ9f'; + 'kVBZquL5MEmlLmz7pAU5o4UaDJccRR7eoCTR3yaxFoXjAq0Fw3yqyACtQkmpL9JiWabP0GiSZa/'; b += - 'lsNX9fAVOXxND1+Vw1MtOXwtoojGYy238HrFvEIuAZEUOdWQSKV+Y32N5xLqyVJrpFK/DE3Jkmq'; + 'WYkmqzFSjTXzQaJJgfhGiSa661Kook1byWaz+MVzxqVaMIRAhJNbMuvW6J53EyWaK41vETTogFI'; b += - 'kUr8MUeqXoVLWPiOV+mVoTlZMI5X6jdU5bV5Ct+/m5oI4p+2V0L7d3EAQ57T9Enrnbm4SiHPa3R'; + 'A1p1iebpVl2iebI1JtE8jsidwqCz6zWJJsSCKtE83hpmP+0kmsdqEk1YsY9JNC+bDRLNS2YTiSZ'; b += - 'J6125uBIhz2mEJ3bebi/3inPYeCb0PloW3vOqY6eSzJ3+vqVChCGsC0prr8SUKLIQidyHUbQ+pE'; + 'lh082Nkg0jzU2SDSPNjaRaK41OKcq0UST5+yY/KklmqxRulyXaB43lUQTw1STaArtHJdo2nnwEs'; b += - 'mvumI4k7gKHgaWWuRDbvFcoKx96co2BEj9Z/pUzieQFb3aMocdAU8XP6lYyIufy7HKKxVZP9u9S'; + '311phE85yRDXDOXEGiee5aJZpSS12iec78l5RonjNKY49HIxLN7/USzf8wUaJ5bjOJJjRqIxLNj'; b += - 'Ksqa3Opqy1LVcNKnk8PCZ1Fr3q2hjbvE5rtrdP3Shd3Qld5p0NRx1qQjGGO8Q+rGhygQatUE7QD'; + '+MzuBY5iearkYopK4nmeljMZp8yGkKaIs3vtSLN44DbWYtUpEllSyXSfDLaRKSJONTHzQSRpjo+'; b += - 'E0HwiaYzyJ5PGKH8qaYzyp5PGKH8maYzy5xJvlNtnuOPkHendo3cigC+RbfRDKsc84bQgRSi0q0'; + 'cMBVpLnWUJEmS7sVYEWaXwm+Hpmm1OzrczJNJXpgMWpCzS+bb65Qc2P9k4SaQgydUPN4a0So+az'; b += - 'e4N0U9XFow1L+Sh+FJQoDE23h91alxliU6eR2Z2BBGcZJmrbzd6fb6E5PFBmFIeVsQitTfrlEl+'; + 'xQs2TZlyoiYDO9bEbFWr+lKkLNc/Gljt61lRCzRfMmFDzOXM1oebnrFDzQlwXaq6PtWSCUFMecJ'; b += - 'mwHoj0RuByf++Hnue8fVb9BNEDEKSeeKSv5Rz1yM0UvTqe9DcK3ksvMet0Cl12Bg5uXV7yV8i6+'; + 'leqPm5iULNtZYXaq6FlVQTx5OTZkyqeSwckWoeDf8LiDVxRupY+5QRsebRUFnAC29CrPkRCk4uB'; b += - 'iQpO2gK/LQ7+0foFnnIFfu5NFDghBSYWV7FOgS8/aQv8zTdRYN8WSC26ZoGhFHjJFfj5N1Fgryt'; + '8M3L9e84qMUbELb8S2RbH4l+IaINn01X59s01dzReEmVTbXIN2UcpTf1AfzGyHfPHEFeaLtwbUJ'; b += - 'lWEG6H3qegAxX2qqWVp/RvckZT685o3OTM86uOaN9kzNOrTkjv8kZr/zQ+Bmtm5zxxTVnZDc549'; + 'OK+pomuRcF5TRVcUcXJMsWI/Usk4L6uI7+VgkpQTmlwn5TwX1sWcXw69nPMjVs75m+FkQadWXZN'; b += - 'KaM9KbnPHCmjOSm5xxYc0Z8c16d80Z0U3OWFpzBgAddhxbl5niJ9iD83jtnGqF+UkspN4Wl2W0c'; + '0fsRJOrE5rlXUeXCCqPN8OEHWeaV9hyIX6sLOo2FN2nk0HBmKjeJOmzMm73w8vBaB5+UxgedaqC'; b += - 'mKP+bQJlTWJykXQby56YJjUEdHJatXYbUfApHOPiAyMoOsj27FV/G6u2J1Y4CyCjodhvVSD3aTQ'; + 'Kdn4k2kXg+HYFWHglV5Hk0VMHP42Fd6PnPAyv1hBN35G+/2WJPCsMo9nw5mCj3fDn4Myv4lKZZy'; b += - 'mJWC6fQio/Ui4/FILKLCq4u8mwIXpdfFwjATxrmxy2FlyORXKE6mCgxzmFKywuJTZCpPJHSFJcC'; + 'efT0ZuSfOKD5wb4yqLPIzIOmL1vhOzz6ejrlH1Kf63w8zQ9Gs/FJlIYhwolTWEc6Jbzboijbgzu'; b += - 'Arp+YxVX/vbamjdZQYwzzba/4VFrTQWTHj4zWi4zHI5ut0ZXCNlqTCKnL+PWazUmsoISZ3hefAM'; + 'AnRDE47gAaAbWvAGl4mgN3iz8gZvVt7gzRFv8FbNG7xV8wZveW/wxHmDvwc21M4NHEP/AlAOPqi'; b += - '9hUhM62GFSixnUKga1fEGtW1ALFnhKBZ5EgadN4IkSeGoEngyBpz/gCQ94igPmQ0+WmrJ9pCuUf'; + 'GwaEHHnn1n6oXONnwiC4DFriB7HiD7Lj63+SNjcANt8ONWxX8SfnEb1jkhfI8EBOyy5FiApwHhC'; b += - 'pjlYzyRI93ch0MQtEsFNFdlx03zGNq/QI6M6jsWuuwjPVXByrH6Q+OegfeBW1iqOJXF4pfmd2ck'; + 'fvLSQncRsi2PPUnj7yGw6CLpaSFrcB37iXRnAb6Nf0XvYIKA3vQQPfPdAu5tLD9+k7tNpcYXid9'; b += - 'ty9102EbGa0XGY9HNm+f8rPAu20Yye3jUt7cG9xBUd3r/jqeQkABc/NQ7YS5QPISYzVYSQ+uzsO'; + '7cUfQSQjEtmjagNGs8PWBbWEBkPBnD/ptCTGGKRgjYw6SAcWdX7O4D3d1B5fwfe+zuw3t+cANu7'; b += - 'cFF0vbnGYQRp5br+0K7gOFQnBBheHy6SRVYjjVpsZ7xLX8rEyY2ZFmbFfZiy92ChTuXKM+YPVZB'; + 'uHzln41ijkTEbSiP/bobsuMKuxDY2GSMM0hn6h+Nw3RV3SAYjT4Y0DMhGXQ1WkYvtCB8iNlJZ2i'; b += - 'y17ebtMHJOvsla31/Zg3PRTfdey4mtidzXYQJgAbJt1KqTRXL5vb67JI+uWHI/7+rYu3CJkfPmH'; + 'EcdMUhPIExLv9ajdswE9MJUGiGgwODuGvnWFQy7JDy262oQiIsw8sw0QYgQdUWoIbkrooJaJHQ1'; b += - 'fMXtmJP4mjsorT42Iu6wChjqjq3Xyca7G3S2ijdm45gd8sl5BBog8jf+WcUt4u5s/8pzcSeA6pg'; + '2Jina5ekB2xPc9cfJscICxHJdXyjX5/SicLpwDFyI+ys0mpSJ1x5ZXMboi0UJyIwfp2L1Lm0gRD'; b += - 'LLNEyR55JIgCHwNho5ZivR72rmNL6ipRdl9brgXcQeQjMmyUXCOQE+yutKlWILVAWcKcgdL1WE7'; + 'r9jTX4Ui+g+RaGjFEL67p6L0o3dg8C81j0UMxpMtODIxxrw9EEOUqhP3cdxkg8kwAD0zfKWB9FM'; b += - 'mpjgaba6dr4nPFZpQwwXMMxJIcWcoahHbHFeykXezl+ojVD3Dn1bd1rxk+1IBKMhGdCCDGxGpqX'; + 'BlJvwb0zNwVDu0H2KU/xAPjik89bOaL1r4LXBURcQl+XB014neWM1XpfvAroMflaLms75ROFD3i'; b += - 'oqG/bCqCKZI4sTCGQ6Z2MBG6GTbVBcxFDH1rz5lF5uhZN4iAt5hsNB31LGTA971RB6KdxCmTQT3'; + 'eDFpETm26Su6RWvBWOXj2hPSEMYGos38ZD4yLJJ/9fNwLdL1EvH+CYiFEDIGHRh5l5xGi89IvPo'; b += - '+HEhijow6sfDCuOaqoAGFUf9nSwITpZphAJMJ/V7+Q3FVoBHW4u4ZRUZQIw2HYsEMFqMgyT6o/o'; + '8y96k3IKK7ClPXM+UFSXeHBdis/yjCt+NhqHSsVfuaIdRH9mOKeGadc2Ifs7TB0HEQBnbhO6EKk'; b += - 'EAktgLK7yBMiewJVArpUCYgI1j3EZ79FhYAO+agFHelkAlKVCYhEJqCjMgExPXW68HkoO+BOKv7'; + 'fKc1Mw/IKWH4cp46G+t3IpDkcm+O+YxSF9ImLnyFS2ZGxXqVe3lJWhrwMbyD913hoVrd/Zr0mrW'; b += - '3yM1L2urveGQijsIAfYTtmvbbgt6IjKfQvYe4haNNawgnpLVwwv67+wlcduH0BcYHyWU+46n0We'; + 'oOUuotzFjeWEPVHs/FrtrJNPXXJXU2jiF2LAHROZzQ+BsUNg/BAYF7b1Pg3mpkNgrjoE2uiNLeF'; b += - 'bkFRKQ6eI0FH2kNJ3c25AG/ZBXHVDWOedHvs3lZWkFTYaIa/jGbKQPc4SOi45MmHoneJmjy1tVz'; + 'UpFMKTP6gDlL2EyETPrpSnv2F5yFJMKuuVuEm8JWKDh0siG0OB0f3ZkwjvdpMSrgb6jZC/HT1ZN'; b += - 'E9IUn1D82g+08A0QRNb3SoxySgCzrSxCX8F4ahbRSb89YCGUwUX0HzGRODqpOQCZ0Q1vwipFXy5'; + 'i138D0uThsrdYl5SzKuFJQnUQfLtqgNPV/kRWvtsvoYWmE7HQz7JvIIIBhHj3QsxysbK2YnrVme'; b += - 'AiTnaEpcYoiYZhvDMuiymt1GNVmFLvs4jIPU1rW7Tl0lW5omQRi1vBolXk1jrwUR+b/K1lil56v'; + 'L9dlUVTmTXZRsD7cwgqTT22vR6ulBd+74sMOJL9IiFVhO4iVkqZHdxfdg5NKpEn+xHyYWNOgth1'; b += - 'fg3+dVHsSZCKdQzPw9L5x5cHaRt+wTq0k0fGVJDqqJGHu5CDGsNhwBKv1AFwXd8lHCHayaDZk1a'; + '5uBIqkYlwWRYwBtlV0x59vdcCB/0gNHyZH/8vo8cRLz+3OzrxQR6vfz79eLw5WH30I1wQlPCsnm'; b += - 'VrzweUbYjFpScWCh5/9MRN2Y3IjYvQHxdBiUcStRz08QgXWGPvTzp1iOqKXumf52HXikLI7rlAG'; + 'wXB9PLo999YtB+QNfZTwfZeBNefr36u+EwLFKgK/3V91dqJRucLV3G8BlhJsPoCnjg8Jhj7ftL8'; b += - 'YgL6Xjs2wrx6Fiq7Et0zmKEgyy0ZMGD2QWm4L54a1m4FVjW82iwJXf9V0rC20wAx3VFehYK2CTR'; + 'lPqrGJKuR6y2Mq80iNw79uRa3V8HD4iLV5ipyCCtLxRvmxkCsNW+BjYYboSA24F/2TyEXflJNlf'; b += - 'bvyV3PJe5boPj7m8pKCUrkfrnYDiUppGpDqP1yMBd99DR8wtcA3HKt5jPnkLoxRZ2IpVgCBkCPi'; + 'FfZooahDEsbQrmRNcFB37uAqFMLWDRCmOtaVsSDRFN5lMm4huK3RfN/MUq4aIL7TlGEBsLYUjlk'; b += - 'ajlcjx0bOUh0jeTLGRS7AHClq/WqIYoagDllAwjui61RRHZt5sdrZmtL2U6QjNSX3eNI1Tbo18I'; + 'ggIJCiS1AsoBR9dH8yc0Ck/0tigfpGU0iAFRqaxNhhOk0cCZcDONLcswS+1CrMhNTZye+POwYzQ'; b += - '5+NBSGqQuxcK3dzt3sZ2JrmHO7N7bGOY6ei62BjqPV2BnpOHwhdoY69+1jZ6xzRzp2BjsOL8XOa'; + 'uyTnqVyPLpFTy3N8gm/EeDXqwlyDYQeXxSO+o9wAUZinvnBgEZUOaYpFDz9nzeu6dKBk8kiNx/U'; b += - 'Mfh5dgZ7jh8KXbGOw6/KIdl4DpM1r3o2N/ybk6kt94yIUW28xymR1obiDiX39yzYaO9T4aNBi/L'; + 'LRUJwmmzCQBHwDSdW61j1OOvIrhjLfegSqplM9/n/svQ2YVVd5Nrz/zv85M3tggIEZYJ0txsGAQ'; b += - 'oW3xU2GjxefDRoufDhstvhA2WvxM2Gjxs2Gjxc+FXouFGc0+X/aOK2u++dAvt8LspPk2Az3ybfI'; + 'SWAk7wJe5pfE5u0X95eaT/f68rbz+uqPZPPS36Kth+EMaCOmlpUVBITpYqCmiit0ZC8WIcEFRV1'; b += - 'qJwAeW4fD1gw+o2VrpDNn7Ke9TT/aXXJNhlWyUHNMku2heLeQZhT/k2hXxWoUODrR2DJwms9A6H'; + 'rNiQGutoU8UWW6zY0jbK99z3s/bPOTMkE5Oofd8yF2etvdbaa6+99vp5nmc9z/2Q1yDkSjjI1Qy'; b += - 'OJthEBx9wydHyboc/EGfpMnKHPxJlZxsE25i9tn0vUK43Z6ILtcYlm4KBs4XsUWr3BvNKpSYcN+'; + '30G79ie+Tar8IkAB2p/DZ8n43RkUKLwjfPekkt/D1blztr4mLILiEttRXA26Xq6Sfq104/rlxh1'; b += - 'aOUsxKPUFUYLMyZ9yS6cJkv9DEJoRzskWGGzzASSryOqvjOGdCEhPgSR3ynu4ITYyFgwldmQkyX'; + '0bL1vlXawU9hpSgGta7Gswco7t5i1xD+z7YAopL3ylbLbEjXEQAAq3eHlNBkLhns80SW/UXuK/W'; b += - 'YQcVLuLktoISmNY4EItrIKxqADwaW2zQVo1IsKKBFxROKrmxyfSLVcFZO2R5YumEjUaJdxjeOwB'; + 'mu8Gd8M2Cd0ZflKtcN3lljxWWCS/THubQ17Og+WteLzNE2X0Xj3kXGumU68XO1k2SY1qXVIrxIz'; b += - 'AOCsDBwOBRwwCMsKeBJuWKJCF212NRFzRXou1MNbWIWXYQy0xZZ2nY5fpCqItwzuC0q9DUHdaZD'; + 'Y5U3CKG2wxNIPRs0xsU626f4ax7t1uMj8uLhjz2L3xV+x5cJMilp8WrlcXZ9XuKn5Sf8N5eQpKG'; b += - '/xtuvM98XvOvPBVwYiuUIkXRVpV8VruqolldCWZGNdlcFUXKerrHZUsG7vBNI70nWcd+YCNoOHP'; + '6oOBWtEpByGVAYwiVZQhJFSXeGH4aB9ETlGM4NPqGZz72p2QJs82LQb3wVbGp9s++brJXGQ2vRK'; b += - '8aVqQHcSAX14crWIQdDkbZeV7qhbfpG6Gknu97lpP5yxe5fZ+YJJX5lkNRDEKwgOkwTId7n6USo'; + 'hX5057spyZ/D69u391fp/t91CIdKIOrVOPFLmrUT9/tb/tarLtCt4cyJGE62p/Ebjzt1pXkx6H6'; b += - '+KfTGkKWu/pcPoODsg7iKRnEpOskgxd+sFcOsmcz3wbzXoUXB8z2BEydAZC4lCIS2/wKzSA82SO'; + 'm0wb1DAaTomoZNFOGmNtwOIDBcVdVCCI3gwLy6B/ICcAA+tPI6hPkO3XJyGkwVc9KjDkmgWLmbD'; b += - 'xv3GU1OZ2rOZ2LLY6bPhY7HyY6IuLzvzG4kNXkKlHSPTKzXr1gqfsXQK2UmCk303PQneJRC+R1J'; + 'JbRc9OJijuIgRjhZbs4jTlEr6sPFfMivb2ouINKdOqWQ+X8rfV8av8NtAlGYprg96CyV88HSkfH'; b += - 'dI1rmE0OKUqbyr2FjzwXu32F0IDhMhr5FjoCo9nTuC3zDA+FGdgXwoPu0zA5OWo/eVgKsnw47z7'; + 'Ts5Sa34TzRgiX4AzR9JjZZo6ZBzSAHLBA5PavomcVaWk8Orpnf8n0kQLtX5U4Y4lvHd2/ezNPy9'; b += - '0KF88xrkJeLvEtjjQ9zI11jFKraBJcQutqE4nl4JWaIJH4hdi++2H8lxv4rMfZfiUlzSYedmcor'; + 'NkeeP4LaMT377F9OaTIVl84M/uem/BzMonS8/FD+9//78XTJhPxjnVZz/2hVtL1BlJk+ULxF/ff'; b += - '0SuN2biKQ4CEsDC3yuQe7RoQYQD8p09mIE8mHPDWPpnGfBEjNuHzSJ8hhCAzJ9ewT2bSeIkFCtc'; + '/9flIhgkSZDGPPD4998+x+pckCSLF8yfvcn75wsUPCUJkOw944vbLuBsBVpqgyI+KFPP/JxCqGS'; b += - 'ETORgX14syZonM268xAjVsW8sSw9Xpncq3bO9XrMkXqNMD01ykSe2z9yah6b7cQBNpx8R9/VcPM'; + 'ZE/dF9b+xldnBysyW/+1GThGoP5+XAvKkeGRJE6RSuuaJYDwxLRaLyqSy8XqiOgM3SfhkD+BJiu'; b += - '42iRd7WxzPpsSZvSP+Z5vFp70rbmhbxLW9J95oW8XDvS9OadPi6D4hvmnbxN99UlzUtovbeyGea'; + 'PaBjasM+GxoaDNlxhwzUM/Zb9BxwXaPl6GWiJJFw8AivzEpkR+C1KHudr+TJdGUGsXiIDayELuH'; b += - 'jPi/b5BHNZmxQl+o/itAX8QWs/uE8Nbm2CNHeLovRF6K4Is2djAduxwgIxbxO97QzlbblSv8wYm'; + '46VynER3A5KIerldt1N8KE3m+opXpshXS2MFy2nvRpPl9LyW9jYQ48q8mlu7HJnAklB4mJMyFiw'; b += - '5BaXc1bcwAtQ5KvfegNLMutyzohH+GS53XqyTzYwKDMu53Z1Di+3WV/4iQZ2ZXsNHBE/8X45bT3'; + '9FNEd3B1lvxsf84pKRS+GqpOr73cRnaL1bsxBOI7/jpId1CqIEDh6LUx3lCmo9QIQd8xXLY7Vkh'; b += - 'W+g3My7YabCIu471yq/V56zWwMjUYZSv91oA56ZZbrOOcD4IpyxrDssU5knfKzdb7zsfI7Cxr6M'; + 'WOKPpZx6TIFGWJm+TtQ3CkCt2+ZW5i4FsiJrbZYvoM4EUycvOOat0ruJdaACXJ/KVDczdNoCeJj'; b += - 'vmc8Agwbu4XU5ZF762l3murBEzU/RAn6OOzibrB5gT5ZN7p+wqpxoQHAujubWG0fjO5iGALGOu5'; + 'OqayOhlz6PFG3HdA1rNCri299dvh0a5K4K1F4vryzkh25FHVVMpZLIaUzmktQNyVn3NRNySk3cV'; b += - 'oK5aTqaC9ym6WYucJumk7nAbZou5iG8wspN5yRGfMbb55yT+JyHqslqr3GB3ojbuIfPScS/zIJ4'; + 'NSS9yU0AMOG6EeXKoMX0Wxktv+DtCxc+mxZcrrYaTUeJdLjyuJxxZ1R/Iq9XojX+7bviJdgQixT'; b += - 'PLd1sL2EJ7fxYaSoq+mMR8RFL3tEvPPkt9TfWf2d1t8p/S30t6e/uf4m+mteFo8MW0RZ8TYILOt'; + 'h6InqNOhO15/FlX5WEFpVnRZZ/B6aOPwXgVxbwq6lzlKQgCv7YXv/2UjKffVRgBuXMFTfrjd2hq'; b += - 'No7JOECR1AgSk8rqI5T0RywsiljdDLK+EWN4FsbwEYnn6Y3nsY3neY3nQ8UgPbtU3nIyLTWXrXJ'; + 'IfxfKs1jCFgXIfYBMQGYgWY5x1nSMbgJyFSBA3KvI6KCxxhAFXzG0GFl+lAjF6S+fJWfVIpd2Uu'; b += - 'k8uDI09c7gJZrBhTSDf2kG59MMnqkZKCwy8FtkIL/Iyln8uQV/bn2kbDkKKHDS2LF5QprvwF/aE'; + 'yV4zUN0YV+v/NkmYJTxRuCr+PyZwmFjeSiEyum1XJ/G9Xcm6jWlNZH5dxD1alfHp1PROxoNHpJr'; b += - 'Q4apl3igGPaOQ5Wpt1UE0xJhzlImnadA6xpJzo4m3ZnudEds2Pdg6APBiwERer3yDaershGB7lh'; + 'xNkMPkpw/T+eRn9DOlx+yXicTvq3z0nacOpT4T6E1rTy6BDqfuzSXQV9PhJOGDvtfYGtwSB4BMj'; b += - '/raHSN132lvtsd7qjPVWd6y3emO91R/rrYmx3poc661irLc23LC35J0+yJWdNZWnNH8Hn80N7+A'; + 'G89UmyWYkPAo7LKQEYi+peIPMVOiohVC9CcRlO4tSPv+u4fEdBD+vkeU7xni5DMRHvpAu5L1L03'; b += - 'TWbyDz+HkO/j0Tcjrsy/v2568oJXjoyOfgLZ8M1rmI9Ndzc13MgWA81puzAQyyxs75peHuaNvez'; + '8jfQU8TeqLrO+BvoImIxvIK7m9aDwDZdLKKZBbohj6iatW49fBCXFey/mLknYKvQIFdxAuWxhXu'; b += - '34yGGYhS6m9RHTbmVOy0+Z+PB7DvyNJJlXXX7gdvNue30Sk0/Tn+FHBphV5vaE66a4YYfcVh0v7'; + 'G0ZDqFjwTz5K7WROqAMDkH8hme0/UtSXqptfq7m2mfo/p0ptukYi89i1o8djmKJTfLaZxjwlt0S'; b += - 'ruNDWDuf9k7DOIwM234rQ8aO/cAEM5d86Y8ajrA5i7N/Qq/x/yxVfgusIe1D0QHzJTAzHerz3+w'; + '0KLtitSHtS+GdM3p6+on2o3Olu2xz10HedjMdwLx1EjICW9+Q2rQ2PGsb2t5nIN5ujLmDrId+Mm'; b += - 'evGDJshpoZzeFRjs28OrMO07e+Ir5hccqi/huL0nvoTf9I7g3+dY5q4imiGDjMLLMDXyA3tPH1g'; + 'e7NRDIa0W5d18ISXotc7Bi3+65Lce8ymQaLN+HDbMTlIC/XZ37Qk4wlScbxjgyTZBzryBhIMiY6'; b += - 'yjcllMzo/0Dp9TtOrj0CdOT9MUrPQRJ7yI7uDaAwno0DVWJn040Mz/JW1U9AjJlANPpuDXOIvsI'; + 'MvqSjKMdGb1JxpGOjDDJONyRUU8yxjsyyknGwY6MIMk40JEBiTEzLDYUSNGN9yToUFsSYMRnIdz'; b += - 'X+BILR28MzqKT5ML3A+cnuaDWnK9UZgDEuGjN2QKRAffbH3urZSbc6VoEqQtjV0iq4e6ZMHzSBX'; + 'bij1QwBii3oba7qVumBC/dnPTtXbyPvmpy4DqIDNvZMLusUNOh1s68vYdizhXzEeV3feUo1dZIk'; b += - '/1GAMlfZgeNB/8WwPAmx6vN2PqCCIIx78DzuLQUHZoZpsX/CugkSqKpbMy4MySlTarVZiGtMi1a'; + '9A1HN5Kg+AzPuoYx1pUIqgziR4zKPeJLCiIlaV2MVMq5Gh49SW2ErGGlyPo648udoNNJ3ueOuGd'; b += - 'YnZeZNzZ3DqlkBD1TL4nXs1N8n8bXsQeTPqdLAVZ59iMOTSqRc8F+Iz8WLReS4n6u8jcPWlrxG1'; + 'VCMAr26wXSB4N2w3tSVUpVYTYlTiVWVHpVYRUlQiZWV6pRYSQlNiRWVttwA4FeSkxILSEFuAHwu'; b += - '16Rou4YaMCLX7Trvuu3G39bgsT9dMwTUHbw+fZIdrIUtvppB4vC7s6v/cUo1J/wmMxH9QPfMXlu'; + 'icYN64k7RA/C0uvOVZR1+unGOdgiI5peY0OBj0U/87HoW43BxMeib9UFs1W2bK9VP3+0mOCuH3c'; b += - 'btrbcQ7XvR1CS1ZC+rcBpF/a5xo+lrWbjtpJI7RDuDap7Ii3nB/c17nCQPlNbIz4TgjVjtOdEdP'; + 'yD46UcE44mQtHJhxxMh+OTJCdPUd2AXI7T3Z5luxakVAs1c7tmd6fID6cmnGKhIg3hU0hvVKirL'; b += - 'Xac29FMemRtUqhJD6uCwhx7hUncC8dUIRF3gNC7IiuDRUK9cHTjC0c3vnD0Zi6cycJxo7lYgBzE'; + 'EjAxxeTTEUOu7wIeUqdZIN6sKrGzrxnRnqVK48NQN8I5Rkp2TAwVU4lTShlykZcMVpMuADj37zO'; b += - 'qIRcXXwcE4eMJxdIXYVUqjCeFGrSm2o7dpYbVTgTNqogVw9sOcGaDhhPetMdEFm6+S/BHSUjN4D'; + 'h8ud+BMpDODEM0dZeEUrcdUplYC5reLWqodpBK29Gn83f2PZzUMn7lHFp96Vc/AC9eeuReo/PxV'; b += - '4qQTi3ZCIBxu47CI+glx7GtC5agrvVS6HEWsrfi2YjgFla+ZhgNiK88suOs7crg69gNma6VYkqo'; + 'uU9+a+HpNzT4laiiPPMqCs/cx/k5Gv4MvGvx6VfRM/Mqqs/8/A9+JaZH96/EwO166lWUn/kv0vV'; b += - 'tmqhVV+9SRN6r2HxE/3giL0+LHS88kK0f9YuDkqC8FTo76cuDkqF+q5ai/WMtRk+0A9rSZzYCAr'; + 'LGcjPwEd8srD+rK6Bz+A6/wxus8/A+HgaX6Tr57+1/ku59RcwwBvP3gB/GptB8EvZM3+Ohhd+pe'; b += - 'AMSmVIIJE1f+PqVnK3Gqlw5jIyhb+ZU28wcaKuZsGw2U4tNcMWA4uYNz6LGCvGeM4uVsadLEd8z'; + 'bGs7gtPwPjxH1W6cVn8NZf7uh7Bmfkf5oe/zkGaO1Xopu6/rP08P9Jtwa/lOWu1HkyrVl04tIRT'; b += - 'n4uFxe6/z6LsZH5D9wsVJFFnidabdb9o/W25X8S4tTkpKsyNBn8F7EAZBGC+AJ01BkhEzgwuUMK'; + 'pERjRYVqsAerx6zCntGMR1ceM5Ws/oiD1DpmcPQwByaq6lTAqsZez499SredxmCJKjkQRFQXVe4'; b += - '9go4WD7uJbcXYfc6VY6/z5LjdOXLMOz+OXc6NY855cewUJ44NN6X4kFDfhSZcaLKmEHRzuQTVDh'; + '4SFVL90KGw9ay0hYaeAVCpB+u7QRCH9G1GuYDdTU4W2qVk9jcbmnamGto0JcvY6WIvW2+6e7TV9'; b += - 'ZWjFm3j+4HxYHp0/sI1i8OFCYUMZSbkCyAJAsrta0pc+1hZx+9GTo8tcUQTs0YwqkpuTZxqjNLS'; + 'Dj4krpmgq19AlM3UKPKs1CkMaa+RdNFWcwBRNja9mn1exQNplWOpA/dmJF/9BPAojiA3s4eAqWZ'; b += - '53n7KNzRJenco2Sp3YYwqlwL4DCwUptwZY6OdpHX4seT51kCKdOMIRT+zy1ZU51xm6pM6p9dN3o'; + 'qdl27oh36veh6Oijh2LcRHb//E95wrhY4sXbM+ufz1dQ0cT1ZvNpVWs6CuvagO3Vat1HgV697QX'; b += - '89RNDOHUjQzh1A08NTWnOru41GnYPnqCTPDUrQzh1C0M4dTNPLVtTnUmdKlzt310LJnkqTMM4dT'; + 'wvHXRU7WkU46kQNO6bcf32wVl/SotkXof0oL5k4QVcHZqZI/2umnHst+1LOZY79l0RGjdf/Er8c'; b += - 'tDOHUbQyVp8sNJ85hL2xhBKeQWedCscO5UNzqXChu4QZpcarsnip7p8r+qXLiVDl56hx9KH6gFR'; + 'O/o2ODSKCExi/Wk3EgXfQmowtIp+ohQBo0Slrdq7fLcvr/SRqFeE1LmaOtGmKFsA7V+tCwebfLk'; b += - 'b4zl1LrA8FsTz2vddwitDN0lyZTnzHCIERYfOxr/4WE77bBHfl+jV0n44X5C3RTdANkmbeNhNOH'; + 'lCnJg9N3gc88l+AqdGjTpxyHUj1tv6pdv1tXhgqvIFx5q7EIw2OxGsKQZIjDNHnqebM6iF8rmbP'; b += - 'n6oPoSAQDLTRk+VXimfvIusOvKnWHFKP6rS9UNFz8cOPd/MvRyNxiTeLVLfspzU4H//TKcV/2pI'; + 'U/2av+J+eoC8a56u9jnnrG8FR1hKJlioDzsmWKgPPCZYqA89JliIDz0mVvqb9GT3U9QJlnug8bp'; b += - 'SPsLiTpuyOGLenhK3Dou6+FjcvhFPXxCHUb08Elx+nglcU4fqwm0P7XB1rWhI3vjucLdY1GQNiF'; + 'JvnQ4Ju5kF6buZCcm7mQGpueiExN7MhLTezICk3PZCSmxASctMtv77p2rAeyukjBvrz6+LFm2of'; b += - 'x+qOKokPND1trukt8Aq7YbpI9RHEigDNA2/cccJ2J9KLZMei6nnaMI8woXe890eyYJ5sd81TY6J'; + 'swpYL1VlotgJL+Za8dLsd/rUJ8+bye/Tvf9X5/cX8ybp97oofeZK5lyU/U6f+uR5M/l9uvf/6vz'; b += - 'inw0bHPBM2Oga7h2s75oytJLFvurvd8SoU6rCDEs0G11cT2lfdcmPtPDCM1nSTeFl43UQuFKwnr'; + '+Yt7kidY9b7p1b8pRzX+te8/Kuvdjz6tvhf9AKvDGnvqAhHJFGf5nm0Wr11BKNQgIRgB9hkJTaK'; b += - 'euFgX89P2VJ3UiQUMiV6vHrXEzmMZSsP9E1agK8mglY8VJ0ZJiCwgBboUoq4gTqnTy9E6d30vRO'; + 'bR7Tu28B6qMrj3bDEeNRqiBs/5VU+hq02VwYUqQ5GqDNAuauRUGaju1abKUFIfKW6bKkPZqjLIE'; b += - 'mN7J0jtReidJ7wTpnRy9PIwSeMUGrtrAyzZwxQa+aAMv2cBlG7hkAy/awEUNgBsETBxKF3IDkey'; + '717htGGRpsWQ6ldi8GD4oJ3jzSJRVVpgToXXTD6g2ZDYzgc275FdSMk/gabnr5GrvbIG1EjDy8O'; b += - 'DhA0BhFkF4vUWQd+tPoj8g9g/SPyD1D/I/IOWPQDKchhZAYzVUDaFv/F69yidjZXwScCZqpcjO5'; + 'N94jpVVHYXMkL1JQeJ4G9BK6qJfgjWgfrVOQK9VL+HPoB6n/R0eDQIOyBnUNQg16NejTYEADo8E'; b += - '7VMyQZ5Jxt2BaB8rItZBaYbLQkmC1itwKbHaqIrkwYi4vc5AAwsJrmelFC5UDz0kXB0luAfa+Gk'; + 'SDQY1WKbBCg1WarBGg4s1WKvBZRpcpcG1GlyvwQ0a3KjByzW4ybqr1MA6r7xZg1drsFGD12qwWY'; b += - 'p+6GNg6oWTdPBUqOfYozhAWnzSP6CDs3nCCkioe5uRaozfwkh9Zmxx6yQ+jszQ5GjOZQZGnGccm'; + 'NRV8PtNhyz4W3ov8XrYIYHpzEVOKmDd5pmQOuygIsDgqLqmV0RlfpTdZ4AJ7BFoFaUTS65rMnlj'; b += - 'LJE/YfkmVWRs3jAYcP+WBMrHqnJhsVo6udglbhzvfPPU/btW1BYej0tz1pHf3PyEEFuSBX3aino'; + 'uQ66irCJtXPkonJBkRdGq25hLRzqc0kdHQPEyvy58WFTfLNw3W118MyTLUtvQ5tSypc+F2+43sJ'; b += - 'wcMUG6HdYfD9RjLfFq8mB8LuSR+A8YFkapBByQPQFU9o4NPmK70vqE/rNE6qo+HK6TuaNazKbqO'; + 'NUrV9vjkiUP2o3bpJ/4WE5wU5AumQjzULlud8x8csoYF5dgNv6r+i5a0hrE0wCmaArsNwE/39w9'; b += - 'I/YE52cctIDl3agaWlUxAFWPruPfHFHUjcOXIZL+4YFf/WO2+nV+bVadAvsZ0Xt42GsQTPbzd3R'; + 'xTHjxsccOqYo7QYLCt0PBkQZ1UE487ajG6BKrVu/BGh73P5bef5rDz1qEaHGuQquoYuO1Va22fa'; b += - '4KnZ7Qg/1ofNtdaXvqLoHExzWkvJoeNi52/BTRfUuytgMwyePVWMJJJFXasafTVAXCukjo0T6JW'; + 'zO1eo8re7otNVpZVOqoE6mv1FWc5rUOfar+3SjBwX+BPcrfdvDSfXoiSXTvXRDnTp1tAatRPGf2'; b += - '8FvADiaxro2m39gUNiLxU01dtFfXa03dc3PjjZm7UWPYDDagUXWT72YlaxttyXpeXTIby2aygWt'; + 'EaxKR595akGf3K3k/nUs5ZL5RG1XFJfdJ4q8ge1H3iu3+GwCLZRv0XHT+UtpnwjoYHk/5Yb8Dvs'; b += - 'btEObcKP2VrEMKNTFjq11e2HHf/le0Bwbmxfq6+FNq8E6h+vUWTV26ht3IEzLbldpa+bwfP8ySM'; + 'vmELvcT/zjpaStqSEtkSFbeY4o0Nv1Yv1eCQR/ZBYT1goKQx41pkRd9UYGZZgTVlxdSoXQYjryq'; b += - 'D5fJ/J9fkGac3suMcfccDXAJGsVluyxlB1qPBF3AG4/a9f+WyoXwFhvJmDEtCVAFJA4iIDcXtEU'; + '4lpdcgbFaNbwAKAJ0aSoj9KcIlT5AA8QruHyG48ECGRne1viFRj1quvELh8D5QDn2Ck1gad+Wjl'; b += - 'z4MFPHP/v5nwwaZihVdQq1jYQGqQeBXCVQ38cXHYrxUrqZYdv5uVg25M3UEMJbe4YOknDkd6hma'; + 'fU4LxaEg8JJ1U4dC3tsNY3PJpCwTtU6tXcU8Ope9+ReIzE1eH0yjO+WgnLt0sTpUMvcqEx52c2I'; b += - '4ooFtYqLknKnYZBL8b8dCwEvl9CWT5oZN4iirPCS6Z6n43FSn/OxsvoQllGdTcDpY07++AvC6UP'; + 'N01uzDW3grtrcSnF/g5vOEL0TGyT13k0mX6IYBcvpSmkRZoge4lfRjF2XJ9GtShgKrMJ/ZkuBPz'; b += - 'o3dOxJfU5H9ekPhdiy+qD2MDR+lyIldfnguzPD7kZX4bW+egaq21MeJ/W53y8x/QLqFrYTtM0j9'; + 'lD8baPFt9KK3pbwy2Lb41nc+SKtFn7Z9gWpDEokqqGWVO6w89rTyUd4T2MdkT0grdUxxBN7VctV'; b += - 'fHxAmvD1vseH0+y+WaqyngEbGly3g19cuNXknBWm77ak46rPi5GIJ/cmbiOtdUbLxz0atfS7TTh'; + 'SA3kkoo0bhmmxpZa3Sd3G1g0FHIPtxyEuGXbrtpaYtPEDaePlw8QH3/agEzfjsZ3S8Z+DEvKunU'; b += - 'FHuJ1JpZk8pWiKq55C6JZDzfL8N2LW0NoRbSJh6EpBzkamnugr+KK5BjdHzeCMKJ5KjxjyZf6l9'; + 'w4mCTok5ZIIARMgLYFTbdmBQZguvE9/tVzC1vjMC6HX5OZe408X+NNqbCsMT/u1YiX5AWeLOr2Q'; b += - 'JBGmKb+VCA/RzmCyW3XMv5ctD07Nq8M6kVfn+2saHxO32qpeON2g8nkl3R1djOszMQTJyPOyOzN'; + 'nZt4dNlP9xsaLDYao3Er1kXA8YKi/w1/cYZMe7LOBlDohIlNxYk/Zp+xiM/SW3FwUh4qaq5e+Hf'; b += - 'C1/1Fekcwnu8aDl79fsfcg9FUvfw9NWtPUJ2yrD3XszCxHjxg2QuVZGv/uCcv3WgcyRYMuHIkuT'; + 'BDQjBXUDm1E6KHWb6uwNxvtS6cg6lMqaJtTnJ7lU0SmaUEXBy/ppXS+fYoTZaucLK/q3qRMtG7z'; b += - '/cIocN4JL3ilBWCT+fWOxAzAGUZCskd1NEW0qHBnXVhGQrBIQ0tERSIR6nUEm2GEsaHTLogGQrr'; + 'WClHooM0EdvQaCHjoeRYWwngNWLgmz5P35asZH7bFajas1dG1ncb98LVwk/UtAE6gkgU1U6x9xp'; b += - 'Em2LItaTbIVEhgaeiRbIYGkoUeyFWKwk2QrtCRbqJlHshUktaCjkGxhKueRbIUg2YrwPIYk2Yrw'; + 'OJYPFjiBRpaO5XVGvTIoZ1rwQeKIZifNe7H+TiV+RqqG5wHUVjOeq04ndwhBSh25bGH3Naw77iC'; b += - 'PIYk2YIyVk2yxU4hyVYEXiLH+hRYTzjpGc4VgkbXPKBdcz1o9E0xkrhG5xSkHALJVliTbIV8hQV'; + 'QbY8Yvx6K4HSQIU450uaIeixGAPdpOaCaxocQO1mllFjppMUwv2aogZW3WgVR+TJ77bPvFcLbGP'; b += - 'KsqWNxDj+0/hgv21PJghX4n9N+/ZgH9c9m4+kcoCP1dW6mOyJz+RYbDzY57sZ8l6YMeVSJXBgxR'; + 'f/Td53g8Y4QmqDEatkDEFLnrr6KkCmBsIHqK1EArhP+gK4lH5qOLHYj1JPxyQJQejJLwa2m8GO+'; b += - 'gOJCY/LQRlZnB+HM9YSFSCc1DjMyaia6TAAgwSeZpkVmFNZnX50foJSKoXHrXj+o3PevnRN2Cys'; + 'vQSHMh+gp3AOh+ARokfDNUMHd78kEDI+BmphotEg1WEybkOplCVwVPZf4NmuUTlztJcwQvHAvaI'; b += - 'rRYrz5a02LF1amP22Q0Qf4848ivzMXO5l32J5r9A4RvKr9VaPmtQstvFSq/VShON2aAPJoJv+Vq'; + 'FSLGMuvNfDo/ut7aC8G/TCi+qTvUi0xvi2j7SDb+zMX/e14j35a1lg7syuHTi1racYVXY6c5HQD'; b += - 'KIq4Idz2ZVr3rA08YwMXbOBpGzhvA0/ZwLINPGkDZ23gCRs4YwOP2cBpGzhlA0s28Fpsp7Q28Ko'; + 'ynVLbZPrOsToVP6l3e3P/Gv89fzWvEP7m5/4nfvzj1x8bmeiOdNdkEINt33+Frue3z5HN/jg9n3'; b += - 'NXLOBV2zgqg28bANXYp2aRcIIIqtfqV0tEaIJWVqBK9NDShYOwF3KlRJhsOTxGFCeubUIOSv16B'; + 'GMP32I1NLvwGvsc4XVra/k+/h/0+T/Y99j2l7/HYfe29c/K+9u/x+H3tvXP6vqf7PT7yQPsT//y'; b += - 'VbSqaYyvqCKWUHPQMu1XFYwUngYWwjRPSWrBY7JI5MmaWtLmVE5EpCNRkr/B+HN5hvw/+JUzIsz'; + 'B9u9x6IH2Jz7wwFP7Hrf7KupeYaGlrYkABaiFRIBaoAC1rMteSbi/gIXgaZlC1BJNoyvx2F+rRj'; b += - '/9v9G5J9QMvakZDcqlkgi+GryXnttFCmR118i0mB/0ckCnnCr3NlLtM0HV8w5ISzIgTkX6UOzMI'; + '+JhExKCnEuqqCTwECtNl1Vzf8u6dVK/KhzJa3doyvSe9FoP+6epjixVwq0TC/GRx455ISf9xTl2'; b += - 'agkZQt0TsuRhjYhrlGVoizhqBQCT5lViSz7p1RevgaHIB0txoZcpPiqCMyDNUDZJsuMbI/Kjjux'; + 'MKu/MzP1SF0jYyxm2hTXFOTUseu3Nwh5E0zEwOt80S+zpCGyO11plJ13K2965HotRRuOavruK2L'; b += - 'xKfGMyJ2+gVTW0nFcx0iqqxHecOb3e9VGojW005pIZW0hzVkDqVTyR35j59Q8mhPrKMUrvXbNvh'; + '2rfl1ZBB5KohtWMdBHcDVKgYH3jEWhoc9+TTwIGxkkE06QJdvLFF1kkxUzbR17OM22aD3LvXata'; b += - '4J7eFcwzwq98TXImviXIt8Qsh5tY2uRT4h5G8k4kt3LbKUkEJw+FoknLJCqE4T6dUIzIQqj6jEh'; + 'hobrccSMPrtJrJJ4iwi+6pnaN9C9wMOoySarS2QQYVkL2ZSoQv5qY3KUWWXt4Qk8MLlCPxVk2DX'; b += - 'LyYEETiah9vOU8YRAbFlxPLW7Y7Wo3s1atVk/f3Y3tdwCjFlo2Vr6xxRTDgobll2LysMsFoI83r'; + 'Wx3awoBlo53vOnQk+M4WXghZNXpPPSZ6kTZeJwA5wDHAAJtqZiyhSI1ELrkcgbB8LxrwONA+geR'; b += - 'LhyG7puoFuEZZ0tNCeshvpHlnX0sqzz7iRdCNRNvyHjYddR1pj3Fp3LhDdPIoPih1DXJRNesj6u'; + 'AmXDPTbWYc4MTQm81owRnZBPrmw84JuirtBiFYhKK4kwkot/hbIn/Pje/80oXakyLram32vkHov'; b += - 'RrdrvZLVROO/bhK9Gnk14LRKHTfrDShHzu6PrkVqEKKhhEaL6L9nqr7UI59UgxHm0/0xtxSI8Y0'; + 'LfCEp4Ste7nDrXu5U1Bvtw6sMAeichzoiiTjIP4GYEgelh9T6aeL2Eo/N56cY1sW5O4ukb621Hg'; b += - '3EK5bXEO26mGrg5zIZKMyylNBYlGq+akyDCx534wXH3fiYZ/C9Qb4XbD7zXOC/U9/j0zRefsx+y'; + '3bu/I8A0hpuo9jjWIr6RPm0Bxf7oHDOBoqQAwr3kSrGjF93LfZu8u9XrBVwJndR5to5lW5rYs27'; b += - '0rz79WGMfiyTXs8i6bNY0hFF1AQDmjOEAeLzdWMtt2A33fszoWExdPqADgWu3P8LPYAh8XuXJ9k'; + 'MMnwIAx1YiXQY4hAgFIESYIWcNOG7YSxcIWBqVIVpQE6XXNOh3vGXfgdcKfZq0vkFr8GXx1/UlJ'; b += - 'iQDAcg+Wb5zJKjw2LFYUvjor8NUJE2lSdhxfHG5YEeDqrA9HxbSljzwTzLNxRSCrs+OQ1R7y9Jl'; + 'b5Cm9ws1dTTL9FahhzQyNZl51ee6/VtDfEtJn1uCRbeNMGUjkpAfwqgSY2DLeP2x0ti4f76w9+W'; b += - 'n08o4WHVWoE1d5Okxz9SKwFQbebBF1UGeLvNsXhGAaiOPqNCYPB3m2bIi0NRGnmnhNzhmMiLP1h'; + '8aciq3EAu+FKyu3yhJf+egrwG8CkLN6RTxiThLFcwrCC/wbxaJI4yiuvpY8Vdvygb5/D9U7bgr2'; b += - 'UBpXp5zg2nBQfZQrac2fIVgaM2sm0T/CRYEE1eZGutCBC1kW27AlGRLWO2bEUgqI1sM4LXhBzbj'; + 'pBL7k750NQ+nM0LMrYly2teJAZyv2T9OKI22t2IerfbQ2ztoB5x60UBrkJhZYc2Q2N00bpEFgPO'; b += - 'uPw7zlmTkHudEXQp17uGn2q0NNEoafDSQs+3aDY08RETlj06UYFnyKyb+GnmxR9isiexZ9OKfwU'; + 'HY6zNOK3xDAN7UuvqBd2WfQEmdL7Oq810gp/PD9+EM7/SxcZgvMy6dSNSQXQkZBK9ygLwc9RLxh'; b += - 'kV0LQN2s+FNEdiwCNV0oZ88xKrUQVFAVljNgdrMY1BZiti8sWlQupY2SctsCN6sFhboVMdPgiLM'; + 'n2YTM4DLiG8XCD2RR6jaicPbi3cpDIYmWYW0AyYZSbe+RXFdCrHRps0qMYeBwBSxJt203YLKvZl'; b += - 'w1C2KQkXhiVDZQJ+BHAffS6+p/epq36ZPgjH1vycy6SEA6DCq34TIbNgUmaXL4D0zJCauChGr1+'; + '24suHDvJ7xHYMqZp+5kGb2y1JA32+wfc1f4ul0fcu0hNfEYhoFygCQJySDJ+5Lawm/oAzHPjH6R'; b += - 'R/NoLYo4jLpiJiHIrQbgYR42RsaSVU8eKsTN9NNNAlq9CLj6OT6wVF/h+2sKiAklolzYr0kIkwP'; + 'X2Fa+k16hOucRqe6AaxE8KefWxgod8dvq+NkHRg3G6i28prQ4P0ooLc6PEkqL86MEQhD/JhxYJ2'; b += - '0eoaAfNWHMjId6birTvALv1iM64b5+M3l1xi/ZI9aGl/NBMP7WybAmlj8FCvGME11jU3UzXh+nB'; + 'lr1XjCSwapbwcpeKyoTIDJZIBabl2hs2Ci3PboM52PPjXNo8fc/LNfCSAh/Yg6Nj28LwxLOCbUM'; b += - 'fkYhwyHVAY8Mg+oDnAYldJj4Ql61JBxUx0Y4hDZUdRl6tZdVxDcpW0dEsra6hvhrqrQrGkLRPTN'; + 'kGtf22Sq4YjOjCHnUJbM1d1tFKbob7N5HM5119OXEijpiHZ6O6zXxdtcix0CYdAmlC24yRJsF+f'; b += - 'IeQkpL7kU0sUyBcw+pgZHjPkj3YsmmsGEnswYOJ9x11F/XgiB97ICyBnZWu6tT0nsKYmUmoouMk'; + 'o2oUZpuyV4R3gzt+7GsyxGfrSI1PTMjFma8lMBAY7vie6YOFaoKkBMnyFnOHLUcES5R5ycU+eO6'; b += - '8g8EmklBNPnbguRzzHm7URx3BTouViFeobXAzdimu2/Gr+GH1xIUb9yIK5cFcknjMr8SxXjgDFE'; + 'zF1xo8JGKmH3xGZlO4W1BgoFIoFgFvKjHu76hgBd1tYTW6TVbhk0vlscgtS0dcm6yk7Es86PZkN'; b += - 'se1NrdSaGjQgQh+SD3sjK0vvdyqpZczraI4t6xpvf15IZQa5ybC/PZjuNtuxY0PKS4UcyBVD1Un'; + 'miBwzNhTg9prMOmRymOQCwZZ8+O7phFeW3mvNh8SQ0AsBOT3lw3UH9BxSBsdNx+F+MV1hBVA2dX'; b += - 'OFJnZLPPDHAIHgTF/yIUWPSysdHbEW+i4SxlTtlu/v5O3r2s+3dXMu7fYeS/LVgN+w3akeQtkY7'; + '8IqQow1eU6KJ04EOkkIs4QdroJ/2oSuFCyd/hgauRzCVme3Emu4kavbDMhCiC1yIR00+kanugxE'; b += - 'E46Qj8RrSkdTSf3iEIGGDEETJPRzDfJMWJHGJ5OuwHrWWgyMQSxJ4MBcj9t2qH+VI+ZSog4RKsm'; + 'f7lzU6Do0h5tZ31Y0q/ygOytb7jKOwPMLjdeTLghWh2VANnnxttTvD7YFA8q/t21suow43Ya0BK'; b += - 'XTuCKiAqHEELkT8XuVGKGcaBB7LMXCynElHhdl50YM2TSwea3EGhpnaTZuRBRyJVYilHQNDweil'; + 'L5jJTza1FMGJKpJiALEce6hsJv0FacZ8H8mPQu9tT2949XpNePHZ7xKM8njXg3qQBg8Lrys/LDW'; b += - 'Dlfq5liL10mYJnjEyEPhlwF7CDBOFmIXCGQzGNEHquJVbIgQWDLMmEowUco3B7D9pr4tlyeu/By'; + 'zKD38lwbGDX8ySzKofYYe9dB3OXOJLr+FrIKsil8VNkltTYzatNoiPZc2/Hj83sOTaddjKHtPKa'; b += - '15K6IloVq1AjvZypTIejFonr62eiD5JIF/n8HXmtVzLG3ZHU1B9Kz2KC9DezY86NP9enKVpjvi3'; + 'wrEsssDgrQx/L2uPwpHmrW4jPMvCFP8TMTZQ4hc00sJ4wH/yTpc3u1Stdntm6a38+iIsZvvbSWz'; b += - 'zWCbH29ocXf3p5wM1dBONktw1+0cKJhIz9frejLy8gpSHL9NwU6lC5pDa7Ch2Hn5Nw6myoxB6OD'; + 'pcgBjNJcj2NfAc629niSP8Ne71FifGqnK1KQ6XmSTre9x/OBS69REa12gDJHTXukWDlndwR4dGE'; b += - 'YNN+thQc+m4RY97NG1abhVD0Vlcjith6JHOdyGw2QFzqHA8Xedkqd1+VEfIXUqUi8kdVtSP6fy9'; + 'kmgUFnQI7Bu9RkVVolm3/3ba9yXtI+2fZ9vfT1lDbX8i3fw1+Ljb9Zta07QcNIi9QwHP4ArOQAI'; b += - 'KADd0vzAHfKTWXvnK1xh3JacJTowFGiA0eJDhwlOnCU6JTdR2pY0zfDqcFWVtWWq1wFO527UtcK'; + 'vvZPwEOn4Ugm4wfUT2qdTGfBA/y6R07lMZOmVnHclngrZOs6CVtY1PTVqR1p8boDRfXwmfG9nQx'; b += - 'XAZj+ppJU54yEfvKl9jM10hg5mMqm71mjkwsr+JGKp70USrGhDanmjlysck23kjLk0Ka0+Sl7qx'; + 'MrOsVXACDU9kMX3KIrYNEOcGFHKUHUObu1mmn0CX8OSKfwsUYF4omhn5JK4NHOE/d+k6+l+38wB'; b += - 'R8mxIaNJnSAQ0u+esX9DGcyJc2bZalhs0Irf+SIVGtKzT0qRGZNazaUIjUuv+1NeIxPpI9c558p'; + 'fZmb9T4oEEkHGHmB5cZ9wlxKBUG65h1h2gnUn6ZNMA3eWyvpgiZs4HFfSAXK/DCazXyhPDCqzvj'; b += - 'hB93f187LkCDME60JQUOoRZlAhRfkSBAnFiPUoJTyajMgnynCoL0FsWU4CLFDlltYhUg4CRqxDF'; + 'ggU03lj/HukzoxtroWPCJbiycjq2nmzEZbbNNqC9mwvjY17TJVfsYR50MKd4EL8DmphcyRSv2gk'; b += - 'GGLldN8Fo5L9rvgci43YiwXRquOW4/pw5W0PFZ+zcRRc16kXhNucu1kncuuadZNLz3GbZHZdnk5'; + 'jEN0lVs2Wj4Wxv9qLjuS+iN4MMIdi6ZVSQJRk73J6EZwvjvnjHSWnBNz2LO0NvNIM8wQ/v8jOiL'; b += - '1jBlrE8l4l/boygxV7xP0WsI2RoJSG2cCsXxRog2jY1rsHekjlFjvbYFjmvDkXQklnTjhimEWGW'; + '96NYpMw7PSvl70KCys2aqliv62Atxoe9+NW3DSev2mAIhduw+V4In9TH7UCkpsm8zctUjAnIZHj'; b += - 'KErREKoFy6FpcFeLQjrymVAG2w8SfItLLBh0LhgrteEwYgd5hxWPZHrL6oaHt64Crr9rXFIrp/l'; + 'FfGp/E0hlQeSm0Z/mLtpsdItQnrIbTt+mLuJIpF6ctPu/E2Gw7JP7tmfv4OwLEH6Qvk7msa1NJZ'; b += - 'IrjPFYXYgJhhQC4+IwJlcU5KMQHwX4KDgnOnSUqKN6HYXtqHlHOTwq5UFED38o4kfxvp34UxI1L'; + 'rFg2veYP8pFC2izIo20VtULaLhstjCZTtouG+FMp20fCghbJdlEDZjqLiAVQ8kFU8kFU80FbxQK'; b += - 'LJ2VLyjGB518iihR3W9+A3hUbI/Aqdjy/wnUrWVaNRWIk5biSptJXK0VaCvOr67KlGerURy1nIa'; + '7igVzFA2nFA0nFr5V6F6LehVm9C7N6F7bVuzBX78JcvQvTehcm9b6afTSBPjpp8U8wn08lCWlvN'; b += - 'ishsJeqylcjKVqInW4mQbCUKspVIx1aiGVuJWGwlKrGVyMNWogtbURCWP/fLz/vl5wH5eVB+PiA'; + 'fHwZvbwZvbwZtvDm7mHN3MPb6YPb7b1lkHFJqvYZBWbtopNrmKTq9ikFZt8by1GvYuzehdn9S5u'; b += - '/x+TnIfk5IT9L2s5T+ntafx9TuNbpcHTg8c995PKvvvQvvr4Ze2ZxtWSivvTSH37ya//6sx/5Yi'; + 'q3dxrt7FuXoXp/Uunra3Up9i6j6mRDI5Je1DgvVlVBedx1RVjm9TTLqwXegNNCNgOgw0l+Cqr/k'; b += - 'Bx14PRgc/8zOc+/IuP/uCff1Xjrpm4X/q5H/6Rrzz6U0/9kcZdNXEfXrqw/NyHlr52hFEHvvH6x'; + 'cXPU1n4urXhm2HoLzcBXKsPcQPA9XdZk5HoJBXJVl8gEZorkUV4HMXw/B83EoC90LSXQ2RwutTk'; b += - 'wF/OPUfTZb7najeV0MloxYxsa8qtnSIYRtawaunQkEsmvouY4sgvi1K9kRPabC3J3pag1N7omc0'; + 'V8alRxCaLz90Y1PU0eMM+XwWHGNm+OBpJip7WYOT/BG4ieT10MHO4sMktlkLL8oqT8GVv++Wn5p'; b += - 'OLsnek6DO/dEL2hw157oRQ3evie6HKnI4u7oixIb798TX9Hg3Xviqxo8zFVSBt+zJ76u0EQSFxE'; + 'Xujih54LzaDMltYfnFS/nFbfmlafnBvVAeRLmuTeZ50P8ubpPzo67T8YFr+eXujhmJaNM15MgxY'; b += - 'i9aerlBZtvOIa6lT6AiBBG9jUQIDFqZQORGDqRVBZ8HF2xd161ySkdcT+sReZrxcJ6ajG6VzMD6'; + 'vpmU327LPy8tf97eqEs9uD3HPFfGI8s/Jyk/Zsufl5Z/7t6oW928RWaJeY6Wj5Lyt9nyz03LL4E'; b += - 'udd9UciKbfvw1X7Qqql1tUZ0BHoTOuiM8u+WKSqlw4KCRwwl3K+skbbWSX/GXbAXWsE9I6Ib9RA'; + 'yi4mIyyBLcbR3nQHAqEytJXvXrecpuoyk50iybDhIoAc502RCFxJ6mWCY0EBCyITFTKgjoc6ERU'; b += - 'mWu1halIlRnQltlM4FeSGQBBMyVxoQAN0EibMWXjAn+b0KdnKy+tMptxuLt5KHV5E+G7gW+/G9X'; + 'yoIKHMhAEmFNat1+8jRD0TauvW6xGQbKuR0o3pDiqLdTm9kEW4mu6jXjp4iTDpWqedcyFz9ZNxP'; b += - 'AyaHXdsaTRw1dkO057yaJ3XNw0aTGgmmSeHNmqTEi3hh2zEeYozLHAb7MlwCCmWm0Yy4NB4BkvN'; + 'A+nBukVTsaOpFf0dzbugyezKDJyvZuuS6irRbbOlqWuFlm7NAHuA8HeJbWBHFji1N4RuIWtmbsh'; b += - 'GxIXxiGX3BQqqYlQ80Ygr+qo+lqgCWeJ3CSX4pF9SaVxL4YIowOIz7U2lBFkq3RZ4+az8WCodt0'; + 'VXMgF3LWeZlCn5cj6kgECn+fg5okPBcEvXE5hXm27v9o7HJ1fwQNhvLL+qOCfLJ48SYAFSu8PXA'; b += - '7SIpVogfDUzSJ+UbiDFlL7hDcqQ/qUwhkL/e3pby7+WWDFWJQo7kzK6550rOgX8wK7y3LaqK6Zy'; + 'x+zKUe2c6aHs4/SNc1cMW2t5LTwgdi9oOzZqCPQLxFNYe4lc9aU2QqvLuI7X3qUNGNFMvkW0TDK'; b += - 'YNdO3jVDMh2zLlSGXc/nQmr2lJWYxnXWx2AxbguaWi0ZoWASTeYyoeYKcpUPrEaoowR4VLLLaoz'; + 'xlEr8DBEKqe1vBcofXEfV8dDS4jryFCxzZUXc9PC7hqrgpTehiQj1LaDBh1qa4tC4+hYR6HKgGg'; b += - 'x3mlpvQME5t0zZtdiz5jorNrJfzy1gM+Zbk1Yy8LNTFl5lpTk3q0pJGV44wU7B7LgSwINBYWMD+'; + 'jv1pkkW6KyzEfvWs2FHrVJmXKskpq/Lr2S/GLzd0ajADb/oZu9r39KnUxjSmMlpcLmWOJVyat/0'; b += - '+V5cCxHKJm8Sh94qJkTjBUK01GTQTO4dvxmDP+PHY0b+JXd1jrSGJWXNidtWw7vgTd41XGdLUX9'; + '3CqPcS2eF8Qo+9ybW1bM3KwScLxyBb5EVWHbfAq6nPCwzJPhffgQ7mrvMU8xNSc9y0tZT+9FiDv'; b += - 'XAIEdkT6bzqbZUF3UcaecbHaX1veiVmX+HGv2iz1/qSGS92+Rwslf8BRsU1S71nstd0MWHtrw4N'; + 'CWz3FfSJZvCQKZAOIeUhxHQ9vKBsD40UaHnvCzVFhpMnSfVGNFLxyYkHsb2xRMad8uXD+65UDDB'; b += - 'CVgUR1dw2keOc5ZntWxiqG250OtUOhpeoYNPc9wrZ5n6NO3hngdYaGhJd6fF1TPM5SPSSSgEmwh'; + 'KfYpyIcF0j/2VI1rUZQoWd/LBsPo9glNVz7qYe/3CCSF/C0wqK2k1/gYAQhr6hlTQWB70j0r3qz'; b += - 'YAKcSDjHVDeXcA+T2p6EC0xfCwlPYaI6JeFpTEmnJTyLyeeshEtsH5QS3on9hZ0SnsMGxJyEd2G'; + 'YrIo5C37HPteZ1jo1YySanFkv9jOvfwfdN17rH7nt3O/aKneGbZKsXeLKnnVqpsFq6hrzp3PRT2'; b += - 'HYpeE57GFMS/h27HHcbuE9w4LWGsM7xtugMnG8P7hRthtDL9zuAnGG8N3D6dgwTH8ruFmmHEMHx'; + 'CCWGhQbngNRngWivvHH9RS4h2uH5L/EfGHsqTi+2tLisdStGonJiiqEuTEeiKhOKVwOhX5IOOUD'; b += - '5ugS3H8H3DrTDoGH4PtoLeI+H3Yb/nfabfvvG6MLGt4wdYlJNrvAozTgzMzbshHGEGtmJINuulp'; + 'YYtJ1lPrDRWIRsNFVSVEWvRivxouTDe5VHTpdGgHxt+f7KlsL4h3fG6euJR3B3C3JVBlAX1oFpx'; b += - 'acutJQ0ZEY+U8Y+q2CfnVDeEI1+xUR/fOnSHz2i1CEabSy8ChZequwhGv2qif69Cz/+tVQJRDTa'; + 'LYoJLW+LAzYo9c0MNlU4mDjeubFeuZDnpjp783noKGGT3Qw1Db/n2bPO4lx04raLQSP08x5Yd3f'; b += - '2IgVbMSWsn1o9Gsm+t9c+PSvMHrWRRsrs4KV+U95C130KRP9L37hySsse6eLBsTHmKn38b662Md'; + 'MW5AasLvxWgv+NKC4LRIA5GoESNAqNRGcEtW/ZKN+HgLH7MeVWEDxC/9fYHnRa8slDY6Y1Q0P+Y'; b += - 'M7K//8u//rNxiFy1v1a+GTpVELUx5EcHi169vgA9lqLpvyxFxT2phMigWJoNiYTIoFiaDYmEyKB'; + 'c/OIluso4UulOH0bPnvo4Qt+y5SbDk/mynvlcX/rqIgJM4mtaDEdB2/JE4Nz1kx/U2qI1FZD0FF'; b += - 'Ymg2JhslyxMImnEguTQbEwGRQLk0GxMEVYxznvwsLEqmK9rBCV/rG2Vi1MUWAxD+JnMlHfXo5I4'; + 'OdwM3X2BFiz6AwDXu/in1IG0XxEJIjoS/zxMuGY3f83RzXduyyFFWAXYQHieJAAo8ObqZkLRV3j'; b += - '0DeUC7B9I6ZuAfNBYC9eI9AMA7Lj0pR7pefvfIzb37q+QH5/L25AW6cPy/AbffnBBg03nwAI86f'; + 'K7rUJwIF2OpgWBQurxfK4QTngJrpMi5a1pEptvpc7WFcS6M9jpKXvY+aFUAGOFICVp2p4PJXICU'; b += - 'D0TmTpQ9qL7x9QTCPnrel9EgFfK8k6MB+WWrKw8DaNsd5rRG+c4i7sb8rT0VJsp0aLOGUqLPDJi'; + 'A3hPyG2LO8G5APUyaRACYsT5DGAHbr0ZcSmXMa2QFzyAT89PrYPfOyD9oE5mZWnqR0iEC8+/UFt'; b += - 'CN1a4zWPLh65vN/hgY3OM8w7PnA+rwzLB9iIdX/hItWITOSo+HHFhJRmT2h07rrAnhpkNWQvgkN'; + 'BnSeEiFlmNZ074c6RW1YJg5/yIpNHIIzUx76rPTz159SP5/8xHT9/PgnnrV+PviJ6fqZqVP6+eg'; b += - '2B+wr+v2eGG+iopwCkYQTlMjdIxZFW7cocG3Uwqbj14UXm60X2xiN1bmAhDmYImR7LubkCcuiJs'; + 'nnqifb7t3un6+895p+/kvLM5nqNpd1siwlBgZJkaFqnoR6OqZ6GjkjfUgb5NFK4LGJ1djtWuTdV'; b += - 'sdubrFjsK6gXdO2SCkuPyCa3dNGJ+h6CI5+FI6TDLqGd/hPMkr/UX2IJ7X9+RNTs9JeKdPvV8vF'; + 'JWmjpN9hq6pBYupyZjAZpytdisj/8OzhEWJFWZINzmQiO1cDkX8sIILe1kAWzEhWtks7z9E9+Dx'; b += - 'BObTn2KnkTltbF5/bbH/5RR+pWmybxSUGRhAgGowPTxR0dtyUkZCv6IPphsXy3Rs+cU0nLGPEbw'; + 'd7R+b+5Pn/1O6q+I0swSZ9klfSHq7eY+j3DZ4XzsEdPqFOFp6mFHrDlS9f0qxmHk0BVUsGE+4y1'; b += - '8CSktNjudaqdS7TSqnUK106d26tROm9opUztdaqdK7TSpLQWtBF+xcVdt4GUbuGIDX7SBl2zgsg'; + '0osqmZ2eIli2aZhU9G2uaKj2It+moGaCuettbk21e9TRrwyjn05rJlmEKeW5CtSoZiTf70GoBFt'; b += - '1csoEXbeCiDbygAXiX8cViJ+EyPfFmsrxffCQa2suyECUueFysS63ulE3zyuAGEBcFmyngn9N5i'; + 'c/hwQL+VP0P5jrwiDQr8tF6rPo/B26CYGtUwDWt3tBi3hEFrxCtlo5Gnd64QTql7dL2sgNiKrgi'; b += - 'xajwyAcc1xFDD0k590snFwLzTXGUKSctaTVxqUC2Ye07q/MJy8BHV607Bu5bvCtJZemKDdkCrFL'; + 'Hp14BG38RFW4/xIgD/Q+XVjd34ttt58u6pz6IWrRDC31c3K+d63upn4XEgjSUlfnzXg074Bm6q7'; b += - 'q6U/0Lkk9kVnHKpMppTUxZCHGNu75iIzNjl/42RMLynJJVPLMq2ThQ5Q50+xDtyfTsPpk0IE0CH'; + 'ZeBop8b9mHiHUO167fGnAe9stU8jzI+aj6EUYEaBgusgnn8Oi/8f9DQ9dDdwOqjHhLjKmI1Am9X'; b += - 'UJ1Cdc2B1NvDjD3Vz4Hg2CRflFD/mUDQH4meL0GJujYXJEKCfrYN+ucU8S5vN8zNlnqNNg1650b'; + 'X9aPc9blTj2ivj00SQm+KZ/1Cii28Hghcobo7MGHvx76lBHupclhBxoGj4XqkFUWCpp6ForDy2E'; b += - 'wqNgh8ekBtLJmumS8f2R2njwG4CGrH11oLi9Taq5b+Jl6gEh+oDaT+F/5EvfZaph3bP2hiNn/QT'; + 'rl9VC4JDkydDslSfqczj1fCN0idf2NF/3SebLxCjU7BN91aVKH1pTxwToCSTVKLwhZSE1xPvueV'; b += - 'C+rlvmLTaVsYVT2TYcOt+GLcHRhBN8Q01ddc4lbP2gK22QyxlUHf42dNDGcPLpgficXjo7M58O8'; + 'Api2+eY72ecHTB3uE+5QX7G09pwc6dTOQW7OxkYhlK6sHETBboH/mdy2p2LlFu5dZWL38uYddt1'; b += - 'OnojiliSUDY1zchBSWmaMWma0B5MCDTQTC31dXgSohyF+K+YXGjW5ALYqBTzyJj2SCNtBN4mdZS'; + 'JGI7vNrdF9aWe4IQXcOrtHpEQLX6B1uskj/lecFqbaQb22NneVO2Toyaxb0I2k8ZdwDrAFFVR2K'; b += - 'p2jZUbYJVi4+bqjDXxKiRZxJ5+lJ9k2eoBC/RMb9TUnRKyk5J2SmZeVOlplO2jcrpYY/ym2/cKX'; + 'yW9b5aFvQ3moAOUhV4LE20Oi27OAwMSeKtSgWvqc4N3fUrWathtIAaMBQLaGVlCxpqL8efyYqVY'; b += - 'nZHm43nWJ+XadMolN6A9Ong2nTK+aVO5g0PYP+g9aM3b4qt45gw86Srm/LCLbtNDXYN49g805xN'; + 'QOAzVCkIfqlYQ06gVBKVdfFEIEVaq90JqBfnwnEitIBmY0ArSDyDjB3NU+9RLdH8W8KgoUf7xU+'; b += - 'XhqBFsYezSbyu0j2Mg9EuBtHMF2pjhyuWEEmzohP18xgq0dlIK++Voapeo+GNl9GULNubspoJxd'; + 'Wf2pBTpvW221KrHKv5cxCDlnipIIO5neGlrqCLjd44pEuIyGVf9iueZ8OFlk9dGW8rRqlHpOvdx'; b += - 'QQ50zT/GUD7wIWNAzO+JA6EoNmZdsECrAUKlCyIqtrfeLiUM8KnICVUtR1bsG3bha9Gwdc70GTi'; + 'C0QeRnI+PvJZMGnphe5qMpT4b/HqvppjobHeEnlqgxv9bhhJZG0aQBObsY/9SAONOBNSPUF414d'; b += - 'Xkrv69bxtbw0jfNZqbxQXCJJ8NiT/qoM1ykvUw1w+Fw5be+KzWGudVshlQGqjPQz1RlVvt2oeVT'; + 'iM4V/VbJ372cCnWY6bxsOPGj8FH0aOqjCJXRR5G6gaJpF9Y2hWT2VJQmN/fV+Pa0y6Hin1wYJ92'; b += - '/yY8/LIh6bVaJZkbC3fAfaQr5eYbqdF4wnumak3LhvC4QIU05eDfRsXMy0f47tx1UOcH2W0jrXf'; + 'B+mq1P/NUkTZZNtsFTL4VMG2lrvmtvCzLzNVRqlIZk1gbtWzHeWqA5k0npPHahDRep5DG6xTSeN'; b += - 'tztG7sVcEwLIJIpZKbXAlHHMF8UCoIFouXMNbuXvbilUDZCXnErZ5G+4SP95GiH4EvEsyiWi4/P'; + 'MKabw2IY3XJqTxphXSeG1CGq9DSKOWTkJ0vVWm7rt8q4YZWc3MoBW+zk+WzNipfcCjhy+wgyEmc'; b += - 'bXGgPWRspj3xaVHmXQ3Fc4N36IK5C5kPyz0d7onPI+U5uv7HsB/R+fDkdUcvAv/dlDCH4e7dQ3i'; + 'az6H1fL0I1xxnP27NnSNWoKA5jN8qbfi7wR2IBR63IkvqRVi2hD5afjoZn6ck0+suxa8mGFK7b+'; b += - '1LFTp8eKHQ7qHR28Lzkak+NKtgEr4jsUtzpxmekf8KrqEzETi9EpIS3xH8CybcGDv6X3Br0pw7v'; + 'orh8hp/zsRHB5sCljzBazfAWEETrrekV5G5EGPA3cuxiri/cJEsI3IVFBTqkulxRuzdiMY+SGun'; b += - 'R/F/yyBPPT7wg+HVZf/4nnBciJ0s4/ZQ6eNjedQM4/S8P2SRni8pZOhOZYiaHzQSdGYkduNGy0V'; + 'jjQrD6n/KV/sAWtfUU1eMNCXsBq/qWC9ZHgdgUhi31t7fNq7OIb98OsPL4UeLnP9Eo8xphdvyA+'; b += - '8zpCb4PYDY1caRTJS5agDHMH1KowMHHkioHwierzJT9xAIhWkK99ZDgYwKSCvPbmBgjNHAErGR2'; + 'nzXmoQ+PTYo2wDPf6mzg0UKgcn3vSkHA82a2rngk9wf17+50DyeNV5tsIlpr6rk/858qZp+Z+Ad'; b += - 'gQ+fZegTDzcuzh7si69WpllYkLAXi/93BuLeDlFppn9NZCSRkY2MERlLZGwjE0QmEpnYyBSRqUS'; + 'cVnsnty/M/Ymzv5H/Lzh57JjgQ7+06IWjp78dg7n/VehFgpeXYbC8nUKSzkve98IhbysXdOx0Ke'; b += - 'mNjJDZCaRWdW5q5+JwAKaNYyh1sSldeBA8Hh2zWuy7FaPPnH+UnC0ev0bX//gaIH84oRQIbHdTF'; + 'fue0XfieZ20f+M85UdtW/P/qnCdYxW7/r845x8ipvdnzfCH5jWf9vQ05ruqvC92W97XThvYEKuE'; b += - 'yslj704VMP8d2C4SCwYeHeS+4VfafqzH8wd/KUaKODcxjdeGSgfgcjuEKO9eVdJDxmXyaqIkENi'; + 'KSwBCvOldrlwyFhS7blWkB9SqQs0p6MAnrtAy5p7h6i1REceyKnmBLFUYcmtwkTi9gOeMvRFt5O'; b += - 'EFMvnVzEoSh8WQFh2DyH1rklUI9Gzd8EFDRDZA++i+8G5VC73cxc8JqAYDMVChP7+WLMb2rj11m'; + 'k0Vf25ttXlJ/dA1F+9WR3qoD0kExKLWypbd9fU5aibf0HYyGTXtbdaE8R2gmBrqsxSXk8Zh2OJc'; b += - '7Cy6kRNi5HCkDAOrSBE3M4EEDay6npAJR1bIiwt4UviuzeAG7v/lV1QDgzngIagRT6biCbOsb/h'; + 'PnwYI+ko+lf035+J/v8Ttvnd/BxTyUfzukcDE7bYIitU1pnapnJaavAt/fa72gkZZJvr4PDQdyt'; b += - 'vFimDWNB/i7QM1oImP4P4vQtziqIJvI1ta0HHjdl8pHbzQ1bRCfPISC1bTfQKOaNCFeMpKVC+pp'; + 'hf+3Ne/sNU5O9pBjvWv/w61vjY/cp8Se0O3xuMTJ7XsRoUY8Fdb5Ks2ijKsuNCUdqFAqxg8Rjz4'; b += - 'inQqcMJbqv4yCF1EMHJHXcetv0rqTVsLmNHVqog3J9eCoh1oRWTxqX70ZGNN4aoJQKVBJEvVXEk'; + 'gnMHZxTS0OLv4ZfTvVK790HV9TrlEuciaYsVdr5Fy81+zAd6HN21o0eYCTtC7XyPbRkPSi3FV0o'; b += - 'G7xS1dCPXjGUQBy8ppjSihr/5n+xjM2nQ4qFBoXLojMS2/4pkRqLj+hrHXXrGeKfChUy7jtK6lg'; + 'GyVTd2q7EGXCXcXOLNpexmRyrtRqUNVsqbC5ZqxKdVaZxwTnKzy5tde/OUh6oRbGCZb7BkDu5ye'; b += - 'nV5ZZFrib+QrkQx7HuwDx/1aimI4oUvWk7JMMyxq5YbhBh04G1V+2YIVsNC+SYfylDh3DR3wBEq'; + 'Jdj75ryNNCgH2x4z9vad4t1dUSbD/obg91AmQj9TfU/1okJU6ZyeaTH/lMzYRTwHFX6VryZOZ0l'; b += - '5PgyFAyPzcSt02l0VVxM8F8PNME+EVybCozPcgogXNcI8XcOtiLisEeYBNAZ4ZNllIjyjxgyPLL'; + '4BZgCbTUpMScTug4+RLhrxmf69Zuj6ZQOGAMErMUqBZW6HsQsSpcBtEQo0tdDs2NatZRXINZAPv'; b += - '9MhMd4uJ3erOrQEroxR9a/lo/5GAKI3G6Iu0yWXdVE2Vj2FasxVRYN9IXsgDzMwtvmN5AYIhJUr'; + 'vth6S5kV16zYuZB60xfusv6Qe60JuFnOgXghgGbzLbOtO7rlRgXlwBrAAXswkr9c6lzsvKjIPsP'; b += - 'tjhcahS7AAu1Cd2AjKBqKtZlIYoEGv97E2PPJSHLGPEtTtZG1sEPmiiU0443RTegW65wT5hMoPv'; + '/9MOjRK1e9HMBJEa1jogEJT0iZ5+VNZKKFeKKkDubtZKJFIE0ldWmaOiqpi/G6kvr8NPWMPAViB'; b += - 'GZPYAXJwx1InAuMpxbi75N0f785498S7G9598O5AQOvc4Tj0EgCOaNM6dau6Zde2p2f+OYkYIdP'; + 'P9IoAnqokoSxoNERlZie+hYSngQfUV6pqob7UF0AVRy0WklqDXSa1OvQXcAkSMI/xsrqkoIL06B'; b += - '541QWEdfqhD/sqKuWo5Hdyx2miMcllQNL+ajGdaRj7/UQOqqfWNdqmzrSdvbudhws249Fv3g60i'; + 'pDesR6oQiswSzpLa6hI+13q/Og/zi66ncP+rzFz5bl3sjHlR1XTTp1OPfLc+uetVZnbUMPPp36l'; b += - 'JjHTpKJytjrY5cTRnrzEGElhyfkEhZW5+oppR1Xr9DXbxsgtl3pK2GwHEelt/11KwbEtLY6O2Oq'; + 'XPtgCufNVph+iLLbvTq91ocxoaMOelKaGuDjfDCBYjj6VtD5cvAAnRVr2ApBz+LK4WGEWInghXl'; b += - '1k39K6x0dv35a2x0TtREyetq2ad+teQ9o5pWrf8a6CFoX+NM4lTxBZl61DlokMNkarpm6hsHdac'; + 'zSZuHiRTgy0LLwHPaopM/HxUqzCMGF6H98f1ysghxMy66GFEvSF+BijVmM4CX4KhgPuBiSi8ddl'; b += - 'Tx2nXI0b2F2jbN1z9x83rO/Ux69R9brVULY2ZknrpDjC47N2pIwErB9BWwYLpgNB6U7e24+2U9Y'; + 'r1IokclvR8XFxuDQDqSRjJzcXGJKSC4FESm3oKDvMOSPQ8XsQku9Mbd5rDJfdDcx15sknGwyCTj'; b += - 'Gm9PUvhm2jhgbvaXZsWiQONUDyltQJ5bxuC2HFGkeQRoFpJ7D6Ag+fqX5ifgNGxpbeIHegye/s4'; + 'ZKFJxtGASceZOd8s22JeYJZvMSvMBVvMi8wLt5iV5sVbzCpz4RazxqzeYobMS7aYi81FW8wl5r9'; b += - '81pdh8CKvpBawEm6oh1C5BuQh2H9hgCaUXsGBsjvnubx+zuN78+KIs9DKnuf49IngmpVMkacS0+'; + 'tMbFZu8UMm0u3ROcTjWc5f1/A3wv4u4K/L+Tvi/j7Yv6u5O+F/F3F39XDi98wfOkbo2XDH/3Gz4'; b += - 'vTQLQ43zuEcGz0AK1hFd+EVfoTCtmhdJillqKK6qZWVxRTVTRySQ6r/EWH+AQaiYWsEiRh+oG3j'; + 'D8c36K33P+JfKCZp5ZJin/8dXaNrM8yaJiGQtAtQj5X32z5L9guvx+yf/Z2Y//xN1mLpguv1fy9'; b += - 'W1V4N8Rcbtz4VNdx0HjlojStlXanpgcW7QI3eojYAul8kQ40pWMZOOSJobccPpZbRT0ikRMSdZq'; + '5x86JPy6BXT5S+Q/N0ffOj+4jbzwunyZ0v+Zz648065/0XT5c+X/O3v/tYH5P4XT5c/S/IffuRj'; b += - '71X2A7gQxPBPYTFWp0WZGh7SjW+gfKtOAIBMcVKYdXXQXxkRYj5W6nJOsha1A0P1SKtic1YTu49'; + 'dwTbzMrp8nsk/1Nf/cfjkn/hdPl9kn/Hl89+yd9mVk2XH0r+339g+4S8/2qbcQklVg6nFKYwJlQ'; b += - 'z4SBURESsiIlZERKyIiFgREWGNiOCalTKR0tkngwXExX9R+QAegt+g9+HPe/DnPvw5jD/vwp+78'; + 'Vk1fCLjsRG/KHadgtf3WuUqeoa1xOdgLZQ8+xC5xj/U9W/o51/QmW+0CWe7vU27NpPRS3Xt0OWF'; b += - 'eed+ENH1334sxd/bifpKqlY6W4r3rkRt/S43adOslOOSoT0reR35SVvhNQbxoRnsJMWdOFHdpAz'; + 'J5NDHtirtbxgnfCsrqpJOC9PgKW/MKCXb9yzihk7z49Gl62fUo4KMrTYDOxEJEAe4oXnEFyaekl'; b += - '81w/OKquZfLEqcmo4rnOSoyx4qr6zF5kvl5kb3HsdIwx20V4c2zEuMjM++ZBfmAcewMaoW5O5JP'; + 'qyGuztryN+vHg5J2mhbwCgPOZfK1ZeJ3MRqbtDgMugmszaLq3Mtb7u0BZwFL/aHnM3QKgN+kzds'; b += - 'OJdSTvWy0WHXRTQfIPjb6Q1WwTffIHjZ6S3aw0Xmyf42+lN1rdK3sXaOnZecaHS/71rgPsmsdcb'; + 'oEnqQed01KiJl8dW6LOBFOWp5RrQF8gfjxCDB+QiXNoTEtOzpzt+7Zg9ITOpTVz4Y9ein9oTG4Q'; b += - 'dxn4T2y441bprsV+Meym41bqnsVeMOy041brjsU+P+yy41hgPhhxSvAqIdLtcB+x0bdZTJKvnM8'; + 'uzkfiQoKuVW6FP/WSAxdFP3U6YEz1fi+OriBuwE99ykhjC3oEiy86jQzfRooEpvTqRB5AbipfV+'; b += - 'pufF2/nupMosBVP6CpKMapTubBRlYRiV4F543Th3QQPcdobL6ZRLOzzS6EASZV9PlvDPp957PMd'; + 'ULoxIIk6izh4qCotJZ+M4pQHztqg1ZXyu+823Chn9Dv7VFOSJB7aoinGeFdHxqIAtmTYkjoL4Q3'; b += - 'j30+a7LPZ459PpkZtsA+34ZzVoN9Pj8sDO5r2ec7wj6fkH0+ORCa1317Dft8C+zzLY99Pp0ZtMg'; + '0dS66ooJ01I0b94YqaYRPHRO+QJG2rhI0Hni9essmPtT7xUybCYHDvi064TcnR09LA1IyZm1CZ5'; b += - '+bwK5ss+nM2WCN2Xbss+b1+HbQ2xS5HviD5QxuOcfMEctQiThvv5Pa+J50HIDpsUdUUs8n4kAUU'; + '6/h1SRoE4jiPuFUTOIAKL2tYx9OQfkR66BX+C7Vt9Dgapa9sqAhfiAl6nS/ijKtiMbfUE6DM8n9'; b += - '04nx2ewbsFRPRw+TrVTKhCsFjEIC6uSV9uTj0fV3Sdj5V5fifwWG8PS2wmY7jE8DA7zC2UcmRGT'; + 'xO+/xWVK1ZcAywm6bGkruCN1TpzaJxD3AQZgpaJeVVCnUnndBBHPyoUTBpqCe2x9PEu6yHZL4FH'; b += - 'UWFS3fSx97sSQQklo6ctJocFQoJLg9yteRS0EhMBLv6Eo+d7z5hmuWe+HBX0J2HFXH8D8P38JNd'; + 'NIt8M9NQUrMF8+BIvzI7AmUs/iqo6lxk54c0r1Oe5HCR1F94t9cv8+IlH5quOFwwaTeBXva3Hpe'; b += - 'kgp+TS14NtHJWqxUFqzoaMRp24gb1b5rzRQ6t4cCoDWj+TfWrHg8FqqMGfEMssZHxAOCbcFEINg'; + 'KvH03hYkEUUn12f4B2BMb42cVYO97fhn6l4KCpaD+eXWamUOi6/i+ZVfUACgpYYtD2XQtl1qTP/'; b += - 'R1ASCXcFVINgT5AWCfUciA79roDeE/5r4DtnoIQJESLADe+GN2IqU4CZsRoZKgx3YC2Nj8zVLgx'; + '9bKFWjVVx2pyWUWtSfVsGH9837hwo2pmFp/ExaMftraL/9U9tfiNn8p1z2Fc3Huf7Z4fu7q8Kxo'; b += - '3YC2/FpqSlwQ7shbdhW9LSYAf2wjMipI7gLD6v90PaCD+3qp1saTmStcsjzrlOCVWbHgHBmmWIq'; + 'Ajdwxu8P/cPVAiNbwQG/wQwV3cqnjSdjeoBW+habuKyO1eI+wexBWyL+uv8m0QYNRjphBzLU+OH'; b += - 'AxvsD6SiaHYLGReyHfmm04JGRdZxtc3gvGCyX0tQMlI9uNjQdwKpJE72kqCUcZeZOzwkZF8kQIv'; + '0CKsgPoBEL4DmLkLcQ7KkIkYuk9QnlXkME6xLnD1MtnnJfIhfQeZS323bQ4swnZiHziamm97WTr'; b += - '0eIjI/kurZMEfKTu1TcWLCyEUabTnRI6sn1j3E6aifOG8hb/M0rEY8hP6UYzFZ0yM8wtZj45bWa'; + 'hds9W7RtU/NSfta4GOxKsrqGsSvd/Us7p//etziFJZb8RxARPG80wpHzpHrLnPAYar/XXicPCtk'; b += - 'P28uZcra8df3cRxeVcrz7A5Y+SgYyuyBZ+8nVBqYNrK82bW3kmk+uwkAtJOFspHsWEVYDbfB0HV'; + 'AQEcwvd5iUc52huY8nZqVNM9nSnJRTl2aon3TnvYDbMlqcPJ1ZHAUlhhR1zC2C1qhc0yXYJKbbL'; b += - 'yqg9dDF7xWB6+OI9sjrPSNIdsjrPWNIdu5eTGGbOemRRPZ3kCyxKskJDNT4//BW50Ii3+MWUgyc'; + 'KYUt61HWL4KvJUqtsVvnqBWBK55ApLb0GfKqq4CgbW5bkdaa0oWVVVVL2WnE/NRVeAj16Xd6wDg'; b += - 'ilUOdfwUtvPtdytU1b73hmT3hkbG2dMeWds8c6Y9s6YqcPLt3j5d3j5B17+nV7+/8bLP0fbVq5d'; + '5S1m2Qxix6jfzMfg2iVVQbWTitinATGOEAKgSwSnnDug3gqBeAo55DjhrNiPyWBW1BTS5rclETT'; b += - 'lTrVwXw71jxUEkjEXrry14Ff0aWvBF6pX/UOVv+Td3Dl697B0t/45yyF3jkf9g6unPIOlr7XO1j'; + '+cDPijAnQQvq/2dO0VGk57mqUDGtQKZZ0Me5z9leZz3JPI4K7CzMpnXJKKXg/1ec6t/i3Wvq6z4'; b += - '+mH/Ox/1zvs8/54x/zif9c57wz/lBd2DXDD+PnRvzWJQilIP++Flqm8c0VcVf5jdD2Y77/z1NzA'; + 'YEsFLkIPwSwtQR8A2k6gm7hjd+/wp247et9T/cNcJVy7hIDo4Pkh0CTuBk3wz5b+o/4MaYK6gq9'; b += - 'PLzqnMvDM+biyj10OdvvGRaFEiIF3gpBkW56IgniCkkB8iNoIbICbPDPK0gLnAm56Jg1Z1kknUm'; + 'UOTFDbQESwgaDHlUMmEkVs+gWvi+rok8FiPMJBTejKhYALJdrl63CQFC43GmiCn9GVUSEZB3Mqh'; b += - 'iQTnUjMzIIeIwF2tMXfKZBvQEEQRBiQfhm2+ZsPO/xNht0VoUnqrRw4eUIcGh/m5mrhjj588Xu8'; + 'iUlViCpagimFEVz6eu9IqsihXQuVnuvBBVFGZUxYsA8EsHkbaKNY0igpegiuKMqhgCODB9Ttoq1'; b += - 'o7/5xY/9yXZ39PUvXP/5He7o+hfO/tmsO3r2o4/+q1vc0crPfe7K9AkKgJnX92LZWSzbi2W6WOa'; + 'jYImROjitKMqhgGsLD6sbR1XNUoI7gadZRnVMdLgUqszjFtHdc3Kgh+A3VUZlTHbzYbQCvI1XFj'; b += - 'LZWuxzEAzv6BDKSlmrQsHRtUyrVJ9bXJMJTKmEhlTiYypRMZUImOKP+sUU2Iwv5CGkxjM85an7J'; + 'o4rgt1UXaiZ1/E6zy7JXSR03NZjxP1FHbUZ1/G4TvixP5Op4ZaOO4PdRR31GdbSaoZqNpnW8utF'; b += - 'tHmR3ZTROPO0zdFCNLzuWRflk+Llmh9fi9PC4vt4/Bz/0Ye9d6jF01T1byhsRW+pm6GaUXia2TN'; + 'AQBWaxozqWN/skXJncnW8ttGF4A9RR9eM6vij5iyul1kdo26jG+HrXNTSPaNabnWbAJIYy1Uz5j'; b += - '0+RRajotXAYkD0bmYKjJK9nwqtIIJbXJb2qSdeRRDyvS7quSa8hiZhel/SaJi1FJom4Xpe0pHjV'; + 'ZChG9iNeGMqnmz2+y1XG5SzQ630YPwbaymZ0bVvN1tzrFAJ0k1u9zGLIS3s5pZM6rmDrc5N0Fes'; b += - 'U0gittclndKk00givtclndakx5BEjK9LekyTziCJOF+XdEaTnkASsb4u6QlNOosk4H1dyllNeRI'; + 'dXsdhuzEf4pq5k9o2re7zbnJWAttpp9bqMX4YdZTe+MqvmI2+xL8F1sNfvdxhyEf8Zq5syomj93'; b += - 'pxPy6pCcj0siZUXw5Fc+NS6mgXhNLKjBUq0r2IJrkDbJun7tI89F6b8PLo+1RP3CTxWL3y3YT2J'; + 'm/MVqyWt5oDbmIvwflYzd0bVPOA2F1jBQ1LNuNuYh/AQq5k3o2oedJv9il+SVnPEbfQh/AKr6Zt'; b += - '/WnhzWS6FXe0i0mgwK6mYhC8IK9nN+Hwryf6/vNWJ9GSj/sI4LSNx0AbniiCDmvSrGNucV68khe'; + 'RNV90aSE9katmwm3MR/g1VjN/RtX8pUvr7OO5ao67jQUIH2E1C2ZUzV+7NL2ezFUz6Tb6EX6H1f'; b += - 'yuPx1aRSH06lpruHxS2lxQsHqel17BgnYZhjfvx2vfENmbJejSkZezzVaB5jyO22zgrVFcNr0lj'; + 'TPqJrvujTGPpGr5oTbGED4A1YzMKNq/t6FeTZlQUk1p9zGQoQ/YjULZ1SNZEAudSZXzRm3sQjhv'; b += - 'Lint2h0lURT0jerVknoFdaYrjbo5b4vE1q3hN5GUXcdc4Zg76lGUCR2E+Hb4pcvFQKLyeGw3mWz'; + '7GaRTOq5t/dZqRANAmNspVrjmdJjddB3LO4vSp7SrXdq01XqcRwgOdxu5eVyFOd3sUtE2lsUcs0'; b += - 'FWpLNHubj3iKXUjpVYFkkxrLIFUVzJx48igfFpMYV7Vi10HiXUuJsyuzEkEIeP/58AIDNiWEOAz'; + 'NbawZYzGBlpmscb6W2aRxha0zEKNzW+ZAY0JFdKvsXkts0Bjc1tmvsbmtEyfxnpbZp7GZrfMXI3'; b += - 'YrW/etmItm962cIEV+7mjPqjkszNLGe+iuxJWI0rhp8RNS0LB1H8mdH6Iscdl6D3AIBwKHeVhTE'; + 'Napk5GutpmV6NCWE0W2PdLTNLY10t06OxRsuEGqu3TLfGai3TpbFqyzQ0VmmZusaE1KtprNQyVY'; b += - 'e/UnLV6WCqSm4q0WJED4XetjFUGH6m9I2nnq1gvTm6L9wqlc1BFdwT3i6vgJeKJ9x/BadoxS3S+'; + '0VrT2PFxeE8NZY0AISGXGxhQDXmHyCgsZwOlpfXFOjfcpptJfri2xaby5toU0byKUN2LQlubR+m'; b += - 'nFdWVNsiwqg0ccQrDWKlggEsORixknJaozHXgmZrbBlvrTl6mlxpXqioE6Kd2IZiqFditmKIWwE'; + '7Ysl7bApq3Mpc23aRfn0vps2mW5tHk27dpc2lybdkMubY5Ne3kurdemvSKXNtum3ZxLm2XTNubS'; b += - '8cjhybTTxVHCXm1OFerq9P7ai9gZtH79DFWZYR2dcN10L6tEUaMWEiCQwvUuUPC3eT6VRBOq48L'; + 'emza5lxaaNO2u7nEbpt4Wz6xyybuzCc2bOKd+cS6TdyTT6zZxLvziVWbeG8+sWITD+YTyzbxcD6'; b += - 'a4BMKlmqOjwlz0wBDMn6GQ5909qu68V3ZFqrD4BDbRabeG1a5Rpcvt8y50uwvtdaF9LrT/iA29E'; + 'xZBOP5hOLNvFYPrFgEx/NJwY28bF8om8TT+YTPZt4Op/o2sTHc4kEpvdaVts4EFpbuW0ZtXJxPp'; b += - 'LjIi3XwxTp4qQ5eroMv1cEv1sErdfBlDWKh5c/Q6wfS0/u4GP+nPOrr0cs82qxH/xePbtGjP+HR'; + 'UvMFyDC5ylFyWoV4GQxcL/Rs/RMziiY9C9RLREUwiycYTC4ohrRsATOZR4LnSDA/jFAHfeTBQ8M'; b += - 'P9CjP+bR2/SIKwMHvl2P/hxH56r4mDAGawcFsnkRAS8beXjZyOFlI+Jld1OBA3R7byZvInnzN5M'; + 'PGXKJqoTNnnaEwm23M1VgDQNWNQIYgdNbYIdIgL78ZngMQV7u277Uxqm67I/y4c6s6SV98agEMd'; b += - '3l7y9N5O3J3mLN5O3kLxTbybvlOSdfjN5pyXvrLEFpjEZqfMGLm+geWe7j6ehGbWewvbDw0Q4CR'; + 'T86zqcQ8nGLEDqdYrcMpqitj2jNlHHwoVGxZ1TaBo9UstkG0xk687/5D4PJ7AuogQCYPBWPviqg'; b += - '1XjblHlrskESpCx2rTTMolSfhvmkk9SRKmnGZSIUnCqdNMmpIkYd9pJk1LklD2NJNmJamkTnkzq'; + 'ABxkKT12gUD0A5HkBkigXUmm5htg2g7VV1YXLFUBRhnLOQ0H4ImuGZArheYgCkBzWh2fPlngMwN'; b += - 'ZSknRQ0bybtlKQ5Kp83k+YkaRcl0ptJoOELTK+BFc5TqrbqZtqVZF4IF1aQVbrzxAnbl6Rm0LTc'; + 'h1/VEhfB55w3Ir/KKvcvcvKtO7JOfxoEK1gnC2Fnynrw5aSuq+ge5ayuDWq5D8BvZuVaerr6LEU'; b += - 'S8slrWfTel5aT9IKm1Z4aYWkTdm0KS9tStKmbdq0lzYtabM2bdZLm5W00qaVXlopaTtt2k4vbae'; + 'VVcCf5/Oa2cii36ESmoCMy0wq/4VurHePzHsF+nwni88zOHnPhzDhUJ40dxcXD8kEV2w6Yh7WDf'; b += - 'kzdm0OS9tTrY8pD/PjYTPIlwYmfl792O6fLAcHhlm2OoQV8kUjjdVwA3pCJucvSo8Dt8kkOANc2'; + 'VNv7xmJMUpfHhzM2JwbGId9+1JNXr4Tnr/IGMkdkVSr6yW4KO/lZlCXiVQvqi4a2t3Vc8VVls1b'; b += - 'BAU8BC2/pVCoW31NiQcdlmqAska67bkXcpFVqn7B4huLdsHekO44P4KnDmHVfBdw5J455hBR7re'; + 'A+OxVe9NXDdHjJnkXtQPwTEXfdQDH68VwvwcXbuiFgvS4ffcB9H48pu+eoMsSoA0flWABLvT8A2'; b += - 'iruCUS7bF1buHoq25Lqx2mSBc4dV8kx2Y/EC+0YyfJkX1KQz/z4kYAdqyTJQZnTgsKOLl68KsiB'; + 'BxqzeHQM+Jgnj863pOFMQXA3074JqCox7EVhJeG2tKvO9YYi0LuwJhQiUYED5SgiXCCkqwrBnGu'; b += - 'LJhe9QRZk1Brcmcf64515ratU/i2wPTQwsE+tqQ0/ZG6MMA/pDhj9odHjZlvofdYi5Bz+9zhhm8'; + '6W28NNe04/32JjH2wHYKt1H9DyF5wv/nVYHdeh9khiCBggVlO/19PhEXhWq24DFdExIyE7HdK/2'; b += - 'lOxDdF8o+N7zHAPsnKSvmcS05rN06+OVIJR67OUx328rSkaneRpIWcUrYI68f5umxwHJZbfJHah'; + 'dyHsWu3vQNhY7Y8hLK7yCOI5zuO77/jP0CGUVXpLDqFoCPJUjqI8HkCV7VGUt1XPbSBp9HkyFQX'; b += - '+EXh/EwjOInlbev0aJnBbZEhvFR0PTc/fITSO3Ox0+JLFi3y9zp+JzaZjqShZhPrhVPazY/NTzQ'; + 'xgR3jsqyGH/KtXXj8aSTMlgSOQFlMcd2Da09F1oq2Gaj+la+QxyutOwBXBoO6/3Bxjge2auefqN'; b += - 'svMbc27EoUWc977tuD+vqxNs5dNT8rIhF2EAUovQ9FzNO28kys/UOgtfk81HpOuvBaSqvcgjHdS'; + 'EzE5ZBqQcf2o0f2zFOlzEuZTyQLbuUs8CpjMspC91czMrwtEuRFu04lOqMXfU74uguoMpw6Y7gU'; b += - 'RFJ4Vu3b1AmWFXTP2B0VXcX2mcpIq2hIKMw/qBnRxGsZuiIxk+JqletpcfXsU9jNmeZq3fSoeJY'; + 'aEsdpQuQ4fb8zGapeVOwpLdlKXctC57MHYwPRhLN5f0ROwnLrrzFp2HQd5LSx7L+uog76hR1soX'; b += - 'bX+h2M8CUtjtEFHbFqUReBXdRbaqRWZ4q3USL+S1M9otYJT7qvQeJEODCfUtXCWRXHgSELUqQjG'; + 'AG+6EH/WuUJ+/865Yn3DrQ1DVYvyeZp+D8sqMCwjcEtUGnb+r2DtsNcsEgbugU/rcQj+bX29lIW'; b += - 'SlgHS7QfEXsKZ6xNVWx5SUtEwP9iMtXUNri89kjHvFZ6LzJMWnNywecsCnfwqw9Gr5J60csEZcs'; + '5uRoaxk64zVVsjYarG2JAee4w4EXaC96ZFHSmFoRRz1K/TPhcGOBAIlyUjBr3+yU4uUhsk9Q5DV'; b += - 'BFlAFGkNY03lbtpu1OBoXgVS8WrTldI3qDdgfWED6xiVGAVozCGik9n3HyjBofWeNXW+F86V5Jr'; + '0nqM4Z/ReoYFQ6aRDObXREyoz31RUK0PSXSbisFY/+6BD0PF+9QCl8tTWwTlyW+iYq4uyDU5Wpg'; b += - 'WcOVZIyC4FLiZgaSA/4ew8RSKYA85PHYnsstKc4Rc/XQv5Q0ZqKXlO2A5ei5pPlL3aT+qu5gWsE'; + 'TTDsysnVBEVF0RHXN0OfRoVFY2LFYauLaThsezG4Uk/InsUxHUiiaArrA8s15p3WfdIj/34kJP5'; b += - 'TpYu4ROqEq0E9maTIRHXWTuQzvzZrL1tKveSkS5aUMJGZ6kUsldXZL4b1NcdKESrEi6FXCrdVbE'; + 'B7GuWGo7LSZB/kurplsh8dIZtK7TDULPYmT1fFliX4pNo8zjc9oKFRQKIFAcdp52yT6gBx/ORS7'; b += - 'nno0btz0daa552Om5c5jTnvbjYe13W03a14SXZMYCoyjCtG8V8rgvO+wsVrvGnm7P/00rjufYqs'; + 'PJS5yPaXxaI5KYOeWhTnxrAfJXY8q9HlUic8SaxunW1ypg41YoK3xa1yzeO+oQobcmQTsO08XcT'; b += - 'V2puBprycXPh6IwdjW2CmNy1WvAvdVlXkjdJbCokLkjDlA5Ra8ojQ9dSwN381XVBipKLVVRupap'; + '084ekhQ5nTI/wra4SqLbKEorqXtEPhXVaXPrUB5HznMV0Io0+7kzFhTXpkbK4MtuoGXNDNyU3PN'; b += - 'Tx730UB/LzIspcqwrCu9Qm2U0kqvzHrSK9M3kl6Bk07EeZmvL1ICYqAYTDO189RF5lVc5Frgi4u'; + 'YKoiMwErtwB4elID9fAWxboQpOArcudcuzCgSesBJEfG3Rfqr2uFrnKUZE89Jf6faudbD0Fjekr'; b += - 'I8soHrPCKyKycCcdlVk57MSItshSOC6/sF+GV948Lr9zfEF4R8RC8ZSke4oRX3m+FV654wisPWO'; + 'GZpSmtim02tAAchg1euatSDrtjZ9OIdb7lj2Tvtc2qEHYTj5+StZGTYnis4l9MwDsNLTxVe9l8W'; b += - 'GV+33hlQdUeOWBdYVXznPoXG3Krty/J16ObePNTBNgVjOAPhNJQDuLekR00LR6RPK93R09EUuQ3'; + 'L/wBHPWWAT3zS48hJfYD+T2jjxs6v0+zmXg+Tq3DZ7iP/8PofH/3O1g9YZ6Xl2N8Yn3lIhsD5Ps'; b += - 'PNnhDNj2afEgB7R2Vi91c/EVjUF7PPRvVRCEj0ikgc3tVKsqqKeSE2R/UdEY2Rejy2zPCtxbHe0'; + 'a83HCVjr8PKCqixN4fJZWe2vq76QNOnf3ddeifUuZEtJQ4EdXeKpjCHYn/UZ6KlfR7T1pyOt3U9'; b += - 'HNeKKMtWSejyxxo6Kh9bK3bywkdrTaKgetnm+IMk6p/sPkKTFZ9xY9gONpCPfLCR7OWDTeQ6H0y'; + 'LiHvGn8wMcedCinzJkKDjl9alzWqwv1fCXBQ+XBaUl1VG4Ld7tqwtpHNV/5cFdaTVD4DYrls9EI'; b += - 'RFn2wmQzqgy0kWx9sJS/7YJoU7oNtZHsHTICM8ApRXHl4OHOu4tGuIb+Dc0NVGSLtfDlsy8DvyL'; + 'F2fEqjQO+yOUn3+5gqcPxMG6BkydHbRkEuaALhGV8laONc09/M6puema/oRv+CjesOc/+Rs+7KY'; b += - 'SwKzPJnkw++zJfnZA7MCkdWzT0ts2nu4wWhqB6XOCeP9B25IEsAZguVsoZN83Zfg6rySHZ4yx35'; + 'q+IGyenhesJahBwx8zqOARvA4pf+eIjY1SSypIgl9yKlbBC7CkRqMKt2BU+zTvKes99RpbMItkB'; b += - 'LZycqXc7rJss1lyyYLJy3Q5sVJuc1mmbZaeZMEcZmvZXymnXZatNkshWTCV2VL2VsqtLssWm2VK'; + 'X+FQ3TAKTvE9/IT45yiQKlHm9T1xFldWukOuNOW1rN+ry1i9E3XKW4JgvJ2TJWmPBrxB91eJwa/'; b += - 'smBGs7nsrpRbXJbNNsu0ZMHEZqrsrJSbXZYpm2VWsszSObO9Uk65LJtsllKyYJqzscxXyk0uy0a'; + 'h7hBs7Ax1tqHRPeQYfC8SnH4nUeKBDenPZFnuJyhvfSEnnUxeK1Nqf2ULBqDyc/mkA2s9LXRm7q'; b += - 'bZadkwWxnQ9laKTfWitc2y5xkmaPdkZVWCXt0RNN3Sfqu7p8mUedk5CQI3P7LCl2ImtrZE97sEi'; + 'EaOs4NHpNaGiw+y6T7V87DXbGv4v2AtNFp7gtY496Wu95xyvNXLO18rUFQpWXeHw/c/Wa/2wpBv'; b += - 'rXnLErZeyEN7vUtNxLc7NLTet5aW52qWmFl+Zml5o25dJIrOommJo87SW3dtdzTE2e9ZKVi57TT'; + 'quAWWdpc7B4UIajv7BH/Z5XuOS/QD7wr1NFeM/Stp8kAXdcWY1o0+9zDrkSXxDpYmoCQHYfigD/'; b += - 'E0uveT27nqmqck7veTO7nqyqclzXnJ3t/Ak7gJSyEziB5N2qhZWO44J9C48TmL9QFLyYR8pIaJl'; + 'dvsoGF3/RxYG8BflNPOtbJjnr53O+SwzzgtpKz3omargtFKmEX4Dpm6wZ47JPa4L5vNMAHKST1e'; b += - 'yJOJh9n7EkkFcRx35HgnhRN2QE2AxyW1CHZA2YDHsxRE2AEJAx5PU/lgB7QKeExRhbIHCW+v6gl'; + 'fHuIk7arWMYaoUXqICtcN7QKYJ7Ho+K1gUqou9wW+FhzKJxevQQVjX8DV1TjpeVkJook7hC94yD'; b += - 'ydCXHHLlvMXR2QFaBcbsIQpRGFEONLLhWWdff3FJ+ph2p/yu6G3Ql0E1Ny4HSPWY+Z5h0NJlNkj'; + 'ypTwiPCo4Ue9rN8GY1eV/AzLLYuomR8f/KgCOrGl9D5KT6ThJ0kbjwYNMvVjAVhjExB/jLSBDy8'; b += - 'Fmk2SM2SQZYzZJmswmSZPZJCIQoArL7rFhCmQvSNrnBTucVNcegdHbHmbk2YBJeRhTwMM1mYnQh'; + 'xVGBT1TY2i1qSMinl5SHRcJQRSL14BUo+TZTx3ZU8h3RI/qotNuZRNObznro99e2CCQt21z6tV7'; b += - 'Qxt1ojnEjs8zOSzZj6SeUUfmlhBM4e5Lwn/sZjM7BX2Q8EqMiEcg44uMFTcqqwQqnaD4lZldU9V'; + 'XmYDXOj+Kn1emSiw7BY46VlSWYKNesp1fOetzLvjoOlw7gje9w7TeCxqWdGNL3pERcLte3oVvi0'; b += - 'GhS3KitzcjtDxa0yVKreguJWGZpTnQbFrTJE3CpDxK0yRNxqoCw5+yRE3CpDxK0yRNwqQ8StMkT'; + 'QpBPhx9zHaCS62SblGVROg/jOI93PCHSNhRacV3f2ScTMUo9TLGKuFOV+dIKSEsQW9OlElwwr0T'; b += - 'cKkPErTJE3CpD7xNuJXCr5LLpNzDjddAvu+zuDB2VkjOOW86destZYGNp2fHJciWy47nahcp/Us'; + 'cfaBGlbJEDEJqr87l7AGJXZlCahjR2W1vwLDo0qPC/Id7g7o7jz1PuTCZ5QbvgUP2Q9dIQ4wjbj'; b += - 'e1gbkfyk6kFx2oPwu2iFpefKSVS6Ry9L9PoP9obrVSkUyI9dI2sbA/exWdiWLnfmts8w8TZm5KM'; + '8cn/CrAq9Xib3gRT/WmDKGMumss5+1EA6u6aDkd0uMwDY9aQmvaXSNdKYZDlE18ePIn40XQ2LMA'; b += - 'Nbl/52ohIVSbgF9nmC5SIDx5hC+wjCMkjLFekmXB3hBSKakryMjqLDSSpGMIKrZFyfiKAhjeqZz'; + '3ITff9fjrdj3pPe7pr03PTXROy6f7Q9NM96yqdqTrdxz1O9yNeOt1PNdqn+9fOMd3T+b2j0GLhJ'; b += - 'MWSB5IzCtDgUrSxYv0HxDsFzFrgIn9EC31y19iR7IsR+kQrPYZWmxmNDiRokEqn47dnIfL3I3uI'; + '5ju+9qnu1QcfrZ9uv/mMzbdd97/KzTd773/2Zvux6ad7u95wuk+8jSm+/YDT2W6jz0D032ilkz3'; b += - 'wahDjKOGiY728aW1vFXQKahv8XdX2osqGsvPLBWhb0ESSGhdCRxIKiaOqkZhXma1wqRWm5hhypw'; + 'j+p0z7YsuCRzwzcls5yR8QIjOt135Ke7vQ/T/ctPPt1PNaZOd0smcLrfi/ie+7Ppvt+3FsIJYwg'; b += - 'LPY30Lujo5XLtUt0XuHj8yXy/SVjcbw+hZNsu4+891EbMQtYaTsjyUDCNxmZ4VIkmhFGkBlqxEb'; + '7z63W3atSl+p0tc2vq3W8evz+xK/r1+lR2OND8l5UV2ReVFXKU26pTnUMkchrN8Bq7RoFKCGQSe'; b += - 'i01em0erGPA37gfbu9WpNMUMcKDwHrLJgZoEx7EI5NiwaAd19oo0T8MA2CWoygk7CeSb97zAdfW'; + 'xtjIL4+F8Im6RQKUF8Z3IRELmdfjxJeap6Hi2wdDTVwyNqxzm1pYfTlg5oQ+nzuL29F7e3t8ZPL'; b += - 'QHESxHgRt6pXv/x8UK2aXsOlIDlR7cf8bzVQR5cyPNiPhVLiO7iFxTNG1vuZDiSIwfKc9aI2841'; + 'p3zlexQgqqfJNrJ4jvtnEVZYRMwl73Lh5yKhQoBlSdfSjgKOq8qN10eZQhHofaBlqNwwVEUIFh2'; b += - 'e2rVFs/LPXFMn6JbzcsjrE0JBSZta42FvV+oqg2U2eHZH6zQsCCM5YRhUV6HVUSUVSI3O/HZwaG'; + 'VVOb6tRQI2tw/U05CjfHUbhTOAo3x1G47RyFypBrX7YchUkPC6yyauRe04YrC0gL0KtYbK7uJ1w'; b += - 'YQQ4QE/vZB1TnUjyrwPgOFy6SoW0UDNe4d60gGJ6cYyjbMYYZhWr1sGlB8NKUOOXdtwSaA2RTd3'; + 'ScGUDiyvrWs+rvmJE+Ior6+dxZX2LK0vHaBQeAFfW50uS9FVcWTfFlQ0SPfcMV9ZVr2b+FFxZVf'; b += - '+Fyzl3Wk4K5CavOPzGV6Tx4pJpfNA1AGVik5eornVsA0Hn9dbyEkLVTdT4gOekuQyvCnWxOejn4'; + '38Jb/OxDP9Ol+z/MMptSPBXAy/lHo81PWTdoI5BzqBGg5micta8eesbLk39e38OXoEp49n6Hwe+'; b += - 'JwMumJpr32myoJCDHGQtrU/dgYEgxjFF75lvvbixoNoF3oM/7n31M6z/8JWvr8FYGLfKeAZ+4fd'; + '65iXHKNHtQlOpP5hYl8O5m4d7p565OdyD3IGnYQTJXRXex4ksQ6f07BxKP2JftKO3KvNDH1lVYk'; b += - 'btM7LOjNMeGTniTmPXtGjnt0a5ZEYH6/qkUhFXdejaR69pkezPFpSOoySR6f0aCePTuvRHI8e06'; + 'C76jbyTL1YrsfY5MeZ8j7e9z5LGn9D5TrWn2P5ZY09z5WKc1TU1fC3gU2XAL1DklYDhl0FzNwUa'; b += - 'NddO0L7sJdgwD7wHTwgMyUPf45NGM6NXq3kvPSGzle28iGkrsykHmltgYxvbTMK6Ojz3QZw37A/'; + 'hmKeAzPRbKyONiEgy0nw70gp2pAU60lJAZnc6QGYuHhhpD1lA5gLZe8u/k/JRKaWamChPztGmlh'; b += - 'QFbHF1eBrkZCT0SRggvGz3E8BbqI4YVOEwCNUzmHU+Y4KvxPWxZ+i5H9jQ/akS1REoZexguLucH'; + 'J+5qPXYo7W/il7BUCMHvzUg/pjsaQhyOM0KkI124m3wwoZPzjZUqVykFjeNfTTRxFiIb779CGKX'; b += - 'et6nB8v5JcafrI6NTpZdUiJhkbkLVzYc9ih/YWynLpnNoM+cs7n6de2Ja88g78pFYlv1YLyePtu'; + 'grxrh+pW/MClNH71K9yGN9t6/e0Tlxa7X69kJ2JBaDcrjrYYY/rqFI9PKAn+epe7oBeyFInhZK6'; b += - 'eq1Owbp38jB3pOrzkOsqUQA8ijNFT6td1Jjwy7OwEoUNOHzvczgpeARF5pXLsWaDeWRXfQwt6kI'; + 'Y3dEmlPT1mHum6Dh1iDfO0x30BCa8EDHyjXzohPoz7jqL9lKS4qZtIQniTz+tEXgy+qk+i2hhXu'; b += - 'mi4iOAE50cVbA34ntmzN8udodoHFbbwHxhLI4yO1ZFx3mfsFvUIqFuW9zHKn3J00esPsj9g55/U'; + 'sYhJr1i9ZNciJ3KliEWurQwP6KTl5/9Z5sUnikPPIoDdPBflQba7JVlRLLDO+4sG2FYB4HvY1xk'; b += - 'PgHU/7BtH8waw/agFW0TcVykhLZ9fq/1zhYYwPkHxjCm2pgbEEBYdJ9LRDZrHZykjInLqFsU2Hm'; + 'Mcg66RMiAQZf9JytQhtL9M42XQUXBjhoPCpECAQ8VrNe7ga18llQy2mhVYt1WT8+cdJaGewj3BF'; b += - '9oofUT6Uxrwqc32lBcVTkThnZWUuPQwhqbYZOCgNQyU3N6WLIrzTO3g7wN0qiXJMw+27cYVeMph'; + 'A3o8qC3oxSVpMvKiO8qRVXMKl7sLMHwrIzT2xtZuBpTllqmWihOKLdKHKqZsrxKHNOP2OLxOHAT'; b += - '+k+SI0++uTL8jWRjR6XdXJm5dmX5HsiKi0+86LZe0nk3reWk9SStsWuGlFZI2ZdOmXBq1UaYked'; + 'eEAZd4H+LIP+9BDIe8aPvi/n4rTYir+bXVcg0utCD1fSvq7oZ6moa9VqjQfo6sy1rK5Vy2oPdvB'; b += - 'omT3vJqbx8I1n00Ol3nZzJ2ziSBQ+dftfJqh0n8qJ2+l0n5/K+jmShQ6ffdTLV6eCrh9XCb+csf'; + '97a5VD7+v3Znrsfe1u1Y92vFc8wTPlYcel7Vld8AGDHqvbvYieGVzDoJRF265Br3XNntgqx601N'; b += - 'L3ptzf57txw8t2pJ9/+5Hrn2OS6HJtcz9ppclpPvlNvGs2uY917XsUjbzqPT1DXTr6jevKduMl3'; + 'LxZ67teskaD/B7JAjv8LXT0UFL/V2l5mIpJIQdbBNLsg3GY8rvlM3i1f4+X+sDvWi/oqmGf4A75'; b += - 'VE++I3/y3f3DJGpBYwhYBbgt4WcjQQ2yHjE92ET0A5yX8EMsRAH/JfxsJp4CLkz42ULgBbyY8LO'; + 'bMtHvZ/o+Fb03nPrkiws2TF9KVRjo8FqHpPqRXvVOK0DFNv697U0cegcbhpTDiiI4CZHnPhYagM'; b += - 'VCI3BBg6+wbQP5Dgx3GblaURrcvu5oZIgbICLixUTqvMk3oreNEdMQp3EreUGK0BUZ84bC3cYP9'; + 'OPxmtzXmD3N4mGwUjxZkHnd5LgZ+qL2uPJ9n2VE9y+xWJi5KjDstmTyL55BI6jFd8Y/uFkL3T1w'; b += - 'TdKbeUhRUtqjP3Gkt4GE2UqCk3l5NW6KjOXDQW8zC2ChKsubWmvpd5qrGsh5E2RWa2TWXfCirVm'; + '69FUXbu1VzoVAS6qs4lAeGqtRIal4gZ1m9Kgtn7Y5Ww/Q1HJA3bqxSeOucsiARCvAH7PbsscjeG'; b += - 'acbC3xYNJom5drGUmWXugI5906Z9Rf8PIRH95wKQkblRqfbY2aikPMpO3bd0UxYzzkhH1FxnDjn'; + 'VEwaRu12hdlYYRha7y4yRso3mqjowoFDdPa3S+KjojCgXKkxrtVxVqRKHI+JhGF+JL3RQtWp/94'; b += - 'hHxE63HynBPyEUXI4pwT8hHdyA3nnJCPqEtuO+eEfILuM25br3TE0mYuUvx5YvUR+XjJhkUuOsE'; + '5oFrRGX7KhqknhxM43NT2M9aayisVghURcKkb5nf2mDWRT/9Gxtw3ozEN86un/3Zon1x28Znfj2'; b += - '2HmCpeUSRIg40Z/NW8bev4DTsQj79Bd2bEIVjGsZwkTTm5gVVzqO/KeaJxWvmOyxl0TMcJjzVFG'; + 'LRJbED/wZ3e9tyCx+fHD+9//74j1xZ/92BduLUlsXvz1/ff/BWKN+IfHv/n2P5JYPX73J++cRLl'; b += - 'UTaFZUf4V0ZcrM3m7jLAgSwvYDeOpT9dWgxUtPbLx+9Szumg74Hk7A8YRdlEREg+FPHKOnaf7G5'; + 'S/I4vbLtBIkH80Kcf+bi7Yb1i/Yebja9qCarTfEO8vFmKT3hN2ecVsS+2coGW9GMp3rwOvSAV96'; b += - 'ADABFU9ksUdHESCs5J/2s3hMZUIuRdQ7RJipEFg/QhMX1TPfIEC6Y/9lgqkV+d/00TMVa+9aBXT'; + '3bpCpLJSkgyaZhM2RuJnkwCwR8bj67nGZLHSNNQID7OMYpwf18Kd4C+DQaJYT/XY8FeIq6MTbr1'; b += - 'g0pAfgNZEOI2uGxAJOLUrL1/RzBb/dEXdDPCtPqxSyb8yot2LwJxxY+nMGrfUh/LHPi30mGgLMA'; + 'sejW9fX1CvhOA1aZ4OiSQUKHD4y/2eH/+rT7lHuL8KqGQux16I3Z/Caka+8Aj1O0GljkdYHsrj/'; b += - '0EljaJzPZJQgU6mBMIenpkHgOZPkZ3iEtwG5ic4UE/XnTcu4i3sGWU6ykuplz0CTGxw4u6lILRA'; + '0FcHTcmZZxVF1qrXdKpNSYqMdpbTB1QVUw6enIT4SEa0LPJzs3kC4TMUlh7/qM6RKhaEKvxrKAP'; b += - '1Dcar4T0mUyag100xqa4z/03FLf9ucN6YcFX+cmj5Pis+2gNNJsGiJPTx8ZMUPRVgyStmzVuK72'; + '5dOfe3va5JxWqoTSWqjE3Ll3ZCOz6M8f0hv/i6RImjS8vd46WqbFUXiobBheznXQWeKesOPvtUh'; b += - 'MpTu2MqN8+NHDFeLlDXYVr8pcxIMSLfFvQGLXWCxbrqSGb5Zq6bysoJkBgVfEU+RK2IkkrbAQzV'; + 'Z/3kPSV8tq1cwl6gLny+WLnM9KVcYbcg57XIm821xVkxqzS2fk6mpkl8HP4fJUBcPsHz1T4bGKN'; b += - 'kxybaZl0yQMcLhSfjIU+cLwJ6X+pJkyPNWFamjB7gyYkol/NVuw/YtpwNanbULg2TDXb0F23LBL'; + 'OVUhdvSLiy18ZmK0gHpUniqEskatwNejSfl1sV75e4/1Oq5rg56kxXs/2UhuOIeu68s0X3FYJF4'; b += - 'm76ZYeURX/dvEe1cbhu9qvicupfV/lcrvlwVEhOvP1s4gWmyMYqWPbVKoSSGTFPADOzmSl8L+I8'; + 'b4fT9vd2OGmXa/te3Ed6pttH9PSvgvZMVlZzX6mjtScq9qDdHgaW4VkWQp5KTXviVIW+GdWXeBm'; b += - 'Q8oGfPm9ES1MHqsYt8Up/6nD6pX0vCjvrzCHPPTgfGiu8IjAEjDuvJnjjHBAdNisXk5k9hVyBop'; + 'IoGxYnzTsh3e1+w7f3tGwn97V3vCfZNfsxfBfPW3x4ifaccsz3PDG3ek3vPckG16Q2/DUoaRueL'; b += - '8iLc0oERklogVeH8BvwDRIfqx6CVxe5tRVEo8AgwYeUst5D6M9OXepJlPieuKBA8m8w7+SYe+kD'; + 'u8bMPjd5+y4W3Mb3gF+MQMpt3w8Mz4oJ9seNuT4QenbG0bHvZV3ATsi/12j+WGh42v23I/7RseH'; b += - 'fQ2HtWOhjK56ZcjkS48Nu9X9oyo9Lka1VMy7ftC4fuBfn3c6KTtww5mVl9YcsAPmTHNzD5QfQ9+'; + 'H9Ou+HpmUbnpOM0iyiCzJzX66RDEibdFx6QSbdjug1Pq0w2vLr108b9TqevhS7QrTBUT6JQbfOs'; b += - 'kZtDJGhYbm+tcKnAO9OwVWaSJCKmKj4HKpYeb/tcBSEJNkHyOGRZpqMbNTST2esFVC76IXYm9Zo'; + 'TXCy8QkRIjsfD1es+qJvd747KYiFBUkS2ZlEdiSR25LIWBLZnkRGk8jjro2cSSKnk8ipJHIyiZx'; b += - 'mBlpjVJWZaYoAS210pahaTZ9zAnDAsc5b58NT9a85G50a2V8Xzayhb5Pz2yGLVIaEsiZXAAwamK'; + 'IIo8lkckk8mgSOZ5EjiWRiSRyNIkcSSKHbUSGm7t++n9Uu8IO4sTfRm8s0P2Sa/bJbSqtgsyvJV'; b += - 'QnLWjPEtekeqetGLiRLu+iDUwbdi0nNWqK0UVTnKb4/VDEhZTERtq16U55rk2MiRrI2uTbSrk2u'; + 'uHPgA2m5NJTgkbBRO99ZL+WJauz96A1BNZ6hGbup5eXuWjSV0OdyRlIt3wOhM0yTTupt9n2aawY'; b += - 'S9nRVXhBKvxRdN1O/OvSDV/0bTIpzJKm5OKn1bLLnkfLZJEgnMR6e1tfLonOF4fq6iarrEeVYiW'; + 'xaxY5ZkJyWYNzWBKRdvSC12xywl2x5qzu+YpdyOCTYNHFVbdrZjlrBjlqgjzwbCRbfdMW2Dwhuo'; b += - 'pvbvME2LeNFb46pPK2GTq1i3+GVZ2QJcUKXfLWRt4wgbO2MBjNnDaBk7ZwJINqLddbL3tYuttF1'; + 'u2EbJC3z2FW5BnlTGlRki6dvUFEt+8/VIGnJiLYESo9onnyHV9otHOx83HStYXXnHk6IJu7hfiJ'; b += - 'tvu9gyIcaWCTG2TIixZUKMLRNibJkQY8uEGFsmxNgyIcaWCTG2TIgxmBBvqE9RO99tOw7iXvKI4'; + 'MsdbhugXPDn+SbbKyi1ezXbzK0127i1etE6pXSzKN1XQbr+e38TrKvBrbeNVCYdSTbbyuT6jrNp'; b += - 'Hk9VpULi3YtUQhBPpcIMBEjSfy58CmSYVTjX91QSsaGUtrUaJK7tTbSDqVx0abGUIqFq55DKfWv'; + '7NUalgv4ctfW42/QtGQcqP3a9Tv451rj5lH/+5l5Sz97ctKdjH1YsWF2Ts48XcPv6Ttn380UrHP'; b += - '+1aGUuqGUqp50psMpdRWxg6l1AylRAmvPhlKEB8wHUqJHUqJHUqJHUqJHUqJHUqJHUqJHUqJHUq'; + 'n40SPbx8YRz+BPusN+utO3j36pc5PxxSffx20q6jx8OdPcaD3L7+DgrlIU0/Pyzu4+vHUn38ct0'; b += - 'JHUqJHUqJHUqJHUqJHUqJHUqJHUqJHUqJHUqJHUqJHUqJHUqJHUqJHUqJHUrJf/ZQSnQo/UISJb'; + 'u1z7i9/HR9ksbp/pPr4m28cv1oat+YXt46Vaxtbzs8y1LQm0JYCG+/s8i9zVis90sNT//L7ck7F'; b += - 'UTlbyWxImKrAOE7BBduMH87K39YXBQbOASJyij1zpVweK/sVMV7C7MP9SpKlKg10NCArtXz+XIO'; + 'Nf9HXJ8+d6ZO5wa/IumGlPnyFPPzejm740l3t3XC4oxsO5rtBNu7wzAy6ISUvYPmhdIjbPsx2lS'; b += - 'fu071QVwWUnGneqitariHfqG3sh+ZXpiliftG8fLOHb4gfUqYoMCtZpeyRKf647lkO/c8QhaV4g'; + 'IlRPhlXa1h8ersdYJaOkZ3uMl5Uso/c3wOtuIFfMELvWWYS3A05cZfv6tdIPEPcm2d+PAF/7bjB'; b += - 'cpLIk4oenxCGUG9tN12vwjGxbj7wF6IRm+GXPEgazYaPU6Pd5ol9a41mnS5Ezu0qEKt4uRavDsD'; + 'b+Zf0GM8nf4+lr0KTm629++ekpf+7m+pvQALuiTzr5BO/v6p9vZmMJPrbO9mlJt03f2eHDOznaz'; b += - 'EwwqJy9MvJU0nf26JfELc/PuhcxvGLpJjEqvcJNKGei5UuNCUC0270KwLlXZNtWrjQyIbhLJVs4'; + 'zpbb850N2o2dLQxZ2tvXam9f9Yvp7ZrKv5RYPZFEVFCEvNFqi4I/aWH4975E1o5ouMZew19v+C1'; b += - '4ffUY/+pZsLeIZyNSPvgU/evrXA5GTHwJxWKp+9Bn96IldJy8nEgcp/eizmQHs4YYffXoDP/rs/'; + 'oFNeW+kb1gWvQpvRxm5rZjLtEOU+UCSInEfeEL7V4hTzdCldbsEHgkiNnnOfn2MyQM1HI7pksUj'; b += - '5t+9Jn1o0+bfvSbfQf4//n/vRt95JXiF/n50PnU/0ES7rSr/CE5W5SHJ6l5eNKahyereXhaNQ9P'; + 'tUrpBziquzz5zRigrzkL6jKnF9Rg0mJ4E+od5K6m/g6NnW3iVxrbubsENaMzESXpp7A93CtNVoz'; b += - 'XvPwtGsenk7Nw9OteXh6NQ9Pv+bhmRACnsnSkpi6rY6mTE08JlsTjsnWgP3iVKhoTKHIqUWIakb'; + 'UW2nfoGL7ZtwxtcpK2xb/BibUV2TyN5gxfrM/kGvGeWvgHv6MUbsPxcfQOWho6plu3XN2DZhXgD'; b += - 'PG8WHlMoJZfNkXra0vZyooiBFBpFgP4EVIbQTK39z0d7BRvw8OKB0+b7BFEGqg81EjQy2EAQ52E'; + 'll2sb8CysJsKL6p9/8Xe+aqNDjFT1xLr6N5Kc7tMF6S5syHNZTyER9E1UiaT5jK9Ds+kl2ncSnO'; b += - 'rkyGAaPw8NthE9MuAO8onBDBEkQku0FA5uIYxkcCu93sPBDmJJBpwonA4HAwJKBkN6t4eDbyGqZ'; + '7EmkuEwOIe6/VuAPx8FVSyWCr6donN+TJDQXnroRbJQqVBAhfyaTMBqkZIIQA1pVsGdYrMTMahM'; b += - 'LBTQCU7wehTRuazvaHcaP5uKqfM383lFvN3azlt/m4rt5u/M+Ws+XtLeav5u6Mszd9BOTR/v6Xc'; + 'dCICulrOGSCgJDlbtXppAaCq6BiQyJGGcjHoFhjafaidzAWXojw59pmAaQafwVkoiD+Ia0OJ9lI'; b += - 'eXRxGKgU4dEFLvVna8l8/I9dnXsRnDyPJ9EGuGIqhG52ICDJgYAkB1ybKAZcy8AMH1voA6Iqk0F'; + 'CBpgKYsSLB2pBmAsAkS2TRsz+upuBQu+mQC7+Z6tc8N7/CVNJik9axMe6FKX0SOGHufEJ2puPRF'; b += - 'bMHdWdjQ8Zh5RXT3dfA4yaQGXnUOs7e44vjicWJF1083+guWkLNPlyNZmtvaKrJg2shWyvNdCtp'; + '0GhnddE8nYj74Psy02Qvm8JST9aP3dj8TliIzFxuwNxJkl2FkahbWteNR0TzVZRtKa5u2KeDDYY'; b += - 'zZ8hVZK21k2yDLghmytZittSKrpI1sG2U5MUW2jNmylfH1UZNtkyxDdpEtZbZ0RVZGG9mmZPmyg'; + 'L7WgByL5+swBEYJ+2PxpA2iIzgLTF8egbxonNZPANq1RZlleaD30Xe6hWik9hdkbV8AGIdi5sNv'; b += - '2xdZgsBbTtehiuyKOrlrhdFdUXUdMe5hUWsrsqaaIqbOGViunZRNEPMpgXi7WRVtIWYjSYms8ui'; + 'kb8fc5/F3C3+fKeLuweZ7eILHnpbHBNLY0jT0/jZ2fxpalseVp7AVp7II0tiKNvTCNzU1jtTQWp'; b += - 'OWI2mJiWXRdtI6YwMRaUVU4gZtLEtO3KaA8xfRMjehM14O0PEofG0I+V8JrCHScUfYOevmqgn+l'; + 'rGeNDYrjfWmsdlprJ7GKmmsmMYKaSxIY34a8wACqvEh5+PQvxCS82PUwxhy7kEYDDl3IywMOR9F'; b += - 'gFmnNm61qfbnSbOtKYqL+GnJFY2WVeBlhMHWEBjBfMN/1DvjxsBajL8fifDiI6LhEdzxupBLtYb'; + 'WBxyPoKwMuR8GGF9yNmHcPaQsxdh75DzIYSzhpwPIuwZcvYgDIecDyAURuP9COcOOX+K8IVDzm6'; b += - 'EeZt7YkiXFsprnm27evYTxI9Rr/FaVUJbG1PmeGVgEXRCA0j2n9yCmAZbTrokFgamN6wntKRsna'; + 'EK4ac9yG8YMh5L8IXDDl3IVw+5NyJcNmQ8x6E5w85dyB8/pBzO8KlQ84uhINDzrsRPm/IeRfC84'; b += - 'wjRyGQzn9UaS5EKlkIgKilwFMF2AilSAim63HnvwSJT/vsY/ioxVxHRx+ZJu0elpU3QjBN4m7NG'; + 'acdyJ87pCzE+GSIecdCJ8z5LwdYTTkvA1hk45sSjIpI3QadoIK9ePCf5DdCpp5FdNv+qCMV5VNy'; b += - 'oAHlCl8QBpEgd0LVAMaGbkQ8BELUIA1xCQucCRU4Q9MJd/kg3Yf4HBdmNg+AhCoemL6WrxBCBHZ'; + 'urllGCiJbyQLBxVWW2+gb69k5JVHN9y30bH7ii2eFhcwkLAZlb1xFhq/qGHnnesMl5p0LsJP6+E'; b += - 'EcCPEJ8mYXNttyWMns9gyPgRuQPPMm/uAB2I3ifDMzSE9TCEywT+fRKnYz5cC61hT8DuAZQSi4r'; + 'bk7VzE/mRgngsvI7Bum83axLPG8o0ddUkKYdYRq5sCQNXoJfrcQAbAa5MXhQwKuaRWaxMeEetGG'; b += - 'Hk9esp16m4/qUaHyTPCkZ2zV3G7F5hjZ62DgOU6ij2xPNl65wwbL7zULL/gOxaSx/t5hY5vBiK3'; + 'HrFOV5HlSMFEAw+tS37MCDcBSfKLQMlkTJuUqe/hxuep87AQkrBiS3Cnx2Ip2lYeqoTUKtlW69v'; b += - '20RxsZAKLx/MANbJwAsoi3eRqEtWoNtWOQnZHFovy1bGV6xMlKmxUUm9mRJKx/Q7eQHV80n1vxh'; + 's+O8s62z5Q1RrKq/39bHQVu1Qp3l9thX+HrsPX+CEtDY9ULXNvruOk120c31K/yO4SFnMpOF7V4'; b += - 'ouAAZOGLyyTFs7As99Wr9HsHXJK8XcqYh/YGZ4nZnVi5uHORIBroUoSWCQEaFaz3fXJXaefbXk2'; + 'uFvJEuD9kbWyyCI+IogWPhKFJXhNdOUMaYcz1Kkmc5EYbU/WhLuD4d0tjJpMtZLDgYs8X4Bjz9c'; b += - '9CryFPo1v0qfv7gdv0KeUvJI+NfdV+pTVbbNrH5Y+bXN+07IW9rr9eokwh79vY+bZHzK37KUf+r'; + 'NR7Qy5gv686t9h1waquNbNEEBPUina6OV0mkrse44OXtMV1JpZYlSC39+LaPpHQW7D3iPflrsGH'; b += - 'sbM3UF/qsdM09jG3lszOQjHSrDluv2WLodK0I6njLX69wzWa/XE+n1VHo9ll7PhRakzO+EHXbnI'; + '5a7Bp2fUcMOz7XQlpUDuHLoIk4LH5HEuSyRcE2SVrbDe2DeocdeuqrQJpGYXeYx6ReqG5FyRiak'; b += - 'lY/XUe3RUwG+kLDzn190KN33iNvTvZ59gZ93r5xn6fr93n7nEAvtM/b7PPY7/MYXU2nbDugpWpl'; + 'TQ10HSz0F8nGKPfYVWCow8oYKQXMoRpuzKUjDQdkg/j3tmHjQV+EzCch7EgHjRau9eVzUe9pOZ7'; b += - '+wT0mDmO6XRm6mn6vIueP2E+1uzvuNHfUn9y9b6Fmoc3qbk8gTequWjQs+Y6WjryIHbZgIel5l1'; + 'Ma46oYmNOy2X4w6pL1L/f1u9CL6vEb+i0F8zsPNSHBQV80M4LstwI+8XoHWoN5W8vL62rJd7nax'; b += - 'T8w5rztGybu3/fr5hln7EDLblH/m7e8PUFfiv9g1zWt0wr2TCMY1nPypugw1tl5pgIpJkXfd37C'; + 'XWIrBe0fn6Qg/m43J5t/H7nyb3vtPL13kXMXeHhp9Z0IpadPeLrLTnq6zTZD1bOaCy/dMdUI5kK'; b += - '6N3Z0hJJVL3TXJetokWY9Asq7LTsp6II6E/YgTr+hvc9UowqpRZFeNuJDn+FTjmk81rvlU45pPN'; + 'nEsC6wg/WNXc2JTRz4T+gromTCdaX3S4r4V8GbefkJrWPtnbleoDna1qPlWIGg97L8XMjfm7Az/'; b += - 'a75VOOaTzVey6car8OnGq/Dpxqvw6car+VTjcf5VEX4IS5+IXabJ9dDlbPAAqmKOIuYLmnJMGmw'; + 'X4uRY/V+HnMvzQ1dbF+FmDn5X4WUGDdvwM4mcJfgy9beGnj8656DJLIdBhbEFtDupyPJGYUU/w/'; b += - '6rpyMl3J/0d0fmyMboAV9EZYvLxA5cMGFW1g5TqpxuVF5utFUppzHSbbes1O3nrfCuOfK3hXMrG'; + 'PQEz09P8Pz0BM9PT/D8jhM8WO6bHiEXIQ+cBfFbb14e2GNmJYK33kwSiFSK3mxGhyQQ2W4uOxO8'; b += - 'pX/PxAbIkPTdS93lCW+jrJbCWWDAsg0RcvIjivSP4VogHzItX8M6+eN3Cw3m/7J6niMgtJoQ87M'; + '9UIS2JtIAmdBEjhLJYHhf4fN1XIF1WgXufXYQzKICK3AbYWyOPTE8q++ajnYGJA70IvQdQgf8an'; b += - 'FdJulbR8VfRqC/mDKTWimyGCgN9/So+Az3o6dl3aDgNndMp59C1hPghRoK20QOfBh3NOfIvxEJ0'; + 'PIDt8jaD6xCX0TOEKKhRalw718L2qmqp2X1DLqCWMkMKLc2L78H0gZG5dt4JW+LDHFMCSyhwOR/'; b += - '8Mc4B0Y9jdGdoSK7AgF2dEq/s9U2o+m24b3Q9mN3wVQZ2w74Y5gn0WXYPla0CXPfF7RJRa18tTn'; + 'WyEh8EbSl1RorQKyvXbKrVeaoiYkIz1xoqhmjt3JQcpDBOxYOh0sNzqb05V42ulfbzTBje49FEk'; b += - 'LWolxqW+dU0X8sF4k6W//HmHXTE9LeAiAXCY/sdElLNZznZTbIna3YWpUbGS4EsAYU3T4d+qN6H'; + 'zQrTzz2BeEfynKp5xdkftVmdiEI0nZxwW7XTqYpkhg//uO7cqtgVyt+z13tq+I789yqzCJwq24q'; b += - '4voh73mVbFCGJIMI01d5AvixwAjdYX/08jIygenEciWOGkenFt9LTqBqABN2f1m3aa26b1ty1X0'; + 'iXFTfty15ryJnSKFA49JFqlgqeiCVJGCIrRy/Dd3Cn9wgfIHfE+w+qz6gidiFLgk4LWh5irsE3q'; b += - 'nlwzW3Jy4kNL8nVgRR1RNIR0JCOFko9eAcwBqVNk8q/mchxDhTP1MqhPBcdy9Gxc9waBGEIktUi'; + 'rDBV5lWw+I0zDZClhGvZ7YBqSI6fRAj/AfvbeAS98j2UaRguWaRgrZEzDjkIrO3KyTAMEtZZpOF'; b += - 'awaZwqFMHP9u8kdkTZjiZ3gI3CfULXvF4L2fXK0V6pzu1xw3kR+GwdqdfZfrhI8zJH7Lsl8Nz4w'; + '6almmYgKRhrHAOpmG0ACXASsI0yCMSpsHKgrthuU6mYaI0lWmQ9ncwDadfnzENk7WMafhyjmkYL'; b += - 'AAjHICE5LB3xCiu2cwBfDTaKMIueg14wF7f9zItGHL7fFuQ6+EtzkxIOLjxOV4QryWIRkuhklTI'; + 'eWYhlVkGlaRaVhFpmEVmYZVZBpWkWmARHIVmQaNDaaxpWns+Wns/DS2LI0tT2MvSGMXpLEVaeyF'; b += - '3vFuqAJ4ccs3P5DPdAdAUWKohjkhWXcbATABzFD+YkT+lvAHgiWz3zIMavJLK75dj6fW/SuWXx9'; + 'aWxuGqulsTCN9aSxWWmsN43NTmP1NFZJY8U0VkhjQRrz05gyDYz/F9OQMQ3Qslem4VjCNLxneqZ'; b += - 'R6KpPJbnVmVUf9VfM5eg4H135Vh/2/1sFyIbMMhHSbL34XS0kvxZbOTpQysSvJKJNQ/MeQiwgSV'; + 'h5AmZBqFan5xpoEr/FKbBzo1ngWn4aMY0fDBjGuzzpjAN+8A0jOH9zhTzTMOpYp5pOFGcyjRMFi'; b += - '1wGa970iFsH3EcozqbiAkFF7/nRbQG/D4mKiybA/9io62TFg6lvo4z1G0zviT9QPfdTpqK/nw5a'; + '3TALEVH9vGNHz2HEzDkVrKNIyTYK1ZGr82hWk4Xmv6Pj2iTc80jFcs0zBR0+LhbyZLg2Ua0l4+U'; b += - '1aqG6FsXQ6BpPPdL2Mu9FtkK/isgpkO1ThJuLmmevV6WBCQCrOP1aOQyG+P7WkQeAdsLaOQPiiD'; + 'GnpK6Yswn6mnMql7GPKiWIb0zBZXO3vrpBpmEgqkyZPwzQcqxlfmQbJVzdTbBT9TLGReabheA1M'; b += - 'G/iN+vr2a7aqfLcEwfBpWoxl5580vcH7Mdr2Rra6uI+1Dvb6BpKek96ORxwep6b/X4t4MQTRCKY'; + 'gwyb47UnYxoeu6+daXj8vnam4fR97dvjyfvamQahxZ+EaZispUzDaCFlGmTV1tMvMA3bC2Qa9pd'; b += - 'gSliLNt1cvUd1el6k30ubBg/ESbsMXsW+O16HmxcN2Fjf/yUxgGG4X5XzGZsTLSMV92R2dyfihR'; + 'aRCKxPMK4p0zD7iThDJmKE5WMRTjFlMlcygmmHK+0MQ0TFRlRAZkGfSaZhqOeMg2HPWUaxr0c0y'; b += - 'ZUeQ+MukA/jGrZk+flbTi0jhrF+nn301+wuYFhd4G5jPipOx7VuBV67t8UXQtmuDOVNC2nVM6Gc'; + 'DMRzvTMO49EdNw1GtnGk5VckzD40HCNOz3lGk44JEGuA3ba3zQyx0EfpUS+bNBG9Pw0+Ai58slZ'; b += - 'hl58MvQJJyDFq64yN2KbMCco3cTZsKabWA4t3wRia8KJ5VAZJ5bD9Sgn0AHnUYPTpBRZDhvUE2f'; + 'RqOlpRpGCvoLjta0G2WqnkhlSuUwCqbUJmG0IQp01ABupDk1xWg2Wru9S6Bzw3dLgvhVwKLglCz'; b += - 'DPfFS6jUPHBUMLqWj4iuhBCS9WKVbz1IK/yqkXCd9y2Op4JtsmdGpdJjuia8lek1LQKUXOpPa0v'; + '2hBgDHrAPAQ5ZHS/TQtC2IdZS+CnoWZ6hR9Rj6xUrtCwnqqYaRhoSPhlpfOlQ0DsRjVpEU+pwYp'; b += - '+PWDgXzqYAUWXb1eYNJZPjqIgtR8XZj6G7YOxffBzM6+uwVcRcPhTP1LRbs1CAMgPhJx51H0/ut'; + '451AyMLOEzLYH/HUQ9LU8QT9LHmAJ81pG0CM1I+hrnQQ9st1cdkbQ10DQ1xKCvg6Cvm6P9qUZyb'; b += - 'phX8pm0zmYuK2QVT9l8N6CniKtnHrUEFqiW/LnscrBVXW0IOTKuJBpYJpPqsvrdlEeGwTgcs7p+'; + 'G+NsMe69e1Gd6UZtSZOn0z6toM7xzNsAf6dTSjzkZJX+mBfq890D8XdzFLmYlg6nl+D83dcJ7fQ'; b += - 'lV9P2IcIViex9PyaRNKhkQdmYLwe4b6zRtEa2F4oJ2thmsKFWwikArQ45GbancNwhqBTAddNj8B'; + '+m3xmSE94C/6LH8RQ+o2ABBGYumR7wd5S84Z3xZm98bZOjqnvIXPfZE35OkXtULBH/Q0GNgGhyT'; b += - 'klpD4xXw0hVYtXAAzmxmpIrQ79n1P9pvPexUexcIxBaxwn7m520/tlwPmcCKymAf7eCNGd/WFco'; + 'w/Ab4HwKmPDgMHw6UDjqtVgrLsHHwG+95TCI+DPbhJbDmI32hm0cxmzlMGbrWhSSZg4TDmOCa/j'; b += - 'r8nWrDJrLcbtJa+I7exJJI4VglloTrgJPaAfz2RMWn0y5n4IQrXvi154OqEK3rVz8DL8kXVPvY3'; + 'sPIcBIlSWzVLGYYyX2jmMA14bh7HfszPv6XIYMuWeEoexvbCKrZ0BhyHvOVMOY783lcOYLFHRoW'; b += - 'MYXVk3EvzNxz8P7MKdhM+tQ0maOgwyijh3uoZfQ+d96Xt2GSPFrXg3fL+K7pquwh5LCj/LUZym4'; + 'GZxK7ksK3LHrZ12cO2LoXb5mFbV3rY1mUP27rsYdv91nwsdWDqqQkbGqBewp24RDQU2LbQbI22R'; b += - 'zGteQPip39ZrNsqXwqfrwl/8bVu4OfEyzlnK3kSdTn1hvE6fSG92qede9C51/UW91OvunYhd48Q'; + '3UJdv2t2lL48XkW88sas/hq3YJeDU+7apu0rIVSjtbjaT2e1nPiu0k9y7Ueh3e3VzeYVJfggdU+'; b += - 'fpDVW2Bh8sewyO3Artp4/TttpJxYhjGEgxmjCGYXgeJnpdyKk7pJMc5wTWfDoKQsebV4zsbPgKj'; + 'Y5sOOYpFxSKqjLG2OKyFRq99ih+k4J/xbYeFEPyxR27cCf/NVzOfkIdy8kTL6dBesg+2HaEi/ig'; b += - 'ETkeJT2TDDH2xZVatwnlV7LxEn1sPG3lsy77e7sacJqyrFtw1bNZf5BYJD4i6+plO8ph8LJd9p/'; + 'SUpwZZJZX0xCi3kr18jz7TeCtYY88JV6thsSPIn7gs9auMQ7ikJZV9+AFMryMTsMP+FhMjDzUCk'; b += - 'T0VyglLMB+fMO90dY/9AQJNvn1UfZueKzZlHKxrG6ZiZVgAsymr+BBbPM3NoTiiA31qO+VL7JRE'; + 'Q+S84GpGANPAKLg0EzWZhvWWg/Wnp0gmJ02HnMBBgjsfD4kjXMWZHr7gG1vHVDLzEeDuE8xlELX'; b += - 'OsW8D4HlFw66Zt/2JEcu+zeMmoWjGA2csbzCjQYTRwy6yBh01Tc+R4T9E7anpT8AOoc7quUZjPR'; + 'Dezc3LV6slVoyi6pxDq3A0/6xs3hxL0VZpKGsWSAm5T6v/BS/llaWQGyUfYVx5nH/+09O8fNf3s'; b += - '5iuR5kjw/k+r8McEQfz9muri0AyInYDTiPl4OESk56a9SDXyZnsByu9SADcpIlYvk8RensJ9KZH'; + 'G/kZCl+NBaG9YSGY3isvcwvw2OC38qy7bQuseJf6g1GAxw6+fpsJXr/aH0QPAT2Kqeb1pqDpRtP'; b += - 'Vk3qpaYOObm+HcIOemOTfSubfO7XbuwHNTnvv0buN+XkhfyAxDBplQgbizwlxDhhtLO9UTZh2iS'; + '7NL0vTe/T9FDTwzQ91PSyppfTdLqVR44DU2wJ5LkFeAKpvd1apY1aBX5MRG7+dLpk/FZ8VtiMFf'; b += - '8Mbq8IdVNe3SAcGO2nRO4j8g9g/SPyD1D/I/IOWPVDgkBIxwbkbczTe99C51BYPVAAsWInvRDbq'; + 'HDxJ1dF6mvzaCleETuSFPSJTHYRMC67msa/I7gLrz4dYSphIuj+PFdDzrhGzwqn7nxbbc/6MSeV'; b += - '0urEgq4TxceO02OCSY+sTQo16eERJRFVAohJ+OBBFrzE7i4vI4IG3sUJpWheO7ClBGuuPZ70Zq+'; + 'j+Kzd04I+HvyyDkflG7rbNN9MDiq5FZ1h6nsz3Wz4WkXwPDw01Np5G4WIoc2xrnnK3xstZ4+da8'; b += - 'tYk3Fl0JSVZNq/1GFZs7T878GRHLVa0qLKvS3p79rlAmj5qJZXGU1TTYoUe2y2d/JPTePC/ZB0f'; + 'ZQatWf2LaswuoLflYcwSB6O6uMDlgNJa1jB8qRcQwyyZCZgHyaKCbTXFnetL70zQzHBvFBDNbK9'; b += - 'Hp2o7XXk+l1xPbf0nd66n0+nhSqEk37fV0nXFW3+6/xQuHDa/xYoCVVx9ZWS2dXOzKa3legU5QB'; + 'wHEQC0rNqbkmpt3Q70P80cKuZp6XETZIH8sGJDzsWLxLQjtT/9xRAzNRwni5d+orIJRoWnM2Tot'; b += - 'jTTwS/kgPoJC0nxk3lfJqcU+QyK11tcbga1AFHPxSUQdb4oltJd4lYAopHKWJJR9QKMrVAX2czb'; + 'yvDipgJb3ceSWcSC53fj+qX614Y7BVBBnhtuDhmVh7/67Ye/q0qCDMziO+RRl34iUt9fGprkLhi'; b += - '86WMXGdmtlKMBoGFwr2bU+XPR6I1KHCGhN9UAhuwcpbCvunJazPHDX3GGDf8g2/aI2j58Q8uiEF'; + 'IZ4tRGRzibcCIfmMbin8nUW/mzchctplj/CaEBMsNKV6kb7iob1VeFDE4H69/RxAyc1ageR+mty'; b += - 'X/GHLiveYC9IDrLokFSQBqumvur4M0tBmZfmH43s0tPUufqxlLKBLLt9F5Lu4Nh+pXFFvr3SWyb'; + '1dr/y57RW6RlH4KJKN5ryBl3jW2mDB8XOTBy/zA8bDvhbs8WsFlBBgmg2PJBeDM91ijgi8UBKyi'; b += - 'NetKFJVPGpHOoSosFouyDSLohcF0QWzMFa2y6IbtoFUum1NRGqW9wC2+sm4+ciRsTHQTdzrHrOF'; + 'szf5cAnFv9mUJWAt2u6sVPnc/tT0rpn41ACuM/B18t3UXhb0BXweKtfKBrlaUWVNN2BNOh1fQgv'; b += - 'Ih6nbRFw9mlBEp6QWBK7tr4TopOa5eQClpCUak0C6H8oLLdryRhy7xnhkIGuVTwz6EZEDiR1YmA'; + 'EVVrps39nER5NKrG+q2hvbjXotJl7srsf7J0a7tCD36CIJb3vnzyTnSx61Pa5HN6wnnmJb+X0Ym'; b += - 'ir/vfuXCceF1D0SKiQoF2axwXcmEIFcZxXzGuShyOVSmAFyEE/RPrGxQsjhMGCRJ0YiE5PIwwZC'; + 'SccAgXFd9sbPPV8cT26MzMJVlNcLnocDjDDV0w8mKDTtlGe2nATHDiaLeOEwiOaaFLC0xwvmTPG'; b += - '6MDwrIbJBiXcIOlSWcdGniS6z7pIQ2aAYIhsUQ2SDYohsUAyRDYohskExRDYohsgGxRDZoBgiGx'; + 'H+G2fl0ziLeq4fXV/UobZyUir6mgv2qLanfIsmpn1cbazYNnahA8McUgeKLdIHj3T2doEJza9o5'; b += - 'RDZINiSNigyrymvVCf+VQx9S1jHs4AI6s8DeaV9ok0DE/+vaPMov6QihF8kw0/8YS7IdR/Rp4bq'; + 'laGIwJd+KmYp1SMbCAvVB5YSHyGqUG1QhriiXVkB1KjYIf0YUFMmjiw2HeJ95/8wWgLXSfosibt'; b += - 'DVQCUkMxWhGHnvw51IFScvS6FdMNBWQ5Do2GutbVD+SOtjoV000lY+kfjb6uomm6pEyr2r0ayaa'; + 'VTK/C3oCX6nQqK0Ojq9m982Wh41gASwBQU/bgga4lFwWwtE3py7VXQWvUVkZZlJLgyKeOzzGe2v'; b += - 'ikfSLhu9ZGYsVDuSNtvoUyaaSkfSHzb6tImGypF0lY19zMRS4Ui6kdHdr8aydAERRqEMafuUIW2'; + 'rSh8IZGB9kPfMWNki9uARWlNnyg1yg4ROYEnP5LOMeJffaFPW+vwNwW9mo3RwEtfC1GYfxFybs6'; b += - 'lDGkPQQlHqewGZUgOypBcKENyUobkpAxpC2XINClDlmKPMqQFIhJShrS+SZQh4AoZtEzFcnDada'; + '9mEOHQCaTDEbGkQHzBm/p7AkugRboAK42E7cT+nImAfgSIsJP6yoGwjK2AtkhtMHDj1GAZ+TYBO'; b += - '1nWovGnzCvZ5Izc/ulmdsvzdx+aeb2SzO3X5q5/dLMTcozt1/awn5pS3fsIKOuLB35eiwdrTUsH'; + 'xYx2UFYbPOr9lisPOb5ri9f1EvoxnXwcnOVjJChdTac9t4etJxpUKKyEZexXeWRb24Ze8QWopjW'; b += - 'aCOz4t/1GDpuLVsO5aO0+6N07acbjm2rMHS0cIV22TpMEV4p3dUZvDpJMytD1RKFDnckGLlDDZm'; + '3nY/hNi3LZLOKbxrPl7+Q3k4kvVcSPJ1eywvcqXvXs+LZHJfGNkph0pGsNuJUsdWk/jB4CfkOuh'; b += - '6V1qVKlnH10qhPSfqlLc6hSXyHnQcNP7wssqqvRWJyss7rU4bmLFM5/OdsREJ9NaJ62GkoRN2qC'; + '1La27fQFzzVGkzxYy3ei+5Mqdm3RXkxlrhwM5AP7bg1ulpgZw9X6GRS4AxUfXHkABGD5P4yTVrD'; b += - 'OXo40J+iYQ+piRbVIE9PdaSGJpsUfp4WwPV1FoCIV1EpcWvEp7Nt/CkcNsSoeSjz2hHMvCy77/7'; + 'mRT/nZ1pns60Ew8dsjNNuYBzzTMn/LSfoGq8y6X/9OzjEpbUb4clVTCOKMjBkoasOWwpZTxgYUl'; b += - 'D3/lF2HNW5aFd19zk9c85ILXvAY0uJ+5w4L+N77Yt4z0h6xo+oZyHbQoCde1ksk5Ws5T+SFdYZV'; + 'dhSUtW7fVbspfhFEBo8RPVhtMhNVKcmfIoX6ul95qaXDwPA7IDHCQWH3O7B53UtJeyFNlexy8sG'; b += - 'h4zUhSvF1sasAIC20EYQwQxWGAFKywJlMSAABNGtrAF2DA2JojESSaOCEowiZIYIoMTv/q+vau6'; + 'L3xaO3ke3BRxCmRz7trtvIodDt2QTid/9xis+GncrJmCH5U2aIpcOroQFJ9vF2uzqGFohJF9Wml'; b += - 'z5kZWeZH4N4bC+Z0V/+qru6uqr33t78vEyEoo2pSM32MvTEq5L6C/DVuevqxWFqQC7JVWynSGuy'; + 'zNlR5d1eY4LKBi6/XTjw9JYkjcN1y7xClKBAVNrerY/wEX7KuGgM3FPh5GXDaPciq1Qk264RSGq'; b += - 'OBcsei3BUrVhLGlLiRcjcu8BDIOEVqcqU1vc1eqvuWonUeOk1WzVLRIZueOQkzelUHPJV0gsEMK'; + 'pWlvTuhD31JkkvtJiDy8PB5F5KnfoDaECgus8ElpCdGZfGqP6DIvYbZtQa3TUSohSZQy6Y0gK2m'; b += - 'DiwswrsFVm7LCbsdGtKfPG62AUSAZvVjanOg1nfdlyHYjCQNzmPpHL+Cq5z/PUM+D1mmT8XKAn7'; + 'W8PXAC7aWOlzV0Qq3LxFf+Grw5CYic4vNV0yWDKZwGdGYfyFGhfxsiUqXeDYlQEpgSsNmbNjdtp'; b += - 'mj5fb3+vlZ/r9Xfa/T3av29UtATPf2P2Jb1k7BwqZwnAKuX9lpFA3Rf7lN12+DipN67HMpjyH5p'; + 'lZgWaVkVVuzyprVh1Z9VxW5RLw5cgKkRWaSppVvUQZ8guBuYOfappVu4SIJJLVh6w+U0uz6pcAs'; b += - 'ryoyPbSTSF4/LZAhakfTV+PWhpEx3BSaw7jMNyLBOi4IJYg3ovcTM8WK1Dz9vaaTtBOichn2ZOY'; + 'wRZA8gaMPU0q3EJnS/ydRrWwXE5PjV6yJGUbZvbXg4t3GzK8el8bvp+Se6ZfC5esWJ9/aYlHs+X'; b += - 'z2dbyZ+iQduWMCpoO/bOtMPPUvO0ikT6Os9JUCL1zJBfTbSUU3FlYpytHco5d77b34cMCM8k/gm'; + 'wJtWO0uMvi5XAi9c6yyxPV8C713vLDGWL4HXR4ZpIOu2JAsvT3TD5NiFM6+QXsg8KCYX6WGMn66'; b += - 'THQ3OHo/L/YkF5m9tU7njYOzRTyTaZj8Vxs2uYnhtmBKXSc1NNIsz2GsoAaCqyv4T9+CKF7emBw'; + 'YwdZnckh54fuDn7s129x0H06AJelD0rX2akG8D1DBn/d0TnNqC7shG0zBpwgkttbPsF+Oq1dExf'; b += - 'zWx9QIVstrFIJ0BDxEzEbvw3iX5LyPGQ5HEVDYBiwEnHDbMIRQhxVDDdZ8Ii0+Cf9AVl7RFp7aA'; + '4mJWEjSpy0aGtUbAGKqZDN/YLKlDjja7U/TNFIUyBiTPtHsM861mcuN/kmCU09u5ElYqvwi+B2x'; b += - 'MpVhI4vc2eunuiYRfBD9K/FW5jlZsjrrWpltmXYVbE5t5SuNErPFvUJTArDOX67Zx0qctOhPQlV'; + '2VVleuzzq/3MzK69dr+9eOy9+lkxlPo7U3y1jednLfK2qh1UJrSAvgYlgbgZ0ji+AA52sDJAx67'; b += - 'eXBMcZ1QJwTV/q++a5tmuWZ4PpYRkK4lfPcC7a6YQeZkEyfHk1LSrjgjFRnJR1wgxMQmtqgx0TW'; + 'HPfxjgPyUw6Hia/NlK1yeSPXpYkxuUzTXmahhGf+1bw05sZjJ2S9/3PfmmDpBZctckO72hJkA9m'; b += - 'zmYTzhv9YnvGf0P+AJ+7GQTxWPeKeR56iPeLU8Pj5ibkK74RFjA7SM/REj8oi5/3I84p3mR/eIr'; + 'dJaTAdUOOSbamhFCedNoIZdpm5b1Ve8p4AbW4Ld3nCHw51btvdZXA6/BzjfvounKK/2uhS9bpqi'; b += - '6o94p1m8Z+EMsr/IY/4qvojPqvnGmHgEZ9FBlI28yge8dt0sN9jg/v1P1CJ1fiEXuMTeo1P6DU+'; + '0tuTVDkLGCquWOiaSt8NSgLkHTUZ9Bi+b6LjdjMmjSBFfNevT09CwHTnrib717XD9tfHCX9NFO2'; b += - 'odf4hF7jE3qNT+g1PqHX+IRe4xN6jSb0ilkxa7rx0v7dH4O/b9YM+nitF1yNKck63dEx2BnWltV'; + 'cX2eik5MwXMWiWckHwuSUWhF6fiUY/eaOP9nxt3FOmJmGA+pZ6JXDSkHwPE6oAF6yAJzkUBZIJP'; b += - 'LPUawlv+dyZc3JP7dYsjnfzd8Kri7aw5bmAiFjO4YGd3uC0E2t/vQWvlvnaffnXshPgyImKWeiQ'; + 'X2XD3/HVJ0sIwft0230i+wReDGhAlVE7VvaJ3T41M7YUgaGvCiv8dJ5A+GlHbm2Ufk2Jeu4pPpF'; b += - 'Jc6QJsIrmDKEMo5IkAjhV5HsvsZYT+Cc9MenZbPZozYwVIexlf3G4Drpy4SK/C2MZYEY4k28VF3'; + 'PPqJfQeAdLA9kLYJMcUo9lVsM/GJcgQnlvGuEJC1tjN8xOhqsu3x9Q8eP6miWrUNZOpVSIG91Pg'; b += - 'fiqESt8Zw3Mvl8kkQY36lmiPvUqzqDZMMJzFi8Cb8abimwHyZDgEO4h2WnGCnkL92ew3F1bXHOW'; + 'OvSbUtGUllzYjpoEP7D64E0DBOgG8fshSUJ10nrTkgCfKanD+nED86mXjkUH+ZWZe6lBeCgnKVg'; b += - 'qaUbRxLq1jy4f1Y4SPM3NOiHtLzU6upSl8ClxMC0MzMvFF0kZGHv3+8Dw24MLu/ZH4LGZIpD7d3'; + 'nItBbU/w29THUHyh4Ee2gJoSPnf8bPSi/PjuyUIP6ckvPKv3qso4QPHDn4YEuGR2NvU9JUwWqLj'; b += - 'OLYGRZKozz0ky+6Jw3UJoVkREiLCNcfJk4b/zb1wbjwsSNik8EH1UALZ5R8RiyqMHZp3JeMADdE'; + 'YSAb2On3Sga2x9MaTIkkFvAD9xo6R8D/q/vRJRYaeUzF1mSuDsnDzrrr4qIyEN9JLq/meMGhAq+'; b += - 'E7UygBLLC8BOgiC5HtdaXQirxUzrFe5bBTkae8DuJbbgbJNUG91mDpv0iNr6FXj2B2Q3DrSYJb/'; + 'rVzc8bQ+ZAKQlcEJws22Bw+PVI0NOMCX1YWeaZPmUQe3/S71i6BxzrCNnzhs742JDDPcRzruYwM'; b += - 'yo2MTVGjAd1sd33N71U0SrCt+C/6aaCU8P8/IGGZn37lOgTkQe5gFFYUsBDAXl4TvkCwZcSS5Ju'; + 'O9ESSkUt3WDevixZsuH1mlLnUHmImfvqaXIz1DgEtz3m+k11pT2LS+9jrywOzcJfpqA/k+hKGKP'; b += - 'KdKem/R1kwrvGxORj3mPXx8XLU+/zrsDdw7PWYcK86ps8VAgQje1g0Vn5FqC2vRmTqYqPgYwg0D'; + '20/J98hCtIUuwSls8+1+pgYkWBuHMUQHImDTRHzr5HvMYip4+a9PhtXHdxYgCuf2FdoGZw+J0tN'; b += - 'NEI4zAmMcdbXs4emII4ziAXB25R8kBu21He71Kx0KLl0rM04OCOmWSS4lk2W6lQPEJjiNzMouQY'; + 'AUvNO1z1o8xWF+I9ux5UJ9HxTvpVKUhMF5sChVZYbAqUVoHjKujZJHyn/F5yIqA+ZmJzhXKukGp'; b += - '8RwHJFrYHWDbTg6mqdTTyu66kwIeEG8p/1rEiuDW3+SeRxGXnAMVwL7gHfJv7QilwlmG5xzWwLc'; + 'axYec8Ell4DlAZ5Mh5IfZKpwBQocJYv7729iMjDf1Et40CoK12bk0GC1Z3r7Hj1hOzwtSmoB0BW'; b += - 'jwx1YxjVVB5jfChUNRW0+zn6+I9siqCyLSSYirrZqpP3JCiWSb5z9NoCWuqTyw2Go4zEE5m0QxV'; + 'DFPVXQVJrA8l+ZZwJOplrkKXj5dPIAL0d93OLqeRk5lOWOeruJnSu7sVy51tk02T9FS7RofABE/'; b += - 'VivBXDlGtZa4uXZekU4ioW0ixd6K7Kth32pT7LpGtX9VvUr0mPanaiOFvcQ2bYiOcNxvSMYqV8w'; + 'OYuCpfbABEj6b0AJ0la5K+nQVRUsZWLcm5tUxvpY8XPspjqCu+krkygruuO6EuW9egqvM8D1VXW'; b += - 'tB2PJfVitlV2kGqlUIwgM+zv3VeEazVdfCd0ubWeKIbHopK301KnsVikGx3UBYU+U8o9xRbljOT'; + 'oh5JsMrQFKdY1suJdYplpSD/b/sUVHm22pyTILUgkz7IRbofJ1EaxFH4YYWEhxgnfB0kqUxS5PZ'; b += - 'W0Eo4DHqEiNsH8VoDNUYVhpuW0WGF7euBwpSIR+m9RMu4ScajMucBde/lreP61AHjtvoKDgwXzg'; + '0JvjWBbglMn8n/5LTiyi4Dbv69RNxToewYlpxzj/5Xlk5foukyc2nyFGv4uYyrdLUB4PXRuoSc8'; b += - 'wW7kv4CqnLfxoV8hFiYiDaX4Z0Swi3J7g0ZieHQaGO6KyzjTRl+G/4ONxdmmk6PBNjtPsoVFrvm'; + '4Pf+SRd9XT8AyEWHhfIvSpYSjYXhkkwCHW0UjRfoKzDo9YBY1G0MAOqM5dXsChGP4WUIjlxwt/y'; b += - 'iCRQWjGxGI/rHtO7B3E/3OwRZwM++Jlo8DPR4Geiwc9Eg59pFfykIauBbnL/Mfh5KtLz88kWkUw'; + '5SMew92aDfflJIVL1UhJ7U0OBxu+CQ1ZYoKo+PcyF6qqszYb5nqxUJwb4UcXffZK+VbVK5cpw61'; b += - 'vkfztKo387ynkf9+uYfp5eeACRJ4VMJFwBboHccfhKKRhzKozRZWu8j4tLelm99Slp2dspaxnMb'; + 'KqqorVJfSBjfG0QVVSPQNzUVdZxTjQ++NREvydWVae2phMoS8VUIpaoUSlXl7+7kLqgsLzCU79a'; b += - 'Gr1PUoee1Oe8g9jYmZmTfOzMzsmfk715UdxGB90Pbyz4hYnGuTKxR0R0k9N+WGnh6gC1Nkdpdqo'; + 'ajirTQBHfyVxGqBMqEDDwP4UnNB2FtnC1tRbOkjxDUbrpvUFTARnglenyhrAIiasqp/ajslvfag'; b += - 'Tb5TZLlIpMT6gUCSnEs1dyXlngaYsoKynGqsxXyjDLAPAZO696ayR/CeVucag3cmSaVLLiDpHal'; + '80ysmUyYFZlolPFD7oW19opcQTWLKMxMIm3p6Ns4ByRyaRvikRWj8+bDFXg2ysUekrquvMSPTiQ'; b += - 'JFwp0Ssli11JEJshHkhAoEQdrJLfESHeliinIdBJnnJUe8p8Kdkd7Eo0epG/oJA45G1i/ryg+rt'; + 'tVX9DL8+BL5BmzqeNuoMiJ1yUfTRlQt6AOVgVK0x4qp8JQFYtiY9wXATNwYVUheVyzcY0C4x93e'; b += - 'o4bNuOpO/P+DhPzl/f+Q3oi4T43tQg84uUkepM3oKLQgZL77g4GDB/GABelD2zSxo/UlizvWs+J'; + 'zU1Jj+966+d9CEGbDaAqKnSjQj4CF/hmgkDaKdmB/tiQB7ahPxanRX8sqLyvAKdWCfpjsWZqmlx'; b += - 'aOwZuNUoCmouVGKUmkfCBY0c3Ua0gY9rDwjBgEPcBsB3oREZtbhpXlMCXdSo6VFaKb1j0LK2fDp'; + 'jskV/JHwFgSvCXT6hXmRqxg85TW2B9gSbBWlcQZi4QDi4AF88IGw3+w5yGTy6kCUtkJeRnqnVEo'; b += - 'HQro1h5nkiwdZ+PlXNEUrs7hpVzhf7jPJ3qc0B8oy106m898qIbV7Iq4n2v5FT8zrVd5Fyre307'; + '90VHJSleaSXWRK6m2L+iI86wIKnOUg1Hoo8lTUA+4j0dgBWxa+xKKBe5RSYQ8ap9s6zZksZvHRS'; b += - 'hgjXtfTbDxWtYqRYXqwozi6eV5wD3o562MksCDuNcbBYEHZ6fr24CjuN1oursNNZ9eIq7JTXi6u'; + 'r6UWhprDuyL0zu6c3fMarujN3fH3Nwdfbk7+rM47HzT8otz5Zu58kty5c/LlR9MnxxPPt+etKXv'; b += - 'w07J6cRV2ateLq7DTcL24Cjtl9eIQdmrUS6uwU1IVW2Ws/5b3PVlCZ4nuVO1ChhaCcqGV6W+kyo'; + 'pfAoQTz5z4r34iOWb+roT5xcvf+auxj/t9zF5H/kLkZ/lr8HLqzTe27NXUxuz12MvjF3sftN+Xv'; b += - 'URLA43t4FyodBA9JCxIioQXaPKhRH1LvHajleZVRGn07uMPEmZVX0oltl0pNKFIq8DYmr8oXSh+'; + 'ekr/nj/P37Mjf8/b8PTvz97wrvfAsQhh3qHKmEu9A78jhsW2qPgH/VzzJxV5ZV0UeGcifaveW0k'; b += - '91lJGcqonZhBBR1mHrPsWRfreQoS/ZUJZoMsN6fHRPz44nMrLUeT3HyIdjN1RAFFPbuNVb6CwqW'; + 'br44DV4rMCclk5Il9X0VdFegpSuPnKFtifideTGTjwessMTMMB+CkHMKBN6k2IrFzDlVotpxS/0'; b += - 'rHH1oOzGfGDPIsHFbmFekRPtbwpHuEUTwcdwiJKAkeBDFGStbaWwKB73zqbU6+sNaQuu02WwXBW'; + '07x9yUU/65LvIu3NmgNHoxEA1wIE2RBPzydwC0RPTemG2EnaoxH9Dokr9KIx511XBQuXUfUJgwk'; b += - 'abwM80IOspRICsn5LBcaOy9veEsDT7lnf7ddOxtaK22Em7WNLC/POjJESFnJyixnCrjtq/F2YQI'; + 'nN3K8kgeThblwIa+DT0bugxLqopYkioKGHLf5ogDw0f2Qoh5WeVG1uF57gJjYW58VWTxY6tcZHl'; b += - 'QCYrto9cz5uTEMRlkSGjJ3wl/ppyEr3YsyK1laUEEUc5CSFnqJk7EASqtV0YgVcddZt9pVijI3v'; + 'ux3ICyh1YHls5B+X8fKXpGQxqsEyDFRqs1GCNBhdrsFaDyzS4SoNrNbhegxs0uFGDl2twkwav0O'; b += - 'idurRzvBLlNMiIrDxsOEC6x1HOaCS3bLzIZ/CTEUADiTuDX8Off1Xd+XJznj8/kvK8aSbyJ7yaE'; + 'CVGtyswas12KjBazXYrMGoq+F2G47Z8DYb7rDhThvusuGdNtxtwz023GfDu22434b32vCADQ+mq'; b += - 'kmMbrjMSI+pQ3xzVt2qeXljV5qGgMjnSak0yZ2oPTTMxZRKI+cSsULwRGn8kXYSe+Af9J+QwZnL'; + 'gmTTqtZipfhuIlftMTPBxVJOtqCqsHG9YrHW+IX1Sz7STty3STX68wtGKof+53pgTqKk6Ej9Fq8'; b += - 'ZuLFxkjaa2dBwqz2ybHm+4qyzR5/3/HPGzj1v5aqf+unzi073Zy742f/j58bp9bnpC+61yfI7m0'; + 'OQVBbBaIDbaMbaIQyuXtrL8wpRKFcXJb6Vhry3Wz3CkNwwhOR2y+wWgYsOGlYYFtmAfkzUhPO+h'; b += - 'QXfe/zwI/7tb/H2gq/9udYW+7XHuxb+yTWzvJrf9B33Hux1vZrt2FtyK/t6LveU59zay2/9o9YG'; + '0lAywoar+9kNO+HIQYFYBTFEzeYi2Ab83kYzcsF4P021Wmdcn0+s6r0+l1yGvT6fXvbw+k1738f'; b += - '/Zrj2NtxK8d69v2hb5tn/lc/Xof/ly9Lrd/rl7P38HaMr926qhbe75fe+Jo/Sx/fbRes68drbfZ'; + 'rx9HqA14r+SRUsXm9Pr5fweiy9HpRr18aXbVjP415i+OvrIHll9gor0leAWWLSfNgpJk0ftNpjG'; b += - '3NH6HX22b89P9q3dibVz/Nrv9l3hpr61px6o1/OfHqhf728eqNf6qw/Ujzv6QP2pfBRrZ/u1Dz1'; + 'r8sbTJMG5PmwtYxaSqMH5NmwhoyaSLMI23zPNhLZs1T/xmFeDckqG3yQ1p1TEnV050ixh+lkt6F'; b += - 'Qr8vs/fW19z5Qb8Fb+/a8BWupX5vxe7Z2qlk0G9xfIr8mVGjep4vhX9y6QRVWxnEWCJmajOAsEK'; + 'qO5CmWBbENyInzGN34Cf7Rq/Hj+jGr8WP5sZvQo/r2X0MvxsZHQtfl7N6MX4uZnRNfh5JaMr8fM'; b += - 'I1GbtZICRsMmqzQAjaZLxmgZC3yUjNAiF2kzGaBUL6JqMzC4QQjuMy14UrTkbkzdP00pr8ywYRh'; + 'KRlfg56Yt0aXD5o2bo7X8jfk7zN9f4+9l/L2cv1fw90r+XsXfq/n7UnvMcsnwR7/xM5xYXGqPLj'; b += - 'NZiAGRxVMkNLwFCrjYvCkSuNi+KEE1K7XEUjOzbdhFA8oK6LAQl99VlITD5zOsiO3qAsjhPkOWf'; + 'ZHl17inYLW3iWS8h9frW0za5MsKWTGWOB0UuCrb5YC8dQCZ7TAz85+/CfuNjM8tcDjWmDPyYc+K'; b += - 'mJH6mxAx3iONSl3ynSEgoc+CMurynCjYLs8Q3A36fME7oM8e0rT6XkCeVt8ZSNTq+wSZWn3rRKr'; + 'U//takF6J/2kuHdH3zo/uI2c9nUAtu1wGc+uPNOqeHyqQXGtMD2d3/rA1LDFVML3KYFHn7kY3cE'; b += - '22u6y/jAHLbhoXH4K+RmTn1x+MvmJyjAIugYZ8S/xMn2D2+HVbYV3dji8rEPhLc3C69kM72UjvJ'; + '28yVUwvs0AKf+uo/HpcCV00tsFML3PHls1/yt5mrpxbYpQX+/gPbJ6QfXmpzLvHu9Ox5IvQMSu2'; b += - 'BpeBOtfwWTn8x3b+CN6y0JTvZvwmxMYUSJ3GEOhSU385wWVwvDMR0rqm9mCwjrxX+WQPct/2haL'; + 'jDgyxi/FmofOLqhzTXgj+QwrhJfT8t/99nG8QDUwyavdmFWWuwAieImp3aXrL2dCWXpQ/PFzCcL'; b += - 't9Eh7w4NjkHi91gK1CKjcyKsludbdKcImbKSLyyycCKYiVESxA7VkCqqA6kiupAqqgOpIrqQKqo'; + 'tspODQi+GrTJHhy+n5XXnhwWadvuGb9Hpsml30Ht/sRtDXDCmzaBL3N2z2qJvkWcpDzzaujq1hk'; b += - 'DqSK6kCqqA6kUorvlFz5UuVW0ZT7klqEHYHX9SqiTdkxEepseLVck5J+nVJwaL8uhb7oAyFHmrv'; + 'jsr1OUl4y+PehHcGM2h//doLoLrAUAsMx/gw8A5mk8f8hEJpLUAHIYmwGIEayKjymQr26CGo0J/'; b += - 'DO9zNYjUVVtI/cHun8rpu7JW5+/mM7tAALBVwBbcCYuPEtRi/A8rTlE8z1awHlHYUmNAI52jd6K'; + '1IzddVGp3yxSpaFC/z2bTfMeHf7SjlL/ZpkM/Gp7o0Xx4o3mkr2xu2m9etwwZjbu0AGvpe03vmR'; b += - 'OiTZ98LFmVWRXIFuzETMoXiW4VV0uowqfMpLRFmn/aIlHoRAISFCzts2olIO1oFgiA9EK73671C'; + 'vNBulF2nhlVJ4MUDvpDAHvy18SVJ4FgrP1sLwU9tveliYE6GzcA8Kz9LCF0vhBWYhC3NSdBZeiM'; b += - 'OKIgHJ3gru9fKJoih2nPxRJAfC2CNVKWh5LlLkzxRxMmDvT8rFEidxSOU93uNxrZT7s+oT5se4Q'; + 'I9Whi01XwTsjAnSGfhEIUXauHLpHCf6WZhTpbOwt0oHGrhq6TwPCD4SGFOnM7CXSjcrYWvlcJzT'; b += - '83uSXqfFT8i8wOw6d409BSzu0Br7ZCIcrr019iQmjLiVlvcaJby/BPnbRaYbATu6j8lMC+8uWez'; + 'ZWFOYk6C1dRuEsLXy+F55g6C3NCdRauo3BVC98ghXthqCqFObk6CxdQuK6Fb5TCyNiLtIKmvVzP'; b += - 'uktrdIV1s3B5POjzBvKZDHUs6zCI+aJFSPW4fS+AKLfRGzvP3ofpePKVuCZcu74GPTK55CH53Wb'; + '+6OSjOo3YpwTwheOoi/0nPQ7w3A+gmdQGUGb6Txac3XsIq2cDaFCNoT4u3av3CpPvBRN50OJPcr'; b += - 'zbejcXp63N4PvKNJGdb0LqHjs+Y/8SnIz9S3DCLvoSzFvtTeQlQNpuCjZfvgR/wpfgqPUvwW5Ta'; + 'HXMyKkhGCitYmg499Us5uuJM3rB3BDckoKaTj71L7kGp2A5UPwenijmSotN3R+Yg9vOOI3pGMly'; b += - '6aDRl6C283Cl2Cv6XsJjtjwEsza8BIcsuElkIxfvgT32NpLsBf+lPI2E16Cg+1FXoJ5Z0oes/IS'; + 'd8xj7ecVTvSAbNEz7jbt4xoXckI+cJn7GfdxzTO5Lh84TPuJd3HNc7kjH0hM84wDse1TuSgdR2R'; b += - 'PGrDSzBH0IzFS6CpzgnvL4HLiC8BNuIlOMJnuPDuksXuLqndnbwER6y8BLNWXoJDVl6CPUZegnu'; + '6HjGTCvv7RjMIEQrOfXjB0WaBrra+fyXoK1bedijsQgvEb1SJZAZTi+xfocU5pKZQ8Fjlk3jKHX'; b += - 'svgS3Gf8S4D7qL4FuCZcu95vwEiDXWV+CvSa8BCCPXvIlcOaOewl+yhgf3SSj7kSUfymWYdttfV'; + 'fXVD+EAZoyMq0wX2VWGTjFXQrJs2RDgOLdgtBLLrdRCqubRnBA87AG4xICi41Gzcy3mUC41WCxM'; b += - 'rBb3NpJRK0GKyxAjRquCzx8LvFgI2E3yGspUjCRUCOCkqcI5GywPvSCsMo8TRGp5oaSbP9AMiZu'; + '+EO8AsprwdhKd4FYlnL8ZWO4ccaOF4bs8Kx2x59a60+D01sduFalrzldZEPRg6lEuWhWwOG1rwd'; b += - 'iErqw1WaQmMIusBD9+QggNdF1BDarpVd9o+yCLlNPaw15wPJAKRohcFsMjtqFckQMlYwJgakeNZ'; + 't2nhJDinAJqUq7xWEb0y2OHsD0Ru3pEqvClgr71BKfzDNmr/MDpA+GOKotC3wpxKZWyCHdbRVEq'; b += - 'F5wLZf5cvOO07zRsv3egNJMwm6lCWwFE+Q4AGpv+iPlYS4Z8VQiSjD2+Evfm4aCyaIAoQ+aihr4'; + 'SAUAC63rsC4lESVEozcgjWaK2m4YX1iTU8JYIqNG6jcezKRlagwAVqX8qMHUZYvrkH5tvf/Z+9d'; b += - 'LmfA5czDq+YzKhJCLoGccFJGggXKd5PVErxxxV/+km1acVz79SZ+faWQXcoXgSpFnSKU/wIhaSs'; + '4KzIrnrh2lV1zqnu06f7AA00NI99Cmi6eQwww2OeZAozzOBkwiQZJ5OXjjGJ8TCJgUwmLxo6gZn'; b += - 'bIWLnvE7PiJynncPxb5Xg5BGlRoEcQbCGZwwGo97KzkjPCNHHSmGTFwlTQK0bk7EHHSIiSc6aWG'; + 'pcUjSmRBDIknaSAQjJB0vXlG52kyItopJ309UVK6iH79PjOjX12DkKpG7/mvtXVXn0efATGb0ux'; b += - '1WqeRllUaIXm6gtUxShW2UuKpV7QCKAb3TGyj7eh3MLmXAyXMYGchmkM8cX2vZadgzl04fYOrs/'; + '9Dcrr2o6p27bX22uu11zLvLpq/diyB+SvvZL1xizmo11J1UK8Fz24xz9b+NtjtHXY5zBjoiRLC6'; b += - 'URHrSOJO7dZv/pTbeBOAGLd/ilnFRz5V7U2g4pc1Vhk4jwqSQ0+X8VSyvSw4mWRhIth0NxckPu1'; + 'LZKOX47y9fydt+83TdvN0o9lrz4Lw/BvN1juxDNmrzdSPmE3GVRmgF4iBpsBH/tdceHZk5yK0ca'; b += - 'iJpxlW1TBXnfxeW6U5RjYJaEybMf4k8oZOfkMTOmGu4s0Tv10Vk9X257I1M/y0kDqlDN/Oot3a/'; + '5tlMt41x2wXTFqTaMKp4QlO5Pz1RS4GnN0nNENUmdIVUY8rG3TBzpB/k+mlqPE2NUziXyJF+oe5'; b += - '4rs0yCd/bw/8Dz4+eiaxLaL0jUtqDMleRvNkzfwPrlgsy4TBiK1gkE4RIBJKzupEJb1BCeV2bbR'; + 'Mw59mkSV0uZI2BJB0dsi4Qv2nogm608tUmCYJE7zoEhU6UQB8EUdtOgpQPVykwgxJseBxJLaZKL'; b += - 'F7SZo0wBiCRJMpk6aJuYw0T4nGwaw9YFTyfu5loVJbXuTcZRgev2k3WRKuEVKYjZxVWnvFOppRB'; + 'RS4TwVulBoB6Ih9hoKNMzorCtxE0L4FBKyplkatxszMIV2FzCIXJiNTeRpXaTx8s4C+oVQHtw4S'; b += - 'AoQQKnlA8tWYKaMrWt+MbSx566slILldfGyLi11ZE8UijARiOgBPxpTmUQTUxnr5PUHKDMFeEZJ'; + '/MXdVAj7yLc2GEau6SxnRp5w+DGdtM4UxpbqZH3Bm5sNY0zpLGNGnkb4MY20zhdGgNqZIrPjYFp'; b += - '0M1AQGa9sZ89y8Des7iufdl4R4rVxrNs2xBe93dATxX0nioXXzp1ohp8hvwo5HG8HorQMr29cqS'; + '7JTGPDUycefGvGmcJo0FamQ6zo0F0zhVCLBu2RIxyS7rFtPiEQWGvZMK4y5Ti6Fhohbrka3WSyE'; b += - 'FORAonN4w0fCb9oz6/u22XuICv6anqAvbZL5D6CxwPFzAhff9ISCrnmXL2UQJBZpJ4KmpVoqUFY'; + 'AB41kiKew4KhnoHqNWHDWM4AHFpzxDOCBBac9A3hgwbhnAA8sOOUZwAMLxjwDeGDBSc8AHlgw6h'; b += - 'hBI8jyRuj/UqWoFHBNaCXjolqRpatKT9ELM99ydmDEfTKJtzXzJVRJD6FolnWdQKZEAEUMRXeTp'; + 'nAY6zHqdDdEAumprFgSjIHDrGX1SixPkGJ2Xp9FUqsT1BiljSmUGJ9ghJd0phCifUJSsyUxhRKr'; b += - 'd3IJV0i4aYWENLpNrJwlYQ+JPZ0toZHuEFZGJXwigajnSYiFKr+d50sYRqJS50iopjuClTGhvT9'; + 'E9QYoY0plBifYIS06UxhRLrE5TolMYUSqxPUGKaMHj1UAL+lyH2kIlfNKiwz0+jwpBfiwp7/etD'; b += - 'XAEgc5/NUWb74R0NutZgSmQbDeux3Nn0xpe55xXl9+0lICRcDZ3uRgxQelPAghAcdfHFuH487Q0'; + 'heN+ChWO+SlUOOqnUGHET6HCYT+FCof8FCoc8FOoYAMuMirs92+gwotABWILngKDgwMpqc3g0TT'; b += - 'pqxRcjdHow0qJ2vMR1pEgNepE3liK17CXMI0Vq4hdDVZHa+hL1kSI1+oGA90Vq/UsUSIrUDSBkh'; + 'ozzvXtxdAqRfvBQjnEe8Fu1VqL8DZsngvuOKk9gKE9oj3gktOai+YcFJ7wUXnxl7wQvcCKNj3qY'; b += - 'lKUSKgoqUqsholsVRRrmOje0A3MBPqK7bWv373OOY0+192BMhx0jgxRfsxiLMJqx1lspqMMUGI4'; + 'pFr+osenWdi16lF71KL3qVXvQqvehVetGr9KJX6UWv0ote3Vj0L3jRG67QZa5QEoCU+OC6XGLmJ'; b += - 'CyhURytnTa4uv+qqele5fMqNj8MbVxa2x2zkieXXMG6wHQnCkPdCdx7r7hPJzgVHRNAZx7YZ+yr'; + 'QlICfMuaUBKmHVJBFKCnUhSgZSmYE3L5VSsaLlEJgZJCILQdSYlSGk61rJczjACURaFmVjJUg+b'; b += - '3N9vZSTfokLxIVTTYFapjQ3XWLqwNzIu++phafdY+h+oQLVy+wVw1IpTh5fFvHY5KGnTuFXZNOJ'; + 'kyQHKc0C3ZFLjv8gl93gMeRyPjgMuYRxStKElOaBu5DLEngLuQzBWcjlAvAVcrkQiWplxIsQulE'; b += - 'lvJQm4WykfddvyHcI9gkPskoe05K4kXtR36FdiO6JKOYFTdf0kIIIAiFKq5ig+Wc/niW8iE3bN7'; + 'ue+jSfP5iMEty2UuX5vP76NJ8/hK6NJ+/FGEk5XIZXZrPX444MHJ5E12az1+BWDCIvoTCSiqYz1'; b += - 'lAoXOe+VvdzDB+qL5yIRCJvjAGuNoJfQiEKNGIiOMlVhOf9ftPLz7202xYqz+QKmcJcSc0M6dJH'; + '8Fnl4uEWDGfP4tkBHkcjUEc7lcA6leLtdCJSCX66BPkMtboYyQSxilzeffDjWIXN4BOj+qShwVk'; b += - '4vUK83Czz38TJOYG6UhHFZHJTwxSofuFTbW7rIgRaWupbjEuB3klH/0bInZQVwQ+GIhLY40LCrA'; + 'f7eZdSvsNGMcpKuFtbw4++7oXmljTaPUqXoCI+FPKtmkXAbHnZVQm3GyKAtrCx1OTQSngd+EykU'; b += - '2/xlKp3dE7E8a6eNGCMpiYjfb4lBp4FVaXmT4yYth/KwQ0jaVD4yFz7NYIUvufnJZctVfriFJd1'; + 'spM9D0xKtt7zoHZdzybZAH8lcbjEBaSxro9PH4qMWqCaDIfXZtUw7jFCbYbP9PpIzmK8RkUkQ1w'; b += - 'ZvGinlm+cWkk9veav88js5PbsZnOGk0omLZeXt79KQ3hE37dpW1869oZuIuDM1nSGxWyRB8SARb'; + 'sI9RmWZQU+RYpXkTEa4mF2qwR/loSoTZjhVojcLqSnl2cH9jNRYTcDATRDFKKEA3pIAo0hYjWNF'; b += - 'WdKOkOLt39TJpvaFO3t39SWTTnVfWubGiLsTD1nyAAXjbCp+RJJl4VCA/SCi2bYlL3Eqt7vKgoL'; + 'rT04kizCR6MouoUTeCV+l5uqRDvUAv1HdOEncSB1O3aHigb9WLdI9erHt1n16il+plerm+Sa/QK'; b += - 'F1nYNPQSJtRGL6JAwFBNtjZW7er0JV7yz83Hpg5g18R9VhTBTeX+iP7UbVltm86h2tyWeKlc3a5'; + '/UqfbO+Ra/Wa/RavU7fqm/Tt+s79F3Nn/jebUZcJlnZnPxxrHxMQJi71epJ5iBc10In/+VZ7oKd'; b += - '3GTOB1W1v+O1J2K5zrVFuby7crvOvMW7PFm7HTWOtGLr+LqJ23Y7uaa8CvpeT5/nYBzgIWQRg6y'; + '3g7jRjSFLeNxJJ7i97x0XllrGc8llvFc2jKeiy3jGQDK2hWt3VGskz5kbVg9l8HDypgas8Z87m9'; b += - '84F4VPdFkNNSkfLDGhRbVVTN1Zuv3q5UTEKqQTdqoz+vPrQgn+ouQOI8JysA1+Za0XnsPa69Z6Y'; + 'jtREM4741jOf+v2cYZwMzY+4ywVwxY8TWZT6A4bPB1Td+rGymzZb5REZNq0pa3ZpWqfeq6/m8n6'; b += - 'TqsbVnrheuwdv1aL2yHtR1GVm+3xODerDNwYG7X2JNG6+Lm/VoDH2uQ/EEppKyRbFacCKCDulUs'; + 'q0LrOj15uN+RZpSN9cafSMdtpzsP8pjJ/LdKaZ5VPoh9I1liBoFGuroolBa2wq7laip1QpPaWcq'; b += - 'e3+iONykKZRDVm5ErXUi+CRlicWyl9j2d9BzowDS1B82S8RCRvhh/cxyzHVq6JvCaB2j0Ixy7es'; + 'Muw6q34I6GK1ZSK1ZQ+pz4UNaWCmhJqyciDPm0ZfnrxsxA/Gj9z8NOFn078FNn7jz3AtPWKSwen'; b += - 'E19AMdzhPD8c/YQRl5B2RCwH809uwP+vgBEKHDKwfKDdSPluQCVCe9FrNoMy7Xg5Dnn3+iO2md3'; + '7RYFp6T/Qawk9qXjIVkF56Op+EpQamKF0uWEI/pNV09BSIM5xc+413COxeMDO9VVdorMKRfUVM4'; b += - 'Uj+mEVmmby7uKbycSh707ibXUE1iNV8wH+oBvAEasl7i0ZptcJ7IL7adxb9jM+7p2Sb5rOMMS93'; + '44YM5GksLN0YUxg3kqYKJjGOh3FlqEffkVsYPBLqCMa2NMaRUkAAr7YwjxLK4YnYDlhB/Ajwh3g'; b += - 'Zje0gOS6qT1M4Kq77RnTPrOKHNuV9lLI8Iv0ol1Oy+LflcWx3f+P9E7ZTHb+ZLo7aa8cQ+Jwvja'; + 'R4goi3MNBNZ0whfgS4QpwIcIW4EGALcSDAa+I+gDTEeZhzNO+FkhR5MDUQtkW30m9eA2ELup1+i'; b += - 'lAex8sT7fGLdD3CSp8NJYpC4RmWhwoZY9gEKqwGK98d2yD1yr+Ujvnc3DThQUuvG9WlJ6NNG7oL'; + 'ZLTL1Fy+iVaTr9EzZFfU89C5k3d/d5tYYV+k218bOFj+x5b99i2x5Y9tuuxVY9temzRY2semwnZ'; b += - 'CTOjWEtGhT7wQ+EhQNGfPppuz2mbVMGfnppvbtc0qRMO+TTfntc2qU86uTTeP1jarMjl7Nt08Vt'; + '9siWR7Y7stWRbY5scRSPeVgb2dYYR5SQIyST0f2KwUE9mj7mLxltGZ1JypMMoDwIOabygr+D7+4'; b += - 'tMLXL0ZqIIvwpWAiR3gvz86IDgfT4geN8eELzPBgTvEy9438K6OAFgtbZdXZbVKmKwz7Acg652x'; + 'N+SjxwpAHqHEkjz5Fol50hTz0TmIj+PgHW1jbwrx4hLWJj1hBzs22T/pp3UL6SCblLKbAblNFkq'; b += - 'Eveq5q9G1hgW1bKOvf5bjetaxIA4MTpR5XfsRtf5CnFigfqUgv3JWnQi6oIRKAk/kt8kZsNRG7k'; + 'mkOIXjmalDRBNOgBoLEhnIqZIeFQFETR2Jq5I8NebaM5BaJbVqLHxlOAQmJ16N5YIMZFhJyxoz9'; b += - 'n48DnWka6EwbMqdqFoN7Q8x8LpbuD0SlzcBl6ics2OOErfYg0pcVPBb3sbLPxWtj+NakI93tmUw'; + 'RnI4pK0NRYRMpDBJbNrzN9nkODViB+Ppt0yWZJDZKwnOdIQ/4luxcE7EfWw2CDQhT0syUWrjYyX'; b += - 'tyEXr+52wuh/NZN3PwtG7l33yGlCYEobMveai2umqqgQs8bwwmdrydt7GicBkanWjpP7Q3JeqzV'; + 'S2S8RWjhU9l+IuMtPsiHzM46RsbDMa8zjpHxWpCd3jEyXqvEfBIZDxzQKSeW8VzOnNolcqHLfrl'; b += - 'csphaWKYHHd1u9jFKUytQ0Rw3m6SC8MTbp9gGXhLORXp3w5wZw3UOEq3FD0Xh1iclfY8K8yRW7v'; + 'GxsMhcyviudGdsYQHc38uDUbfSHiLDsJEZIS6xVVC3SIIdb4R6hZVCXWLINT5RqhbVCXULYJQ5x'; b += - '7+4ErK7fl+34CY0N6C7iVvtRouooMJuct1ZWNKU/M6wqksMIY9nSLgZ4mK4514/93aNdPCDTuH/'; + 'uhbpEVsIxQtwgClm+EukVVQt0iCHW+EeoWWbnNCHWLILf5RqhbZGVFI9QtgqzoG6GOG1sSoY4aW'; b += - 'vpzepWKEgxFhMz1hcxqaLDFsXDUSc75Zri5A2gBgtpv22+3lCyliDr/vCy9FhBO+gsulgHvHune'; + '0zjNDSSUBfEQl1gWlzdA4EXhZVsOEpHEQl9rihHw89Ub3bQCNfUpiwhrsmOzDEFxdMJ5NY4QYHk'; b += - '5mnI+W5zp6cyA/De6yB51q/lvwLdpr5oesRI2ha1D4waN+o3DmhmFtSP1tVck6/1ej4byyPMU9T'; + 'Gv8okF3jOgXSa7yqQH6NwxVIsPHFAhk2blocfFw8uECOjZ8Xi4jmxTNFi2QFxN2JgDiQCIjmxd2'; b += - 'sO6NFPXmyi1nvVS3sy2Bb1BCWmg8Uy0XcmwYhR2v7BBCUaFvX0Go5j9QQlW6UwST7fuh4n+zCBr'; + 'iPcLlXNEdWanQvHi+6I2s2GheXBItl8iKcC6DnIg/C42oljU2uVyN5Yxlm8DwDC3V0pEIJQjRVz'; b += - 'u2b8StuNK/Wx3uLzfsLrcpjxkPLab9k/PwlvcjW0ou8ZaMdwwebYryIioXoMazXwLlhzSa5JNlF'; + 'Xpbo3Bk5dtK5voap/Cmyb23Or3t9K/oHYLrjHiwcCVtUa8XGy64tHR+K28A/sde3qT6LPNGu/oB'; b += - 'sWQXuQ0ru6LcFSwFvbt1A7ffn11ka9lFap2g6j+reXtoASPpRXF//tgheTzdBmRRIADnWmuq2yz'; + 'VbeMcY76+kLeScrh1c8a8TzYyOelXOE+ciyQyr2SuyULPEk8s6C+jtQSg6aK4F8WRJaWL93jZzC'; b += - 'nf37TCDXMpDIGaXae/yL/P4uMdiQ0I5f3yte7EatxAbVFBnaLkM7GZIUNjJtv7/EizaluCqdAg7'; + 'QREMs+PqOVsNuzPFOB6/qyrIn5Igf051QL5lZZw2TYXmu/SzzxshYU6dEH+9XOGXbbA/7fKpsOq'; b += - 'n6ZHRq+BxQhUDic+hEPiyMIzvKuxsLjU+LEff+YxjoB7qASxZAAi7Fl0axLCVCteqW0kujVJYal'; + '3mRNA8tJGbzu6f/K38Wt606EFX+zbTr+sbxv8/At4G86zm6NEcnQsOU/ER+qV9ecu/pGcgYpPFi'; b += - '0YNWWpeGjW9GLnolapYRgiog5Zka0fltijiy0wU5RdhgkltJauvtOsreX1ltL4yVl8JEX7JWy2Y'; + 'lmgO093NucLYrLYcwl0d3MkeJskSN/3xOf67KyKw7Sf16xa7ocQpNwKJ0Iu7TBwXFRBDU6wVKkK'; b += - 'iOOq4pq/9dXYLNuuQijCpSw4WY0JZb3AuDOafy4Rgtg2xvuXynIGobf1lJNgludYj/jv1T1PFju'; + 'yEiicZ9mr864hBZEmnlPXzMB2ZePC9vj49vi4/ByllGV46MyEFFnJ5pk3MkxPwXP+azaEYP+1gc'; b += - 'ugpUgpRG5wQtEbrDotEWDsCEahBbz08vK6IrOSNXTxgQQZBvYjzZwOTFgMYS3kX0aIQnVFuhC7B'; + 'D6RL3NwRtijDzuyBXNnDrRwfy4Vbe6c5A5Tv99ROtUNtTx0sTE12kvfYWeoFfATU4whiOnObF+C'; b += - 'YVrjTKrFUkVxEc674oN4wDU+aGlOGiJnIOEG1+Y6KiZu7xi5s3GxEBOuSW3uORrlQcDmtx/oWEx'; + 'gEc5B49gJTslxlLF1XsBHAGy9m9Tn2U3CLf6xsucFT3a4mThkHIdms+nVslDG+HL0k685M1ov0Z'; b += - 'MTlJSTlKJr5YWXPtRtkRja2BDHnEBnWcetL7JBxhyh/TGNH/EroD6bLFPdG7rOXl0+7+pSZ3Fk5'; + 'UuifVrD3yCSnrFA74ciFrJxwUyuLw1zOEGvl4NdOOp0+brcpG7mZUHK8vsZbGTLjUxXcOjTvE3c'; b += - '+2m3whpiCnnKMpkDHn0LeUILwUK3Os7Vac6yLgqlF9RKx0NpUSu9IJSuqpUWoXSsVroqlI7WSsd'; + 'GKSJLd/dTbyEd4/VxsLLpv2o3Yc6stIlOqMJOQ+m06XmS1Hf5OUYZ6P2tcatwE5KenLOvHjzI0Z'; b += - 'CaV4rHQ2l7VppHkqzWmk7lCa10iyUgs/el2L6b7ZwMbrBm/8/gl+6D0o7hctNTZd2c+vhWDgud8'; + 'Cbsmz+2U5xbpucer0nCe/GJlasPTX6xM3niq6r26wXv5Y4vDPiJpYtbkrbeWAkRAy1rHSSTKgcn'; b += - 'U+aQIZ4EntlY6Ffgfa9BwyOnGNfodRY6aIxbLr5QzvpX27ShLRbuOzrei2QmJBLd0q0aLV+UcyU'; + 'ocbDxfd6AH7Zs8F7Lh1uPMdOpoCZMH+4eRGptTNkyKBT2+nE6bhwhj/PqKt3Cx8pxx4hCDEB5l6'; b += - 'oCfpB2pq5FH+HajSm41YH4F50sVEponPqcrWJVyVP1yjP4J5ozXdZbZH9FT9VqRFpExj/kMIV1s'; + 'sDpKelBTXAeeqWO6eyDE/V5+72SRYU5yMV7fHjqNQquuqh6ttZG/aNHrvC+cPsHc73gW2Erlc8f'; b += - 'zkhebl9J/grJmqqnmlHEmRtfo2fvq291prDd7x3J0X33Ku0ycK9uCDkG4Pl/LWfdj4ZEAJF2veQ'; + 'iO8+Dm2LA9wQJKJs48VphPZaZUcUkJ2Wp+z09JIzmX5ewc52/mFbNkgovnec9mQPmUA/iPjdGvL'; b += - 'XYkmf3WU0b04c0xdw0iHQrTX8QjjA/4O4FLsxY6Y+42rm3UoqLzML0Vu1Eu4oD/7ebBQmEoxzlP'; + 'Qbr7g/J0hKtF/L4sh/ACgDg7LVMLzxxqT2endauy07pV2Wn9ODutH4fK5VMzJjutj/GMZ9cxjBG'; b += - 'vqRQhwNMs99aLdfuX1qp8EYy/flYXEPFeWHzLe09qs+1ib9C7K6vpJeC/qE/XXr43HOZzy0WyXO'; + 'PNTqTrcxOq6IJz6bz44k4J1FQJI+mksAgEoQg+nx6IIRsv/qFOI8mD+xI1cC/nM5eS7OI7LQ84t'; b += - '6V8B/ttkiomm1Z26Csnvs1Zmgw6AUHjtuSnJB4kGerMoqM2iCp5FJJf3gjp2a7VmmEFII5QOchx'; + 'n1Rmyxn2fmGENAECk1tYM+pnZEydcYFG5ZF9+MWyeyJtFINQ6Pxjh8zBUcfp/g8DE3weELvuDwm'; b += - 'SZSaMalV4rAY0zt2o4s+/jF/w7damcqkISHEXXpsrYDDhKv4uT3Mb/3nw/yxPcx3PPvDvBVekOY'; + 'FuBw6MuB2RXiMuoEOo52mtRTVfhcNFggS9REo65gsPfYxzmOOqEw5c8i8PHXcbhi4xLJ904HZOK'; b += - '28Q+k1OvtjFDd100EoAXcWU7l4E5OneHOCqoSI2hI8WLluz9wQ/fsu0TgYFVX5iNdUvSNdkX5tD'; + 'vsgKuH/xKnD4n707nM9nBYf3ZwWHz/sGdL68j3H4nC8HxYu/wwqaGhweERwe5dTjx6pxeIRx+Bg'; b += - 'skE59hmfPIcNxtexJiBLMLO9VFjz9FHJmz0uKpaan0WUX7QHF2cEGfdZfbVZgIuQumkiuK1oHir'; + 'eNJzG4WOuxeFhg8NBgsMpVPlB4/BwGocP1eDwULYCh0eAwxaBfRmV82IReOS6EPgCT79gUWpeR9'; b += - 'LDLCr9LJrtgupMXwweKFWGX3O/Sll3g5FheDB0o8rDLcr9LLrvAL7KsyA4Uy8Muy/wuo7ILXCkj'; + '1QQvs3QODRLMflxS7E4a0NVebzorJt3cl7vITylpO/cv7zutI2I94B4v76cSTvSfYFDIVj6WSJX'; b += - 'RfNAsSzsMuJ3GZNd4PlALH9EB7/epG5fJdtXtW6LbRueKSNyZR0qmRGs5ga2EeZdd5aBdRDrDTp'; + 'iOANodK9SWAdpZz9wRyFSAQTFbCqz5tQyEW5QDw0F/x0bzLf2njdAivpf13Q6+cisbRZeNDSJyK'; b += - 'vsBtoAyEE3HDTxIz8rq3LET8HxC2D36VHeXnawkaEyyl6tdzN6ducwjXLcfzfvc25a/LOWRMImS'; + '6wrPIcEgPAkG4SMYhM6/JQ4O6cbBcG382CI/xYQiip/qmWiyiFAoYfR8PqUuMeuEV7Pc2Q/w6af'; b += - 'wDax6m/QDv+cyzIr+c/soVjGlcXzTwLpy17fruCnj/0cruSF7ZypWHPeoVJIKuHhni7Rm5jlzhi'; + '/7aV8+pnPPV/99IcrogE5MfPq9DLPeq1v8aoe+1e1Aa+Il/pNBYOHCaaAGJzMsOlU8AlV/C5z9X'; b += - 'ru6mmEDw7wcL59+w706UUyKJrKwfu4VSUDRCp5tRKSkTN/ehnvTcWwAfC3czbUpeeD1NlqsuBo0'; + 'HIBURbQHhvRAaVeIREzr7vciBTwnoTMaA1up2jdTLp4cCugT2Il624z3LUoWsiTJhYi0SEmGkVL'; b += - '46oC1406tI3oe6ofHunhRdp6JDbZ9v/tOW/dLGgbXiA3fZzquCdLf/EQ3dOv60EjukYc2aU2nLM'; + 'laCsUhgB08CO5imOIDej8dQMX6ivFa0cb7EceNk2mAI5M+zZe2aafOj/WdHxWfUXoGeFD+unPxN'; b += - 'qe7Sxhy/vJitDTxQLJQIjIQ2iKOvbstNsa0/jxKmcOK22NfEgm0qSpsl7KzR5bzXDd2An2uo+OU'; + 'Mc9vVa6q+G/KRqkSrJcgSzygtwsgEdDPjIi1fp9xjW4iUxnGz7e5oisroQiAfzLf6PCtpkVi9T0'; b += - 'lb2GsQ12mqdHcK9ExppO9qlD9Hk4wwrrzbXGEjuHZSiQC+webvthQlROpl7GUJkTZGxClHxBQdX'; + 'qb8EZmvRb/kzJvfyWONar6DKUmD9s1Ur7gj9TWlQPNnMKx3H9UYlF+CtesshtnK2YCiQVJjZMUq'; b += - 'FbOzByJJBvfdKLyMUjgGdlDMrUIzDFx1Gxpuj6plcvYWbf/FlWs3tgtTZPI2KFWad0O34NeQtIq'; + 'ElckpSwcGle20Fg02O2vg2TCVNqL/TRGj1JSarf29lTNY43ir0B8gnzfFWEV+XhK98ZcTV3/FV3'; b += - 'v40zxqTHKxNXjiu0KXhtChFMKC3VSDoakaccyZatCIJHDIJHRHzjs4uwWwKHgi2aolXtThW1Fqk'; + 'mCGJCdDJNP4WDO/RW2JJpx3h1mQRB8h2xBs2Hs8zEXOZhMeIPKJNfl/XI5vEWYKistJkA4PYQF8'; b += - '8zMXJZdZEyenqHWqeAHvUrNUwrtXc1u6oXl00nVbWPbLV06epZqtVsjPAc0NRizx/bnj7Y7UlgE'; + 'CcjimIPInNHMBk7gfA8InJAEt47fm5HoDTaHIYIn3M8BInL1oyd4JnpCRrcQgCV4Am6m8XLwBFj'; b += - '0V+DIm0flncCpkEn4PaknzRgWurFeOAskWtSy6aShiHqE7a7dR15fK1sZHjeh98Izu71E3b35Po'; + 'VETwBdjIET8ggXEILFOf0n9oUuRI8IcfRZ3yJ9JWjPhKIyE9iJ3gmdoLHsRM8EzsB57ZLOeavTP'; b += - 'quq1XU07XUVB8STzaaYd1QnP8S3ffDMB1M5XTj1wbR2am4KiGRnUd+GKx2qdle2iyT/ExPOM14d'; + 'waNg8JW5CRZZdLYifk4DmQkdgJubVxdJS6sRP484nYZc0oAuQyxK1ZBgLuRtxvkThJwn0cZ2ohc'; b += - 'UZ1EDsv/0NYvlz/aKKoqV5VdtJoSHPJHo5rvIhNjuJ572Q7xcrOmyjV2hx8ya+1BN4dCKm2ikNL'; + 'rIh2oWR2Rch3GeRHUvAMNQODKR4iMjANqw272pZE2UjHWiBD8pzoIVAKOg7HRF+nYVOdOVXnwen'; b += - '9sU0EChGmmDScYEJ1Y/eVzkbwdVwrpBOrBXEVh6i8xNiUe+cR220siLGtxkSKCbLwIUWCL4GhSL'; + 'xBFobJhXR3QnTnTgnySCqyO6E6YKy7REWRKR3yGpi6OeAbFOUXdWn3DEON4BVEU8OLNdXPP+Atp'; b += - 'Oup84nNRTVUtpzp7fUJiL2c1RfEDRzr6uCwE0eL7RRjeu7DaqkNqg868Zlr5LaUDyBphYbvQJPL'; + '1+Oxo7cby4h87cObES/HY+tvgDj5fPOpwfBMkg9mATq/YeiT0n0L8HHAVVBrcDV5S+0+JcVdJn6'; b += - 'ok2RepuwfibKcdDHa8TMSpAqyQQF6rAy0MqOUJYDldtSgarxMEIhHGLLTehnpYw2C7FoTDgthqR'; + 'dK3gYbcshEgIRe4x1xSAMlChROVYB1r0sSEIFjGnDUVcZr4FhxwAuJkLubrYBokmaM/QxxTx3Cw'; b += - 'BMbb1nIJ4bYXcQnRtheW37tTg22re+W+vW75nvdrrO1bgpRQNkc4j/KXLGR5XKr8zDaf+c8P7UQ'; + '+3/OF2ffdbEjbu/hkW4rimhidjv2pl4c6zDiye4jaP1mujCYAdZm/W9UaPN+paNMUx0FmsaV22s'; b += - '/8T8/njsNj1uYHVmJn17I+LhU+ZltPvOfH9qJfuJ/fjx32tqtMyTINnuKKyNzO0zGKuKqeDGKq3'; + 'szPb7nOujbf/4gf6+Xigh5e7iyXuwjmPA9AQhXzGNznI+IJ2FLrAppix8f2Xyuo2y5AjuWOqkaQ'; b += - 'gxiiudwdUP5xxcqRbUcacSwRg3ldvJeD1d5XbSJCS6mZXbiRN6JblECk3ZUNJBnjaR2L8k2XkFY'; + 'J1r217hVomOgTL0Mzf5l9k7J8kIGoADq+i/4M8s6Zj849T/M/xlGo0fSXqFPb2CABVXMWgaUue0'; b += - 'mGuarDbx5/YTydTqRX4cYXJCrNaIVBe6be7XtwEGlceX21H8mSNtwrJIhaiyiTwcounPEnXQi6v'; + 'SL89EEuv6+K14/IWTBv1J4kipL59kVvQe+Ib0l/K7pO4CUvth7W+3e6xZvR3Y3GqRCNjjaNm83b'; b += - 'SlRZC3iwiCpjZKOO46fjCg4sIT0SNjYq+hbNGe32EbaEjVWpEWUysOFLctQFEm8oJLSwShSJxzo'; + 'gQT8O1fDSX8QBbmCGEBQmPFWGDOC12k6yVrmHrtp1G1IV6u+J6FBaneB5cqU32eqtulei9Vd5jq'; b += - '05UfFeswlFtGWWEQmsQhRu5Ao20WdZSSx7CwnV6WzKEFVCasQZzyLocbO2eL6GRUQ9PPET/J8oW'; + 'c1RdlOohHBYx1WfhMirVe3AMxFSfgTOoVGMWp5vq0/AElerdVN1tquGGMEeqB6h6rqk+RdXzpPo'; b += - '46h9FnOvg75xbEoq9WJwa1GRJZWifWvaU2Q1uW1outbqnNMCpLV4rlbanNsEqWrhZNCEtthgtk6'; + 'KjDKmeoyu81J9GcYYU30SGimpvgRPV6leg1wJCzhC8FI+972Cf1fy7yr+vZl/b+Hf1fy7hn/X8u'; b += - 'RrRhLDUZrjI4/w2u4d8LtJ+i3OQ8ls8H+m+xfOQ6luMIs23OBspvsVZSO8tVpDQLEc2b7Hc/Y2L'; + '86/l3OvzeZM+PL7JnxpfGZ8aXr3VHAZJk9M74iPgq9lA/SUYeTtgOfGV9Z22FMOpgz46tqO5ySD'; b += - 'ZZunqRULWOpmUon9sUZk8fiyCzCtMmVjS3d4sjt0AfCQw/xSXEVWkuwelrsb1Fci6icmaCYmaCY'; + 'ubM+M21Hcalgzkzfktth9PSwZwZX13b4Yx0MGfG19R2OCsdzJnxtbUdzkkHc2Z8XW2H89LBnBlf'; b += - 'maCYmaCYmaCYmaCYmaCYmaCYmaCYmaCYmaCYmaCYmaCYmaCYmaCYmaCYmaCYmaCYmaCYmaCYmaC'; + 'XtvhgnQwZ8ZvMi3r3Yt8nqUVqzLUC+qfGeeMe+F8DsqEtJAzK7u16PnSDQjbWhZ8Oc4XQKJBW3U'; b += - 'YmaCYmaCYmKDmByRg3i5S9ISolZLSxmevRQKJHwkQPTt4yZin7TXAk9m26IWyyg5uud1N3bol1S'; + 'srtptq47GVQO2aiSuutJiqg7HVZdt1aG46pKtOhBXTdiq4bjqoq3aH1ddsFX74qrztmqvrVrjnm'; b += - '+LlCgDgEL7XTGXL9a3/NeGC+d4sPpw60LwDd8r6SUbhtvugY6ZA6zlnx8jMtAqkJzL/ND5AiEln'; + 'vR6gau/5+D6yOEyguBsZVIvBD/GNcHWmBEbtEzqy3Iw7TnzaY7W+EGi4Rx4aJo4peIzZrPFchcq'; b += - '7IFgkmQA7/2FcU6ClTJS9/mu9zsb9MsJ+Wy8IJE7lVCfM0zeiTWK7E7Ir0e0SOE+lFOZMzkVQ9T'; + 'qMhVKBHSzRyiC5n0+VM0OOv8DmhmfB54NdM+By3BVf0pF6qQ5tv+mjxhsPapNaeqtaWuHWEXtpH'; b += - 's+9ZVp1qHU9G/uV5OZc/kVEc5zaSndi4KN7qdn1K4zWvcHHfEWXb9J1Q376tai505qlQeJUOC0f'; + 'JXrxYTMSevEvmzH47FFcotnQ/E44IHeJLVxpPLRE//BQ/MVDu+hfn6nHsxZFI181j9XR+JH40yY'; b += - 'WkYu2UpaIPcCARRkv+n0TPKbLvlhovocy0Qv+QhNRGH3n/J2uWI/K+DKY/Hni2BeCREvht9wpMA'; + 'Om09j4TachWd/jT9wFtxB+GXwTsbz8Gmo9U2rNu/pqapPv5/rWSpeLKP4ejKKkWQUX4tHAdaglb'; b += - 'pw0tGllNy/iTULaHxdulxVu81f+S2HASNre5MzRYhgekM5Zsea4FWYL3BMriniym24i6W5j0u0P'; + '5TXj2Ow480P3g1zPt4Bf6mX52uT796Pv0LTT3eGOqSzCXNe6txgA75neMZQzWZ9jE3IHwAcwCy9'; b += - 'PvuE+Kn56HW9TlNq59eoJ+4elsTj20VTxypB/XdH3KuJ2f7Iyu5Q/h7AMM8iELoY8SI7tmjD8dH'; + '/OuL/s97/Syx/PuLvs67+iyl/MuLvs379yyZ/NuLfs079CyNydR+l/W/Xg404RGHcg0oVGHMk1o'; b += - '2irgEJhVJ/kHkjWaokvsi3MA42Y2L/CruIsDU17mtVHYid7bcTDZ4/USvn4TrZ3L9pLp+C9dv+f'; + '1OFMExo1kmlCo45mmtCoY5kmNOp4pgmNGs00oVEnM01o1FimPo06lTG6H7d2P3Y5Ytyb9WJe+sO'; b += - 'R3f2usRuyq8YM1+YeeJ03e0ibfY59Tk8+aepPL2hk0OfCjbPI/ei5Nfsvpm3wmHmxy3MyiTU7e1'; + 'Zqugti+lfiTATf2fRXxz+v4M42pXgwAOOZA7nG3N4NWec3DxpMMfe4wONOWZ3FavOtuo699s7U/'; b += - 'nD9M2ly3Jo2+S1o8o/EksG7q6m9Fj499Jx2DYPCc/RUvCf1ndZcrJqy4/ZR4U5XxB2VrHd5OksB'; + 'fY3rPTSXwHiZwq4zfn97oDLWHbkX5GNjACLcZHrZB4zt2EJmWOUVnPuaU4fUScQIvkdw/bwQNQY'; b += - 'wGW9/NOJ7wdw5BX+SNd7WvfUHtszG5VP31HvBx6NF3YEBJAaSjvbCiVn9xpfq3aNqb6qN/rY/PY'; + 'a44u9HuT4V5xtstGm6RkzHhFOz4VMijMBV7PRU4bec07PItHNrOCTsx5y3Gr2E62BgMGoUZfL6g'; b += - '0XFwU7VhteJb6ru5v5aDx9xK4IOVe8trd7WyiZJ+pZq6ud9sDDemmUD7KifwpFAHkzlPOxj4y6v'; + 'UBn2RdzlboIfmxQUoPe0npH4ztF4Z5hGVxqnJ75z1DjdNHrS2Jn4zlFjp2kMpHFa4jtHjdNMY14'; b += - 'uk+o1iJkcuMeWVrLYwLNMUcGpfVq0nVraeTzpXvXkgnxLJLQVeKl9rA9HxWC1zPs4/S5B3wgSJm'; + 'apya+c9Q41TRmpXFK4jtHjVNM4zxpLCa+c0sPclgXNM6Vxo7Ed27pQQ7jgsY5jKUHdXvsO9duWn'; b += - 'LQraEEhxf1cjAEz91EGOo48pgIqG5IGa0S8/sOkmYBbiGFpTqtTrGc+5S//s0R3dlX+SwO3Q+5P'; + 'y9/CCHWVlLEAavl4L6QnZbTIB+9DqBfjYN9DNpoJ9OA308DfRTaaCPpYF+Mg300TTQj18f0Bcmn'; b += - 'MKY5+ZGqmiWhATz7JporzT+F+D19i6e58cbUs927YGxy3krePt2eLUg1C0BXEz04X9NseEkCbks'; + '3wDA5BObnay6I9lKxb9SLYC/tnrhH82Df9sGv7ZNPyzafhn0/DPpuGfTcM/m4Z/9saif6GLfiTL'; b += - 'SsCbUntJvanWIgi7g34qNjQXRXCqbb5uv7yloM9v8a421cS4v3XdRklBIsJy573CUvxefwPil0f'; + 'MYLN3kB0NpcgQE/V+t+buz74H8+l4H8sl4L/0VwK/iO5FPwP51LwP5RLwf9ALgX/4VwK/vtz1wX'; b += - 'nl/X7T+b3ywXu5qRwVbZSIHRuO3/+Fw9F4FDE1FXHKvW4diFWu316t2InbZmZmZu1aBGiBgSnKx'; + '/nhvrP40M9J/lA0hOT4G/twr8l64T/PuDFPj3BSnw7w1S4B8KUuDfE6TAPxikwL87SIF/IEiB/8'; b += - '3D+Jmca5S65dP44oDJ1ivmuwZLJfxWjrsUNmkuj3OPanmQV8/c2POot16p+3ubvTDr6CQgph8g8'; + 'r1gb/3BvjT4MdpjtmRU1zNVy18RTsBQiPMZoZQKmabJtot0JT0JVrcytr6JL5ODtLrQid/cYqaa'; b += - 'HL6XTFJogUIurbfJ2vvb1KpF5fF7q3rJV1M/2TwIrBr+ZDzFGpv3nZZVmrufZzlP7lx3+AIOTmW'; + 'dOIsnti8Vlf3DueNU75dIGTktZ+C1V1m0RBDuQoKauqFauq2dnkkivWpwnX6EdZDmf1MpsQqe+7'; b += - 'H+S/5HcCjiIu1NPmyQKbPqCrPPKyYr2B5VYbWyXeQg+tcUmPGYa6JhznzOJO1gykmHJmmKpJO7p'; + 'DB+eg8PSCdFW50RB/ZeKrbAf89i0fBaNv+easFjINfQg8+fjNC7T5aLpwp7pLuc1HfFEJT1RMF5'; b += - 'eEM/caIbR9VZcd29VdIbDvCpyxm0mO1pDkaA2LsgA71nWSuHWJG7hgMPXRH3WXwwJZDgvkR09ol'; + 'V9MCNOsPKZpfdLV0qy3G58WdoWd2ZJ46/xKljC5KPq643vYqGCvVjM0bn2iAI+NVu8yoaaeOzxb'; b += - 'HhCo9gTGnUR1UVod/PUdLn95QKvrCLTQejPBqE/G4T+bBD6s0HozwahPxuE/mwQ+rNB6M8GoT8r'; + 'UNA22QqrPV7vEqGs9Dux/UNgxTQxs1tFQ3TLTyeejaBgI7yeoturXmO1qhWGitbYAy0qWGfM13t'; b += - 'Qn/SEZg8bQWizbuXNKaXtqT7GE7/04b+MdjQH1R6VH1qIsgIRoMNGiwmU0DczxTALoosGLeRS4/'; + 'JRx9LnmK7i6reYbYEKsrR7m6kLNs4k5IAbnEyec2omFoaA9mvj4Cad2CqEk6IhG0VY7WdRWjIbQ'; b += - 'torQAbvXXQkay7C6uNxAGYIZY0Dcl4jhKaWCU0iCpLE/rc05lezy4PR6RdPGl62fr9bP99eOLF+'; + 'VjtfCCATnfsYlB01U4ZAMtEI2mo+FiqeadEA2mo+Dcqgzmh8D7XVfh+iC0XDaOuq+T4EG4omnqW'; b += - 'pnZULk6leoWK5+VVH4qqLwVUXhq4rCVxWFryoKX1UUvipwE1iPfo1k9qLsEzKcldqV0uFgxeHAn'; + '2WTXfh6BT0eizbG2s/j7jSzf+iZrzofRvtkS/rU3j5er2yZs6Jm8qTt40ZfKmqZM3TZu8qXPypu'; b += - '1XV1/WUtUPbzbaCsGRAPYgTSTXWKjiRpuBEMsGJDAlOZFhwIiqOWQOLCFRkws1eDtzQbd+1EDOC'; + 'mTN82YvGkmNbVHI5+qxa+OaOBTtZhVjMafq8WpKdHwc7XYNDWa+GQtHk2LRj9Zi0Gd0dAna3Fne'; b += - 'WfH2zQeKtuAwZKd+zIid+PePP/XMcsBC2gGtobvVcCMKEZl449HvvDcFQKS+c2EVOzLx2wff/FA'; + 'nRuqBZrZkQjQ7X4MjMaGKqHKROs1FD/fwUu/lZCFp4QWD+cUjw69ykOYsf0x6vS7HiS8epBE4t8'; b += - 'EcMjA5n78yMTOg994dwyAyCK7VRiSiaPf/faDtmgsuluFIym//MWP3dF0n0l7SSzJb2MiWVFBlE'; + 'VBk/68/WW1eKFcrZ4puJhpQ8foncUHdodgQc6LDOW8x548q1zTtR1fA/e83DR4YEpSsGOMQHxLL'; b += - 'MQrszdm/Mh1+CbBHMR5edIGFbKO6DYmLm+zLjmRj389HRjb7L8zSmwxTn7Q4ucFTIJJC5gUM58K'; + 'VA5Sq+gMUa2019ROVVvUSyhn086tPTSuhUnWqq5/t6lxtVTVEzYyOVsdVzmiFM6QZji9JWzmGUx'; b += - '6JXEGWec5T2+/yW++Y2reRyN5T2yut7+TldS+hF/kjWEeml7UzakY9YZ+wQoIbE0xT2sr6iMfyj'; + 'BuB1wDczsZk6v8H5G3LpXgj/1gUvmLxdVvRMnR/iDM+HfLeW4kQJCkw/CGilYxt8OxfWjgq4pfN'; b += - 'fBVJTB1NOotxJRmNXYUmuTmoX+f7CC/3P0d43kgmEUayJvgF9TgZNO7AEZJ4Az+r7ZX0XsEMkwS'; + '3dIAPjir3khZ5KS1JjgeVZhGIlrEJJLsfcw/PuUuAyyXw4fShGvvbxJa8w5brw405MqS4ogtU0e'; b += - 'C2xEX5Gww7nQ50TPHgBznD2c803mA9DTFcTQn/j70VZhD218YiaheMS5iIkiCyD/cxDQVTp4RUX'; + 'ahM9eRWJnkyevu+Z751wtlR+8ISz5fq++K+dik+mYtNv/mvnhX30BB/2n/Sr5bGTfTbfnH+oxkf'; b += - 'KRISWTvGeODwJmSYWzxgPWjIDEmvK1jkkIO8DH8j5BGGW/D/kWmlRd1aDZsVqLXxB1P7rHSNOIF'; + 'xFVslo1EHl7JPxBXtXDFwztsatT0RnUNVAb53UUF8JUOnuMvTDuexQgY96ymDlIoIUqGLX1aSQs'; b += - 'lXMg0rCRuVF3BQLRDrZhDTJ8hKdpMH6rVfcNVT+MxQRhTtpiNKhWBqWpG1xgFE8tF754VDtIUHn'; + 'Q6yuBwE3zD4I3lcg5G8ShBJXXG5GwpiWdNyWlz8k4+/6++m5G05DYnM/uSxe55sa8ODXUnXEWU8'; b += - 'tTwsjoRg6JAlmSeZLJq9tGi21PqRUTVQlsGdR1R4a4fml508U9meKL+/IZQCZMHZZV4H5Z2T24L'; + 'bCzJ82Qjtw1SdxU8fsctCTAiTIklC9Ajfw7zsYCvGFfsRGVrcgwdP9WqskeKeV0FulSC8jVe9XZ'; b += - 'VGEPCi7m/NTmdeab09gnqHBMJxYWSOnOYEB40nrP52UR1gLqhqg4GfRLXSEw7hd0GP8IGYVlCgg'; + 'ZTyHdLC7JKkyTSY49kzEZOMQkB+dfnoUC+FPADY4JfrRk4NUc5epYVDT81TqeUh9xWFClPGNl6x'; b += - 'v25XdisPzrBFNsWtmxJKFWLR0aAbyVlAJPR009KX82rCGF/5CpKu9elINGa1/4yn/Xel0d10Jdm'; + 'b7OXGuIMzWDnx8hG+PSNesjnJweiw27xJ9WiygXbZj0/gzekfM8gMxYlbqVuYe5DPTiUZ1QiJN6'; b += - '4/SGWxIVCjMy4Qg/ol3ToSnsOdP4ZbN/9rAhyy3qtac18w2QTPbBM1sEzSzTdDMNkEz2wTNbBM0'; + 'h+m92V3enSGdUy6YxqmVRGtUzdjGqY0l6Z7j5Mt2LnoeXOkuLfytyxm/+yOICLnIgymcU8yTLpW'; b += - 's03QzDZBM9sEzWwTNLNN0Mw2QTPbBM1sEzSzTdDMNkEz2wTNbBM0s03QzDZBM9t4zWz3lsmzyL9'; + 'nfkOP+kpMaQAyO+JNu2wWDMYjEelrxW+NggLxbsEn2uH/vi+qnF4svQUynwHlT+zmgamxqmbe62'; b += - 'qxFJW/lS3sNMv7PALM35BeFNFzUkWnvQLJ/3CE37hhF84rgvj9to+4WdMsyynWeduLWejqX6yT8'; + '4XTrZu+EL6nk58yWXDigOvcVJEdgNsnNlv+J2FNLMpsuMf6A3x61/oCxq6ASL/qLfOCwSFd7Yyd'; b += - '2qVQjpp2rPL1G6orh6eEl4eEl4eEl4eEl4eEl4eEl4eEl4eEl4eEl4eEl4eEl4eEl4eEl4eEl4e'; + 'B8dkSb0T4bMHLNjo6PipOgm+qWOBKfDDTmRyDiqw5AqWOvARywLnEaN9+Qtal7BIWncT1gc8br7'; b += - 'El4eEl4eEl4eEl4eEl4eEl4eEl4eEl4eEl4eEn/w0v8w0v8w0v8w0v8w0v8w0v8w0v8w0v8w0v8'; + 'VHlOThu1V8ce8sZfic7kkOLMHnGjnD40NyLOBV9GfMSZ8LeGX91I8Psk+7BOD3JRy/PHhl5XPvl'; b += - 'w0v8w0v8w0v8w0u+n4eX6MN7qKIFq2XY/oUGMIRFRsMYk8tsHJkWmTjGZC9JGIxLK2mUbh9x/a1'; + 'ufeSn9Wpx+7sv5j78y/oTJ/cvHmkH1F4f/cE3KyIlz2ik92G5+rcE3iIePrporLqQfX+6adUeOB'; b += - 'Seo5x8efY8rKQQTV77yyDS27ytpa2wa77ZhmJQvJcudut5DMNkZBrd1LvU2qJGdXuAhY2G718RJ'; + '2C1OSA8yM7MjPJMXzt5mKAzHY58mbp3KuMIrPu/almeMNi79Qthck5YWSObfbQ7CREE6ba34uyo'; b += - 'KnqA+I6Si664pWTrOsCMXGePCyld1kUt4yTiubHCSYBtXUo4TmRVnnhOgKF9v+shFT7nOVKi8sH'; + '58uFEh//uhGP8mTkHKeekDdjz+LircjvxHQFSvdOjNtp0a+JaR1Q2lxyKvZuFdxVnW2NHRx8Owx'; b += - '70v0NOhPcLVotKA1I33Oa7tEgX+HdhvbLvIWJWRMSVdk8fvI4HUzUf8aUn8Zi+0F60FuUZLNREj'; + 'k+mZ6pyLbW9hgfIf3lP/7KHzvsMBzgAZyKjx2G+cjNY+Jc6CQOw65xGHa1BBwTh2FskxI+xjEpD'; b += - 'FVDEk2mIPyoRvtbCqFZOu0Xounucx2rfouTO/K/AwW2FB9l2xHAPPgMTfAYm+AxM8BmY4DMwwWd'; + '+Nka458rmTGNg7DmTxUIqjOCbEX/8LY85cdhq3LLnuOyzlgHhLzsGYxuFWLQbrLaYT864zjvC8w'; b += - 'ggs/ABJ+BCT4DE3wGJvgMjHYoXGKHwiV2KFxih8IldihcYofCJXYoXLpScuqMdihcYofCJXYoXG'; + 'dqKhf6Rl8B0FGGmEWSiLxiiU65GJUceqkBxpp87aNV7tHEIsf78808biAX7tczn5r2M97kNcpX3'; b += - 'KHwiV0KAGo/z71COdegA7ohPyhlBalXS/g+/ENRbRSiZKEJjDRCVCbgjNWnb6YQ0SynPLrEcgq3'; + 'yHW6jftp6yEta6Fc7yRFhVjklCWkFM9rKkqXPOJLT0pBzxewV71Wulc78JeVm44SRwhE5YAq8qK'; b += - '1PD+a+EhWOKKONl3fd5vqyPPagva+0KQo/4gRRTRDsSlQe/fj8p554htbCb2+dPN2gR4NXnqYWo'; + 'NcyiZZKk0iTl+wk7biGO5K1paBSBvnRtoimsiMzCmo5dHfo3laEB37fXuiyMXWBl9NlfBM0Ria9'; b += - 'KZEULiFydGe4tcFBfRH3Kz2+noORbuxIOlrW71kPF9dz5n3XAIwWS/l4E15EZn9u84YimV56b3U'; + '4OuBjYVWXqnl6NZxf/pmp1SYiWZPVPJQRFikTpocxIkUsJl5XCdE35I0mQmec7hj4pbi78i6Q6L'; b += - 'HE2n6GStfHgLDmoaLBm5IDRuwMEYBWcUb2Sjf/s3DtJQbeCSrrMhrMxkX/JnuM5MA9pHaMvRtGP'; + 'nFqe48Qzahan5Jyqo9WMcaFib/PNBcNEtqSWFCevYF90/wGiCQZ9tS+HFVy4hjuxjy6cdgdOnDB'; b += - 'FuTCRr3YvRKJ/kSa5xS//CQH3DLa1zFXytQGG9AKQIXTeCAKSug5SW+dVyag2ZP+oWv61XXKIm/'; + '5uM+O2rPnxNydPmFdwH1ea+zSXmq1KUN9qmktPozpxTpCYAlo6tzHQ7/4J14YIMGlOMnClTaoWE'; b += - 'vJzS12eSyBOurrFxbyHV7/BCT8+jAan9vhsGpSKSdnj71NnTlGxyP5UL/9G0sdieIWkhiYk9sSU'; + 'ktknq+pWIlmVPT3Gkjdm9DebC2TLbromy/crqBk0PylwZCnLLxisqZA2Y5IXWfdtMZPpkxu+o8I'; b += - '3o1sS79yVl856zVomQ8JVEUMsWAdMTa50cF1o2QqHRhIlJ90/2dJ8XT0s1VP7UeKwkhCpmD9R4R'; + 'FuUsARJBLc25Nf0mFsZUJKReaBo/g6Ygx8J/+pV868iFbUlFXxoPpr6RJTbSlIPknhGzLGlnxLf'; b += - 'PDY44yzPVmUdR7GnO1GtCp7qkMyzOPGr4iiG5k1LHkgThHlUb2O9jn+W4tOP+MC5pjzhGTGkmQj'; + 'dM5k+ax8por4vGL6DmX7jMoj+Rtc5uWZnfAld7MjXIYTmgvaTnZ58eGkL6mKxKeyF6QxnmMo/Jo'; b += - 'aryqP3U40GycXlk1i++bNBjMYzkrtNBw8DV1ve/lllUS3njwgt65GKlpWRjz+3prmd3D4gVkdq9'; + 'kQQ3dZJ8B6kRu5PFuQ/KyuxEBr9TG7pgvcy1zavgyleKMrBTBR7tSuXGrZQce42srd9PUAbH00S'; b += - 'pCyLsfuiV7v7DBvGooYL8ZuAYB1UvKx3tDrDkvmeVJknaE2JxXOYJvuwiaBYQL/HqgSmkW2eapo'; + '+JMWiYHiPPxMl24zNZZhu9N8lVTs8UpYGz8R6zCWhlki4jDB477/OjsCBGbYwcyTquq7ZjRmmnl'; b += - 'bkacFvFct5JuhplaDOPiLU6Ass1FMuX+dofgXi2ksMHCxuZu4i5P1odhDY9W4wdAYK8H3Qsujbc'; + '2/VwspVZdrldIRMyjbbTcvEVSj+365JfCgHyzjAhDnOq+KRvzrO4JyajDOwN/ybEvmNmULee4sj'; b += - 'n3tQ1K/F0rpgsryuJQ9iKI1YSQYyNvfJ6lmehfLkUb2NxEop5KvgqrRSVZuskjPMov08RI3GIK0'; + 'HNSBmoVMmx0tlUI1v6kG/BLBImTONigXP+1JBm9Xm9WZkHYOHeRbKN1HA6vIP+9vYpHMFRJsno3'; b += - 'IRS8tbf43GdUbSkMwemLHPBF3k0Lj37t/jKXfxDt4hwO5HVAnK9hC7BizadC3yfVpYjrryxRStT'; + 'PKXn5iuzx9iCd9jfhS+/DwSvZvEPwAsJIeDh5hDHQRP2+ku3VM9srTu9ruwMiWy4f6ruGB/3BtT'; b += - 'e5Ny1wrtp3tOAwR3tiZwQXp8rMi2cQU2WYP4P5YXljidCSpPDDWjyiQbgiEGwNnQ+A7K099+3CU'; + '3IJAceUQm2HFKSojvOz12FKoeUwZMR1nLcBdgTRX9ADo0hrTufP91iT4ThVeCGmeoXB105NEaXT'; b += - 'vwnvCvIMuEaCigbuA8kccMqUJOc3sY45vQ5UIiLSb0CgeUs59htwL70S+G73lQLzkgIQlJTPRFP'; + '7vyIenk0G2GenuRiZci8UICEULmSDiVLnZZ6iqLcCJxUO5kFNSuGcYDOC7JL3yaRRt+4aCctsXW'; b += - 'wotLet72WkGu6/qKMrnR3MFSazeT5SL3K8F/+HRNSd37HJ6S6XaZa/2aV0zy4jSV9Uaj66xmMWZ'; + 'XTG4/IaYwfdEvCLg3SsENLpokrgapj4a+yaz8qwg2P07OPHDfPwP1TzCnK2E2D7a4BmXvnltzzA'; b += - 'WOmmG7kWlpU8n40v5UxfXO/unPVFyH3MXFExVXK4imSlRc7fkimKc4Vk8IoFunlpgIRsChgMhnY'; + 'nJF7UM6rHceZK6lu+Hz/jlax7SEKd0EPaPUdBBuQHFlyQeJ4mtdEcEpQ5K7DsBmouvFRvufgUTT'; b += - 'Ho1Yons35ilAroppi3Cs3PGWYv5l6S3wUHjr+tJrmIuJn4z5CoO1XMVG4vlKoo7id0jW1bzrQVy'; + 'RyS2s+qRgNfG7UYVFaUrpHlz+bKtMwJtLlC3Ehf3clooD8d8mfTsGNogi0fGDum54kBudd0iQGv'; b += - '8xyb/1v/2fw/1OY/ZWWcXV1TaBkHXG8chuw47NpxmLnjsHrHYQSPwyYel+d0Gae8nAFzQsz5Mae'; + '4vRfrMskGqmzmV8dWKUCGhy9n0JXJX2maW6+4XdHe3+RcOTTTIdw1+rnI59X6ucjqF0eTAuXP/X'; b += - 'evBZvTxzQ9FTTq+0ZMNriWQ9BrqXF6J+7Sstp9FFOo41yGl2UH64mCgl8v27NMIBP5NwsZzL+2b'; + 'THztxXyN3B2d/S+Nv+by8cqvmThe+TUX0uVzxxPgXu94To7zeA58y4wHWB91ikjnMfsWdRquCih'; b += - 'gSwJ/J7vAFhCEF5DPCR0H+1y9lYakdlvKwNBqWxsLSqrBU6FJSDsF7f1QFbwXCQaM+1IjsCY3Yk'; + 'SFBRpA/kwcgoji5PIKV5+DSRGPlmO+GCghYRurJPoYHa3zCq4EqL2fkFS8ALNQTp4hUQeDl87Jm'; b += - '8dK1k4Rr6SeXHRFp61pfsNuuIeuKjKqFRMeV7rFmWDCh5D9N1QvzBYrFEx47XBN5/M5Mm2CnZA/'; + 'rStcRTYhXdw/n8+sq4RpySXY4UE7h+15XABqCqGeYFrZ7FxiiqvR07tLn9my/s9pUv5naXw57qa'; b += - 'SgdrKol9rgppfhHYryaFM8w183GrMqwynxrbgp4E/EtPN6cgtJNt5SiKj3zr9LTEyYxQYjzrvt7'; + 'xr8BsdwMsxRlVl5w1s877dlI4OZMJ2IgeVLWSaVifdGI+lzUBwBXyzcMyaI5C7ivS/CPlDr0nfT'; b += - 'WPJN9vTV6Jvt6e/VM9vUW7Zns623eM9nXW8Vu8jKGtNBq3yjsG+m+q1rPWE0MsD5iXvTy+xuDPL'; + 'Un7+QN4GW9JWmC/KoeXxjOVILiBGCEdTskF8L7isBuO4vxMuOIheKVx0cQ7VxbNtUCVfgipBHoi'; b += - 'NEWtFJVMSLEc3ebQTacNB0Y8WNHTI1rtnm6bhmExkjmgNcs27q8QomPuvFM3HV16Bdx6xgf0KHP'; + 'GkkhKGRNJKWMiKblxJCUO0sqBX5tEUvLiSEqM1n5FxDEbScmNIym5JibXi46k5MWRlCZ5L3+sia'; b += - 'mcHyKiO2kXZqGZtxT4rILJZS0e3Al9cWT7Kj61LIZei4UF5kfQi4l//cAarfklmWdvHLLs/MMsC'; + 'TEEfuIsyo+Dvl0pcSZ4TlFFi4I5/ssZ4FkxCQgblDrvCGoNGBex9+hTDk6SxtI8bturLeNw5/5F'; b += - '7X2PZ5Z9t9pLJ73sBulMIGQZ2IcOUcfCFec7YzGiLowPxaLzKNxEkGvsWt8wcooTOEVQtajO8Zb'; + 'RG5lDm8TIgVqwBZyO1EsrnflmObKipBA6hYiYsNBVdyajMjmqXnXDkC3+Bhe6/nYarJwyZ+69of'; b += - 'YH/8LTELbbSQpQXYEs8Nx9BsIR5/YpfQO8ynsdPKwzOycjcAqGZdHb1LVUg4Dx1NEHyATNp8SU8'; + 'ZjW2BUzNOVaW7stwmBWZekzzUCbMrfPOuAwqIaqezq2LVcP4Og8db12XAI37wh4ktFGUTAZ475s'; b += - 'xA0YnUFdNzgdKEepxSju/fWUwnUh06Ocgq9pL3g+unNQDYhfF8utbV29/ybnKauvvK/5F6Fqm0t'; + 'MeIfclx144Q8SeOEPEnjhtQPPfxHAU82Bl4+XoMonlGmliHwzDDVoE2pwnXFzAHbob704bs4kVA'; b += - 'mp2shrlPFae9Jqdi2zb8Va/Dfclf478tj6a90LH02xzBnMnLm1FXROisL/ZW3Z+w6apSRf5L8Yf'; + 'BjGM+IciO6RCgQrUPoW8KHwz9HhcH9RheOM8lxMJ0gDqbjSDAd5uJeMRl72+eodbFcTRzCqb9NW'; b += - 'nPmxiP7Nx1yzpbD3/hm8Ye73HyLm+6KznkmctWvKrlDHQT8c1m/5cyQYk29MVL/dROpOGBO+GL7'; + 'NvLfxuzttd8/6VLyf3D/xzff1fF/SaiywVoOEDLRZvzJy42vMhN7XZGkLyOu5WRlFN33wbt105o'; b += - 'O5KpEFrKr+EA//j03W/4v5U1PH8awWn7h39zvx+L87VbonFzLuXl0OV6ewM8eW+58yv1+xLod3B'; + 'tAZOOiSecMRF3vOKUxynoGYTNhQUCXXMr3jGhDaF+Kvfe8JbuLNrh9rOQaQjtRUahaWeU1pv5HY'; b += - 'cpufjzz2CKPv/Q8OVu5YG3/0avbG6ES+/fWf6+kyz/y8e39MplG6ex4Y59bvmOsY3QdbzJLT7e4'; + 'fD1bIyivBT0tTYLYNtoQtNM71/620hPqt1+vfSi915cz+Ej4IQ//ldoWLNwzIf8FuqldPbfh3ae'; b += - 'v4f/drmXvnRP/+vbieh3rlx3UZWnnhEw9uDVTL9a86+KpubD0zAIJ+LdrihK5Y9amR4SUAYpiC/'; + 'rYRcXVgwejqx1bQ7877N2gdpX6Iq9kdH2sZvGpj7n98lVnV9jzYKi6dU+q7jXdkQflW7de/GB35'; b += - '+CJcaT8u8FFA4awOKJxLAgpnXUDhXBZQOOsDCuelAYVzZUDhvDygcK4OKJxXBRTONcTg0ObaaXo'; + 'G5hWcSDXs4RU+B/YRNn34MlZ4MqLaPR2Zu1plc+RT92fK8Jne5S7wYiTpoulkV/8P7o1PvpUvtl'; b += - 'T7/jcjY9+5tjvfu95a7188QTcst995P4bH1O981NRbwLO3I+/9V3f+Fctc/PGCbiAv/3WD+79Ky'; + '8wRo79w71IWA/i5b552jv6BkZ1DuXeeN4y9Jxd8J+BN2RlAeu1uQSgFaqMjb3A2GINr16eedaDd'; b += - '074crgOL7nDTPfnWTRxL89cxOwhTu+43a5Vhr/lwK17F6LJG8J7rvpDVAIwh0gapGvI/8i4oSuB'; + '+IMBqr5u+0nldd6mLxCMCLpVeMXiQqkvzDQFU+DBXOW4+ejwicnkihMGrWzuP0cVvf9+5nwhFC1'; b += - '7iShWZaIpaRkgsgB1Ht0Bi6Mq533crU79bjOqMNHGzoi0br3VAusEz2RKC6ZO5DeeLNR4ym8HOe'; + 'xjS530t4icDk7kPxFNL5daCSF2EMs4ZYueQpfu5u7S1ER846e3wEcuBLtN8wuM77Hguzr/YeI9W'; b += - 'mkg3hDi59kJjaZGwE3JlceiDxtjvCNAFVHiYbHr0tVEulrG+DihfSyOdIJ71k9BT1r6o4KhFijU'; + 'u8pkKhNjOwK1RWCAyIEEhAUHyJwhMBZrtJP6R6CRGjhM+qY9kDai1XtAwPKdPClQ1DTwb7BlQ5+'; b += - '/N27nD7BfXC+OS6Ne5NVVJ7RaNYXvvsn3QSdwU+WONwVVYeR6UIqnVgv7Umf2wE/MMH5GbyZxGx'; + 'TQe8wwFKuGhy0OS8YUvobDkRjTuPRSMHiZB8q/guIl7/3dnM9lD/cSpc2P28U8YX23Nv4RK6vWf'; b += - 'FwGyDtPJrK7x82pGrvbHoCNbglAkBORhvkIOMlqmfV/A9PFs2Ni5SWc8cZ2r2uMHVWhhqKbnUnU'; + 'Dzidp7p8ipNWDYc+OsI/+Uv1SKW5HvhDbf/EOhAUf3K77TI1erJfs4Joeew6MRxls58NgPZFI2h'; b += - 'qBAMDLYHOsEQJBJIOgyAR60BU+3vg9P91LB040Knu7Kzogg75bRpIFsOuJTNEiuhm46EHVn0fCB'; + 'N48wrllLeE0zl2xtLBgyU0/JNpKLkGLj2EiEufCmnR9Id9u8JeGI5bo9b7AZLIfTw689zzHIlZE'; b += - 'cDpgdrRYroFyOrB3z6d5BOl0APLGJOEaaDZXcWLUGkStZcSxDRPZ1nZ/R4BXgzCF+7uCmLaziXJ'; + '/xVXnZLmE2+xTFynGh0912scIkGnv/TFZsKRNSjFpT2/v1ZbxNNK/HCaJEKmtU21k+dx92s4SQR'; b += - '7HnFv5xRjC9BsO5D2Tg7q9T3QUbgPpClg4gQu6Iuj1N0t/dDInCoTAmQaeB3fAqGBm9yfIltZIv'; + 'O2f6nce1dIlaQVqilvtDr5tWGLHQQLbhj2VNV3o9SuhMBD0b5fDKI3/jm2YaFBepPV8ykchU+UQ'; b += - 'UmWwlhQqGvaK9II9D/0RxDRre7/b7S8rYnqFPQtwGyUYjNrsAcDJ1tFq62A1eLBy8AygVzaXSO+'; + 'Y6KknQvUqGu/06OpVb2upoKlqywko17Xaols3dYftxASUpsMbBPKX9t/NpqHWjYVA1GiPbSmxpb'; b += - '7mkV+574rAkUeJrSstzepIx2bjQjq2NYVi7BzmEHzyzFKlbxaXROrc0vDYedz9DcExzf8q3pOTY'; + '7Mu48EA5y+sdACth4uB6KrIprQugk/7y75kNOiiaHnEXNt96eeNxaSTtlAW/Lw0Ka5hof2VAJH6'; b += - 'QJ+Z8rtxb9DbzQhVh3pafSkAGcdYz9cce7g3qnyzCDG45Uukup2mhuJAPtkEG2UqUjtR6xFrU9H'; + '4D2jxBI9JLis6otyNsHFmhcAGVpMUgMjW2ZXjzIKyl5Eo1zcyEno+vd0ErIownwZpjLqKK0jLCr'; b += - 'SmFMsqLA00rjfRJ/w6p7IMvQzggY5gjqhqc+ZCkIM5HHmjDb/OvH+GXpHmblmQhHFsGfh5sN81O'; + 'b1epV7fzc0NJisMjoCqMoFcv0cvw6lw++toADXpONPicGXS0j66ihdFxW6GB8dGhT1DxSbQf/yS'; b += - 'IhlNgG5s4CwUMfBY8oSkQRBENYfjj19MCFEALoZDYSblLvcIRjJKljVKw6GlYXzbsEf/zSjdJZa'; + '1l6JTcTtcbvd+yjRXvMfhj+zdnv5aZm9aowPxDVNPlKaBePS6Q6yLbolGif7MEPrTDskoyzaeSm'; b += - 'oRxveaM5p9vkmri8838k0Km6neXaW6+332s7EfQiVjtPB5Gmyb9aXOMlD5tajFScbgX2mhdU7uB'; + 'JT+y9Nfvp40hD/Nlz8IFC3zysSTaJlS1NDK+0hAuJi3fcwkTsQI9qocrpvPW2OOewWtBINyXC61'; b += - 'MWnZbkxqhYAIkhtBmSKCSO8Fv0x3eC0TEsBkp+dA4pIeeoz8/HqM2/Nq/7Dg/nnQan1IB8E+u85'; + '7qH4Nvl6D52ZEdFG9uYIgeSxCj7nY+ocuRvo5r9tkZxiFP+O0777pFv0P2q/4P9G57/3IkL/o4N'; b += - 'wG9cJYJM6+2saVnzaByG8g2kuhswlgo3yaSX2IleJcs/7Xad+Qb5LKJdRF+rLDySIiBfnE1bCgb'; + 'Az//h8NHXSzog6E6UcpCu8nE+NUILyKRyV7PjkbydFqbW05QTR62KyLZphfVZ6n+bXFHWGUI6Yt'; b += - 'vO9qALkz9qqV+Uvr5rtsB5i5c7sfDUQ7gvpM50G2W8lZBUwbHqGhyr7qNuTm0l4o4pDFvcVz3Fy'; + 'vg6U1xylmiVMag3/ToUzZPGyYJSB6UmsYEAoX2IQc9UKt67NjDHzqM+XSdBTFb+KeguQI5qQz3l'; b += - 'MPW/F+MZHSeCVdAUs6c1eO1TflbPaEWdov/H3wt4dpm4Nrp4LXLn5/qmjLd2gW4S3iVzdaumSIS'; + 'akKqKpRgIVF3Yt2DWgEdmAvF3yKrcsynjs0rmtMBJr2kVc9OBUOn4ZWxmOJfcSvd+N7R3kYyDsW'; b += - 'EG77yalpVCtmVCSSq+a/XEjGUqsqA1ECIQ9no+m+Y00VnccMGJd74cYRw4gNqZm7zdK8khlkaHU'; + 'S+cKZoWY39A9Y7+Op1SrfRa44OUIRIfZiQNVFDOlxwMHRtDxevMc9YDAYmabaGJaHmA0IOmbCwb'; b += - '3c2nA4fxig3kJnNd46TFnZuFYQVa2Uffzxr87zMAOy9tQL8BcEp8z4KqYG6bEA7v5opumAl2eXD'; + 'ulEfzUo+39YBaggPqQB0cuDfTzCdDKdj+m3PzYWpiFhEe9vs+lPEJk5Mkp5+pNQH7qlymoj2ffG'; b += - 'UC9VQ72WEmZFr4vTClDKePeLaSEnVpOcOrJL5KKVizJyGWlvOk7myvGKGPCbBMg2UL336CSbw/l'; + 'rtKa6ozNH7JqqmLdcmcHRYO50X8286T47Z3GjqW0wV1q8baomix7AE8WfnA855/QhFSqxQdM39t'; b += - '8jdIZBiJ1HjZIMQXfPqeh++Aoj/3vy3rgvtlDtPqCe93H2CBff4AgRTMNHlBS4ok06jJSqUZIcH'; + '5f6NAca8khbgm2Wnw2omsrcbcJ2rKo3LG1NBUl+faSyzhskoK5csgGyXTgx4989+WwINI9B4n15'; b += - '7O6frW1KL7CaaW/CGiwfOgM3In7gPyNm18cCEIwFrdCNw7ZcPnw3eiSCU+gGECR8t4ojbAhCoWs'; + 'OCNSXONowkFPWsT0ZtZ928rh56cf5m+CaH/N22jd2T42fxl9KapuiNCKB3QwrZMTPbGdlmydxYV'; b += - 'CQLIlxDXD4lRlF5D6bqGzUdGEI4EvbLCCkJ9YqoJHzdIVnDNLVxBYwOdeQYpaksPGekXJSNQaqX'; + 'c6MzccWej3CPC3HFMVSsjS7HFQMfpYp10eBuC7XZ/k685nEaJn8hhh3IwOVbaQnw2KebAXsYMOH'; b += - 'KpmmF/Y00KJGZrSycpi44FgN1LxGH2urWANV3aLeXuG+8V5EZrC9Q2rqKzOuVEWawtcqaJq3WyQ'; + 'F/dsyOsjTJwuyLsbWLPhBHMvj5cjoKaEYxMJ2eEnDAMJhNwULc3Yp3u2xD0oEJh5ZB2XVM+J6nI'; b += - 'wT6JmVc1S1qV57/ClqVFle8L+Wc//wryF53u7/E87Y686wkq7HMQRnYdJW7ivPyem2egeHYkYg8'; + 'gcI2Obzr3g4BFO7h7Wr+ejncDkbliXM5GCkQPpvkpZKFYU3jFFzNa0cbJuvhbbva0SoHyTIVCCt'; b += - 'ZFerU3TRIVzO4Hw6Sark+1L+AaaRHZtwUjGmYOl5gAm7Q3wPtB82KY8rHoD4E0Vp20xR4L4o9wd'; + 'BLv8YpgtJdqEMgj7X3rDtonDA4n+I3qHuF61hu3j8la2iZpwSVjfJGN0pgRDzjAxKlXlhzvQxn/'; b += - 'iOVe58sHa2n1peY9fPaH2hwfdKAvRIkkjfhosDv9noWWo8Ti4Efe62vqSO8qVY0il1AoXFMhQfp'; + '7kmHQ3ea5yCHHC+ZvO49GDJxUYCXgS9s92Vt3OGwpwNcCpsIEomB0GaJO9HTToTdoPRZPY05E6W'; b += - '0nSVL9mXZOw7GvrK7SpofdYQbXVOfGqPSL1BYceoP3CJ6nHTrx1wpFcg7SuA9ck2W+7gKCOWZtY'; + '7hTMJOE9VicO65yDkXsZ0IW+4I2AkllPIN9Ch+PqStnR+LYIt5DimNt4dd3KpUynpZLeCdKccMo'; b += - '2ByplTZMd7nSvRMoNVAiIyYUiTMGNJkROlG8RMK5h2n8NhlzPcn5dlsWikOlbHqgDGZnq3qxH72'; + 'KWQvp72i2XFtDfK165hF3gAK1SxIqlzai0SJZ9yZFHEc9Ffy97pTn4O5wpzRX6UJpH45/OSDgdw'; b += - 'UYiAfe0cDT0HkoAbm1Z2Gx6NTXkAsGhdNQXeAiRObId7UERwko0riTqTGJdC3vK3JgQFd7LAM+g'; + 'QgTAw8RVfrkAqZlOuM1q8Bd6+sJ+XQj4z20u2Uz73CjLLBBbR7+T8jOiNjFM12J7HohY3UmQfvA'; b += - '6Ag/tdiZe0FsY6+Uft362BUYnVxuPt9v/uwqvA94OxNJ7WTDGw8qbdyve7i80KLfHKh0FWZSH3O'; + 'YP29xguqFs8jpFYhMsimVgi7pQ7ACcC7l/0ViGTNMghrqFaKXM1mchXtfG85nEkLHxRrajXF6rQ'; b += - '8s2RvpsOwoE4KzrBJOBdApaggAd2w19Th/ZdEu2kQDIPm7OyIfQjM82pb7N1JU68Pu3wjeinrhk'; + 'Ui7t16Jl69iaiRjM3WaLVoTtBtDqIaHVUEa1ZbN8NOcsHL7etRGAwc/brQvF243W9KH6JqzuoRR'; b += - 'PtXX8dbl+Wv9xEAdfmlYU7yDkMUuAQvFlbQNVD+6v56NQetV9SrWbNHUa8m6lUvRL3q60vUS4kj'; + 'Q83iawtJuIvnQIfZkaY2QU0LerEk/uXPz/fviH0eQivwgmV5x9XZ7b/CRzq+4FKypzS6vKxSmvw'; b += - '9lilGUgGRDAQ8744ehjzMmdaHDWaDXypK5ICV6/PQX8O82GyNbjSByVHoUulTRqFc2Yz9CfQjXL'; + 'qYC6F4rpEkqbSxw/pFytBKlLeCQ2tpSMEDWgEixUVlcx7wUIDwBhFcFiAH/2gGh5KRoI0CoGBDq'; b += - '3WHdP6juWM9zLNZJSQh41EJqM6a6V0yJpviycgQPZ1nazpeqt7iXfNJKK1mSvLNxsATZW/rGU54'; + 'GgDhTQ4IGFRKdQABGMA2cH8CiA7jDEf8ZRtxj6U2qNlge55jkXx6PSRfMAkgmJjXR/Jkgj0TSbE'; b += - 'KcqxtUIrq6QbEnJ+umyHNvM7/OXWn3btW4K6FMwLXfll70tBuLcte7va6eW3sFAT1FuScU9lcqY'; + '5phPJ+U+L6fraML0jxnSaYPqcNgkrq3jLdDDBbUKGKic4vH4qkkywMrEm4wlmLRtb+asmmGj5yz'; b += - 'aUYQcL9OUMuAOY0ylw+E71CWpv2nOSQKvA9PyQWnvoNPUk+wdHuY1MspiQ9cVo7k3vvKcdKTGd/'; + 'vBSDopsqDwZ/5O8TSzE2yWiWcECbdyklU8yap2kh0zyYonuVUX8MFY8lQngilPd6GaR6zkHtRk3'; b += - 'fkrI1ZZz7ayt7hNya5Ly29gaNi9jQbsqGCl98vvCfeYXPcVIKUNy7YgRv88sjyitJNgnwkyEqQr'; + 'EMWGHFd3IPiGGz1uIdJWtomaZmMe8iI2Htot+Ee2vJI1BtE+1DBHiBE/6TEriGeZTWefqGshopZ'; b += - 'TuuPJwmyUW3Yd28cpMx7xpvVWkYJceE5BmatGkv0P6ufn6GnbnYinbc9NP5mets+eoaftSPC07U'; + 'Q8NqMGeoazlDggTxwYAztIDCeqX5HJUupfZnX/ZnX0BkTkQ0ARGQOObwKmAUtyQfmqkPpMykQMp'; b += - '7wv+Nn4GkTV9rbMvn9ZrrApfawj6BFHtJpy5mCfzauROcfC0osVpszU3sFOrkkiYh57fwOQonWh'; + 'MCqTMtbJ4/uTznrmOefcx71PNyvCTiYfbNZyUmVUbd2PByFIZZsz9a2bM03uqNwmlYVpzVW1F+i'; b += - 'cT4ywZNTgE//mFDYgZE9cTSqaX1NJVxEq7Ws1QKwhzqSSoy9x2TLBTqY7U9ONM9yocplpwzcV/C'; + 'W4R9+DvRYjdqAYgkzWXmafGVqcXl62YQU+S7fD5Ze/P9hYEL8ylgHxtRqMNW67baNwW1xQvHYDU'; b += - 'bpB5bKD+Y4JBzCr4AnCBAbEAQGBFe02mYwLkNHgWg2fS8+1GonUfyzDJ19MLof7HffMbB775M/h'; + 'a3pYHPBkwNCK1nQ5Y3cIwk5WqWDe5BNqT1aBefJlRjQRqng3oHpHa2EjJllPV1Wd78Ko9u8rQCf'; b += - 'gBz7x76eX+HF88zuUAa4Iye75LRJNDCB378TBEM9MIv9BBHC9Z4O/hd4iEDIss4mNxQEmAifUmm'; + 'cqIV7AYGJ25hf3EA9ZhdX7ycxuLlRKUHCg5XnokrZ+jsHSqgP+zKOkOzqTqHOC8LHTENp3HBSZe'; b += - 'pIFNyj/BuqJy8VBucJwc4LsP75Aqx/Lhte3s081h9kVYtg/V/e8pfc/rKRRvngJ9znfp+bywct+'; + 'iC3QVzU4J4C3RWICscPti340W3dLnDQXrvNEgr6fplpvUWBCyJgapqKG/Gg3wexJKxCmiRi/uUa'; b += - 'mjiDQhrIO4B4eqoTJWsBGzqdtS9lmXUt+pGspB5pm9VXjQlJbmxpv4WZ4LjV0KaQTaMVJ8CMZef'; + 'hqK3FK64BGAcsGtbl3qKFAT+GbcQSSE3K0RM4daj8OwxOjvg9/B/gUyd5AnobbFd+uTPuTle3ei'; b += - 'giEnBqkiLUxFn6dsyonIsffTKC8sFKRF7XDwdLvZQ519j66NLV2WjyoAJtfftv4K+x5gecq+Z/v'; + '3u81+TxLqbFM21PJW3yNumj0n2eqerDZgmYKkpd0h3u3y3RqcCITC1YVWMwfsxfi3ls0V1rMatF'; b += - 'Z91Kw76XhtKmoN9KstnL6SNn33H0Psu8JZ0aX1NENvVCjxq5nNXLeo7zuQva9FOx7qbDvwVnW3E'; + 'UQoWtyGIXwBwuiSfw+6xKDr66URPmYIo7UsK4YgJudvEurSsxrq0LGVd6ktZl5ZVWpeWpa1Li2F'; b += - '6Ddzk7AzFokY0cTZbxlLtNV7tEthSGyJeY9GQYiBpCnO5Vj8TRmUrSJ+BB3SZFitnK3cSdDmJlp'; + 'dWlJjXVp2zdalvsmtS3P1ErEuLa2wLi2GdWlxpXVpsbUuLa2wLskTkPBv7h3qA/Rn6TrvPboNtq'; b += - 'blyBC0Tb3Fm6thUJxOflVsaKqB03yU5Gf3vgrShuvtWwaw0iqEt054WEQqLaAnXtW5U9DDPHoE4'; + 'V3UmnxOu9R+kML7UPXY1RaxkalucaotMwalXSNUYm2e10utdOfjnKpKPb31mrNLbUiEkWtntZcF'; b += - 'XZiCaiSKA3vj9YmnQJxMcCdNdSKS3cPng6CoJW8zhNZ4m1b9ua3HrLOq4m2F8oq4ns/9f8euG/K'; + 'o3xqI91tWHPI3S9WPfRH2PMiG1KaGkVa5KPld9K9yzuD5dK4gcfBib/P7GBiab1DaG3JVRbxAxH'; b += - '3xsizhaaMOdCNJ1A4sq1L9VSqulL2NZ7I3+Q2Pf3M8htv6KaSylwkWoKtO3dAv3ZADqZrJpVOnY'; + 'dLB1A3G9R8KewXCxXroLyY3o70PEOLVq+4X4uFZMiGnuo2YY1VS1ocphQxX4T/9xKsSGqtjwtAp'; b += - '5LRrkPFKnqtV7fjVVFFtdKrr+L37Kr0lSva8RKYuJxX1Vdr3WgsAe6ia8oKuPOoBKwkLN19apVN'; + 'TvOEVu8IlT7EFKrxN7FThTZrNVrfo23Zs17fEVihrqQpXV9iqVk1qqyrdvkGxk5mTMlaxqWr5U+'; b += - 'tbKpr6yyekqmw1WNq5XNlq0snDnfsz2p+uoNAv94vicXuu94mKT7zRVsOEYS2ZqJSL4dyqqOfXp'; + 'HKDaq/dLNepZdq+/6+HfHgqD5+bY95gb4F7699yxr6jlt20MbN+/dSHnxpCb00NoSZ7IX0Lcu0d'; b += - 'GBPf0pU137r6uAt/9rGBwEU+ENjI+qTObE3nTGA/b20q+1H+B2nN/W3Kn5buZee7Z0k8b8sVl0a'; + '8S87Y4d4TJ6zR3mo++s+6l3XeOnhqu2b1Dbw3V6+eDBMLCms8CazoIK01lgTWe0fgtp05nDprMg'; b += - 'vlbvMv7OAZM6fTDmiXje4vVKtmNN56Kz1KaNw3+dvbErixkXlLEd9yT6FXmQsTBzET8YEY+Z3pk'; + 'ZToL2HTG/cR05sSmswCms0JsOgvEdMZdrenMiU1ngTGdcXNsOnO688Ss3b69dKu+Wa/bVVpMPKz'; b += - 'H0QrSmoAjrhkDJ7839gaQCpzAnckrz3SkMI4HiFXqOtpwj6wIlFB0zJNrhlWBEe+YdnJLpwaGAB'; + 'aInzBOliJtuul2/Wa7WFvP75uhb55FxEccVsMtPfukm80O1PEj7kogXFWlsMZ2MtXoBOsaWFwRB'; b += - 'ETzvqAlyTDrMA9EpIupOZdI+qbQiGtdKAF0ItJ8YzefZXn+HQTtsJ4/2hRp3ljEriVrtpd/heYR'; + 'PI1+rFtJ4fhthFIkLBNXwrEbweemAPwWxpqQ9Pg30VTyNQthJOYFI5H6tIEuweuQSWLiIQ6EAgp'; b += - 'JqMnjPy+k0m9NFBngImoaFdjuo16g2z9NPgGafoHC2V8qR2elEmgYR3ACcziEe+2vQmFFeyqFnd'; + '5GFix8B67IUJKBXr3xjKSCUWadv7Qece7aXVtMHrcRaolI/fQt1L/BbYAxU/CR6zsrt/YRQK/UK'; b += - 'WizPV4ikTFk9WiycWghvmFwE3uGZaAG6YMwvBDUfNILiBnK0gxK1QDMajGBJFMdDLgEjl/A14ed'; + 'qMmpU3+JlmnpJu9ubgt79IqH6AE3badi7/Y3bruHBb2gDdsN9AJbZJA3YdL67CBWvLHQQVUr+0s'; b += - 'Z5FAPK2a5YALUudTwSj2IwimL4oretQuoePC1JXfTqcgZmkwElKySJfoDk5EGYarUwrvug++pKq'; + '30VfSkqUG8Kft+WgK/dvzScvk0KdHh1MlcQSFldGDldFLWxnPDMUGO1Qsj8aGEuNBhcEOZDyaG5'; b += - 'Ola4WJSMnXs4g8OGlTXBuXGJL8MHqh1fQJU6yeDhKhI62S9ekG+XPjNtBbn6ZpsG5LzmroOqT+J'; + '2jPxV668ufqNJsX/hEle77zCeqtONjcYXRnx/7RPJSsMKCDRAOVmCWl9ByA+SXv5E+BLCgtaa20'; b += - '3+j3jOTI2r1gc/+9mFY5R2Lycv4DlebUHPuIv7WS2brHc96VO8FELNMXnUJcaJO18YzIOtCtN0f'; + '7Jfopc/xCaxcI3ueWQbLRGCMqaXZpbIy+1YjLfpO/qJAN3Zr+/q16sweXdqWo+rtutl20tLNzj6'; b += - 'ZrEAKxxuegXSYbMv/jEHPo/a8AXpPyQGiNSFmhKfM07ktT4ypVLlX2eJ4AFCn6vM7YjVVhpBCyZ'; + 'Vrpp7fbtAJFLwO2RwhLgEl3S/K95iNBh2Xaa+7UCK76h1MOCERTYegZAxsiK9xNsCAe3E+RxLxw'; b += - '9htZL8Pc0uGSp2n4t8nRebW8+VvJ35Md9xRnynlFwGu+w6F0M7dyGn3tOJaAadSvSGbPmorbHfn'; + 'YUEk/NCx6/VK9vJ/oS69e/kY+I4yLkmOeKdLGlGj/Jw0HIkvjHnrGzfJuPIyQ+eaHaLH19ANn+9'; b += - 'UJKqW5qFo38g0lRvxvcy56m4OSOfgDGcbn3AzpB9u18Mg5jmF20nedt1c6ihB7wmGzneSvt7Lbl'; + '+4DQe8CEM2+P2PYGt441aainYx9pKMaa58zjqODaCdD32BZVhc6pFXBHjFavuKlXjF6of0annF6'; b += - 'f24ECfqc23nWaDvfZhZv57tNaOeDpr+dd2s7n2hLOz/elnY+2F6ynefb0s4H29LOj1lp52NWb8g'; + 'vgVSzY8soO+7RG+7NyRfpEXv8hNvcjh49jtusi+Va3xse1WdO1KHdrRreLxikwv9hw4FbpgD4hz'; b += - '9WDMAPE11E9r59xe288l48XaeDcCE1VQrAcgPRtjEri9Gr+LcNdNEqnLINSR63OsJ0cEOM90MP9'; + 'TcAhjT2hbVl8pPkM/O7PPM9nf8r2Ch76wFbkZgLD0OtqfF0bDg2VOoS96Db5GVRzy3A9zmNJwnn'; b += - 'tuuMvNPBHBLI9Hv44o55byb791OOq9IIpeTI6ibaS7dltfNyn7DewRu5MCTzbxzOGvvuDVRdaJx'; + '0xRbixbAQEw4AEZfARtynl7CNeJkzuzRPTMX40iXrRb8fucatyJiKh/koP9VZU7EvHxObihWszI'; b += - 'M95l7vc30Qv46C7jRNlV4sey5G346+YLHlmihyVw68cPEMysJ8Mz9vrO6zuMaUdtvBOJPxEvgnK'; + 'eUubfCzDzGJ4hTZubDSlJjpu9evB5Spty9OH33hMd3L47vPo1uZ9z03cixUWGmVmD0L3vyd19G+'; b += - 'nyviyXyrW2Uw7IGa92ogdhBS3QciBwRcauwAniOGAjCF0hd53L70tEEEj8usxx0QCNBXFmlOCw6'; + '0e+AV+RSczU3onSHKgJYjM1HDVfP5vP8pTtJWKv+MZyLS9MW67niOUaI50Dpqf4NnO3XOFmR4zZ'; b += - 'l6j14bFxXf9VUa4MyHOanGvqiqtNCT6txAJU9q2wj4AUtQzBEjdT67/zN/cGCVQPBgjEJFrRDsE'; + 'fC9RPWvMZuXUsIIx+1grte5rKSf2C3ZBm/AQvE9PZam79/7CFO2KJsOFssmFQTLgA3bsyLpja8k'; b += - 'CYSsqTPlhwv7pZZoTxoQK2CuI+nxLWkWIKw9ELEcx3d/8x22EgBikS9BlLANjN1J+B+AW0aSxUa'; + '8hlWg9GbO1Y0oeY7EDsyyoa7T2CCdlBquSBKssUFmaMPs3ESLpDO2QWZ0cRMrCreV8nJUO2viYh'; b += - 'WKq0sQ9SXrfThVYqKltpdtq+SYR9Jlh3PINRpCrpjwuEB+ebwaCi860y7d2hCV4iSuu/ZFcUHC4'; + 'DbNgU6uClVNshTA1VU9spAFR0+9JEqSj3xkSob5LGPWjoc+DvxmsfDonxfSnMqM1yUoRd1PtZN8'; b += - 'pnz0W5Xzum+VvA/EGu3DJx3rJ82GpPOyEiKB77JjqnF+9/7DPugLhR8JbeJFiZ+L+ojw1vv5GKb'; + '4iL0E3n82LpZwukTLObWCBFZWCc3AGHXkIbehIHXNpklKp5Uao6rGtwWN1hLMoyHrGGOgJiq1l1'; b += - '2ojxC+mueuF4RXOE0FYmVNVtVUaRO1GdKv+860T8pdUrk033U2lg6vz1J8JZqMrtkgOe9/FSTM2'; + 'tUeAy6b1HcSqZOGsOe/VHIKFntyeKKf8Osoptj5mrXKKSDxt3D3ii2QUU3lby6COjYVGC2RhXKs'; b += - 'C39GU1BJKuFZ8oiGciSTkEIAbTjd9Jug0YcMS1TczYGyei/z4ihIyH3NB48H2Br7YBU28hXy0g0'; + 'FdDi2QP2WtklamBnt4RMqJUTNohnIGwvJHEzjHPj9uBWauSyrp+oPrBQ/EVndwyyrp3qMBdKop5'; b += - 'ZiMNZxleJla0N0U2B3VRpYzSY3eRdrVQ1aGMZnUc+7tJpsVfSzL87d5F5H0dbs54XvQ+sztuNzF'; + 'RRTTlp1ZTCjjHM62fMjS3FdmnwYebG84gFauZSVc5l0vIfOJ8vZt5iPD+kDJ5rpwbPiTBPxawpP'; b += - 'kiNViXv+9h67Nt6ZlLOu3uULBEQUlzvdvP8NC0BEbq6aiLvUt+pBu2SrPhVa9dEfrFX3gSv3h9K'; + 'fUeIV4gt8DAqc1mDmSlLhYmLf+xmFiJf1MrFGTXPauK55XIz1TRUgu5mZpMK81XOaOn5jF/6E6c'; b += - 'q+4y26u+yVfcZ36o0hsDJeyKqN6rr8r7W36b7+FzuMVWb7mHJ3aavTfebtfFuO9CmzlxZtE0P0p'; + 'xWjWxDU09IDmscK8vVAo/77MWhd+gxyaGSxxhXl7UdJpqMXEM6voBPP1LHFCxh6Cv0Mt4XzaLub'; b += - 'C697n0jS+yA30j+bIUe2L7+sZosKtSTz4SkJl4zJFYBTOjhR2VrToqW/WMS1xv7Y/gclZ60VpHG'; + 'LdvEAg2t/plzCJnYyWy5NxaHMHPxg+cmlmfg7mi2V8PdCrhQiiAw741TTOt3JRK0QUz0uFu+lra'; b += - 'C3VLx73gIrUt+F2acGkm77ATX/LFuEpMlsH/fOHkMl9zM+gk3H7qPU0mqQznrOckiUwqR/Fr3tm'; + 'JYl8bRk6ZhHvlQKcsTqJoCLLyXzz/IZkXYRR9Wb5tiK00mvVNx1sDUTsU9ELijfRP9FLBZ+RKRO'; b += - 'c1bUwHia/JaGAP64+0G3+yw23209hU2iKUKe7JnYBDn0r2PuHXy2fVEKISaJQto5Pce8yCF/kXu'; + 'dhEQlqxyWYl+ycMRmZriTcVXxf1rPgNVXuKn+wpgVlMw7A6T9MuKJOvQ/w/UZN7pWK9+Zxabz7Z'; b += - 'sMNzg4o01zriQ+h2xgxdN0F/ULosjMI3nfbiuxptwgSSGO7rz+yrjgsTBUWbLt/JJu1grP972rc'; + 'GlfYVG8+2UVOpbzZGk8qodS1TarZ/v0Gk2qcegJ8e3D/9U2qn9qp/ZQ1309Nqo+N2q+dVD0NFuR'; b += - 'y5emjlo6Zq5SOmr5VnDQKv0spHjNzFrPGtjGn979RbeQ/mzdi811StzERDP1/2rYxD52Pu/Vxbe'; + 'p+Ybcr6tL+L9Y+TexUb1mrmfXm2v/XhpQs7l207Z7meu07V7mGm5s14PA7jUhsHsNc+1VzLWbQm'; b += - 'Z+/yH7T18qHtH53m8GLJpLYFS7LVj5itJX3mUVa2e3ozl+18kFDo9yKq8oOCapbiKIJKe1k9KEp'; + 'DjN2JMnfnYnuzH9mTM9cy8nOnjuSbiPQ3W+pn4P80ncyczJMRHXb7HcjoFbefUBc/TbE69kgQdS'; b += - 'S1JHwMTMdUsnJB4mP82JGnJYXfPiSMJ88kjiM3/dl1r40VwzhgFW7cY1UGotWZiN2KyTt0X0V/K'; + '82pL3PqJ3NKz74u/HWvCX+vZU79SebUM+y7W3devdp59c28Kp7XYjQFJxSLurtMdWI/9g3/0kVX'; b += - '/6Mbg9AOu4agHywSEcjn3LtcdnkQe2tGmxyLHNRTyoYbgZBJBzQxJsp5EfjrD9DoP05UBpTIgB4'; + 'XdZ830ldke6zAcN5SE068W7VxLtmJJPLFwRhPYNePg3yBVQd04SNmtbGTlsCoGkCoGkAUKaRiBE'; b += - 'a4hkkC2u06xfS2f9G9fq2i/WomF7U8FXProxi1Erqk4ba1BwR1Axnabd2mOl5vcAaPOncxx44gi'; + 'YEWNBOWyNYVTQBQNCK2LA0LwARHoBAFSQSN4EsTwgVgOgTAWApgmAGDztiThgBlAwO3S7vKg9pj'; b += - 'U5vdeWcztTFS7HzxjbX2MXO68MJrscZwg7ZojsMVTu0qx0a1Q5N3QFjXeUxdr1aPHXA7fiSwGJU'; + 'L09IJuT8SBaXY/x6xMS8QBCzACHU/bTD2N/s3cFIOnuSDQXiEIFLBJttddFAS0efdBGrhv2z1WH'; b += - 'uIIi1Ji7c7vPN+X2oYXbJY5NpjHJgZU8JexQNOFtdgcKV37rgwIFhJ8yEaRKFD71brSpywhVWt7'; + 'piZyAMtlfKAm+LG3Ep5ILg+eSAx0ldzYZO0tE3SMhkXlhMZB1IpfRzzIYpl6YRXIRlLiL+ZWOM9'; b += - 'dZuY7dVZFK5LOq0m3kH8YMzJRTuphRxE9kQPdIUzXSTXZsvCcg9VRLLbVd2ZJ1Ykfu5HXPtFGUF'; + 'xzqTLSzHXiIa0G7nGZbTcqnAluCSz3NeomVoKWrBkHSXLdT1RK7I3VzI8jqExbeIm+GhzmfVd8J'; b += - 'o0Xptah4FrsxA7iqkDd7Pp0VR3L91GYePq8ZO1W8DN+ES7J9N+Dr9qvtNut+hGYNojbMI4FqcXp'; + '0LF6h9IJuPq5Oj0+bjrvLMv9EwxMjMgcqKd5fADxc2ISzbD6m13Sz0VgXaeDdYi4uogkkmxWJHj'; b += - '2mnW8+ttdPxsTNsp+Njg+1Eh2CqDkE5yC1VR7HYVr3+gnbafe4ZtpPbsb+dbj13iXa6/dxF22nX'; + '0wWokuIjfRuFzk+M1yj+jQLsu+VvpYTEuztqxnHUz1nBLt21XT03hqTAEj1qHnQA3WIZECOrSE7'; b += - 'udJOcDUNtNNXdaJzMiHhkVVyA8SAt/cuT2qjSVKN2UQA+MGkoX4bhsHwABvsxo/RFc+BugHagzk'; + 'Zeg823T5BHHdr1gXrlCcpvRWHLrAswd3SW43gVZoqsJrqdkNvf6ZbaXHOcVvuBFyRp2/rrSElxX'; b += - 'rhzU47P2dlSGEe+tA3agN1A2Z8vm01EIPTvN7dYiWZECcOFlsDMG0iOc+5M/tx+dEOJ2OavWOWK'; + 'ModdmMMuzGEXS3AzRIKbIXM4A9LbjGZz+KKkt5d8Dt3UHDJSz/jBzOgMzKjVFc1IZnQGZnQG68x'; b += - 'lRdbGGjs9SXF2xsWB4huPywTe6XvRF5Y4bfaC54ZoS/Ztv2Dl7Bg3rh+kzadijRmtupGFnjW9Yj'; + 'Z3UiyU0p+4tMSbmoQlQLlk3I89zr8Lyodd9qiMw6cyXqtM0abbuvz9DrvQdi623rdB/HzkG5boR'; b += - 'HR/X29YHZsbtbFZG9anClcNe/g5Nuw+f24/JGvDHtLq3W2kRtXFGjokS3F1xcaCEXmJhp3jUPyQ'; + '6JHDZDw/WijWPWcuJvwLANXggafmo4JN1m3BsWcvc2tl570vBU3GBu0OzYELc/U9GeeDXM5a5wa'; b += - 'RttmUh81In7mg2LecFVoVk/1hXz+CG62+OLoVDAziL59u2XgRqEz7s9bagXkQH1DVYDA0FOGyBl'; + 'miLzjpm4trg1PAI/dEIsNmm567FaDndwzb6O6AkjKefnqvb6xzhxaH34iVXokkpE02q9vTvHRwq'; b += - 'c5Z1K5mqh2cpq+MhUxoBS/pFUjLSSmdj7MznsPuMrh21IyHaD5ikjCdnks6p8ujhhvqcRfq1cdE'; + 'RMJISehI8PVu8aMcCiSgbUa2/7I2h39TkRPvqIwxLK/Fyd3iPygb21gCZ6TeawJh3VYZZEybuHh'; b += - 'aynUUF5GmorSTlN36PcCe54N7b3crx93i8U9+227DtSb/tY8F6rMPB4kyAXYKPz9+X+OQ/Z669P'; + '80LdIyLOxIr7YPakQWknQHQmuamPrORJbz4n2X7Fp1y/+2wkTVTUoRweumNh6v2VC06UzlSNv9s'; b += - 'fam0Gql8mIaUHkZ/V8VfOqSboL8L2KrPHeoIKrgg0Pk6kN0ll2JzBIvxSqAr/1N5XIADTV8EycI'; + 'jPPm9Satv4Ti5OPHfJ6IoyWofDionbGc+axEdsC7172JvKleggKokGm0R3YzbKfGPJw0ldG7HDh'; b += - '/Y4k2VMEAqOexrwj5pJTRSKAytw5iNHKNR0y13RI7y4zyv63vkKJrZ8UlNhtHiVGp8remxQjptm'; + '3sWosQVXOjZon3/84QcpC9IsEREKkUoEXDkeYk4lgobQvzRpRNOHOaljWGEc+TF4rcVe7o4qVCi'; b += - 'ZT/rs8BuVyQ9QW0mllBTZfyUEDStcBEILfjpFkVsoARIZ6lpkly66r+U2XXSf2G5dbK+xt+tiTj'; + 'KtrdqHd0euKEEy2NTn/X2v9MxUlbcUsF2PFRvXGMzeL/60mkFIC/+JUY3N/zVau5KVgIt62gIpV'; b += - 'kdLo6usf4MY2vcRyiLq9Y4I1cWC36WXLyAXyEXx/lhcvGiNfYeXVzN3oOLl7BD4eI69jFcvGwNQ'; + '4YFKJOxKJXIK7dSHB9jklipg5bEEwkYElCHKROGETSthEQg44fgE/PbYbBXzVy2/jwN8r0+iKOM'; b += - 'KVcXO+6cF18qevVdfFK19Hr4svX2Md08Wo31Ojiq9bY47p4zRp7Qhd/aY19ggnhhCkQel7OfB3S'; + 'mevAQjBqsoMa/hXls84IELCojKgxkq5XSGF1ec/9yz+c91TmKsZCW+ioRj0BzlgKO1mEg0jDacR'; b += - 'iTVELoBA/emnaGGTo4EUkDurUYsZH7VQGHsszAcADOSv8Uh+z4Zg1UvQtxpJUogkXbiOBhMGVE8'; + 'QiRNBEvstTCMQLp0ViepbyHAbTcy0nD82XmiDgyH84GlsMcwCj7PSKf5W1kSn6awausxLvxkihC'; b += - 'KJHAP5cbXBE3i3bEEspmDBxyelEjoIigB6+4JNqpypZxSYicDdeivIXZsSO51dUxVDa7JRV1Fi6'; + 'GTNOCXeDr+Bos+xBzO/Lstitc6n3iaCUvIoRjTGS47ZxBGF4SEqMQTe29tUJdbl3YNQspv0Do0m'; b += - 'bmjfDaeiI9yK8yZuEvMYMIResumSchBJsDCkZP9gyAI+eV5wN498wzzU2g8DIl3Xtbf61rJyHlT'; + 'oyzMfMYGMJVRxaxxIUiHMAuMpAriLdWe1eSibnpYhRAY/ClCVh65kUEZXBuxDA8G71RxPoY0Plk'; b += - 'TazyfIlvRamq6sk4ePIN+43DCxUbAnlIWH166YQutvSbUx5r5OrXL6H/OSgfxd+R5E9xyGY/RA+'; + '0eHbkjLyFWEbzvN738LQ7bpXkHvx9utByyhwMYIOg+1SISLoL5yGlBBOO9PaZngrwFCVJ3AIElD'; b += - 'Q3bISDxKdotAJt3s6ae2lslUj0renOyATsRdYgussa4/I7EzmAMa0u1JVCfDg8BaIv4xjnJjy1v'; + 'iPAyB8rjnhuqKgsXxnjGsSJKlZEByra6EA2MpSykaFsOb8Ggxlg+uQg5Edbxed1luV7qj40v9aR'; b += - 'C8hgp48AYLE/ZGYe2voB+0uf1esql6OIok3hWArJuJaNPOhKL7CYhw7cUFmTJ8b0TOb7pSmqkpy'; + '0IyIjaWFNDoIYccUq1NKgZ0MhM9impF/i2NPdXr3SDhOGiwfDuDoDypq2SzR+Yof4xMDbvEVeXG'; b += - 'vdLK0vBRejsmSQrrBC9AAUuhz+fnHL9B2xgcpnevVYsnfjevauDouSvRuDMJLZu8mFTMNOkL1LK'; + 'FVcW/9It7fT73hH0FrHq+MoRt/h9a3NY4JC1HOeJH/aOHDA2ysBEOMGMNyFmJdoI618RztUTV1F'; b += - 'l3N3o2RajkO6BR671gJJsfoPmT2bkkwAuEmPkH3PJJs+wzdOGToti4lf47wWCX04dE19DE/Ox+T'; + 'kaU2qliiHPRpBHzH8Ej8BZ4dAtPuOLL6Zb/GdP/C4Rb/6ca/eFjAQ49gRnu0ApnvGFcHh0C1S6s'; b += - 'F0XCZwShRuUoRQdG3XSZ8ZSVHFYs4zgidCAgjYhSYsIHbDWGaMRCjlfSxo75LkB4VrJwLUUE3A4'; + 's1xJP+g1Ba7RiPhfUbIu4elld/ISsTLTpkfVPy2jxiax9zQI94pEx3/JGHJCgkbHylxPpW+iCOt'; b += - 'CYM5Bms4krJTzHMauXGv66qwKb3QXVrFkP+XlKDmui+jylWoRGNFfsH4t4vvr3/tyG8/1m1NuIw'; + '0PcDJu7mBxFc3dNtHJv9Q8la5UVKo9heYluDJ0+ILtKTi/+kqJLjnxLkf9dlRRvHdsK3c7dRJRk'; b += - 'ceAqEZ0GTaonCJ8uCxFu9bKEvJtTqqI2ckm1ufBo7L1jJnyjFGkMYEQl2H/pgBkQBTp8HRRLWAS'; + 'F8saqzwFzxhD26XdJ+hp/DqFGojFEP/4UPW+vLH1liItJWnDOLfPUSvKCVpclyDEl4ncgua/GlX'; b += - 'RCazIJabQAEl4c+dFjEyNNXgVTQm/jpNSOGJjyIREUrEzGmS9AF/cFhio/a8mFqilqJZTFkhXsM'; + '2XbpWZP2VCs7ei9ymVxGb3CW54UM4GQg1oiuOIoVjeJgqzjX4axLFM+Wwn4QGHpce46P4dcLZO7'; b += - 'yCU37n/OyJyyls1Ml0extk/v0eb/rZqC8thwi5GgnfJe3TFSI+IXIJOstEIG89ds0GPDkB0JQUG'; + 's8l928QjEU73R9scPMSxpbvtz6Lfd45NyxscB8uSLTfwkEODOQ6EuL7gsvGsciJjtFcRaPPyaxL'; b += - 'EjMzKxWuXxZ4914fUTHlkVphejYTU3NP90mGG1NCs5SwUp8h3jTR/ntIgHZ2Uj1Nde2nUdC+agH'; + 'dB64MihEJbJho3lMjLPFY0oW0HLnnMvmouXOX0PPW0C41/SzTCzx826eyQhR6VOuLCNHnOnH+JH'; b += - 'o7NvSM/Xynyfr86QYDMVSi2cB2N5s9ytEXEo4KpLG89eWO+w/L/MXV4yCW576kku7MQ2qdGauqZ'; + '/6pb7lPGgGOWaf0rVHOOa7yQ19GHqb9x13oibHtRXXBlUr2sGhfeGLo3Jva4x4Qr+B/L1WMjiZx'; b += - 'wVd3n/bYz2986i6830P+TtvyluV/4770O/QWblittW4yQLXq2jHBa0O1Z0xBKJq0BaO5KvYA8zk'; + 'C/6DfcOl/PL/Ku9UUieSCPAM8CzsCyI4PZTpgzGKcvHM4YVPAkYFgMin18x5iMj2dpiGtGUzWDX'; b += - 'G9layMoYIbdFH6A66kNoR4MIbdE2A5Jav8uoD2od1aHWgsWO+uDcUR+cOxqEc0cDcO5W/pvKzjw'; + 'HMsqcFTR+ipA4hf70Wn8DDtYlhxSNl4hBjWSKZsgrcRvf+7ayJ3oFrV5G5Y1ZI71FWQu3FlyR1x'; b += - 'mUGzje+d8RQ2AfUstNavB+WIFo1WwFtlXBUvbFATWkCByhWNtMxjWRLx6c5FOU8uBeC7Zh7+bpT'; + 'Uilq92xM7f4lRe3GVQNq92xM7f6lEbW74NSldmOW2p1mandINaB2Y5XU7j5D7Talqd0P11K7VyX'; b += - 'ibltN5/Nbm6WlgYwXBJVrWKcxNNz261dlpHVPpdceoiyU7Q+3bXAyYbBcDJltUu/9wUN+5GZkEB'; + 'Ujp4QXamhdr+mqqgdup1z6lC7Y5CYfk3F1O6YakjtxpVQO85PY4jdOyto3UT8Jkvr/ihN6x5Lkz'; b += - 'Rs6c7sL6dvqp8A7NJ8ytk24CWTqAlS5jLcI8dGvkpnajwsqG4gNT6R94Zmg1wfXqVXwHH+UlBcG'; + 'p5WgNSN6QakbphJaRuXE1G6uT+yUgd35+QunHVgNSdUU1J3RllXyhjqiZ148os9v+uGpC60ype7'; b += - 'IBKs8q8kkktxuv2QbzZnfRbh0vuBzOJbIqp42v2Q2PuZhDosykV9uWemTpQ2OPG0wZG7Z6CerX5'; + 'cdVBak7xo/8jkoIm4Sy+JtUzSGu+XNVQer+L0WEQKUHlZA6Myi8d3JSN+mYcDWqmNTR1zOpO1nx'; b += - 'YGogC2HfViHgUy2fePDNz3ctH+KTzjzaEbyUKdMRBPTHrejLJ1F1Sv0myfHkOYyvTIqge3NoQ9c'; + 'ooTUpb5+clJX70WS+ikmdYMeEy5VQepG6QsHPIMKhtTFoLjMdPeYSgjbBNeMpGo4miRmL03qhum'; b += - 'iFN4AjE7AZI9okYquYdrEWL+OQVaNUJmWdXHYMcxgSOXpZAl6hoiqHlgQftQhM5L8qw7meYruco'; + 'p5zgidXRcGVJ3XMWkLh4hp9/yUqRuTRy015x3pR+IuvwBvk3/wpdnjKKh+HDTu75T967b46QrEo'; b += - 'jSeh00poaS+/MCWL2Q6fgfyTBmYF7r1crxjJ5LOkN0Wr5/AC3bd5ZhucdYswe2JdW8qsonxN5GH'; + 'zXpBVRrAqpyJdlU47MNuHu8r+pEEybw6yCY93tM4SKT/JfZxW00lT8rOrImzMieAOU2JLhCBnJr'; b += - 'amZm9pnoxh2uYEwL5n/+RreWydrJ82/cgY3ZTqyeWo5NY1h+usmDxt3yv8coXbdzx44dNKnp7in'; + 'tJqXxmtownBwY+odRMOWEh6HMW5jqjSf6KExd5xv4TQGGAl4keURE0aUNGVfc87xadkGlW057PP'; b += - 'haMw2rhTprKjbgH5tA3ARemLK/W4kzf+0wWlgOilSGyoG5IZhdwcTb8T1f++dOE9z08ru8F3yKQ'; + 'O5ErTx/gmC7uluJPcYpQUQFhqH+u8qucWJOAL2j3HeV5DBrfxFSRjCYQBfJ0kc/f7Ez6rfhM3zz'; b += - 'xPNG5095BA6QeMzK4AO77+Rk9vXgztaL2nep+sHwMXy7Eh++l2QlYe4XQ2cxWU/luyaoqFAK5Im'; + '7rDIXf6HyW9Nh0KtUTUaX4FvVkFgf7u+GFsiT00ws+PqxCspnb1GjgjLh00Vj8Ceu1Rgsr1UuOQ'; b += - 'bbYp/9PkWmTf6Hpe+gyar0fsbQfbS94gQR4aDjCOgXbBrrELqWv8l92awdjYvdl0yy6bFLlYNNc'; + 'hLV7/3sri3KIUCSWEHPUqULw4iIPcVxVpR6txLnVnbKUHFHbGdabec5KTi/SW/gpVjHJubNtADn'; b += - 'WjtqnmnHSAbCppNNnCOWTTNk5oy5YdcwzE+5ToshMbkK5l96jRHC2eQKy+Cak/MvF75Gnp15P3t'; + 'olobhVi1aHLuX/1mNlA8630qPfF2WXegSix/HQJvGtyuCBies1jaLome0xKf8fD8qqG1St2VBby'; b += - 't6wM/+iZSTlNpFtztTqMNIW20Wu8dbcRNM0O+jVbLTdaOGvFttFruiG0kR50lbcRjRtFGcsTzpY'; + 'XSTNtSHHq+Kh55fibSccCQg7iqDC0hXXbtzXTfr+kpK+h1TSl66r+/bG8yIcjcNqhg6amo4yzc4'; b += - '24PyaZuvdKaSPu/VNoI9n7fGkj7t3p8bKt/9e0t5fHT4jZC6OjfNKtlM+cDyVedFSPuVXmi9guy'; + '/KisKr+QQup0mWm9XmXVLiBZoiSH4LSI+sej4XZPebdi1yXuf9zieJUsZpRyCx9PHhdBL9BodYq'; b += - 'bCssOHHEoeFr43j4HnIYglMlci/wXnQ3Z7PP5uYI5O1bpaxFCzLpsNP9yL6fOgDok+IJgjtLfqQ'; + '85HWq1Vr3mSKcNxq99ScuMMGHMB9HD+HysIzEOdE7qwE6c23VCMIGT4nbbuM3RSW49v0siAFnzL'; b += - 'aH7QgOInzI+dX/YSAjTnb4W9JWKa3zJdAwbRxyLNTzvmFx71C3N+4UG/cNQvHPEL6yfl9zJdX6e'; + 'EfwR/MYN19ImoNUM59cpUfz6XbO4WeYVVxglp5Xksxk1FAir3jJS+aAvYwu2kfL0KJTvE28145Y'; b += - '/l8ivsybrdemj2CKNDOhj3K2unC7t1DT9HKY35Sbb060PWZsEhKUABBMisNnI7mE8et9h9nqpTt'; + 'XjpqKv1tlWM9KfXbKoc4ZmoxL6wii4foad/fyVkIN+sM/clbGc8MmDeOURsqfpQj9P+BJxRlSJm'; b += - 'voiYADBFA53dhVTTZLk3dUmIXiSofBim846DAgZ0DMZMJWT7iJuGT0f8ScJ6FzGxIdCxICgANA8'; + 'sysVvcHBIYZlofr9/NS8nzDmY5Jvx8wh+HsLPg/h5FX7uw88r8cOb952ctgo/q/GzkpOOcaopTj'; b += - 'sJIzZuFzNNACgzDWzFVOh9HDAcQYGeZj5XtMoF6sMH7hWVo2uIjQJamFb9tIKePyv2fFbaZSKxU'; + 'uFH83qRPx0CbIhViXrcFl3bRJkbav/X+gSiB7ViExHVHngwEiOe2vXAJZY4eijAyPD282zTPVFq'; b += - 'DcJ+tUay+7+PGEsU/IEEhvezewjVofga69KwkXrsxAdHr25940luPEmX3OGmm3rUR9n/HF45vN5'; + 'n52YPyvdsh7bDVYxN/4+ue/kJEx2OpLVP2nI1/614xZDKYagvo3v/p7H83J2G31Far+o5Ff/62c'; b += - 'U/zI5maV9Qhom9xL7frDbKM0W9tpE0ALEiaEBSwcmxrcxoH8XIwYWkGWqUTRkRgsYeAIFqky+s0'; + 'fJetxpbxD2f+4rkPyTfb6t1U/Zlf3X8uI/Nhqwep+lO/t+shmSpbu4dqv/Hf/uxrSqZRqlk0N54'; b += - 'Y5/jq8fQmJ19sEdEAuu8VJo+T/IVvphLO0kV8ndmrCyelox1aSkpZdN72TioRhArykrQNAgc+V2'; + 'OyIhJwPyUW5nvyC1+zzOw9Uz2wfOMRjJl78XjHgWECccU5gxNPG1ccVEqeMK4YkIqeKq44pJU8C'; b += - 'c2qTy7hM/1ycfJWNV1dLfbgD94Yu8xzbI1d5ie1Ob6ywH+w8F9QZM+chZekjWamePFdvz8L7kAo'; + 'RxxWWp4OnhiitSwRPDFQOMvjIlXLFbKngyuGJQKjANXN4jZZ6A924jDCeaVNyuPcbwczZrAc8A5'; b += - 'l9PHIq5eyrDf5jbln7fntTPZ9Ym9btezF911xu/alF0f6NvV1Hd9bK/u2oC/5G7Z8c4mVnHk21F'; + '6A4Z3OVSN6mmXL4iFOdGMdC6Fbz55TyDaMiYlqskKbL4qhfciu4mOJDoIbshIbsARLkVvIIOIFc'; b += - 'w1qIX2euPBE9C+a93wmLBkVz9B6wOYZVEvcew+nys6rc6i4LGouc9eqecF16zdyY1r0Mt3SCWt0'; + 'Fdc5RbnqWsfmCg/GLkfLVe86pzfPucGxzKCrNcNEBYec8KMVZSZtRHLvFU99onBgb5ARzDU6YZI'; b += - 'ykChZ9y6DOklBJB3h/Lh2Y2GOf9S2Lw1sWCzICb1kc3rJY37LYv2Vx7S2Lw1sW+7csWfiWedXMU'; + 'QU/xMRf4N3zzTF3bqmT9TbteOzyqbVusWevEtxY9D+T4wdUvYS8VepM0On1Gcbprv7Y0O5cvhmg'; b += - 'Xqew1sW19+yZOm3TLn7/8WYZm32qiA4n75sMCVtahqy+lkafta6ubDTJAFLMG2Vfay6XKhLuqB4'; + '2//Mf/frVD9/a6w/mw70h/6CNdfG90gBrXghzMO9K/4erVf/t2fnuYQdMaVM7hym//DFW6B/Uc6'; b += - 'mshzTmnHdEaLXLBYQ51xSM42mpxtNDlbp39e7JRMCpqcLZFPTc6OfHL2KT9jlhkbWVunMVsiI+l'; + 'n+K+q9DUzcVxqhwKwqLqHCSCrehMJ8Ko1S4HYWQCsepcAcKPVQ4RoU7UVhAhaNUuAuFhVQYocJ6'; b += - 'Np38HkjN5B9pn9gok/hVo/6S+AW+tdDO+r04XbtSfnyrAci8tgcSM03e66Zaf0D73TT7/1vgQNm'; + 'FDQVDlPhFSjMpdfO031pWjGH18tanTlILVJ4hXYx6Lk03n+/+rV/VjzeuaZxvTRqajxw8Ru/2sG'; b += - 'ZEUf7viS5qQY1fKV9W31TOfg9zJ2EC1lhoIsgKTw7s9nLng3cxRPjFcMS3luhrzgipfGRqDvrZm'; + 'N2jTeJY0LqXH4y9/49Sw3LjSNd0rjAmr87S/v3S93LjCNd0hjDzXu/sz/+AW5s8c03i6NITX+6Z'; b += - 'RRG0/QUuy8vqm2M9OszYmAusmm6E/V/gZy+XSAJIhVl7+4QFiC1XqI+2e09UX6/mAlTkH3XvBzk'; + '999XM+N4am8TZpnE+N//Xb/3hGGuebxlulcRE1fu4Pr/6Bx42LTOM6NA4e1N1bou/8wm5IQd2mp'; b += - 'V/lNZnDTDWGTHdx0fY9W8MVRXN+iCf+JAj9/orTfv21MWleZcY/1VIP0NZGQOAv3CGkSFd2Uf8b'; + 'Vf7B3UfF4bzNIFnaALvtlDnzO8RpjMF+tNUt6Ee6O+uD/or1P+HLOgvU+GVFvSXqHCPBf0EFTZa'; b += - 'ynUe3xuTpkGRuJA5Z9GrMi3X9BoJHBfXqprcgbFDNlw0Sfy56zEtxHxKuYQaUsc2AMrYZUMY2lb'; + '0F+kwr0W9BeocJ8F/XkqbLKgP0eFH7agP0uF+xuCfkMa9FHy4Y6+vxEe/HAjPNjUCA/ua4QH9zb'; b += - '42z1TTmnYV7rWEuU0+jJtO10kkZ9ZJPBP39xJ28V4i8b2E/UntJThrpxe1YMZi8BZk3SRQ0sCv+'; + 'Cg42N8OCeRnjwykZ48EOT40E0SGzOq2LID1DpgSrI76a6V9eD/KvqQ/4w9d9sIX+ICg9ayB+gwm'; b += - '2WxYzqaASG8QcyztmKnbO8pSYYVReyxXj91EUmma8RF9IYuoC0SYFYHowxYcEVXJunh7AnZxJxZ'; + 'ss5Iep8FoL+f1UeJ2F/D4qPGQhv5cKP2IhP0SFhy3k91Dh9Q0h/+o05B9IQ/71jSD/cCPI/0gjy'; b += - 'pZHATtDrBlRbOT4lcth/2SxcsFlj7AR8EoRW4jUngcuOKoIo2DP6xW6yIjV+cZQn/Fnh0/3wQns'; + 'D/UCPKvawT51zaC/GsaQf7BRpDf3ADyx2j+HokhP0KlN1RB/ijVvbEe5B+pD/mz1P9NFvJnqPBm'; b += - 'mmDiQXHFEzD8biwpmKjCuCAmpbbud4fU0/+0Ybz0qzbzt0rsNvCMh/7OEWIH8be5b5QuTfyoto1'; + 'C/nTVHiLhfw4FX7UQv4UFX7MQn6MCo9ayJ+kwo9byI9S4a0W8sep8BMNIf/GNOTfkIb8TzSC/Fs'; b += - 'ZVp6Wvz5puCBK7dK+3WwizJOL4XyCo2VbVTmmFG9ltqSSyV34NmrBBLTboyAaF2aA9G1Rpg15tU'; + 'bQf7HG0H+0UaQ/7FGkP/RRpB/SyPIv7kR5N/UAPIXaP7eFkP+HJXeXgX581T3jnqQf1t9yO8plM'; b += - 'LINareUue1XlNLUNCSjeTFIyEfUVmx9Ja6vJPWVtL7SqK80/Yrmss37udUsSpfzDcu/as5rvVex'; + 'OftJAfpMI7LeR3U+GnLOQHqFC2kL9C79hiIX+ZCo9ZyF+iwrss5Ceo8G4L+YtU+OmGkH9HGvJvT'; b += - 'Rwd9QA99QhMgWUn2tprkbTXJu+E5z+90HQlhyPTsxZTPa28UGVWlKXf9jtAtEfoLcG+T4F5GCgW'; + '0P+pxtB/t2NIP+uRpB/rBHktzSCfLkR5H+qEeTf2QjyP9kA8vsIAO+JIT9Epa1VkN9LddvqQf49'; b += - '5Sb+Vz9uidaBQYb5JhSHqlxGdeTDGg8uPXJzpRvhA01eMCLeygC+tZOffDeCrEkCssQdhZOxHin'; + '9SF/nPq/10L+GBUet5A/SoX3WciPUOEJC/nDVHi/hfwhKnzAQv4AFT5oIT9MhQ9ZyO+nwocbQn5'; b += - 'Mo2oe+/aBV8GHZLvcCngmmv/LuG0Va1uM1ffPsMf3N83hbcrSt5mZbzc0OzbOXzfN4+0yahwhyb'; + 'bGvJb05D/cCPIf6gR5D/YCPIfaAT59zeC/BONIP++RpB/vBHk3zsZ5GFiCraEs4nnnw1tQPgzUK'; b += - 'Z4n2s/ePCfaVfPMt6V5DrafrXl2G2mevabePHswvbnd1JtnN2kqzZk0z4eqIaZ5AWSysh46hOY4'; + 'W+Q0P3iuJSXEejuXL4nMKFKoc3098J+vsRVXwzXe6nXsvXuE6pgwoXqf4mFIpU2EctzyLAV2kKl'; b += - 'KfUTkUFIsN4msbOoJCQlAS/NYhh+tmaRYazOhK2rCXfjB1KBCy0V9U806p/IO94ohhg4/LOkS7q'; + 'S5Q0woUplJhLzWtRGEaFc5TyxIUOqkwRC0lFKZT4Ry19KEwgwp7qGUeCjOpcJZa5qDQRYVBalmF'; b += - '+pjClfoMXHpMRponlVSSmxrLrAaDwmFzq5hrxBl437+UfZ9ebXBoFD2OTo8fylh4Pz184+tLoov'; + 'wiwqnKGWbhQ8KuymlkVr2O1mdnSaWuavYUeh2dEAtSxDIaACtPEhCi1UuEKFHhRaqXCKCgtQyFP'; b += - 'KvvkTcZROD4M1zbvnRL3i0qqoUH/mCttXufmeaho3FGaDwgrHy8Tfe60ziKvgO+JE6qLD5LxfZD'; + 'hMhUWo9BGBfgQLEShoD/CH9lOlZeoUqPgU+EkFeaikNGz17ijcDD5CE1inzeag+p+MS7H+HIZxp'; b += - 'HCS9f5QtzYUJkiD9v4+pLc569pd214cAU5mlYyAMxNIeCIFkEgo6yNqscZ7L46GNoj0A8BgI9wR'; + 'CzOv1V+Iq4VMI8xKVnAYULcXG2LuqOfj1VT+nXnXpav56hp/frLj2znyTDWf06p7P9ukUH/TqvW'; b += - 'VdoLtBReon74V0u2/v4iW1u4UhldEcz7j2jLFH6iwu4csoVVQDwR1FMakFKJzrzWqD1JAmej84Y'; + '/t1Qbf1I413P0mL7f1hlhBme5jj34B/W/i3lX/z/NvGvwX+bedfn38z/OtumP/Uhlc8HXpCOXbp'; b += - 'iXRansTXujX3YPYX/Vh5/2AOwmRHG2GVPI8TZUhFiVXkWNwaRdyL3W5gJS+5beWoZFZDKo18mR8'; + 'rA2mEmbXw+IyV3tCK3bpnG2iTvCHzcGBdSG3E9nYpYO4PcftAdoXUDuvzF26JW4PuL0F7SG18+L'; b += - 'L+R7wq9ZMP8wW4/ZFw6YBJScq5OcluTwSQkpRH5yS7nZldex/20vODQWKOXB8LtvAeU+lCdJRBU'; + 'cpVvj9hZub0X7fGrn9blL5+P2Vm7Po72b2nmJ7tJtcXue29vQPofaeZXu0oW4vY3bC2jvo3ZeqL'; b += - 'DQZoH8muoJM/peyv08XSdsPEVzVxZCQPBJk5C2imz/OeYZuimmT+xMhn+bXEdFxgzNmKKjnOAAc'; + 't0e9xe4PZ2tC+hdl6ru7Qft7dzu4/2FdTOy3WXzsTtPrdn0H4TtfOK3aXd7dQFDS4aZgOnTrm0r'; b += - 'RLymbgKZUjgTc5ExTf6Xc44KgDHHNy4QCTK9iwgEWAjyzzXzUZJCiaDDBVcx6u71HwraC3o6Br8'; + 'uWufpTH3PgpXD7pxm/l8qgbj5LLx934q7h8zI1ngctH3XjWuDzixrPM5cNuDBUuH3JjKHL5gBtD'; b += - 'G9/cCEO+A9sM3UyFvce12s7rnQt52uYvJa9+lEpig/ONe/rFEcouPBpA95x3gTYfppZB27B/5rI'; + 'ncvDbowg/aHLGPTicLAK+9wY+2iO6GWzE+yLEZMpIXc4YDsw+uVqOxySDgb/gtoOh6WDQcCW2g4'; b += - 'AYVBlSmD9Vnc0V5h9N/Lkkz4yXrEFbBXavYQ7OpbQaNyceKM8M6Q0eKf8g8J4VGD5TnPypd3vEd'; + 'j0sFgYGtth6PSwaBgvrbDMelgcLCttsNx6WCQsFDbYVQ6GCxsr+1wUjoYNPRrO4xJB4OHGdOyHu'; b += - '9hrV1zt5s4o++30mPkP9uPIjOJY3FvpMWQyuaKe3TcSVb0GiarqOWNWLCNipPrvAtcguYlwMA4I'; + 'g3GwSTSOl2hJfHNtAPOkkV/ahg6o+aS1SzAzUrTcUEVexERclUXKSKAXTX80wN8oSBxOtVpuK8K'; b += - 'p1NCupx9yFXjheWTD1VazhVS6/aHqPy85yFVfnaHkpIC0mI7vjgLUbCDX3wWkWntlXk+9soHH9J'; + '5RdLzIV8BcBQdfLTMVZV+i47jEVCLW9gEPom4rTrlBtraViDTxgmH6/9AhJb1rYECGF3E2Oj0Lu'; b += - '7xoNdelyJdFyJ/NyJX9s7bF3t3qdPJ2WM4TzpqNqY13jEy335SgFi1tF4AufRnHZtnYEOJ0xQI8'; + 'JkdHIXeTY6OQu8mRUcjd5Ljo6AHVEBcdvbMhKjp6R0NMdHR/Q0R09PZ6eMjUMDrslcNPMQYRVJc'; b += - 'wqABb2fcjeL9fUviG0oEG/RIBmtZI20TCpJM6Ly8h75LrKa7ZtqkyukKwrSTzIFALKDFLrSSDlt'; + 'B2IeoZq+t6UXNAar5tK1ZiJphqvlZW6NRs59qPmNr5qBmH9XsszVdqNlLNZ+1NZ2oGaKaz9maIm'; b += - 'G5/j1FyA2wcJOa/Bh+k9OtQSj6AvMNVBDRiPeb6mABBMc5yfVSUFN16yvVcmHnceuOA5C2iLlhv'; + 'r2UM3P2Zo21AxSzX5bE6BmN9V83tb4jI8DHn5fBnSkF31eNcHH/aoJQv6caoKRn1NNUPKzqglO7'; b += - 'HpBER/KHuvXsgGRGRliJuBLdUCO/e66/dyGddLpoTheNaYDQkukinoa3MbpiqvW0QVPcrn5QpNj'; + 'lNNkPIzzZDyZ1UTrPy0aoKWe1UTvPyUmgQxoxEC8cfAtZ2liy8IrHGcxFIoqv2iqT0T156m2mFT'; b += - 'Lwm1+YZdfuNkv7PQLO/zCjF942ujCKb/wpF846Ree8Asn/MJxvzDvFx7zC8f8wqN+Yc4vPOgXjv'; + 'ezquHafanze143HtKar9kqk9FdeOUe0vmNqxuPYk1R4wtSfj2lGq/bKpvXuLqTxOlb9oKu+0PY9'; b += - 'qFI8ZHomfNEhK3A8pPbySo2XgeewFdaR4LJrSM0YF7oJOQ4kcokQ62JYQbdTyAm8K0L3Dz04774'; + 'R5UFTeautPEqVh0zlaqn8mMXplS89Hjv6UDM0PtgMjX+xGRp/uRkaH2iGxr/QDI2/1AyNf74ZGg'; b += - 'nePuElrEa/EsfmvuheVDKScprhejZgBDNqFwRWuElZLUl0SzIyOQz+zKueSqFdhVycDjyg2u6qc'; + '83Q+MvNkPjL6jJ6esevxz+kgHzHmWBP0i1XzG1g3Htbqr9ZVO7O65FNovDpnYgrr1C6HPE1F6Jc'; b += - 'aKvkgmoNk800kxG0lgw2GlK38/D6tyVx7Fna4NZzF2+D+bEl2mDXuWiDo+c6u+bM2uDWc8+gDcR'; + 'RLRQ75qai/HtZeo9mum9lJcO0G1I6Z2Iq69SLVfN7UX49oLVPsrpvZCXHvegzwrtedt7Rr3HNPi'; b += - 'IWrwNdp/7A7fBzT4jPxZRHyuuMlsjyAU+5W0ZfUDzcc/PUB6L9axukqOlpaTlN0DA4LrGE0wi2Q'; + 'R196HKYXfaQZEv9KMyT+ejMkHmmGxF9rhsRfbYbER5oh8eFmSPzLzZD4K82Q+JcmpcVDhIAfBy0'; b += - 'DHE7gQYpmTPRiLJXMUgYKD5KRysyI3Dm5AA1wcHVS+Ek3h38MseLCjcAiuZcx7EgJfAjqMmNl0m'; + '+7hvVBK5jTDzmi+4Bl3HlUV+UC7iMK0d80R7gMq487It6AJdx5SFf1CO4jCsP+KImwWVcOeyLgg'; b += - 'iLPPejbAUbvT4x63S+O/tC67h9agLSPqcssFFitZ4yMAbN2MX7sp+Kl+bEPAvdCePo+5v28J/U0'; + 'SXceV+XxQluIwr9/miMMFlXLnXF10JLk3lx80XDkn5ZaDEfU1weEkTFF7ZBINXNEHgm5rg7/Im6'; b += - 'IUqRvd8szpH9R/0c2XQz+dnGoozXcwsYrzlBogKzP/D7YLMWTkbvZS90ENRhkMOCuICI8pBBMBV'; + 'Lu4CfYua4K8q5rgbqkJ6j47Keqey5bDjyr9M8DecRJi5kL5ZnQA2y29IkGt316TVLfDXpMIuNNe'; b += - 'mFvdYV2ooBeNRKtYvDUFx0Fgd/6wf/3J10FCpWMbI2j7MrZExkjaR9ypx/4VuJe9D+idLT5E/fk'; + 'k7w4oGyBpMs59ppE0W57TXLrfHtNQm5or0kiXmCvSXxeaK8ha0OUehm41mwTqX53tolUP5htItX'; b += - 'zTUTnXGh0kOjbKF8rMx0+l4iiZiYPT6G+NIMc0AJCeCSlx2kdKnGjcC4+5UUGKkx+PY2jWLOIY+'; + 'vyTaR6oeyTaT6vdkmUv2+bBOpfn+2iVQ/nG0i1R/INpHqD2XrS/WHoStF0C0NbJtb6ZvL/xHqPa'; b += - 'q3zcJ+0yWa8pLLoKQtApJajccIMJGnMm0WzNI7B0XGIznAQhH46lbQzKcy/nkq5FJbjnqHObfrj'; + 'f0R4GKA4SWu1Rln9kcAmw1Wmlb/QS6naOLIVVcj5vQME4d9oj++ApdflJZBfJlKu1WVoN8KSOaB'; b += - 'FOYiGC6vSIQJCnYqhLacFZs76x52nzMm0X8SPhLlo62Fx+rrbiv6uxkrsVRrxJTyzlClG/LkQ/X'; + 'VYgT1DhSWU1yBczomNgDfIFKjylrAr5fEaUDaJCpsLTyuqQz2ZE7cA65DNUGFRWiXw6YxQQ0CLT'; b += - 'vHBSrElnw37lIDHi2oUTZhuDfB9/Q1SNWCF1JezoKqIy+k48I06urO181OP2VY4jf0pjCjcOJ3c'; + 'ssqUePMfy0B3TMspA7UxLaUMNMa0jDJQFtMKykBPTKsnAxUxrZwMtMO0ajKlAq+YDBTDtDYy0Am'; b += - 'TlarkF31GA+/cl7Cty5PC2a57awa95rPY18yX+rnH2o91Ww8+CACQW8xZhrshuY06NlSRaEIt10'; + 'vQWotVgcfyJRcPcjq4AtZqHKfxjxNZK1m9ykUL8fFJ3myY73vbhQHU2pgesw5esx4BjCFSjiri1'; b += - 'zLbqLo1ZaYWY5mVtwecb1pe1xP3fYN4M7qTmL+SdZvAJDcHMcnNPkxysx+T3Kxhkps1THIzYJKb'; + 'D/TulH6k7ogKf161bdCUXw9H7dpmdAGzyzX7frLmiDZ4le+CVXCQ9n0su3jkr4QCa9fOvohA9l0'; b += - 'HpOMG7gO1D9X4zlPYFDmiWZ3vjPrZBPWexqKbEfrG6YO0fBS2BpDClkcRrM4jGZxmCqL4znBk5j'; + 'su3jlL4cCa9fOtohUcy6eVbRy18NJNevnX0wscy6eVbRzF8PJNevnU0w6OZ9PKtoxo+mUkv3zq6'; b += - 'FYWpZHKfBGQ0Ckb4PLFMrf7vxXpW3Dzr5x3q+T5JO2RLrlxfSUeb3pkpwrx2vQN6jPuhKWtreMp'; + '4bFMevmmlcOnMrIzXMxVaocv5Cq1w+dzldrhc7lK7fDZXKV2+EyuUjt8OlepHR7PVWqHT+UqtcN'; b += - 'saZpsRI385leeiV44k5YMfd7bKWHnoUGXWzUWS5+Ah+mIcQoZanCqe957Y1lti/3XcEks03bqzl'; + 'juUrt8MlcpXZ4NPcyaofpZY33kZO5JvvIWK7JPnIq12QfGc812UdO55rsI2dyTfaRs7km+8i5XJ'; b += - '0fd+cpu+YQ/bfn0IQLkd3/CXweDj9u3y1lSnL+p0WqFqU6h/Jh87/dbamEHm7fc+Xf3GyHkw5LY'; + 'N95HyuyT5yIVd/H7mYY7FxfyBmO/1JqwzeFxjF7m5bszcwml3DySCZCNvt9JO2y57A6Hr7reAZG'; b += - 'Q64BL42aav7a9eWut94bAVYfT2z/74msFvGEuZ4hFjCKmfKb95H3dc+9XpCOZ9Nu9jTpVzvvraV'; + 'F3vU7bL7kAMd5bviQYCo/192na5kjPq351WzMyJwU4PxqrqnFjtUlzSRE4o+EuPlfSmuU1YaN2E'; b += - 'f7bpX06+qo8uizICOFIt6QpCZRRXhRMZdTHFJ6gLkPi6I/vr7zoHiRQHDvAUv0AL0kianJLbycN'; + 'hV7YhIVe0ISF7mnCQodNWOj5TVjoRU1Y6O4mLPScJiz0vPoc9C6lhxRJRMw2ixrDWCdEeyF2CNF'; b += - '3zSGWdJior6aHA4oqMR+yAcSpmqKRKpv6YQBURJqo6IkNqW3S/+04brG5gPMzlMtnYMGI85kRG+'; + 'ZiMFBNBViWhD9hBgRRCshtg7RRdzE16KBWMHXoncQY4doG5bwtegY+lL6hY+/PLaHUb8ZufObkT'; b += - 'b4zCRf4kltNuKkHq5viHLZ124CXsmqPNmLiaUkhgY0rfSrI6Zx9TzxSc/Y9+Yh39iUMpErcVBQX'; + 'u/Gbnzm5E7vxm585uRO78ZufObkTu/Gbnzm5E7fxJyB5P/EIiHIFolTzwX/wj3iP/dxY4UEOEru'; b += - 'jAxDEnQOrk5GI9XVGSoSL4utjbwXIA6pMRIxtu0qXzgWPr2G+gHo53SmPdvYttzXaVuS1+It/4S'; + '+xilprluuh4zjgkgCc+ljOOD2CJj+aMdwJY4pGc8YIAR3w4Z1wVwBEfyhkvCDDEBwzVY4Z4OGdc'; b += - 'W/6KuyHdqq6zWZEQis3XSNtrnAbEmEmgoVQKrDBvrOxJ4qbdfziHG9Se2nLuX/cnckT43ERrjAk'; + 'IsAP7zfkj/nhfTnjHwF2eK8hg8IN78kJNzyYE254d0644YGccMNXssINX84KN3wpK9zwRFa44Yt'; b += - '3b5JsMyZ9DR2b5Obg3GZBcQzIHeAoNYUjwTKIJy9kjwa8qrROFxCHjk1hJs3Crin9EIcGpHkk0f'; + 'Z4YYvZIUbHsoJN3wuK9zw+Sxxw/PBxQ4yM7wIcxkzv90YXFyag4+IS/PwsdkKRniAHjGUe5GM8E'; b += - 'qJqNDywIGnneP8oM4B6/V9liHkHvjdGzkUd7/Nmeauae0TB1tTs9LZv7khQGpKyLj+r5KeQnwvk'; + 'uu8Wsmx55vJsdeaCbHXmwmx040k2MvNZNjLzeTY680k2MHmvEfu5vxH4OT8B97ciRqkgT7Ccids'; b += - 'Z1x+LpKf1fJzifysk5/L5Ect6ZfKz5Xy83L5uVp+XiU/18jPL8mPSpD9ivy8Vn5eJz+vl58t8nO'; + 'wWLRbLrF1QW8a5f8FlkPLHAGUGvXzBbpL1+QW8R+foFx0XuExYhK8Jfv2C7SIDCdWdFDBSWOyuy'; b += - 'd/FwvPzNGfnfo7079vdm0dlbjrpI5UNLFNYb/UEV+haEohEQ6SWgeD6x25vzmnnyl8nGIn08/mT'; + 'n1D/rAiEN5Dt/whkm81qMsvmzksxuD0JazsnxdQuSNjZ7hQjuzBhYRelmFedsK3zUwxrFas69LK'; b += - 'bNkehKYWCfLA2+lkhYFOsMuq7Pn713NgoJzuh1D93rSXSTXnnw8KzYKdyP7lb/1Z24t+rToyBhA'; + 'xqkPNWdX5TVhV3YRVXdSEVV3YhFXtbsKqLmjCqs5pwqr2NGFV5zVhVcP6rOoSIln6Y8KpikPDFw'; b += - '4i5mmOcJrsuIwoRIg2XqEpMwY/ARwdtlfSXjWgYVbE2UDFRxTbR+0g2noZleKznh4k1NuSI1xIY'; + 'S+4svwRSmIG8OwFMSD4eelIM4LX5KC+C38ghTEZeGAFMRb4ctSEEeFX5SC+CgclIK4JxyKMWzAE'; b += - 'DJcyTXWoMxBfUGcgLjwDcdHLH/cKpd8fAfHXf9C7/NcfxV1KqKV+m3/zg93mv2iPtssbhHjcTzU'; + '+vuy+DAFTRz4AqaOXAFzRy4gmYOXEEzB66gmQNX0MyBK2jmwBU0c+AKmjlwBZM4cMH5dSQLnpVR'; b += - '1uwQ6D4F0D91ieQRhhj9tBMr9jAypNCyw0x51gAivfjKdv0GkNkQxfF/F9oHZaPQWiw8el4LLNY'; + 'rj7PSozpEvBcJE33Vfbg/XUo3l8PZ1P766Fsan89kE3tr8PZ1P66P72/7kvvr3vT++tQen/dk95'; b += - 'rWRC8Gh75lENdgnhiFC62frNhBdgAKMB69eI2IPF8azVjxva9bE71BiZt4XP61ZAID74RpiRm7i'; + 'fB9P76+70/jrwsu2vN4wSL4dRAvr7bLUy6Uy2Wpl0OlulTBrPViuTTmWrlElIRFKpTDqZrVImjW'; b += - '9bhd/SmZ5LaTZ8KN/3l/puej8pHw10ftHrX76rd9UHr79ptrt+1CA/Am6XxJd72UzH6JFzs6Vhu'; + 'arlUnHs1XKpGPZamXS0WyNMmkk+3Lt0PSmG8qkl0SZtBqSOtO9JaCOLGGspn9LiFruUfjf7GjCF'; b += - 'G41zKu6/bbkShDj8seWTMe97Mtz3yVju+7Vron+K/X27A/O3Ddz3DGm//tjYhjMQhQYk0fRK8j2'; + 'yNtH9Wzqcsauax5yxi2rEnLGLOsGcsYsKzpyhitrLnqP8ZQdSiIDVUjQYWh6lhQYagaDSoMVWNB'; b += - 'evwXOG+jXFPDDHwjEg9ff0B2+qxtvLobhX++mU0W8GYcWQyyVdSoYbSFdupmaBi9Ag8q/nBeard'; + 'hXw+HPwADFUvOfORacZ8ZJoxH5lmzEemGfORacZ8ZJoxH5lmzEemGfORacZ8ZJoxH5lJmI8MrZ7'; b += - 'Mk123iA2kqiWS4VHrghgG1G54LJ3Gv+/m/MY2QRFoDQMZ9IEhnqxLQWDSo+J0SuZhWSEgw1E9Jc'; + 'n4NJQs3qwbpbo1cUJwh50WQIOA3EbsO5QuJmZErroZU3aXE0di3fpuXxmSemlXOLEjMWtVDvOtb'; b += - 't/AdkAaRexKPKoGOwrCJ96yVfwqVnni/abYbSrzKbdVyPLQSwpF7feHYPym3tpJ65PBQOZsckPv'; + 'YEq3RSGqkonasowV/IlmgfQa5yfYt+BgO8l2jrLZFbfDtV3MJlGkoB3W8p3ocuqvhh/HlGUXEu/'; b += - 'sOtgZi2R3yLc0I05XiAZDEPLwT9QPUSVAWMHlArhK4yfhPqvMfomKi6R830jAIAYf7JN9HtYmXi'; + 'nxY99IdHE4hLEWHMCRz3q7U6w674TJ71K4UHYCnO460La46ascRV5ZWHLVbSv1P4ZgTmm6mwhi8'; b += - 'LZQhf7uZLVUimmyiHRiFashJf1z7sWJ96xVgv/56+fUmdMcNnkQlL6T8bL6ybB2djP3VxQv9gIj'; + '4lFYToWT8IhH4SYqjFKhB4UVVDgO13gUVlLhGNziUVhChaNU0Hz4jwoj8DXhU39UOOxyWG0nnIP'; b += - 'pvtBJpzJLJVGHSWZ+xa3wojBA5+vMbEBl395936Nlvd5tFA7OvdCSWTOW2wExychPztO20Vc58x'; + 'EvHpZ+qjdUj5o1o2jdou1FJQcSZtTcbpujmmcK43zKk7XzTONWhr7Kk7X9ZnGhdK4pOJ03RLTuE'; b += - 'Q2PF5b7v+KHx5QgOcF6e8NHJ9r5+6AE+qvqmIlqELas5pHhTOobxufRHGxVXU2//Ef+F5h47VNV'; + 'AaV1acrltpGnukcUXF6boVpjGUxpsqTtfdZBrnS+PyitN1y03jInO67ub4dN3NpqWEw4bLuDDs0'; b += - 'ELR72OgKw9b8A9a3N9Y+C9fa0UQ7ow8YafGjCTyn29DRDWHTHB08PB8HoJMNuJvD+bFq8ts53+B'; + 'gSeSUOd0XIOpnNVAvrTFvTL6oF+cQXoF1P/Kxb0wIPLFvTAg0sW9MCDCQt64MFFC3rgwQULeuDB'; b += - 'P/gkqOg31ZGFumAvar7i9y1nqF02YtGhoz3KwhRv9e/UrBpq2QilcXGdDn03+i5wTX9aTJ0mXRN'; + 'eQt64ME5C3rgwVkL+nkAvF6VBv3iBPTLtBTm4MNXmYJKQJ3gwTzTODcBdYIHfaZRJ6BO8GCJaVy'; b += - 'mU2X68FpP7cu+dIiNsynu4dKVb6mDyJ7xrGCoMpifrBV4LWwBkLSSiMSKUvCZSjc6xtW5enEsSI'; + 'YgDrBg5WmcUEC6gQPVpjGngTUCR7cZBrDBNQJHiw3jQYPbq7Ag5tNo8WDpTEeLDUtJfb9TyAPEl'; b += - 'ukDXDNdKr3mhdHQ2sgLNcPFSWmkCQkX3NVx9ngLHJTCyuJ6qYniTUW0wxkDueYxHjOelA4E3IQe'; + 'QNeZwFuB7I47xDDHkcdYghj1MOMeRxwCGGPM42xJDHsYYY8jjREEMehxliyOMcww3Iv3DIH6uA/'; b += - 'A72ZulVOm2aMauqgexH3rzIPb1ei7fQuUF9bUl9bUF/DBzOx/BpOB6EOILYiuy85YCLZOXiM23U'; + 'EgdyB+9TsifTUP+TBryp9OQH09D/lQa8mNpyJ9MQ340DfnjNyD/oiB/oQLy5+pA/vx1Qh4++DHk'; b += - 'beqB0YsZNgtOJbGeHLy1ea3Jlt/pFBGKQZVNBQOrIGUM/P/a8PsX1PXlX4ZoY50C1rif0OfTj7G'; + '4XofQx4e9zHk4WgfQ/5KGvKX05C/lIb8RBryF29A/kVBHh7aCeTBRlZDHu7a1wP542nIH0tD/mg'; b += - '/KsJcT183ZSr4v7cYbgoLPhfH4XexeZPLvwSZjPNdYTyAlOFFtoOVp7kq7GkCTjGrNF428vyMLm'; + 'a8iNpyMMhPYY8HNFjyMMBPYY8HM9jyMPh/AbkXzjkETetj76rRBLBmhR/n0fYDAH+2iReRlWctO'; b += - 'thq9A+qe40Fr6nfEKusF9idwnsq1r6QbAkqV1HDTGJNaT6rKe8n1DTq73ZL+U0COKIB8Cz7Hzkc'; + '4KsHfrdRIx41aJlXGbRMm4XeJj3CGRMe6UmBh3STSM9RIHgyOeKcR40PPSAOxOIp7N0d3piGeqA'; b += - '8A4T29dKwqpC5iJ4iQWLtTR0oZ8IB/bQhsJMe1KOBRYs2S+8Df+Qoa6eDHJBwcH18tdLQjp8+dd'; + 'mbKNK5PwmMkMJtrGu9KwmMkMNOm8c4kPEYCs4Wm8Y4kPEYCswWm8fYkPEYCsx7TeFsSHiOBWWga'; b += - '3GwQTF+mrDoAa81UHrufAkVVqjeNwRnCScJ3C/5WIyVKioSJiEgaIQMQ0IdT91l+f3yWuXzuuwc'; + 'b03CYyQwm28abcSzRTHMFpkW5tHncWE4r22ss8hEOhGQbagHsrvrgeyHBGSvFJDdIyDbKCC7V0B'; b += - 'rcIFVouCqkrAIFG/qr0Wo9Dpd+4tFR6tPPd/3/1F0HYBVF+t/2CrwAi6KEJpvISUBKQAREBDZ06'; + '2n4Bsk4DshwVk9zcE2YY0yKJkwHGksvrw++FG8NvUCH73NYLfvY3gt7ER/O5pBL9XNoLfD00KPx'; b += - 'QYU1BNC8oCEkEAS2omAEIqKSD0DoqAiTVBUsKIERMUKCipiQ0XFdkZFRUX5z1dmd98moYne/b3j'; + 'uj7IEKiL26HsReVQ9imwViDwrEXiMQe61A7HUCsYcEYj8iEHtYIPb6hhB7dRpiD6Qh9vpGEHu4E'; b += - 'ZWd3dtrOfPPNV34f4VbaR+4sRnEe41VDzCm+E5D4mfYhvhOkOwc4GUIoMVgSFr99RLBt/BpwcJQ'; + 'cR+pBHEHmoEsdc1gthrG0HsNY0g9mAjiG2eFGI2ttgbKiD2xnoQe6QexN4kEHuzQOwtArEfFYj9'; b += - 'fLJ5GyAAAEF3uYIAu8B4rN3R7kbTD1NH+UqfLIpW8CziqD8IrKlzOfcBmkCXTgZg+koLmPZWiUs'; + 'mEDsUYHYjwvE3ioQ+4mGEHtjGmJvSEPsJxpB7K2NIPbjjSD2aCOI/VgjiP1oI4i9pRHE3twIYm+'; b += - 'ke6kR3PT006I6nhwFW2rgdtghH3+K3oYf8WonsLLpuj5C8OveQwgVqbg817CHbJS6TndWwhxr3U'; + 'aFGI2JtjbKyD2jnoQe1s9iP2kQOydArGfEoiVBWJbBGKPCcTeJRB7t0DspxtC7B1piL09DbGfbg'; b += - 'HN6qMkeSlut96GHaLBf4jDfK9Ba6yoZ7hXPEboMHIgrfi8WvkbnUBYyoAXufU+iaFCRrAE/szlK'; + 'SxdzeC2LsaQeyxRhDb0ghi5UYQ+6lGEHtnI4j95KQQs7G8tlZAbFs9iL2nHsTeKxB7XCD2PoHYE'; b += - 'ygF8c5MOhyw5dKSRWk/3DI432EBbqcO47VZJg663cvTmeCXGyMX/koTHoDisyOQYsd3b7RyoUHV'; + 'wKx9wvEPiAQ+6BA7EMCsQ83hNi2NMS2piH24UYQ+1AjiH2wEcQ+0Ahi728EsScaQex9jSD2eCOI'; b += - 'mzlO9/TugxvTvMI7xIRlVQsaWwP4tNGL7R89sJwoMvq96+3cES/ta9fXvoAr9G3163SN429eJpH'; + 'vXdSiDHXKI6hxDsu0X3FD9PvkuJ9xKEsoesS8ZT33eApb/CUN3jKGzzlDZ7yBk95g6e8wVPe4Cl'; b += - 'hpgozfQjRBUgdBENQYgqCUogex9MglCicmSeUXJRtyCnTlbdWR69COQEye2Om0KXTU19krRuwq5'; + 'v8JQNeEriGYmPvKGJvME13uAab3CNN7jGG1zjDa7xBtd4g2u8wTU20URGXvHt0D6yhys0k6KTLM'; b += - 'pJQos624TrbhkvvFvJRoRiLoM3eAt4wASxJHAkTdFGc6xmjECQDDnmcl3VEow3S+rmycsrLBh1u'; + 'U6ySWa3YUKZa5fom+hv6l+kWLPWCmXooGpkoXtFptODBecGNRBYsBUmtOC4pymw16c3DROd5pf7'; b += - 'Xo54Wy0LcuOhRvWIcE+tY3dwxxbUoI6hXX7ZHXvqv9yx17ljgksJsI0siWPiEoOsTMasiSHyjWk'; + 'JhkppHaqtW2yN1m8lhyTlOuR03+SZPCzWTo5GSqvmSsRRZWyeYYIs9vpEomWa1zX0E8fS96oXdP'; b += - 'd44oFgbq8rlgBkLV4XLEC7IplWQH0qzkj3kAh0cBgWfBQAWJL9rFAojhOavXCnuB1Ym+qSMNDIT'; + 'weW0iZqzVCIrp1orqQfxQk7CjbzCxe+4Tp5zz/66j5SxxU3aKf5mnPdzcVXmV9dRXmXe1zz1zvN'; b += - 'qLIPIY3DN/lSDPLiTzEZl1L2Q9hClxz1wVRJBMcaOltqgCXotyBJkGr6PdGO1nHpYr7pp3q451r'; + 'nbWD3eCfqKturYnwVyFX+duXujIb/6/Oc2VbxFaesiw7QFb7R5avIkTSArpkc5OFcwElEH5AUsl'; b += - 'JFlTkFzkhQV9GSFa9Ac+vBqV42iowje4PpFBeaTUHVxXFb5PXNiizo9w678f+rZp9Az6fuP2jNF'; + 'KPhMAdSI1M31l8mrPaIq2vJItV9xQcO1G4VMWH8/QQnr2PDAwMfAB56KhFgIWv75DZCKtymT4tu'; b += - 'EP8IGTsyNBwhKBNeGBrTeuDg4Im0H6VA0+XDwSnmm0aVE2UDG4nd2gmziTaZ3wROmA0Q3rYakcg'; + 'Uy91Fi+l1GBgQ4nRudEreNISDjuJilVQ18HxX9yk6zqJhk6ZxFF5M6SzanJOUs56bRfHFGSZ/KY'; b += - 'CV+4NEQHVhCDyqpJhhQB/pE+2p37xPNsSw2jKRFZCENRvU1ERizo/eASmQyRUDdlKNzB96wFcbQ'; + 'ClskXfRxVULaSnpgFvnSlc4iv7oHuGjClyfCVs4QGWY3Sn+ke2+hJ+3j9NBIHkr3IkW6Wu6MqAI'; b += - 'C8NOJBUAHCkgBqbuyVXJNmT+kpOGVIko846sogaa/nLLoxxV5D1xCPAJU9VUHuwwsyjKsUrTbEb'; + 'SqV4wmdE53/FJVd7gruPsz2edcjRH/GCya5H5MqI5Po7nXBgelRTmCh0eog6ta5EfU14Rp6Y+he'; b += - 'VmyqCfCXQ/aag/gowUDq0Q8ih5LJSEI8PhK5C369GhU81sI/SdkIFQn7fghO3cc6BbnjgPa4txx'; + 'tH+HIMlw/Sxa2YCf684t8pGtdzHuc95XTnBDkaCZKpcwfuSM+j2THJD4NyKUuzpG22Qn+582jYc'; b += - 'kFqcOyukYMC5QwFEd3vuTEXbc/Hr3NmIdzZ67hwg+3TPHQjxpcKvuINos2BE4TGQLN9Ekswj2Tj'; + 'ruTo49viRQ+OUuzECdL1IS2wE0POBTQn1w5Ovjzo5JIOBr8kkm3blKzSypsnuCKAeUld4jNmI4k'; b += - 'SYDBQoHNsFQnm0/AtyzB5xEMiW1cbZZk86sc3eVTJ5NHxFWFpk4FiDXJtoBTHxUBgW/vr6bi2D0'; + 'uhmTfR1Z3kMkmU9lX1eSwt5mX1fonMq+njHZ1znlOz/Mpk9XVenT7f25ivTrqfTpSB97TEnm9V5'; b += - 'zltX2ijkp7WLejG+P8HQUTWLejpexby+pojH2rfnz71uN0VPpwuB3dFFdORz9kCeMKjc09eecnF'; + 'keB1NMqED54pfd0OA2JFc9L1xo6wpAJxT0B6XJcTfLEtZyZJTJvs8Peo8yMA4z0Ig5OD7k+L9hF'; b += - 'z8WmYFWKlGlvZ9bejCe45YaEjSDUf8Jq4p83gLoB50YGEn42BrGIdHdsUe/NhZ76/yBcC5ns9Vi'; + '8P70dci/dDnsX7MSV4P+RbvB9z03g/5lq8P+UmeP+M4P0/XzPeDyiD999mvB91a/H+tBvjPdKQJ'; b += - 'EOtU2PJTxpAK0V6/QpOQrxF7UbmuarKD81R/B8FJz9dB4Nq4g5viYjoIQ0rb7XE7CAFpdHfM/R1'; + 'nj/AcH7U26M92Ou4P1uJYi/XZt3rEVIfCXZQNe6g7IILuN6QEniUUZp+sTGuI8TD748kmZoctwf'; b += - 'Ew0wVI9I4Hfw4TnbQiTjFHZynnkwH3wI9FKF5v06iEfA6iZPuDK8DOWd1504xSyISsxpcRSyIm2'; + 'VXWQP058+0KQn2e5BvmH/GrkH1MV2E8Ybd9rsP9UGvtPqTT6S8Z2l7+yPvpL/uHJ0H/ETaH/mJt'; b += - 'JpPXAuk3El+HkjvofWizW8FEh7JExS8wkDSxMNJygQgNsIQrhQLC4x2AfRpNHfwS4pklHVRKoHa'; + 'Cf0JPm7u4Pvqbxir0P+VeI/pP+Cn038Fb0EbeglzeWGdzvvaVJid4eo+gR3Ya9HKiZQa7nIh6tN'; b += - 'b28pQWwNLjIgqZVobemLuG3nmUuToaskmLtRaulWFvGNL0aT7toQskiUJ0YrSSLjr0QujwQG6QK'; + 'GfM59/niHkoH4hWAKC3Vq3iKu1bi9X+FSh5Uv84t8T2BbS7obdnlPBBht9JA5XfY6zzqG9P6O9P'; b += - '9kKSLoEXizqOjE9wi8hCxaxGgcemUEganQTmOvrBkezf8MTq5EVPMbkJt53cz3erPhc3jy8+ExO'; + 'HK/8g5H6Hj16tWc2Swj2u+Lf+KFTkHlsZVhK3UxC360Y6sZsbAdzIjIFjdfmI7QObKBrg73YwZf'; b += - '/Hz4L39ECXcM2xLPZA3Lo1TgSi9j4HEd7M0J+9dAOZF1NMLXG3ZW97I3yvOwRqM04OYd6ZK7fUN'; + 'HTrdksBd5edRLcGh+Cu+zfRNvIZkGZ7Sip3Y3aGdPg/JlV0+ovak9vrp0nmD3F+S5/Mr0FFr98j'; b += - 'EZsC78nAc/deCnNvzUgp+a8FMDfuLhpzr8nAs/58BPNfg5G37Ogp+q8GPCTxX4qQw/leAnDn4Qk'; + '2dfSHfTCLX/HzbwWmqFTWcg9Zy93avOVIYfstJcgRhLW7O+cyF/aG4UgA540+n3/aVdnKd6Qyow'; b += - 'Loi/FRArHr4CcFPEH4CCFcNP/hVNPhR8fvkHf8/kLLWHQc7Hgjzv9fyIt/4rDYsdQPJpFMIIM7+'; + 'u5StagCxQEQ4Xcter+AkFIOA1aPI9j8aJlUzeftvIfoL+0QzzGFOz3DzzXsinyHi9h3XqMvMFay'; b += - 'CvwvK8T6X9YqpIMzK3EOQ5YIOVwe+lLM4Ts1F+fIPkYF4NPZ07fD00RE21YJGCpAiOngIKkmqJV'; + 'UGOPmuRaplngzAA2OgCWTvzyAOuJRN28Rucl50ZOeonjwBnwwlyE44IXJ18f4nISlaqs1xNd4A8'; b += - '4KioOAj95VS5nUa23GQkStz/enl+G02WC6hhBqtL/8jnVsekmAUR8liNrjWc3QkTfSNRZBQTKEg'; + 'YHEG+OH07hlB7PwspKFn3DbZ6Iu/5d+T0X4+P6cenBnKWadBY75RY1ejxtmNGuc4+UU2vXvkPk7'; b += - 'bpwG0lQC6D4INHFEuXimOxrKZRtDZQKo1DeACMYaBwuHlnWSFgMy0rdOnHZaXTstIxA8WHUlysC'; + 'AHvlXkz7cifb8L7ksjnmMnjTz3iTs9Vx8r7CJvrC24IGjVY8V/4i42Xn1W//akeY6NwPK3uPcqr'; b += - '0EKwTGODA1gbXkMLtixlg+ZbOlFUHWkaoW2AYe9PiaYXIQir5g3GY7qjZHXyfHRQgkxEm7zPYN0'; + 'mVhxtaesB537X3GKeqp9t30Lr1GO2dJ0NaE9rt300ro/gX3iS3B8nts2snh6eGmjqFbAiCYFxge'; b += - 'B0pKGK0AYbgAGYOATKBDmiPQp/UEgaoVdvADoBQQSBYbwCgQEL1YqQ8GpeGEAQdXnIcb64xMrAC'; + 'fHhNFtCbk//HDHXmeKbwDVH4yj4xTflP+thqSE/9knnXhY7xm2abSsuOIJBDkiSu0Gt87qYvBKy'; b += - 'At2RAX4FUaxVIe4h+vl3tYAF8gwoWBu+0BWFHSEkD3KrNOonQCqsCEjcwZrQqwEyyIHhFBbtEfO'; + 'u8TwRwN7aGv5rhvTQpEZZEk6tECuXv2GsyXCPvTvV686W6MBetPG7khtaXdVzF47slZ9Ic0LY+r'; b += - '4KqNoRv2fBF7tUXJlZYPREj81FOKngZumcUKwoKw/lPtSmiKg9ANfmzWqtBLy9sQ7ZgpypLjX+3'; + 'ZGVNPotpz6M/w/8Ce3EVX33SYnjKVZGpp6KYhpGBQIJAUn3OZ9OOhjjxUyaMun7WPOslXOnWHqn'; b += - '+nSE8BRoJ0oyt/1MRhCURAVvQ8K7CaNSQg5widgqi3dCfYDFNpBk/Xc1Mq6qftv8hwCG55EzQqR'; + 'vH2cnvQH+kpyahbB9NSLSOV2k0juvDH6MZ+l/KECFejLzgmRQjrbYXyLazCbsa0ntnaJvOd1VDm'; b += - 'vCBAHKK/Kt6SghQ+jsLWRl6JWfl0QEGdMZwR3iomkmhPscNmKpzJLAr2SFxngBXlCOUPApGCPAp'; + '2FNdH6uoBW1oSE6/HcnnJSAMpuxHXtsRHQbUinPMt2QnyILIYUhs1gmrUeCZ9ddCIzmc+z+0Mtc'; b += - 'C71WCyxZ4n+syxLOvhtPWiksC8AnIUtGc/YDiUG4ZmjoJSCvHkEa9hBT9wTZdtJr1C0Z/dGudAJ'; + 'k8E7IisY3CxzX5HuI7qSYSDi5flpsi4BrXiwMx15Y3RIPZaux7jA+CHre1kuiNulC54ViEKYbvm'; b += - 'A6YqrJABF7YwJEdII4NKu2KRTAfDdakQGjsQ8CRPSlABEDccen0OZugIjWMQEikn0BIuxDolAzI'; + 'LHs/6+Rn2Ue7j6ScddFVuZ0zVDWoq3lOYhdxcqEfqpS30aRslqZWpqvZJlJzNMy/EXATwgHgUcH'; b += - 'kW3yRxDTGGJ6gGM+vAWfzIZMAz9sQLkj2XE+GPBiaHEcJQLXxtZ0gj6gOHxxwI+lPyxjmDITOmP'; + 'd/BEmcrnLgT4klok03oD1oNsuoGI/SQUyh8yVDmvHHTyi07ACdBu9c4F0b/Tn+lycYo91oH18VB'; b += - 'dcggL533DHKC2GdQPGELyt0nCGcnAomR/lis0ka53OMy5hcz6cxMlOVZxeG/Ii8zYUiWYh8rK4U'; + 'bmG/uqEw9wBE/bQlWdvpA9ysfu5Qup598tU7H6GsCQUChM11YlmAdWfwGJ1ovn3dpspreEPZjH8'; b += - 'lYvHOlSmvUsi3Cj+A5fg+qeYnGkl8Xg5XIpUeMWUGfz4d9TpgSSjjvyThHXN+0HGcCLdCYw0Oxl'; + 'OzHZjP4G+B5Tb3pcZ/QPXwWtQcb3VGOnRZtot9oMnCoSUswUJI92H6KFspQQ7Hd4fHH92V+trH+'; b += - 'XDBXnCdFUX5AnTFRhIF9MO5NKLjhrfOh1rMNiAbjYI4yfomE5awVaacgpGYWymNFPn9XFK9l5zp'; + '+xS3uJCKKVV8iIWCV45SmQghxDKdM8yiaBy/WRnixNsLDH2KO9dR1Xi9zxmE2ArNM5CyIgmjgO7'; b += - 'L3XGejKL/oZ6sqsP9eVXcAg/E1o38mov5SB0lQIlIZaacHfrzhajKIeAqAj8HQdWXXKRjG/6PAz'; + 'RS90NEubtsmIBbyzpLTwKv5aG8EuViUu5FOYjLOstXmlo0kchoTrnXIUboCM9FWEDBR6GT63O4L'; b += - 'fVtMVogwptB+KLJGnvIobBGBnQY6UU9RZxbSOmk/G88hbiB7IoQuGYQ3HTK4/jhkMMWBoJG1aaT'; + 'JbDdhTyKLRxfcsREX46UGhDwef6Il3i75Qj0cTACQdBOTbop6NL5no7CpfThSvpwsBHUoXd6cJg'; b += - 'C8bwnuLtJifoNLNLuvwE4QqlGiW1GJPKMexRid3qLENK7V6IlSxJGQYwMtGXUxGlIfA34IuI0pM'; + 'urAnKQwe1EU9ZZtu26Zbtun8Np3bpv1t2t0WOfduhWw1Hz/z8DMXP3Pw042f2fiZhZ8u/MzEzwz'; b += - 'ELuO7jnbWtwtagczg60wFqNPEgSc4t35OLovQzDMvwRCoBLiiEO41AVqrrBy9RYHSefOYxcR59J'; + '8TMdPJ36m4Wcqfqbgp4ifDvy046eAnzb85PHTip8W/AT4yeEni58MfljO8/Dj4kfhx9nW+D/aga'; b += - 'pbd7EBR4fUy28/gG77THPqpOe3XqP2at/0atx+/LLdfc9qveduvedqvedqve9qvedv/tOqG/NPr'; + 'L5T2yjjbeUT/GVsa6MufI2kWpzrIODbOKXWjxwgi1gMn1WYMmSJxlOBArLahIGEMRzGwyeEJRb7'; b += - 'OX6KvInAK13ZsgpZF1RJm78FKdg8evg7Kot5eMOj3ZiNNzzqDQWvpmpSlk7q7alalrkUfTbQQ5p'; + 'DU9sc1c8x/ZO4Wt7QI+EXZHQ8DFP3eZMhCLSbtjF37mFD/vgduMhtF+zpU9hVAwKkYj5hbuXcRP'; b += - 'ALKQbL0V2t2DCc6AM3r0o5IpkXXY7EQuLxaaze902xQHGg11op/cGGFsWx+SQiTUaBorDSKoqhZ'; + 'J3p3QE6MeweMwFFXNJ7uHQirTL3boVKxvYH7kY4m0l1lp0bXAnUd+Hv74JX80WAuBk84jJ/Rzig'; b += - 'lW0WxqBszvnXDsYO5B7MtdMLIl23UmwCoAnzy02kEbmiMqCUM0zp6oIBCG7nshQkJZ5CEfcxkxR'; + 'oPqADTeKJJkmKvi1nQmlArNItcYEG1WYLOmOuMtHdW1j49ZY794Xqduf1IEaYeBZyHxGCzeJXdO'; b += - '/dWm6xN4gk0z0D8QfMnnUDyghRzxCT1FcZkSwiAiRoiqnvRs2RJKIug4sK+4uIodHqYGpUQijgh'; + 'jCqNkEvehPIYOLOpJKZxysQ1qxbqya5MVly8SPuUwVnOj4344KF2GvIDn/HX3fx7F5t2qvz+vFP'; b += - 'U6VfuOBego5vrPf4f9IN//nkG864Vsdt+M9/tuHbVUL0inVkNhhH1kLZLQBwJRgSVghiAiYGOyN'; + 'a3y5Lu3mIG24pkekYq4/L/Zew/AqIrncfyVa7m7JC+NhCSQd0cCCTWEEkTaC11AelM0hOSAFFIu'; b += - 'oYogyBMwoCE0wGJEVNO8PJYZwbgQdsYlBYpMwYb7KLUu3l62iLUunLUu3F62iLQvXADwl/xQpzk'; + 'lwCKEEogKNJRQEB6E5CqiJRQRERUBFSkSERAEJAgRZCS/87svrtLAD/iB/x+Pv/fB83tzu6+fbO'; b += - 'UZIHQv7PFj26I6TjeO+RWZTKHXC9FUsHAqNtjYCg2kXEsr0znduuEB4uVLywy/aVW4tGmVeRzTq'; + '7szOz5c3Aqph0CINB1ccdZKQXwmmREQILJO+S9ouUDcKepqHMzmcgR5evZdMlRDwFaJiEqVnAqn'; b += - 'nC5plXJp9T6ktNp/fb/ldYvCJxG6x8I/o+0fq9+Gq3/+a8fe1XSfoaANj/VcUenMKKo9X481kcd'; + 'nkyZTlUgGfaTKRx5DVElkfioo+wQrWZWgUApg73SMyVaOZRJY6cyGvdFm6oDZN0ZGlE2iNFq2q6'; b += - 'IRi8PuqMxODdpshHfYUqzzEU8Rn8ApYaTtJ0YRTYfl7PAiGXInM4EZOfkWJ3NvElm5iTozx6DOX'; + 'ikewNGJQiq9yVv1nmRRataYCE0apK9FC9EAaIQMA40QbZJFibROtRIqyhsGwoQ0KSVVGZyliKmg'; b += - 'RmfKEy6A84bIpT7gcynP0BR/lOfyCh/LA05OgPK+584cN6yg4sIFQyQoF/TSXM7oCO221wLGhkN'; + 'u8qadiGy2IFUJ5E+JMPCntGmymK7EFaVrJV+0EBpaRMR2NJxjYVXN8vVLXNpOm7QE/rtgNvklz7'; b += - 'wYX5qCcGPcFBywlhxMBb1+W8oQK4zPwJFX0C2+pQzIAqnaLWWcFkhZLWX4FkjVaymjukAqiVLvU'; + 'CHedWnrjLowKwlhyl8SSsBWrSwVKPzIq2JIEEqSCxlTwCwrb6At6sNeEbLaBxQLIOxGEqEcEG0O'; b += - 'aqRB0j7gBqL7YQRDY9Q0BsYd7i0p8CIHuVIOLh1QUKw4se0RJXdNFnxrLJZ25SelVR6mQvjJ6r4'; + 'I0hMY6ZHlq6QKTs5KhklIssKALIxpzngYxN+tMrEUwsVJhYYlb29AGGplCd/FZMAT69AxFF7AjD'; b += - 'hh5zYwjZMg09d4kR3NDKg9IiD/AcF2zj9m2infS1Dj8nrot3cIhEwYOAb6/9gbi3TdybIXhBxwj'; + '3VwPcGrT/C0NoHKbXwAt8ux2Ug+ZtGkFJWqp62nKDQrgwzuIGhIjQrs1xP+R5eb8DJY8sI7de5Y'; b += - '5ARW9eEWbqqAiR0ZiFAMy0tbHiDMOaCfpCep7VCk1AjcNQlJD4F5BMexJmB9RRHobjMVg3zitMJ'; + 'fioSZUbn3FowYc+idoMvo2/G3TcznmB44DTE3oE5zcsewG89kAGDLnWUPIQ/oHsOJ70v5g7OAuJ'; b += - 'yNrhYBYtUCsPzBh4A1IPoY1BrTO8APEWMZU5PGmG2R53mV0Bchh98gHzUTGDpTY4t9YFQDWLNBy'; + '34kk3OR5ovRoMoQgbCExCT/IjSk3hcACW61ocPmWIMgzpIwRWibC9IrYNIUROiKoH7M7pgaGBNs'; b += - 'A4PEANpcExjRzbm+AuX/LtYopyxfSXjZIUl6Irjckt36WwrShvFB1gPl1H2+2zR/yrTqtIiNpVl'; + 'jSgyGDJGPN5LFg8ntSQ3VbJdq5oYKrNVySFXGlE/2YluquovrR6Yq7CEKKNJp0uCmAzEcqlUjLG'; b += - 'X+YsVfpjOjf+57CzpYxtpxqLJuAESIKhNLyAcUjM+5KDreF6fHqQBTTp36g4zr9e/8ae5MeI/o2'; + 'lK56K2q0M1S3Z4mU5xXp3iAu2YOqwAyLPEmb1zCwIqZRFLtUIovXQ5Wgn5lOQhhH5TNULRGAlre'; b += - 'ax79RZb9HGmwjy17zRDHZCdnrn5DuiwxCsOWJGPfFvhL6wlIjq119IkTTS8b5o/uQ0jUUW7LTSC'; + 'LtaFhz9GqNqcAnH3rPGCqdSz2CQfdlAEvIxfHevSCNkuDFtAvOPBa0cwjQ5VMBk3zrTIHqn2row'; b += - 'xSuu+RFynd98iDlO55EouULg5DHxcTNr0bMpxo00MxDaVpVpshEgTx+d0AtRx5lIqxBiE0EEwSw'; + 'UOqJinkd4RnUuT1B2jHiOKOdKCQ9wCa/C9xG+74Tv8SYysbmU6hxHktp7AhnoYDtGC0tGSdFa9E'; b += - 'wRADENQmGRzBnIlkHglGrwfkMgLDZoxCFRtyHSQNFWWi4ejYzxbNrwzXDcixdYIKg/QEhxyuhY8'; + 'rxvF2cRQeEqoUOdubNv7cT0umWiwIbzhrpggi6tayH5SHWFORkOqTdba16JBx7S416kibgMRaN4'; b += - 'HvTJIPK4GL7uhkReuvqGyYmhFLBZrzL9hsQwX8HXhJxh+DGsMDl4EdRbcLIVEulJiUHOPOmGxBB'; + 'skUmcJI+0IrT55tUSJ2zdp4wmauBdEQcOkt81Y8mhJA2dCTgDBJ0q9QZ8cQkuWpw4WLHhYARCnB'; b += - 'nCMID6QaWKChTYMwGkbGdxvQClxFSLF60IqsVmrQapNZjCNUycr+0N1MdC3+xcy1BZz2vzpSs/q'; + '7THCwlIteqzV6kFb/RypgixZUmlbyMNQ3oMkWAX3AoKzgAFXFA8UEP9VAU3pAnrCti06OJjUpcA'; b += - 'o5Ua9gtMC6kWVVBulN9XgEGkcNEeNQIbB7cpa5WUvhEWMod0IVx7MO6pMSHfs91Xmf/fEMQvp3G'; + 'OlagZgd0k0g4QoQOMuB3gHB4PXDylknEwtcTWYYt4kg203AaeI8qe0jQLGJESlmWB9Uh8O1j7KD'; b += - 'rtb8zZ26Z9uLJtSuI3ddLzGgllGouOSpDrvO40lPucB2VgpjIeCX4BoL2orPVlaMot7ryA9CEuh'; + 'qHrLMTHquBDuQIZRDWEa7wAIOaSB4iHEXnsOOjmR3JMzrylNkBz0CngyM9ZTpPN7FPuMWPqOdkW'; b += - 'RussS3PbjpbIceIF+0Gwt7PIkn3FWnFdskYiXXIA5SRfAGUrNoCyJ+CyN9qyjKe8Q42NJYng5aC'; + 'qVRSpwmFmOEy9WFvHdhbzeaxELhhEwLZx6gjDTAaBCJ9cWYhCdlEDPjQZkWlcL6QhuzHtRHXweR'; b += - 'UBRxchYEiQDUrQXqLQL8aKg3Sq7pqWsy3APIFywDzBfF0FTkQVaQ/NUY0BxmfZs+FN3VzvorIvB'; + 'EcUcatiiE1M7Yem4eeKpYURB2gPSh28LtA2CusS7A0RF2PYFMdM2BDZbcQZFQjeQ7qsvVKeYayn'; b += - '6dLgQnYxTdRAVwilmnq0RW8KhzXHddAlHvDDlr3ST7VBSIgfQelc66A5GsECFoHROdGha2d3B17'; + 'ml9yaVrbJM92a/AlH41ra0uXz/1VLBzpbStsc6WxzuLPNMraZNgdINwTxBOzE2Id2vBoXKRYz/2'; b += - '2CHvZEQJO6dwrwZwdjTPom2qw+6vBaPM5vgdGYtQgoVQ16KOkeRVekDMBIRvWCH+7AYTCIRialq'; + 'V/93Ji0cmJRRvg7ORtyiXSCKkAJMrJKbtgmalhy0zG89UJDos+ug9Pd1BgKwS55mHRhJMNlwvSd'; b += - '71xezEhEuoNEZEgkIpwYOArUcMEEy7qUlBtfUsxtQceMXcIbPBR7WFJZcyvBiN2GeWPulRFxT/V'; + 'N4UzMHGNdWGSBmiDVFJ0dRk8irFSyl7LKvSKbxbgo9zmxxP9ldqSqUQabeV1qLycOT1vqgwwjlS'; b += - 'F3CtD1F1mxD3dF3FPd30lvaHwdE8ovPVqLPgAaeJJ1R1GFTep5P839Nz3gQ2JuQxFn9fCz0D46Q'; + 'oUYJqi/s47GM+14KVuMSTPAq79KbKhSX6DK4KIWaB7FT37yFVVvIPbyMgZYpR4/7cU+RXgHgQSP'; b += - '8/yED0hJ9u8NMJftD6oS38tIafFhhg8QwFiiwfETMvstIlEOjEB4RI/JjrUU136P5tCursxCSEa'; + '2ZlcjDCglDaX6arQI9fCut8Eer1S65ngqgK9fK7UT5onbnxpFyFL4XHjEvZIXWXaoImUpmlwnJG'; b += - 'DJgQYmPxKmwFH/4OCGSKYhmJpXDhLyNUdbBv8z8TgdUMwVRzcTYGBRw+FYjUqoMZG6Z4ZynSlBo'; + 'cp2lxEQNoqUI29Ge2fPQxcTrtUmUzWyapK7Em7vYgj3R5Ms0+UFHKqdm2m2dGYa6ZCXIZ9dnyQn'; b += - 'yTrbJnH3OHE1sh5UwGIryAJJsTwmCI6gksJxiYKIcCbmWELIVdmEWhGIHVnMe2BuVZJ1Z4FNFYn'; + 'UBwqfTBIrBRSy+asLKw+yo1cgfqmtbpBJ/hBkJs9YRQdcluNSt0P8fql7raKgyHzCB1cW/1lGmK'; b += - '4Wb0sW/QwywhNxoYBsldb8nnkRaeR3FvMyC6JRi1RoUa8PHGFeZUo1o5ivk9RRQlbTaUoy2w5hV'; + 'v7r2t3qxFEndGrB6sxSzunNglViKQd1YsPqwFI2672D1hRS/1XBmxlJMw2H3YNgwq0gDDQ20NND'; b += - 'ialEWaXyFcMKGl+eqS1YDhrqxGHhGwzUtdnwFaQLBekYMxr0a1KVIdy5GHxHsAshUM0Ymr32RpC'; + 'RQE8DAw3AwZXFqOgtPFlgG2VoiriMNkOQPeHHC3684UeCHx/48YUf03A0ZYiW+6Aylx0/+n6XAy'; b += - 'imuzPsD6ENhyLWKkG1AgMnoU+MAF4bcrqR3sCO/RwL6sIpxLj224Y5FOVuHA3UsxzAcTF7INry8'; + 'qKiJtTL8TIZf+QouYyd0hxdFk3LI0szEuioHnSXWxWRja9ZhWWWf3ppraKidpXeGspjh89DAsFU'; b += - 'TMT7sWV4eZkYDprswsvLRHoQtAp/3CX6NAfgHKATJJguOX6FNboMBIQHaHJ6UnqLczTz9CuedHl'; + 'GpV0VO7uHShcnT5p+KsjkzpQoF0M1xtiDqgpQsF0d1xtXUqHZQuVB50Hs7ZZJV8ShcKptvgsNSd'; b += - '6ABYjiHp5slEIwocRguIkhE9cuRA+cRLCh8/XflgxOdr/+X802s+UIc5wxEwyji8bDqI2g/zaDU'; + '8GA+bBwpfBahQqK9GpdlyX7QT36ysCzLjjvpoOxDshwMCUGYYMCE8pDgjwl6TAiCBAkTdJgQCAl'; b += - 'fqAyaCrFSC+PWae2AkJZFGtgFxhMP5XcAjX2chHkm9yGmefcTs3U+j0/zuZySE24Fn8MacrQ6EG'; + 'mTNBiQjlIQKVS1mBCQJa6YUkoCBL8IYHD+QPLYo3CtyKaK2rDMpcFGjTyCTGrpTo58fCITU46Q1'; b += - '62+O1y/4uNR2gRD7o3J0jtEB69vOoKfDIntVRaFHRQpVQKTM1x+kh1YEZBMuEIMMIdt3qWSMTLH'; + 'NM0zREMaXXsTiqmovh9MS1hOtA98gNVjzM07TCg0SZrGzVs2vQ2UDjUwzqfrlVBzo5CD6yhG0bg'; b += - 'fA643DXc1M2dQG+L0ROfAUooqZsL4bRYYhC3BSnRNnMH4DColAfKFkc6cOYPUHlwycbP3AgFHP/'; + 'gttQ4cQq1YZka2E5VoE8pgONplQr4QtJugYjfthoYYdFsIpjZZAUop0kHQC7FIJEODJD1384Vtl'; b += - 'Bs3cHZkHjijtBmEIzh4IDQKcKEkNolIwGzAqdFskMOtgLZaniWWKYjJfB2NdSQLevFZgPiCaHLI'; + 'LVuCObeKeaqGktJ0KYa7xXSPWEPPDKFVFqqYUuZMu0QgC1zCuZ03Dswo9/IkFHygenTES1SgnBE'; b += - 'kW7tgx65bCUPxo0PwAmX2Qx3TEfcrQmxbZIoG983GadzDe37wFNWTzxLOTbB7akesWnVxwsMpsH'; + 'FxQ4rGIB0uc4EL0wwuxI8McE3V9FnKcWQYFY0ZrzJxj/4UBEWKFunp4L34dyf8FTLFNIqBZOFL3'; b += - 'j5l/yGneQtqRFb7TCDQ+DQhEIOKAipOVEdpZGamun5s4CaLil22ZgDffVg+4MCCWwPEu9XZtVM3'; + 'XsK6S2c57qf8672staKRIVTWb3aNjCzWDCLeVwQkEoKEjJYLGZmTNRsB47KpnFOwkIpPVgzIwSn'; b += - 'P1HJcFdMfTHtxLIhR7qulaTVoiGyoI43znINn1E48/c29HbthA29XSu7oQ95joYO2GqclGlo5ss'; + 'ZlAdpVgX6gSZ9JzdEFVB09P4IacQEmMXi4QcAVIjzq9U4gycFnEjSxEIQlP8PAGHXmmiFe3xGS4'; b += - '6Q/Wimh5jULVR6ovnEg5CRziIGngJQTgaiTtb7iQ4CB1gIjqhhQ+BQMBV/SzAh9CRXrVEqNakLP'; + 'rSFIr4u4RIvj6VHWpxw9y2KXgC6dLmQX7kQ6ETlUm/D0TJoKEq8I7h+Z2rCXGCw8exfh0rDuFOD'; b += - 'uVOz3hNRpo1TzIHLWz2NNQ59PhWtnkyk54waAn8IPq3ABtwEPAFW2MQ325mzHLOTKzk85G9AgQj'; + 'KIPBB3Akxp1gE3AN98IzUTE9QS2ObVxbbCaWx/aw0tkVn/hW2eYgtrpNhHrt2IbG7ScevIGs302'; b += - '807wToCAtq7BfJT5xUohfJQ0ct0pxwoYQUkd1eGpi5Xlf9pTjpyL9itaJO91l5JGHPPPRDpPAkt'; + 'lvwXMEP5x2sQd5P+46aPBqDZzwMzEqhYVAG5yTHU8MaI6Md2YUVDdEeuuDzgPYFXM/RSVPUFZAL'; b += - 'qYoR3NPmkLS9SkD21ATtL0VHky9p8iXPGxaarIm3Zlhk9A+X5r4QCzckIosj4mIZ1hog81KgiWp'; + 'zzBxiEuu+G0nW1/0LsEqYQhcDDbO4bA8R9uJ0PH1seTFg0wQR7PqWArhh4bwH40qUfvrAf2qVvB'; b += - 'q9KrpjR4NvMvBTUFFXOxFFE8TEjUfaNVKGuyraPcs9pb7Q+DCg7dgX8UNF5QAeiWnUICUR9Fngg'; + '02TNhwdLcL6kx4qiRDR/zOOsVvJk3O/FCwt5cscQBTd1DSEWnjZWRzkbnMBocOMH+dzKb1Z+w7W'; b += - 'O2yAcrW0mQgUE9MNWRdSBt0zwx4tFfme1tDGdxq87ZE4Ql5o94BqwNxzZ2AiqRTkBs8e0e8XUpT'; + 'DZSsZTasebp1yePpBEt6DvLZwMG+Q9dI5AXaCDFa4EAuwi604j5WxfTq6VY6ny0H0OJSLFSXcTV'; b += - 'GGgAFQGOm7XKG8jky6FpDWOwt0jx6FRPb22Hv6vtPXfPlGKC8pOXkOKuUiXx38dFVpo3Y8KgTZK'; + 'Y0djhoE5qJlINGO8/oVK7K9huAd1kIX7LimZ1R3VbqqBkBd2OIBELGhdcIcDYapYoW0rEmIsANF'; b += - 'Mr3QiETVSY7FYQspfUnKMh/RKb6o7kCUkJAmnnxVMM8t5NhqPhSUDMgit12Or6HBzi/QqsVOq1i'; + 'BsDXOzigGUaYNmtw/M35LCkkyxEK8X9JTjIwqrMyGtlg3QUrp6QMhK9jRUlSrHQ5cAyNHQbBfRc'; b += - 'YZmQ5UaGSKXsjYuiSHBFFCx5qbhUbr1peKZxslcat0rhVfCp5JlbRMcUX5ZrQUL1WexvX+az2pt'; + 'dlNDByX98ZKRjiqoKo8lXR+NS+jIFHbvynk+rI8CrQwOlLyXtfQEGbGPS5FL58eKzdST5Wap0gY'; b += - '5Pikg6XJmzA4RYcJw33lvnf0M9wRtr/G84mo1H/KdUNPolK1BUWvAZkpyCyM7MTNToIKngeVUvd'; + '6AbVQa11onFZhJ/hEPMzX0CNGOUX6ScRFJx45sOq00P+kCXhSjQfRjNHBQx7QyyI9qkBalog6Ib'; b += - 'V69lT6FA1puzgzK+6AkpOCbDoPpOab2TNTdY2pPi2DsSx9TN7g+xf8fziWLVW8oUjsZVY1GWfbk'; + 'vuy+DMEehqBQ+4pVoWDb5CmiHiUSRZauMpmJ6eVxrwghd0i2wIoYgiMZDGhdKdZYgG0dsLpHVa6'; b += - 'HkWJQfbkx31+g9/e3KuCIQ2LUYaGhYOCPswc/YGgA0bFzLTKTLwGaFeqw9V7dnEN+GyV+XnnCfD'; + 'QLetyOdaNXCMpanVyU0sGjUwK6eqBBGCXMjEohH2i+i+FBESBSp8KOX1ODiFU/pNpz0gFSIh+tm'; b += - 'q92h8X3GzkGMuloVJhOWSu7xIQkb3RZW4e0zEMAKizUvc7Un8j66m2CqSUqWbDN2GIjc6xmmVDN'; + 'kLnsdLhlqatAIELNMO9cB0WwdLfqpKka3FjWQXsDABVCG1I5omDgZq8Zd/fVAyG8HWemZ8GalnQ'; b += - 'iMbNhbyJIT471DBDcyW1PFPhRBjGkEn4IJShuWxr56tOGpLiYDBEKOSMmjux9tdC07nYBSYUc/6'; + 'hyzKQcl2N4qwCNEqAEX+wUbxbowSkI2iGM4dzNVfNMOGYkAju/8NgAScX2VaVRw3OTNQOIdVLED'; b += - 'NX1qbyIkH7RuR1UVyTQ7FyJ0cLDKGIikCSEyH78eQmS5H2+6Hn5vOh5CbpU9vtrPO9bbEyItMvx'; + 'i8+eBisiCBGTvjaRMUrjVIXjzVNsBOGMxcPk4D05Zn09bgnLaQYiF6isUYx1m86fTVhnNOLoPsw'; b += - 'G0hZ9cOx79fcNr9Y7BsDRXLzWy/PfOfpJz9ZMKWV3lekH7xpxucL3zs8d1ArvZtI3vTbxm+mL77'; + '+0ATqA3A62w3W81E0FIOJBggf1WWkQPNAmdHW4Rca4AccGdQYsnzAagKy86M0DweyFd6RmTcb9E'; b += - '1M5EEsPxjx/Z8/OuxrW+GWumtRXLdm6C5+nZrDqo9kPSI491MQ1LZZMZuETdNuqeCF4A2OYVxe3'; + 'Raa0nqwxVB0GL8WDDiPQzWkpAshOlAItIr2YSIuC9qB3jauJHuGbKItlo6wDZOjcslIuSPGhp/1'; b += - 'auxgPvg2GM0KfRY8/B10FtJBeBpRKtUnW9IIrhpJmIPgpeRYhE60lybxAYTGv3xk7FJ6pGMZXel'; + 'MaFvYjBBKHVRocQVMhoETeNTq2B1RLU5uwm2ghGQ1Aq1rowR/izeUMkLFwANl71iq3mmgHHIauD'; b += - '66sVvoQukoGrBi5daPqGkCAiiUyDSKIRW6SjtTSpzgEkmRBL/AsD8c99mUQpy8wkmUjQSskGCCw'; + 'MIsEipTWbzKxp5OOE2BuxrNv0Jqy7DbfAmt1w6H7gNTw/RXNwGa61LhTQt6+I2POM2HJ1wTm6DQ'; b += - 'dyHhA1uMqiBnxrga4jV7ChxgugpeT+sOlsJqF0JaFEd41IDqbkh1nLC+pohjb0xT4GD8tzVlvAS'; + 'olyG7yti9SJXMc52jzjK1hA2betkJNegUuQ7gSKryIyHwtCJR4URpVqm2hapuPFEe46B7um5N7x'; b += - 'I8wpswOswaXJiAPSbUG9gdaLUhjNAHTCORiXUKqONB9r1SsQMiI+MN+xwguHwlg4QPm4fE8qrd5'; + 'AtwpIx0v8oLImZx3kcyoZFmhH45eJYqEIBXAxdBjENegnqIUkbg0DS7BRDbkwpTlalZYirKKZin'; b += - '7611Z8q8/bg2wtUBVEIj+dzKlV0lfHw/brskcK6bDwXACHJNBXA69ExhIylwkHAbKBhrPALSHbo'; + '+9LMMvqUnxVUZd3snF8lx9Tl6HUYpubWTw7ucAP/uAri46URLLxRi8ZookRiyshXq16O6pBTT+q'; b += - '7G21YhHX/0YRjFDi2HQVJsqSY9j0TQ1FysmBjgTAE1DErEZdkG0YgBmliHiwiNxQgRGomEQ4mri'; + 'W7PNXJwlt6ihDK9OiCg1YRopWociXQmxlHKIKlbmY05FwfhwD38KDyGLayBOwB2pT5vBWO360ks'; b += - 'vMC4cVZYbCFvBSIcZlrPskKOZxhCP5dqT5K2Q0skjiFyoxOGBkQfYg+My0sMUKgvKyBj0Ot8Q6c'; + 'zVlUiLciMGtbNjThpvEreierIcnvWCsoZupPFvxCLDBosnyxAuN/krRTNj/UQUQxaUlPgmTjcwE'; b += - 'bWh6qxgxwYaAHmhN7Xgd3B9/tPJzlBpgMUNx5cG6DHzrM/c1NSC6jCdP+3ibMU8towwa/E201hw'; + 'yq2x7J4ZD5aFI2HCgYhCj2sauuxhmiSvLIKWamHERHVY8NaMOiysKwVlj1s/siMuvNrplG5COLv'; b += - 'klXzGTmFCg+o/jDbDOM8jSUvChgjAkkXudTX4AFBxXkN9V29hIh9l8Kg4K3oWA6YTVyCoIBEs0u'; + 'W8ul18oiudOdZWKcB+9EAY1RvEMC72HtF9/d+AZVo6RAeuY5pFtCJBeDCIvQtiXlCz8I9IvXKEX'; b += - 'cxEZBtRDZqgsxEWq9yO09yStb7mHlpbZnPjy2zukbW+5lJxf7K5C1ig7QBoUrQOQiNGqMpjCmNl'; + 'Q99F1Let/dXzkOnSeUxoVd6/ZXjtGeLX3/BhV0OlXoXTWZxytLij+qZ6abAm+Eg5ciDSq7Tl5N1'; b += - 'agB7aSDspZHl8ckXa8c2xuFXrNKDnHSmgm0YYF+ijsELbFkGEmYWmsq5YJiR+SfZplZ/X5PeZZw'; + 'QR4eK2YBtKbTyWxdOkMT684eChMedCijim5y0gJThedTywRUcUiegBdntKbFjqmD+IOOMc+HdBQ'; b += - 'Z1T60hQzcglXDSspP7982d9WytX98rVyBTBfefGjhrgd/fve1Wan9IKLmJrFP7+CACAoF1LB87/'; + 'hm2gY6GDu7Kg48HXHnDvB5g48CFZj/cw6Ccb0iHgg8UcERxwLVgDu0jSSOijtWKKBRRRyCVLOSh'; b += - 'arhS4aiHdIpccWU8smfJGj4qHYBBaGqpQuzZO7rMK8lcWWdlvIUQpIoSGJ1Fy1ALBv4pLVr46So'; + 'DKiML8BQ8ojABDkT9o5fNVUaOyr4HY1YitE6KdXFRUIyI+iwiXQN7B94NWEqzBbyFZMU0CX6CpD'; b += - 'CZZz8jHjjp9p+LY8JoPeXUFcCQxd6qkLGCVwEw1Uion6wRIPFgUaxD7J9uW5DbtkZNu2iOlmoZ7'; + 'X0mHYSnDGvJRQprQCqKMKPyP6r+71Un8OFAbd+f3h/q8Pxf97viUQu0OUptE1d+YMuTecYYQHs4'; b += - '21y/LuXI6lNQn2hSfUKw36A+wXjSpD4xQX2iofqEwiBDgyKRUiV41Sdz/MvGARWPWcaKf81wBDx'; + 'xK8IjZfwAUsHnRZgKigUfxDFrsGzKOr3cIGfNUR7CswdQGpwC457ATL9JwqxVKdrF3gao8lEq/5'; b += - 'xvwfs6uMSFCLCsGIUXjFKuStGc1eM5l0xt5xEa1r9XY0ZV1prh4JlOD7oY/DAhI6LMcyY4TJjxv'; + 'WKKQ51nC8RqPJQKXapaqOC6WapTRVcahsFTBwaiOd2Li8kBakJVLN7oibUPeBsvl9rgD0oxIPTg'; b += - 'GYMaNcZmxs+dW251oDBWecBVzqyos42jdIXAQNxcDu8ey5RhgnNnHauC0ZZNGEsCZ/aOj+Y6u90'; + 'EEUGkW2HNYtXC8m7yD4WcUl7JIwEefigSbiDJ2nQrjKxE1oaCw2IE5RcvPhmBxZO+bWHxg6CZxR'; b += - 'PnUkPHlOXQL+BmVI5IwZOiWMqPZ3OBwp6jgs+tJ3yGLQlRTpBLDfnYpB/SRnknm2+iXFMY4lwZa'; + '+CRpYACBpYgiGoawmBINoSCkF1SwUIIi0VIQi3hEEgW2QIQi0WHCiLFQJ/SyUcO0s5CMyWQBxdS'; b += - 'sbveUFBTI0uRZnaNssynVWwzRkSORqQ44j6ekyCO4NAhLI7QCH1b86gXdRede4ULCU65pMSBn0M'; + 'xBpQDX8qkaUq+KHOKIchV/ciHJkfWEChOH1hTkQRtQXZkJYub4wHcIq9YXJEAYpM08tB6vVuvrY'; b += - 'S1YI6iSR0ukd43hrIGnQqhcQOWmmlIgo7NJZA3ELYs9pkPKgqrCoGWzmLBtugyAGKeb+RqHFIPM'; + 'P4HKlPEnx+vJtMJOkcsp6wrufk1moIF2WCXl+L7l68moedCOBAqHBUYefqgm4tUYLetMo/QBEmS'; b += - 'FVQMw2lNMhpsro6SlqYcT7HKO/HQ1NTzBSxGdPmQq4NCnAAcsXIoS5DZKTQKFlFFp6IYyZY8bpn'; + 'mxRsCh8UEwRCLGYJhFk+K3gSGXgFDbwxDD5vlydA3M/RNDH1vhr6BYu1BkdVRHPX4mR5+e+FCQU'; b += - 'HkRnkkjf+VitbO0usajMAGu4ZFZqmHRv9ZDtIEyu6Sazg5lk3XFT9aVGLIOlIEMOJf5bSJZdmtx'; + 'dR0FMUDBQFD/qKCewVBewVY9grEAUPhoKBoaBnKOgYClbl+Jjj+8UU0K8BF4tyddGer7QpVokiJ'; b += - 'dBalFXBI9o6FjGkUT5ZjaAr2VJATEgHbHC8o88YFYn9sReYoRYvE9aaF0ioSIczDyNuVIctFbk2'; + 'Ssn/hj5qy7V6kOxC1Pe2zVxmTbV6vswNB/ZUx4MTQNDU8/Q1P3FnvKh2PlSpLwoLtI/2lMVlfMr'; b += - 'Q6d8DjgXkLa7g5m9EUEEzmF2GzywsUuhEZJwnaTO5+UzmXYu8fGb7vXym+r18jihlevmMdkH4Cb'; + 'f9xBmCnrqQrKyA/enM47eypU2f7G3gVCitpTIcruO+uWk578f66ngpXrW27PILPQm+ISoIyak39'; b += - 'bZXGoATr0RYadW+cF0Oa9I7bdR9bmZQpCSGDdTiGRStptpkcpupo+rrpsp+NWuNBDjklBwNDGfk'; + 'bn6r2lL/y/W+TFrhoyk+ZMHfyNfERNGWiaJopmp4UTa+/0FNeDE1PhqaZoWl6aE95/52eCoIPBw'; b += - 'uWgJxC3hz6jKgp+cSaBTUSXyF0MZsamlGj0jAJFtlWy8NgYZ96hk09wsLQHhNHSE/gQCHTYEeyr'; + 'nbgS8MCbepLziAydQXMmFmMfQsDD2ZoRfG0KvI0KvA0Atl6IWovcg6j/UZ6yrKt+BCXyUnmqsRz'; b += - 'ZOKh0l0FtGgj7cBYSgS8RoeeQDRSJ0CBoWBCkRaakC0xWoMM3UkWtqprXovCQZIYN1YqIAQSmdJ'; + 'b6UvyZR/joQ+GukkAaEBj0xgfVEAeuJMawn/tKAeis7Vk09zuMAdkO2+0fx2FE8DmAnZLt7Px57'; b += - 'WYpvXeHsl2796bWkrqTUj9PS+Mp5GElWxCiIu3NFMXoMlUvnMlMAzh0hK5plDuxVy3nV1THjVjc'; + 'n0NSb49s98Du9eD1qvw/OqC+FLvyFCmJ4uLzWANqpQNqoQMq0wENowNakaFXgaEXytALYegFM/Q'; b += - 'QO4PePsUwJXwLCmOrkq8ScHAKdYaYZBk02CJmmxkpfvKgWDAUW6mV0YKtUAgbUy7V11UrZuoIBn'; + 'CGHr+DD0/tRdZ57E+Y10F6D04lGF0KGU6lBY6lNYnMJRW5crRxVeEFHUoLcrK8YcOa1LUoST8/v'; b += - '3mbTnIcgB1cjTDwcNb6TYtxrtPQSpf35f9is9b9bzbr5+M066+aTK+GT2IyrXQn00yfQ6elOpoO'; + 'Cus1rnUIYpx6ac+1D/XziUFelQVqBDGUqHMoQOZTBDL4Ch58/Q82PoeTP0ghh6gQy9cmovss5jf'; b += - 'c4SdzLANGnlTx8SncULXqKVC11DcGnx0Q+mAN8CW6HCMVYn3TfZuIRvlPgzufAqQatbTdhhp3hW'; + 'ca66uFDGUKHMpQOZQU6lBWfwFBWVNacHLtd55yVFZRp1zZv1zpnZaiyee21Ek2qOpQhykd5s/MJ'; b += - 'UNu8mBYzCfQP3EHNDiKHOSGmhd3UsrJEnJ7i9BxFB3H5Q0FnVfDlE1kGiyV1ZaLARKKSNUkZNRu'; + '/F83lMF0KAPoUPrTofSjQ+nN0Ati6AUy9Mox9KwMPQtDT2boham9yDqP9RnrqocPpR8dSn86lAF'; b += - 'umxgB2vQJ4wNwaIPvLvc3ZcxrN2Uoy/a1aOc3ByNk2UsMyTfN/RQuXsMfapUIbpa543kJCW4Akp'; + '0KIOfwFAGK2+eL9knOocyQPno5I+HBOdQ+itf711R3zkp/ZSfDy1ewP8XTkpvOpJBdCQD6UiWe9'; b += - 'p64sXdZMcbH0MH0pS3OEAq0AVd1s+jwZmXZR5fFGLbEeQxbqrmIJXgcWxCjtnXkOBT9mEdJ0PRN'; + 'oC8x8VlfkzTmxz8dcgZfOuS8VCiktU3j2+7oLGTVROm100S/s/UfmfKCqPnFuxXOcmKj+esXyD3'; b += - '5Ns1BU2+bQkNUS0RNEqKPftuMdWOwuraQ7yBeBTxhzN3/Enk6vAbCzqq2JNs01PHbdP6Ff+NNm0'; + 'k1UHrp8/ao+1SUq7yz98JIu9X+i8j9QVJ5ak/eL1k1Ubtrw1g53UTn5wteXRTdRefLEl3vE/4nK'; b += - '5bpsOLz+jbZqlKggb68KygDFcouPjZzgyvbBzFedcmc5VNW+oQL5ydeiWEzy2AhABgrihCOHI6L'; + '/0RR+fP7G68JbqLyxLV3PncXlXemf3qKS3XJyuLClaP/Jyv/I2XlW6OmfcG7ycqCoyev8m6y8sC'; b += - '2sRu51xfmlqc9f5MtIV1ZLxaKrei2VenSV1FJJoqtGLZVGDmmaEatzUJiPZ+bdZeohUMY9Didfr'; + 'vC7YIbrJy0+1dS8T/ycr/RFm5YVYxePB0ysr9R07fdF9WfjX92gn3ZeW1Ux/t1P1vWfmfKCt/zd'; b += - 'kRGkxIZxYwnyQidL8yzI6XyeeUxRSyjI6AaQY67EJyjkaigFkq3K/aqpNrLpoG3k71lmrSVffdG'; + '++WJ/ikpVX9s74xKX2hCqXJv3wvd5NVt6689Ms/f9k5d+WlZXoUPrRofSnQxnwBIYyQBmbN+YPo'; b += - 'cSPZnjPNCzcO6gSCjEVMIwaZZZf5GHtL2DcCEl6DDuKGJd49AJFgMTDB8Vu2oMbptAzQerlliO8'; + 'pEydu+vzFi6/SRRe8pRtPyU8ZtnFWhSrYHq8cjEiVsOELUn6GH9WIn2ox/tR3/ajwF/YSgDGJr+'; b += - 'rW+Y1tXRbVlTD27J5NahlB+Ij08GizZ6jkkgeeH66KJQXU+XFUYUvjsiLw/KiRF58LS8OyYuDfJ'; + 'DE0/hmYlhmZgKQ4W7MbBAuTIFEuk7C9HpViiZD+5aoqlKunAaimWamXQGyaHp1jCETU5IsUSgbj'; b += - 'GkDSnfam2F3/2jGuHlSPW7BP2prCkq4JlQME50yUZLUwJ3J8WQ2DXB2ClCGLJoVuSAsz23jWIUw'; + 'KlVMslRF5uUqKpYoMV/ZELT2KhOsnMrW/oFWCHLJWybsvZikGhx1OaHMRghPZXLudnmZqUvDKJN'; b += - 'DJqrJjmcl1hf1fOjOaPZeXynd+YNbIkgoNqvkHgPow75I2MFntGM78IsMes4fXCskQRKyDgEkIN'; + 'wHhptFkXCFVYATK7jhGE6tP0WgFQ84zoIbA9XoiWxleiJbhd4mRcN/psV1hNARmuHMjp45nJPNc'; b += - 'qOYXesTBFLLXLEbDrKLFPAtO2JjXT7Yxh8ptzN2exnx5vMbcgP6ornUPxtWuwpEN+VBSJcvmLyR'; + 'GengrSLjDI6OWcmBszonl2jAuCdnRkcQFsD+wSSCOb2BGmKhkTBh7dWLQye13UqAGtQwe3J8+RJ'; b += - 'mr8MrkqyPDzvSe7+ZUiUlPBPiJRK7CTG/EsTpMSEAgokgW+eAVXKhFSiMFKihKdI8J4wDwBitiJ'; + '+Dp/nxArLodazgspioGEywW4p2VQTvyEVjNIKfpB/3K8yg6dp1xyZmnULB3LuuvMojYBCvDOFKm'; b += - 'gFkUjB+dgegkKuIQgHrhPYr7gRgxpEaMqgGhW7RjDRAE8bFfGVVRlH1FJHii0pErkdz154bDKxB'; + '2QCTVKxPOsGw4HGb3QgG7zQTSOaFCAqnmAhDJ8xTJCvCJuUVP/tiVUb9wThmBR5h62Y/0DH6GWI'; b += - '6YLXI4dJrcI6JOljabNTO9ViY6OyP6VEbNdI8cfwxWZicHe/ZoY7Evs4tccK34I0LlLpKYjQPUu'; + 'Mjw5UFJhw8FD4FkmQ9Hr6jOQclLJcUpIWUsBxajuAIHQt5hF2QMAfsQkAaebK1JwcXZf0ihVCw5'; b += - '/BbLdvHjW6V4y+MXivJGhErTHeMcTUJKAJfr3GSTCUSNNiegDik5y5ymye3IyYkYbChA9N5E8DQ'; + 'kHCIKsnhv5WA4aSVYuh2arD0AAmQPzQ1AyGYPojjgejHsPo9xc0ev/D22p01L6bc7U0mr923Bcc'; b += - 'dcNaktcR4wkUgOAAKqDklyw4BihcBdBkSjAQu4TyqyzC3KFdMYm9jUGHojImn07wGgIuaZJMXxc'; + 'jRas/XmWSKP7/rhxQKDR1es+KwqiZjw0YMBDb5d1hGjtssEue4I9DzDjAfcXLR6spw5OpQfVSkW'; b += - '0+jFEAKT3LIwrCKUnCH9Ur/FHJbZCEPwpFsJsVcKU+ahlSH5WkPjFR7jQnyh16xZDUhyPWRXLBD'; + 'LXoQbPZPpQaee9IgyLCuF9h6Yu4Bu0cEksArUUN8wMglSwE4hXnom6TqaDnYgleHQNWp1gpQHF+'; b += - 'EIxP9bQA57B8QLARiCBk56HyDskaU7PkWobeVksjRI1ENVEY8ggnCRIVQvDCT9IRC0jTwpXBV0I'; + 'KBAyjz4cpAAXxerqcXqCfgRCd1FmCElw5DMZKaYgkS8ftWMNWSFw531/DjK4tAYmvDU6zUAG4W3'; b += - '1qMxRl9NIPq481cNQVgFQRGCcogx0IIVZJoQBANkFTDKgxRe7t0A3IsH29ggh/OWAmeNYjQw7Nn'; + 'CJWJs/fyUlNSMbkCEBfixkGpYgU0xG0i5ey7OII13OkVrjtJrhXu497VL2fce5PFqkFXTWXLpB3'; b += - 'csALqai2GjzNdsGOT/bqY8UjUzS0BEm0RnwKUS6c9USoJVDwB1EUyUZf5f16eLjY/7AOeeMizYh'; + 'qWzVlx5Z9WW0HKlRq77EbDK4qr7s9ig0B0K1kaq9BrUCPdyMISOQF06HoAb39mReEXNhQMmYi3B'; b += - 'yN5fmVGTm9DFIHZle6tDldYTAEHPOWhPQWdo+UDrtoS5APYrfIE1f3OLaOYrM3xWlIIzG9ld4YN'; + 'x2SPFKqiXhDUpaszgjJlTXFeI1Zi/MxbkjIU6YzKL6RTocYICvFzhc8HeJJmWPNyzcH+9J0w9sL'; b += - 'fRGxCPR2VNZSjrBk/OJsIT3wROFIz11MQE83KyLXMq1sYT2BLUVq7K2Z2Jr49i2x6mNJK2FPnNO'; + 'eA16haWbUh7P6HJ97HJ41GLuyWbKDJhjLJZppsLpUMty6dWNAewWucQIuKD6LWCPQjJE9LeYWi6'; b += - 'outx7C5muBFCcXInSL2H4bFVNe8J0IbLmBjskeyG6I7xJiNFCXmTOfaZk7nPHLqMhOSGYxeLcMV'; + 'KWEWSoSBEPxIy9Fn2WBj+PFXLKi0cukqSQGn5p4ka5NS4Gv1qBBCicHwTTWyuUBN22ItbxsgslC'; b += - 'wji5BFwEAIFbNS9FLORHPuAxTjG7LpXIRm8YwxTRrIiTSr0eezmDiROahop8vqt3FBNsp5tRIgo'; + 'poTsLZeHqF32z5UrZoGFhhSwZaoHIx6Cos21CqlZeJ+saQres7V44hxcS7Ai3MrKLnJrnWOkdY6'; b += - 'VAVI3uADZEYZiyGPgFsLdxXud7cIN5TmMIXXAUhQOALkqzixxUf9DWYgrDEjwuruwk+wDcAKo/0'; + 'R1jlGWucYaZ1jpHWOkdY5RtqHj5GsJ6RjJzMsLMuixUuy7mPlwgWEFwl8ZAm+f29l9VX7WlLQoo'; b += - 'xHnuqjq5hKDvc89M5pmcQIHKjYS6YBl6e1QTi6hEsWZGGAfKLJFHEM1mi/orve5Z86rnjl/3MWn'; + 'QPDJhGdks20GRDmWQzTTaXSi49YAIOmIBMiFCyDyVkMsqkxzQgtLdO4a148WQziaC6u5FEjBBZS'; b += - 'lrX45MJ7Eht7Covvr2rIM/8rDbn9zDZkRllTpOjPThGM8+7MkEUnbsaoWHgCUh6KLfMHHdc3Lns'; + 'yK4p7CKRHB9upxE8HbQYhLxgch8EvGFyBwSQa1vJoloITKdRFArnEwienfrQYRzWvGb90DZkAXj'; b += - '6+CVpHsB/9INMBD1wBJWZU8CBVaXBVCQLyU6nyA5QbRP98rKdKKJCgVk82SlkkcTMZD3Q3hDLq2'; + 'l0qEJjUVr1/9mlUGy+U6l4F4C8Bal214K8AGl5H2MPw0jiAAN57kQJjHVkyaiUk6mmTBpOmYpKd'; b += - 'RAVZZShUlKFcdSKlRz4OlFLG3AYAXffa90bKJfOHbEFY5hzUekcEzWvOdP1iwFYeNiZJXslharT'; + 'JMiZNxiRfmhQGdfu6bLzTuudjER+3Ij4uS++0yGIsIkERLCC5rL2HLZMFKLIci2BuOZe5d8yVy9'; b += - 'wKTP8VBapCQRLB7AfKcvgFcEVTiRpKy7DBsuxrFlxOjOx+3yGpA1syvAo4AYHop7CIE0iHtrE7B'; + 'Fv81a5igS4jL7TIgG0yFpXEaPL9DstYqRFNrqKhLgMwNMigXIIFNmsFiHyLdhpBh7z8bvCrZiPF'; b += - 'NHTbQvickVAR2qegQbL3IGir+SPRWw1couAxYmeASyxwCgai8ICDEm73dt0xBUBnxwjiWHfMuDz'; + 'HJJpZDzKoWcUSmkSKWQEyqFHFUp5IhKIQdVCjmgUsg+lUL2qBRS+EgK0TxBCjnA2qR1Ucg+lqRz'; b += - 'BlmuamORaB/vArB2smf6wTS+D8GOR2f6wDQWPOdDG3lTIXDToLdvYK2XSPihexh8HUwzLAwlQlg'; + 'UcgelqR3UUghS/J9NIUcZEV8Hk0hR1gR6dEUcvRPKERDP9Y88ScUoqGfbxb9CYVoZCMUOfMnFKK'; b += - '3WAiL7aIlWrBXYB5ZtV7Mu1khE5KTEsaWQgkDqkesdtkwiurmgISBpx6Wuy7h7gg1hwCFakzAOc'; + 'hFHL+URSioRRCyIKodB6Mr8F31fA9VDjcBgwiwkRwEKWDMHjCdrwUDbIdUlp69lG/SlNLRcIpSV'; b += - 'uXrfrlVDCRItVhIEBRknWLdy/+Ldd99Jutu5VBewaPYlmAfXwihbzZeI5avuO1hZZmtmOpa70lJ'; + 'nUZgpQaSHyg6yjQqn+w5JE/MgZBYWAfJ50OMoLgcgLvIvuUJoA9WhzQYkFUUVYXSoqtbr/A5lAq'; b += - 'sj1XTwyYX+P0C9MsjEMI+Lk6Te8goSMbMLGD4m4PdKI14UXzvQDN4QBNXgNMEYj/mBd0dX2Gp+U'; + 'JgoynDRWdanZqF0sP+pePCn4sFb9qfiwaRydn8qHrypeHBLNtBkQ5lkM002l0r+G+IhQBUP5VTx'; b += - 'zS9n4g5OMiwPms/KXIGHSsl+NscxHAC88yxx6qizL/r1Pyef7nnIt+y0P+fz7GaxIVDUA4EpjWC'; + 'IKniwUcVD76qePBXxYO3Kh5Mf1s8GJ+CeDA+KB6MD4oHY1nxYJRNzplterh4MMreziLeDxcPRtm'; b += - 'rgVeWlMRk4LPHImp2oTUb8ZxWug5MnJYqLmZNozUmQbM0KTk5RJoEyqj9GD4fMhZME1QwLBlJif'; + 'fTX7/PxUPvmUnv5HwntLiwafs5DcS3lNaPEgPigepjHgoV3byGymXcRcPAe6T30hZTBnxEKCKh3'; b += - '6lSI2/QDAFbQ03KEZBDs7LkJKnN1jMqkm46/ukt2VsTbBQxYjk8SSKGNp7+hOlwOD2IR2/kX/8L'; + 'KqeJBU8eCjigdfVTz4q+LBWxUPpv9/iIc/oRBVPPwJhaji4U8o5OifUIiGUsiJP6EQDaWQoj+hE'; b += - '1Rc61efGbMWqd6MgQYYqTmgkbI+jPSiMSEloyK93sBFoUa0prfO9gDQK4NsaAA9iGc5mHCU7Yj4'; + 'A2lkDN/QiFMDp1/FIUwIfT44gGXsJNh5QqR6WpkphqZo0bmq5HFamS5GlmFEbISVw3CgjCxeMAt'; b += - 'DGydzBjZO+QwMa0fnYHKgidckKCoLW4CH0uVxBJy5FE3OPmC6yQW7dPw3B6hFczUFJKWnNnsfkt'; + '8spOI5VkWSyMUEp4vKPuoYTBugLXhGTlrehy8YNNKkhMyk4ui+CIWx9esHjn1G0qNWZwxszOmOS'; b += - 'fBmWmHP+Deqbfjep+bJW3EFPdcJ/ZKtxs5nt9tCduUHL8BCG/2IkY0BcfvFhb5VEqXSzNLuoDHk'; + 'M+TtjQc5YqDOmSgwvkBherpUeLiAI7mQVCrIBxKKKAXyQ5gVrPvhKVdfKalD5uoku9jzpYs8t2U'; b += - 'aYMGJmNhlR/5XM4GnXkScFlLQ2UAZfF8FcsZz8e/hWyXpEMlU1rEuFds0RDiC04bSLeuSgFruoR'; + 'CTDWWSzTTZXCrZCw2qqsJBg8JBg98eEJHhw+RZEVtBc7hChk0JBiGOeiLQH/GL4h2+jAIrhHjnH'; b += - 'Ne2M6K+d8yTUlGAdUdSM7KUkeBIjS8bhjEZkxw7oJ9exY+pxOlasn6hjB3ToWM4ZXq6iJ6sCaKV'; + '8hDBzYMxVzcFAGYT2UQ7hJqyNqx9Ig0zQLL8bj401Hb2ERWibj4E8niD7/nhS0Or6cm4EsNF/AG'; b += - 'KaKO+1TrGa7fo+KCHE42RwP6PtAPjEgPd8WwLweX2Boj8GEyyyBecNzXsLAnYA4RfQYJelDI+oU'; + '90UfWYK6jZkTFW8iZ3D4vIHDtLJ6ql0O0twq4vDBHrQr2UCTDWWSzTTZXCq59LjpcNx0zLIqGzd'; b += - 'tt/zifm5i0JkvQQNTaWBkibcySycSMZZWOUdgBJYtRV8tTPUW8uicpOble8QisSF0AMdH4wJVYt'; + 'BFepCpDAhgnBsEhZEEIZNwjERVrR4mhcBBmoihbvhYJYmUrgVDspIpHA9HIzbRArF4Vb8VuxSOB'; b += - 'iwCBZdPOv6ttuoLmgF6iRjX2H0vb3ODZsx7ZRtpkKe6SmsInhwgpIYAkeuYuKuCw5WLNACL9DBW'; + 'jEIRw/3Iofu5wJt+In00XhVl1ZNi1SQe4JbBqMrjE2rVPZtLYMmzaUYdOeZdn0pXBoC0hokXHp8'; b += - 'FKBVGrCLvqb6AvYPCizTAEZWhmUawNDIsEwDGG4VlmkAbSSxBWN4ufDX1fnrzlNzEg36vGJqmK/'; + '+FowwNTKJM+Ayk6mkJ5dBGkoBAXH8Gii2kJb2eJBzj0dVri4QxahBK3wt0XCC7+LDol+N1w9/WB'; b += - 'x59XRpb4rS+lI98TQsDxXVUKuNchtC/Bh4QU31nJYbDtl1ijm0xmo0Cpd32igw3As/DlIhVC1OA'; + 'iz2LTgGeF6GWKM2dRaf8HuMsUZo5i07xXcBKlOLNolN6T4BspIStjBI2M0rYyChhLaOEVRGUEpZ'; b += - '2JNGN4QLA5DrggtxskyK0TDw29XDBUGi5NMNF21X/QDvG9IlDhKL+6tnwH8iSfA7lF2Wt7jPvwk'; + 'HUEpYHEEpYX4EpYQ5EZQSZkZQSpgeQSlhcsQjKEHzBClhDm2GwUUJM2mK1kUJ02mKzkUJk2nKn1'; b += - '6HuFcjYJt1jBYa7eBYOJ8aT4ADsGOvDiWylQQwsf2AsDWJglb6p+29S8CuK4hgRWwlUBS2rR5sM'; + 'DCfFriTyhhMS3xJ5SwPOKRlMAk9aqIR1ICE9RrH00JTE5vfDQlMDG9+RGUwKT01gg0RELYM2VVU'; b += - 'qIlVJ2i45cbDQBTpeLqqBlZw1Tj8L3h2mezNyl6PMpDqyESVLHhFF0faxrhEPOBbSo9aYhpHJiF'; + 'h2Z+kUzudJQdpOFQmX8/NGP8kA/ar7DjxrY9aPmOzCQaOBPgyAahJKAmsSRK6i+ZczUv41pvxfv'; b += - 'OFAbxQ5zI8i3dEv0IkRzIrzSSpBfysZRRm+ExahuNp0r3SKBgyI1EgyH7XK2P/K6C5IpjaUrSJM'; + 'Dd955QmuT/esorSbuctxmX7ex7tsP4NJe/XYBY9iNsOXfeAKDM9otEoxaBZq4fME8FaBIgIY3J6'; b += - 'a9xQ9/NfQTkRJSrEk48xCjVgMIW42V2Bad4UfSFJqnujAOgHai+Q0yNb9BpuY3yNRcg0xpiEPWm'; + 'ET8PhIGQzHyvOhFqO8nBGo1Vm4h6nQTl4lh6naNnhyUzcPIVdXqXImWVWs7xZVrEzi57s3OIJm4'; b += - 'ITejJt0bKQYhSO495Eww2Gy9or3WV6ZPsOrcJl2V2TmJTYN3fxMkz2MrKJgYqKhc4oZK7pqGBkl'; + 'Zqb0H1St45lg1nVbLBabZ5OYG8ndBaAnmpECB5FJGk5zJ6PJcxodg1wua8IHuiGDXheQuIbfyW3'; b += - 'Cy8czsjnXaPHOtZschxrdG9G1ll+DD4yVKD7mnz4iXho79uMyrNFm6SynW+slDdGx6gzYGKRtBb'; + 'wiF4ZTGasZzGXp4Y1bPZeAoBs6w8FzGkzwWlmMxkYdImtF5LqOHcxlpNYRBVh8M/a1eGEpWbwzN'; b += - 'XBiz6MYl6GyWEegsv+Y/Pslc8Wqw4Qc0QuvJRGTYpxOYsc0idLyhTQBqdjPedlzXizwDbEN03yY'; + 'cE6DVgQ8MNSA9XU9Wmt6OucyOmZb3WCXve2ylx2srUvsXIbIXxP58yE9VRiBn2YqFS1G+ApPmRw'; b += - 'i/M5kyIU4lSFWYmaOTNNjtc4wdYMmlqZ65X+SLlFLf8AfJcdUHfFBnS27dDZ0tdREEYJFomBUJX'; + 'OH1waXacy0HfsVMbkOpUxwqkMEbM616mMiaYTOjWyUxlaGx7KwKHBfAKQQgXh1ADBhHD6mSeYHJ'; b += - '4Mu0DIPr+apdKWQOS0/080PdcLwF9VdyRG7aWc1SRFFUTk5NBieDDAytqAaJ8uWTfBZESGVqZNl'; + '9AVF+JYOSJXwJ6gqGcPF/4OH/++J2cshbs1t0ryVbMUgf4yBNzolOYLekCPwALeNUmNnkUU/LcU'; b += - 'fm54MXDJFoapq0mkrra983n49PTtDsP1im2OqTec9lXGtcXsRmzQn8hAF82GHErUMRYj4Ons3IE'; + 'm7hI7c4V0oxphS7pZzHlPNuKUWYUuRM8UR9zpOgxnYCNHAq9X64osmlOpc0HhpDMLd4K/c4i1Hx'; b += - 'aXtSAgRhCTBgC4Pb4d9hh3lo83HterPRYUDpFKvqRuSvDdoDj9N6tx9qNq64zhkce62rzZ0tt/i'; + 'thBlnpp5wd5di8dE6JPLNy1FliLRVp4JjB54hRChQSQ3bP9bDerGPpAaHhKQRA+6xQ8HBlZzLhE'; b += - 'lUeXdslfecbpW+Mwp8go13FCseUmOv8aYFC7XCmy7yJuCkbM4LS5Six1W6B4rp17BFcHdtQJ5RM'; + 'VJBm29mFTn2dKH5+FZrtx1ZdlB3xEWMWDlT/ZR+NCwZu8SiJTjmsNiw3qERTR4Aka6ss96AGDXf'; b += - 'mOWuBSXemSlJstKydw8BqpVGnY7AVlJQno/jYNHQoqT5FpkRGAFgNsEBgnDaEcq7tlghqA60Y7g'; + '4bb4PuEaXnHvWrNCU9A9afeYuPosHvgAuABkhzifZrpNSj9hbp5PnhbOeKIcGnAhJ/3l4dHQt4f'; b += - 'TAcOEwkKm59B3kQJ/R6THUFfxVej02YjwvFPIhT/egkEcVEPOWZnl+1Au3hrDhvhWN4mE/Z+IxJ'; + 'PLfeBzMrDsPw0SnYv8QinxoKq6GJofTcDoLZ7JwDgvns3AxC5ezcBWEhRFOixWT/ZzWpGDCiLIH'; b += - 'HJZFwql7ZW3JbsXFQlR2oyrZUZWuusnVslf2pyp4yzoRTZyeqswPV2ZbqbF12nX0FG4DMnGK+Dv'; + 'GvwuvTRT+CwnGSq3eYsBTzX/ZBAIa4P+8SCLDoMyopXVTG2ZG9QFB2rFKe4LDoO64BDcFhzYpzr'; b += - 'x92FwXAmQ6zdwVFiO1EwNGWBpWqNi7IclB5QSVyAOZYRjfSdDsanQh5hZd4CQVxWAEcvEpR2aha'; + 'Wp2XoQse6FauGvsVXSrFQc6rFgLLUmYzd7kEai7JUT2WpnspSPZWleipL9VSW6qks1VNZqqeyVK'; b += - 'vhriC4xdepUlRajx6uXYAvwrS1aJUVyEDQI8TG7wewvfIeBnV/QYYCjsTyoMowLlpXgmNoIfrLA'; + '/KUlF1U6gl0hOqNKtG06T3edMFg+A7QoTrD3ke1GCMAN60yAJBmgin+SawvATeWAlITfdwVq10U'; b += - '4SXJsGbnkmJ2MSheUqxIgZCULjTiw7sKxwKwRTi0kAF57ArwIXE4LDQHsTikjIpiImjFRkMKhob'; + 'EM/4AabCtJxEZw8gAXglmphOP1Dlw5Qr6ha6poPlwlkrQS+naleB1qiQETCa9YAUFBAeRSIZHDq'; b += - '7lPh/Gt64HCeUtjGopaq50yC5iCZPtyieDTsYKBwzhU6LWcwisYJFnvrIJlolFQ+EoEGcjEMSJw'; + 'eOVY6nLBKro0vcBlskg9zREejV7rqIK5RwCLm5FCoUAV0K0CVVQ3C1RR3ShQRXWtALYSieIqwD4'; b += - 'OZFnHb/EmNMZO2k127ZPvgKrJO0iD2Gm6OhPhhuFWhvp5NnlXS6jyuMXNl71S9tYn75mdqjBW0e'; + 'TYQEe7g6AxRBCgPDle7llsNYk0GKAApaRggDNByhQVemYskly/TF3FZaFXD+Xykhy/TB3rTPX16'; b += - 'N1T3WGnuqkG+XUoLuiQB3oIlOchVdONQDCEYq9XgFuJM+9FPsd+ClJVZWolpKrL1K0xqZ82eVOf'; + 'UuklxfzN3ozPVxKYsk1wdzNztzJZe2GAAORCB3qzPX26UpklxvzC105nq5tESS64W5e5y5ni4Nk'; b += - 'QcqUqT2QOlumdkCqikhFhnscBBz5A38vXW61pL9TOSYlgiM6JrFiXVNEVoCMQAYjUJBl7nNE3yx'; + 'eR6Yu4+lkuEqdmpHZox64BA3QRaDWjD1wrTqQ+aPEDnnVZkF9S2AX7gD6pSKe6A33mDgAQtpGwW'; b += - '2GID4yuQJD8xr98RALYq2EMRoC5axwQpumJwIYQzAiQBUkSKHaoVX2+q4rMSQYFxpGw15ttEsWr'; + 'aG8e6IIR7iKUySzG54ofyCLcVEvIVgun3U/pzB0MLFuJckl3pPSIKbRWgDs/ZOJi22EG0M0R1nK'; b += - 'mljKKSAfmILKPQ3AkAQHWMrEPGUZh2AY3wfzrG4JFWUh7bqQNs8IOHJHAULBWjErD7ASHZjUY5V'; + 'tIkhreEzM84DjZ9EJ+gLooYKFkQDKKlj0GwewhDDWpN48oF3vvIcA+/OYulZ0L1NUCpqscXmcEA'; b += - 'ffd2Oi/ccB/Y54RE6ayp1hEYk8hPH0bIrzURC8nVngptg5OtCo70YIbAnyoPiQampKFByO9R62I'; + 'FfugWGk1aZeavQaRiXzHUjTmeWR5OpmTWWJrWmhoUsaAEu1WIEzSjVYmIGi3SqM2cdNDgcbTfyy'; b += - 'uC6gwqbqZ6awYT4yEi+h6Hyw7CYzYgAo6Nh6g5ITaIoDJag7yh8J5MxUZJQP7ESNMeWs7Ug2BXE'; + 'tb7hWA1Zp9IwZ0ASk7wawA9ATRzyqrdZFhjpNqcaZRW0FNzgrK7nUBpJzXvNAJuXaDTSxFM44CZ'; b += - 'MOZJNYKr3fbmNw5yEgDgSv0DqHF0KOI0s8ghAlziQl5x2bXu/K782rCaJ6j0ztR3+W2tb8/1p1H'; + 'Ci2a80NjFtJ9dDcGBg/ARAsXJzK3JNQNgoBPGQnnjma+Tg1Wyt3aqq5PNcj4o1OBxSnGtp4CtWA'; b += - 'ZV7NmKt09dbp/xHPVSQhWaHPRSzh2FneJ0uYfK+RBbruKUqzjlqr5yy4yKW6rcUx8dnUZn/Q+nM'; + 'txHHSVjSNo1Nq00y0Sy0q5lJvf+Clgsn9NWQxTNYi7UIsZOlAXrI6roQfbTFSP1g6tPFFsqk1EB'; b += - 'c/SvP7bJO0yyGKbXZw1txOGs2hkBBKNO2HY854uRjVKlrxCdNm52pmrYYVTwwpfDcN9x7GNjxLz'; + '1DxKqHt1kNgAzPkJGNgIxoApHSTjbGzdpw7gD8le9id4deoBZunB51iKoVZxwu6/G1wyxGKorAm'; b += - 'Ih1yT/pbiFehaPS54CvBa295TOyb1BPH5JU8yl3qHsSQaUDIgxwyDWk+pUFtISh3AP9HodXwXcN'; + 'QazgwgY6im+RCUxwAmVbOgYYtHTvtGC4RG4zwV+e5z2nnQUI9gCb60ZAetvFNJat06EVU1NMJCq'; b += - '5ZDBR9/ekePu20+3JgR3buCd8JXpy4NVtSpkj9t6zp13Pbqee3U49c3ZxPRl+tXzMXI799rrv2+'; + 'VT7hWpHfs1wrOxk7DZm6JqkQm+KsRppD+9kJj2a2izSyB9qnhObgpUDSG8JwNHJBbbOK1cSgZ0S'; b += - 'vOt9ftI4KEUpgovoJK3uBKro7tDMMUG6fUCyj53/zBPWtxcKyzAAXAwNORToYugBMsOFa2lgF1f'; + 'ylKOWh0S022WIE02xIjOu6j5Y9x4YLBNz/eomNW+L6JYBHHEMyXJGeTVqLhXNRX9xhLSXUy/cVk'; b += - 'SJYmm9IUScB7lutSXyEQ59z8fo2I0GTbofiNHW14Bdcm3LNY1Nul0yWoc+y2aRPHBR/C0gTEzht'; + '65QxJCfHiOg1LolEV60fSFIAjod0s1f5vHM/u3LpdqoYTFSFnUQ6sMVp7crJ1awCEMJqA1ODAiA'; b += - 'loCrH53LHMtxTVqOn6FR4SAmMaNyhope+fpfVvTGb0sXfZW/6DM0R6Ttl6OjU+xXVIKJCV6q7gZ'; + '9bolRIuRYlWviNEvEzxhgMRY9sQWUiBNR1Y5LKABWXvHuRHU2DRoKFlNMEhKCP5jtTluTJhFlpC'; b += - 'zy9li3r+islnKfTpqClM49rzpXIXlFf0RjAMKtfZJyT8kFXMpmINs1M9Uj8oaqWup3BVqjHwr2X'; + 'wurAhy6Y9ZWSLRwawXrEC2OfxvvQsG4er9yduYuTxlIriqVAkZonldE0OckAJ4wC6dy3wLcyZRV'; b += - 'xKc634wh71ouZG04yxy4uLtctboXoOOX+VDAatFMzZmhS7/JNVw1pMX8Sx6snjdYZcmo7XmY14Y'; + 'gTcuKtovRLC1cPEUvKxo44dQo3uDcgNp4U7zR6LBFwHYiFoqYRRbGMFFpDuyDiOh0glA3NBE2nc'; b += - 'rvOa/pDQh2N4zCg9YyODggcg/CU41hEslEZwUGruFQp/quso4Gzffj1YjDRLdzj+G1J8006wKNn'; + 'EEHt58krVtPTm0FElmLmxgD8uy6lPQ7jAPh7c6qE5EVw4cuMrQQQG4iAXeYMACocPqkaoEZYEZT'; b += - 'DdkDgAqaDRerROyde0goLV+81rUjJxlAMh6w6VyhOecPVfpkwCg4N3ErpP0QNji81MwcEujWg63'; + 'aAKEeUaURJzmXUw2eiwU1tw8AxuYcPOGrwVSBurJXwYF11ap03Lh5SG1opZ6DNPn8KsfRFkLOj9'; b += - 'TxRJGdFtF1dhDkrvHLjwUEaaoBiospkiFBekHxMpQW3FAaPahxCgtoGM51RoOxZ1yDYPJDHuKWw'; + 'ArDUp4IfPtZfMIxa3LcGjxSylrVdi+nQGe2wSjwAA1ZFWkWP1mUSaJA7GFjrtdTJ1/NurU/F1ms'; b += - 'f5iJ0AfZcp+vGwdyNobt5RmnmrZE8PBvOAUUmgrqKdGl66clw1QYvEitkj1/jkOMk08+qxD7IK3'; + 'faL0Wz7/BhBNs4zqYJko6Q+0CNJAri2rrsVo0c52Cea7H3TrC7RnoL4IRD2b5gNOiMSc+1WSBhR'; b += - 'asGCtMFxWgSrwKv2Ai5mKQsKbOJyyKhHMxCc3ZAimuu9ZV9QDmDhQ+MVWbi7krKLJQASPGkxiuY'; + 'BPK2At5lmLVau8tMX4UmbsOYXRhVvJFDQPhnTB3seZmoPlPOqpBKYPsEj0tEYahp6Q4Sn3h8nL0'; b += - '1D8SyJpMRylsESkRWWtpK5HUWBaEJMg3GeSLFx9jRsESJZIYvE/cmWjk2wb9fTAotRh/vsxPSpU'; + 'YsJWiBMRScfpg3gf5FStYtieXeKFYFiRSfF6hAzHcOM2Yx6kGJFYPbuFCvCZWRSncZFsSIU0KkU'; b += - '5CLN5o7V59G8KEXEzJlqbq31z4OpUCruGzwVxIX3qNXBoNwhCxw4gReJQk6p9fVZlTVPxjD1RTH'; + 'q3GNmQYNduKrtLB3xCiWLEX/CsWKf4ViDZRiRaRY0iHU/9Rf7Pj3ebBNxYMVVJLHuo1/oNs0rNt'; b += - 'MQNtqEuwADjskAzTIvwJKLEjygjM92Jr4ZSrBZzCP9VzUaReCGpLDa0rjDvnIskGXoXV1TJiXSm'; + '4tAKlVSu0gjNiOm1g8MEV1DAsjweMz6Erb5ByI0eNMaQhQsxApIZezuDpwzCzwBK2QB3UpFCTz6'; b += - '80BwrJACDcEahMoyXEd68wSUpdaaujtBWJwyD5B1II66isd8x8OYkvBUHlta9KTROyrXxoRVwV1'; + 'VeI6gIo3ZUdIxoR75OZWnKFAIaneCYC0Rd8nGCdyeT3AAXeJ7kGgC0U89HYHGUWoYOgs0pdE4BF'; b += - 'Is1ShmvwQ0cMBI1CZgJwnNilpiYfHYqWIgkHACtbMWcHbQ4igwhuD6lOTJliGcaSLHxWlorpONW'; + '2Sk30VmihftxIOTVmYrmnmI3ThfddKK31JADvoEoR5i/VPoBwsCNReN5ibVV7qMUeMrxztfeeNx'; b += - 'AwBpayne79qxY/OPuLwMEgTxtx/5nF9y2d24FgkB+cvPdj+/d+fPOXgiBnPLhb198//Ats59bNQ'; + 'XjkM33Or9CuHuF5JLVT/wDM/qe6WvlXXue6WKdHbSKqXnhdEjVanp9Yp0dEt2Bmb81khtQdJFg6'; b += - 'W+qpby7Yxfv970xJZFkLZE+oF7l+5Z+NyHaxMwIl5KSdGWZz+/9albzkVJTMqn3+385KFlc+f2A'; + 'LSVz6jAcXMmoRsMm2dl8hiitYUUxgRXSgGd/bx5RZ8GXGK1cA9AIQvcCfAdAEIFqP/d4Joj3H3Q'; b += - 'VZEkVDuhYaDY3QFj3AHitKssfmZoNioWVDt4Dg0tD6m9yK/dHB2bIBzof2YDRhNFI1lwnbR1m1k'; + 'CWAxDNNa4HEMeWmSU3eUDL4Qa46UMPIXK4OIIa3qzKLLwGEZJWgmTcMwtCQacEKTNPF1J3LHJVz'; b += - 'cC2LTC6ryGRPkdrxiwyWLtIqq0jLU6R6/CINt8hBrjUsEVrECTM36wg6f0SlTZVkc7Q7KyCxUzl'; + 'IMNharoXVk5WlRInfpVpZtgVUGlEanptCixkLeUg3AmekiPEjMJUyZBG0sg+ra1SBBs5sE6ZJQ4'; b += - 'KMojw+AZiiZnXEfa4GNKeyE/YfWGpgMlBxT4GpJdPycJkAJtor6Ukqoa6Z9lgRrGVcwS71xIUOw'; + 'mbcEQTgQfKxFic0sqCUEWcpDsJa3mCEs4C3BEMLXUyRoYAmFQLJUgGA5b6kIYR5v8YSwlyUMgmg'; b += - 'LXyFmV75UkvmMP2LDQJ8kyYP6dwNkItRRrZGogNRXZClFxcra9b902APA34/gwRVclzhXpj4Ojx'; + 'Q1FGiwSJDMJ+3+EA4xGKBoJPFCkGkpRLVSfTUcBu6oAM4iugo1UhaNSUSdOmqQHjVmNfSarCIqc'; b += - 'UU2IBysF9nNQaQIEw9mP4TpSD9pFlTWBzPcD9a+lzQGcj+Z53up7vfq7SiZzTOhXD45ygJuqE8E'; + 'aWLT5yVfKOfNmSL1vz5Ur5sj7fGk7WuyQ1KF8OzpdD8uXQfLlCvjUijh+fb/WVdflx1cdbK8vlo'; b += - 'ToGyDKI1bzqm3mjK21iJwzB8ZjF5EkOaQhOUzaU6/nFPulxqG6dktiXYwMYquDUKKo/Af35zAJL'; + 'Exkvizmy8Z8OTBflvKtXnJFSJXyZc98OSyflJXlfKs3PqmDqqvEjcgfDR+qkH7Ml8kbNPmyKV8u'; b += - 'C++QQ8T6rE9NndBIu0+aEQMVeDcvzSz9Rql2bMBVVbDBaBqFvblj8cYK0O1auHlwO3HdwcxM8cm'; + 'n084XTgW08vl8uO8xlsjCR7Ug7CvXDE/Thhv9ZO9SAk5It/qT56Jix1PXldB1kKad741ID+uyXj'; b += - '1GY/RsHqUnTdg/aU44Y/ATx7hlU3gaVnMIkkVtpyh4OmEc8c67goVbCrcR9PmylYoToZtUxY6Fr'; + 'yKlJ/vrVcLBlEWJSRdsVFjSeVe8t+NCsCz0VArTfmx1UZT9byfqQOzPKLJQMG/jNkA6LplW+tGE'; b += - 'up0zGANF5vCqWQ+ZSAoWIwOtBrye2LuvBRAb0tbQ6MG8y7djTTOnyM24AtZvnVgMHD400GM5A9w'; + 'uGB3xckHdDEnmRVywZDDTw758f12A8GOUl/RYXDlXpSSfEhYy3etAKJTz94OQA0pFx3oCGB1lGY'; b += - '2rjALtnLp41Tbase21bd19YrSDqzUJc0g0KvKa5VCSVRCgO/lCTSUCyTJZgswaQssshbZFFskUW'; + 'ZZ3LKEcbFxYfpxxvNUI57U0KziW0AuiYcR3GkjnxBLqIElGhplHvtUSKw7BFvrkx/kCFgFknOJ0'; b += - 'xRRbFFlkUW2SRfsqdNmI7bfg63dehFDqxLMiKUmxAZaSF0OQ6ro3HENASHZjRfF6hgxoyBWjLB3'; + '5N2kTjmf9IrVROszxoqZ6Ntenx9nGA9H5SoSPrHiQFAGoSXlx1uRvdMcQ6zYF5/RqO8LixV7YVl'; b += - 'psJdK9FI/kMF1o2ctcplYGlymZLpVM+PpKS7YyzIjZiFgq7wx3GRocw8mrtmN9XX883omsO8gHR'; + 'sGxkAq0es2EmG72RI1zeGevWECuL8ARd/MqJxoaRGWltgrNiGlPSUffPjaoy3mkFA0BxTLCrSOk'; b += - 'SUFP4Q+xCVHHCJyMRgYKxEOV+ajQVqpeHzvZKmxqcjVCls0ciRUgrVRHVgb1YG1UR1YG9WBtVEd'; + 'J8ceJ4K9ghM9Oc0FixAdbuSUmGEFCsGI21IPaEcqyVwO0uR94WlB8XABhUkSPp0+XBrTh0fEh+X'; b += - 'WBvVgbVRCdYm4itakeYBSQqjLoirMNOeJCWOloq4MmlyiKtq0phRcUwcldotNVH0tTwUZMxEuL4'; + 'DXAKFJ9YwUwLA0to7VUzrfK1IdcFHwxhWXkKoQM6WEALvclwgbCyayPIDPem8x2HzLV/cjENpDZ'; b += - 'kplB5EMAGyOjgOLtIuEDJ81JjKin2V89uA/5xx7PbpOwgcrmPmBN42qcax8VieCv26UcfIB1NbM'; + 'rCVz1otMTQ+LFT02KCtOEd5FhM++ImYBkUw+sI5qSiAyWFR9jlEn1mi/l4ZmFhpYqKEheo2gO3U'; b += - 'nPSWfLGzyfll3Uu3+uKJZ04Un4Pc3xKO3CHqVOUZqnKO3ERX105oparf+porxj9dGZG/b3TqeoL'; + 'WAX0QW2H/hV1U5FPJz4jsLCUsFxy+e1CXBONFUwkP/HKOwNzZz1Qj09XIZDUyQY0UqJExaiRPjd'; b += - 'ix/ijWhppgHuNObb7n20zLygSQsaLkIwQ/KaRGO06m2qFvpITcPnM63K6ugD06nIMthYYhZp/Wd'; + 'zlWeSWGrmuRorVyCU1cl6NnFEjRWrkhBo5qkaOqJGDauSAGtmnRvbwqgfSQv4RvnetINNI0Qe64'; b += - 'BN73xI10JGgSOFrq5NAGCn/4E0DSBdJ8RQr1WSJFCDFg0wQjq5fZ2qf1M9TtZ0+noC4K98miLQm'; + 'nVnbLRgWshjLX3gpxf8dIOfTvDTHn7awE8L+EHLm43gpwH81IWfaPipDj+RaB0ZTSPDTyj8BFEX'; b += - 'M6Sdy87mnZJ7juc+CNoUCUoLgULSHoEXFaZsGwygfj0XiDMXgsSgUNDrSA00IAX9m6g4FwM5VUs'; + '1uCoHCU79STldMX0l/EeiwM3QW17gRoZo0by1MhdTh0UNXJdjRSrkUtq5LwaOcOpndn3r/TfBGf'; b += - 'SqUjMLmCQaoYyK8bUJ/AxVteg44jXL7hb7SZkJJhZRIw6YsEhi/Bs37XEiG+1h/0eQ6AG6v7k5S'; + 'sDWdsjGCaKlITs8VOrxTNUtXvBgWlgfNLQHCyoJ5I4yeAkdQpAQ/n0QIerhjUkuBX10MFDoIZTL'; b += - 'BJZDJmNAMhWKyD0xJECn0jYGZMdrjQe/lyq1Il09oeJsw+8CYYe9opF28AyrYZEhBTXw0lg+xY2'; + 'fn2uB+JPVWAO40wJ8xOAo+IYBGE07NsMvU4UMkMDVYlJJG4/eE8y/SY2V0hsxTz8auh0MtqjNkd'; b += - 'BG6kyrhuVyhyi9OUGPQf3OI0Z4vTnC1Oc7Y4rZrf1B73oY4KSkt1V24VJuP8GLlVvE9uZXo5+Eg'; + 'pQ9UEYLy0qh8zE0To4ujl2P+cMqAr0isw8GB4IHdjj+dj5GzZODu2PXY2YLz+zhss8UB+JeDHzQ'; b += - 'nbK8GJ+XTFn55PhdJ4yQQns4GcSZBLxqkf6xN+keyGYgn1FDWhXf3nUaqsWDTiaGx7EsZBeMHGQ'; + 'RR9DL8N49M0x58IeToBUaFQBaGmbWDyGRWfApm91gnYEP1wp3kQ9nIpOp0HUrRB60oyCVQqpSaS'; b += - 'UjNgQGYB1ASS3lIZPkzsQ4iYHbGGcXVbIPiUGuJeHCaf2TVKm81w7E2ztr2EU1ynmtNwkMGGHZb'; + 'fhAaB0s3chlDruDrgjrplikjdIhtcviFEcFcswTaSQHfMpDtoyr9ZClVyhRFOG+tkfA4U7gQsfD'; b += - '1oP9l8eI/sIswpoKy8dS8wPEAyVDPUv858UzZ8CBCiBRIFmD51zkVLUxAOmPA32UEoZk3lC2YGM'; + 'ScFfR9UDulmsy0OliJPrOTsMi9zGD5ql0EmLB7Jyfd5jmTlWcunCQTnDqHAu5KaIo0VUO3uHjJD'; b += - '5y4ZaA5gRP+jV3Gf7PMmNqiRtlL/IbjMDqI55ksg2Lo9eFLn6D5lNEQRLXHrftdb3TSRsOfsRGX'; + 'OmNXP54lUaYS13nSZ5W9G8JBrHVZ6izAtXfrBcUiCYRb+qgbr+olqBV7RcVwmB5SYLNMWjoDFF1'; b += - 'Kphe9yhR4emcgYmNjRP2PBWQ8OUrA6otDsYO9czPIKFQUO0yFvRCvDtBVpO2fEPFGLvJyfeTA63'; + 'UA/z2yqEgEtg6ggZNs3CqUMZma6ncKf2gsA0fCvNZ66B0O+mJ9trI7xEWfURWACXCNTIZaGeU6q'; b += - '4CV1bJ6qIIzpIURmmMw8WdxQcynBDiJ4tPIEnEGxqMj6Yx7VVgbUTa+TYM1V5TLOhORfPOoIOaQ'; + 'z2co8pxKkoP8qoZlg6qIA3UtoqJ18g1XLnIMBMYa4bNjT92oAh7oyc+UKTWcm1qlZXw29JUp3B+'; b += - 'YCUm8R98yWtpmjFYodt78InXdfY0j3cCiItT64yYrkqo9BteW6b55QbaQuYIpMozCIFr7hQZxse'; + 'NGgc1fcOY0gq5IopmTCJPaNYgddKaoFi9yKy67OcpgD+B+reRD+xz7eyp4caHPFue5v4q9JzTFW'; b += - 'ji+sUmhWErmY/0KPDFjXt6uRS+DDqQ5EnFSnhdmIVSElu/dMLWXGMP/sjZ8+j/WCuX1ojNHBPBq'; + 'UMoTROJLJKqwhJFpD4ORYU6PIEuokiBa28TEj/SOMaAYsHzClK6cotODPCgcgszH6B7RtXqFijW'; b += - '01Xyv6gXVhuTbJPZ1sSd0hZepWtsc14GUgnTGASN3sUdNGgN7YpdEtRZLHmDACixIKpFkReKgIZ'; + 'YZqrEXQwr/LohqZmhDKGxLR0uDSuqYVLL9WVAHXBY8VTSw11xC148ng1VvpSZNOGjLVU3kL9m5A'; b += - 'wWxMcNjhRHv5C4DIkTYg/xGhIAcUetZbY41RcuiSST8aA4w2JEdTUGqxw9EFyscsQoHxljQqugn'; + 'xdVulkUGVqTtXEguvLzSQgi3U2w8b+1AL2t8nqxrCbUkHMN+vUDLEwrwl0JL+tKSklkR7+OAvsT'; b += - 'QN8QD5BzHlum7tgCBxPPlrmPMJvHCbRk/OpnZ2eRFprDJjpMfSHDC0c/bXKFlmwEmcEHRmUctqw'; + 'r1tRGpegKxiMw8PlQSauHcSc1gYQ5NRLUa9GhJJlMI9TEilKoI2sre0kDhLeAauQJOKfVpWOMdJ'; b += - '/h0cqq+wHZeUA83ZTfbUCtlTi0W/ext/RYg/uJudK9v7MWXbKPHkX1eNlghYK8/BrSPOsdJmlPW'; + 'ByCrAD9CVkQoYbvy0NC5fGaB/mpm8IcqQDPYj5NYOLDdiKpmfkzgyop0dFHmFMSNt/LJMmCBRxw'; b += - 'jYmDKb4A06HYacPB7TwNeWc/4wK1glCpmi49mH9KyLZAN2yuWaBS+RFzYm2ZJABJR5rwdYFYgpm'; + 'wqYLQ4PSDQwu0I0eB5e6k8xDd5J0NPWgIrLRw8vMhMlBSRMKRZic1U3PO10sM78jpMMAPwu9dU3'; b += - 'ukRSlCv5YoAYdIc9LeYKWlX1rne2ld6ZcuhoVkeha+6S58hYVGMR8a0pFGvJcpnd3YBUjpVGb7q'; + 'FgZPkBOYnnvKs+wJ0ALiCZkbLwQ+zMmYLklxL9D0h8yksTMWQVMXCVNMyLa8la30w+u6UyOjIVI'; b += - 'pB61tyvR2S7QH0dEg0L2RquBF4V5m8wq0PidnKWeYEVYrX0xW68CXrJKPslEPakiL/kVdSSWag4'; + 'jjqdBtgO6wYICO7ieC5prg5Nxwn1pAE9z+Vo0y+S3SaDNOGNxzpbb+PdX24A4mB75gwJfFDJ761'; b += - 'O268wzGFMcGMlIEJ5q8UTHhfC3lfC3lfC3lfC/leC3tfC3tfC3tfC/teM72vmd7XTO9r5nhJ780'; + 'uPQ7SxRfGAfoy7dxwDuNv+tXUhhVJABPrCBxREspMyW1D8x29aEsaUqsI8nF7fz99vnD0xb/7XS'; b += - '7QuBLhMCvKOs7EM9ntnuBVd6kZUlhJEDOatI5U1+j0etL+PWP4+j1jXH8+kp4faXqfX2F6rxepE'; + 'BXkle9tb/8bbmP8I9DamhDOHu8BeWAwVcLrBwqP9eth8mc5eyNO3ifRtIn3brRmPfhu4JaYcSda'; b += - 'YuPtFM3uGfyeLoQOSPoClsuWsIImwHC6iahgQeAuZmXWoBC3SRK2JnwRFHBWTBPYctZOdxkmg1c'; + 'x4wu8ikZo0Dn6VFEJQqWEqF/TD5BVwzzyI42mGodksPKSB7XYDnwdVA7wIdGMun5pRD1eNaB0RX'; b += - 'XgRFah8HNgqC2LaRomjgJIKnh/C4Dz7qji8NVccHaP5fgh9RM0PQuxXYxaGSRJlzjb4YpYRaR67'; + 'Uu6RORFjTDSVc0LVGdJhmsIsUWrl1owAuqTN+nzHe+tFkqbmM68QuCFRiRKFgvLkTA0akRyUjaB'; b += - '1ZJWeVpIwitrimuIIrfX49eyM1hGLY1jXOJOxETVJzUMC90cxCwx0iAIFlkIKyvS1NED0zpSy1h'; + 'nNqDI/++SRcjBQxVytKMaEwJZaeKi//nMTHwCtAtJsOCLyGEqpcxmuKspXyVwWuw+mzNM2kY+CD'; b += - 'HtoIrD9X9zU5mtYoXUpyl2oTf8BolKdI4igdrNbAiB3CNtip/ZJopZNT+KIvxzWlyeG40IvUVdr'; + 'yaSsYukQKiMIcp6aMmU9eWUzTbDQmFI8D/26KRtZsoAxRfUYD3to6JKLCm4grsno6hWcKc68uhN'; b += - 'aZqbEyx3wjbB4LkVrH4kgwaqSF9D/GFse49bZRwo5E19I7t1EqSElcEzfMgMcYiZ1G2AwLHUZKv'; + 'vmeAe2EaSjI56CTaP8RJEvDSShEOTOjw5Za3TSy1tEnpGaab6TYT54KN1LgCRr1OmEUzYRA8Tyl'; b += - 'F3eHWuHtVP1ZkePj93Y5calNTy426IVMCOGznd2zAsVyquQYaNd+LRgfSPmO0E6x4m8u3VkSlnD'; + 'jsZtKbZrepYiLz5uDZDffyRt2etQ8OhOJ2TzwzZ+vOL67kjTCJHG8yfbQAPeTlFXKmT7SJCZkJi'; b += - '40b3AO/oSoqPLxJDJRgjHCWx/2EoYlhLpao5LFhru0LZ1TT3ykyB7VWYYQ63oiEFg3wSvQIKqhI'; + 'cmOoXJGrs3ePy1jMAf/JM6H/Nay52Q7EmvF9I9JrFunQVKiLbZeUoPExHp1YhLr9EtIaFD3GZst'; b += - 'f8b2iSEfgBkqY1coNFBP0zXgV30qPj5zUqL7ujqq/AweArSlnnBrKtWSDX2aereUxNcqyyZkC+V'; + 'KSkx+pno2g2iYxJrpSX3syfYh9ZKSEvLSKyVbU+slWsjYaYtMb6/PWNQfLLDZo9Pt2U7bEk17dk'; b += - 'dEImqKQWMMpnElDYjElTSw93oo3Jq1z6vEWkaakA0JZS9milis2Yc92Yv2xGZP5tIP6JT9gG4vm'; + 'cF0re8zJ5z7Pkz/eJvW9QBtQ+gdTdntRZ1cQRrkXq7p5ts2fXGpgxOMGe5EgYVKtmYoJ9QEYtu2'; b += - 'u1m3/emk70p2fNw/uIQFx+yN3nyP/7OCYs/7Mm+4iMnezLTHAh8BTGsCWoKbGcfoaQ0j70TzWM1'; + '1AcraDVAKPJ6cn2YbUTLQnOGzZNZMzatTvXzs2KSamX7+E2vWio2v3r5WbnZ1dw55do07NmJrR+'; b += - 'FKppHdxwVDIEoQbHHKBL5WVIyj5BhoAsIaGcDOIowDnaSThRlE85iKKqvWcteyuhBOg5SFWWqcc'; + 'Ei2zYFtOc/a8jz5g75T4c7krwL5i2vfNb5r29bxJKwdU6dB7da143t1aNGwaxulRky9+vFdu/bs'; b += - 'hVQk8mRqXzcY6SL4uG7s9SENkxxGHhJx1nOSQZHQCad5JEgh6oRq9AAwSXjPYmFh5JhsMEukR9B'; + 'Ht+lY3ynjp3i/2JRpXvrv1r0+e7tHywa89cRiPnrCMQ8EoG/O7qJGXYb7eq05ERbLSAi0uMpgoR'; b += - 'pfIJ4/ET2exA6ZyPYDGnv8qGTXh1u1CpNCiqJATnUipVW5Qx6XfYIhX6HJHEC1bR3wKUhKNtVwc'; + '9PUnHcQGccjCfUPOCjgkOh21QpkN2ZMhJybnJSTa531D5FZs9g5TcTtjTNPI3kPw1JU/7k78LJP'; b += - 'NjiHdWZPEkJPrkILc0E6StvNR30rybgFxqVs5YKZ/vWkpO5jKm+0r+SIHPj8tbRDv86Ol7RhTf5'; + '5kKCMpeQAh7BrRNWtH14zFRwDv+ITM5FqJjvjcBHtyQr80G0H8ybyO1JFki++XYLeRV9ZjtEh6j'; b += - 'VhFkrh9jaio+VyvcqpFh8Z6Emvh3Abb2RcnknEfBUggPabaKaPPIY3u3SMYtcHiHWYbDREQuLHO'; + 'LzANoRMODLF5P45dsdAm510AalFTk6XVSxqpNnSBzgGkiSHbYDNnpiR7khOz0lwJGeky/2SHSQ9'; b += - 'HsUPENRx9hD1FzU1iQjdkcQlGlhT8IHu/rVRddSri8oiJ1uBk4ziI3RnnIotPUhzBiauPxKuIY7'; + 'KTkxAapISCdAbkJactKjHuY4jShx0L/DyF/4E5tp/ciUTq3RL6d/f5ud9mpdtzZ200hcEnnXXI7'; b += - 'mwAQEf16eok+Di8kSlFvblUY0qPdCGB72NvaPQHXQJrkjCB6gUTGUgY0V77+yYfEcOPC/zXeD22'; + 'Obnc4wg1eXCYfYNkNXkP+PMrAwW5wDZ7jAt3gegQOcoMbELgiCVmfqDz0yXSBLS0tOdORnFgjMc'; b += - 'HH18/QVfsStSFKpbMvV0vmWq5HzFDccgVwtJIArh8IRdZEmvtger9oFMX90i32E0APoc9GPf8R0'; + 'eeC+Ncu07NevjowITsgTGYSqP9k21pSbXIwCekJ8UPyh6AHKmnVuJGE9xeIX9t4C+meY2OPVp26'; b += - '72AZ3YMYB/VjkUJIFISyw0TF/MUg6iGmX11HFFF27xPc5+V0m2taoXlrkgEM/6OS7K3eCVr0iOZ'; + 'dr2hZY1WnTtVoOkieTPTP407E9L/siE4hLkFsnZmWkJQ+XkQZlptkG2dAclD7vNkWNPp5Rhs9sz'; b += - 'tkWqRdgHls2SJRBqLmwIKt8jWy9+rz2dfZMOePEYeL1QnO3988cYGpFkmxVGMx17GKBZqFUbwgG'; + '7HJOukpwaUM5PUf/kW7hDE+Eo5PuSk7HBvXVSVw7UucJMmBe/0bdTn6SODDBXmuQzTEwIymbvGA'; b += - '/RYFv2Xs+cK7p5O2jlYbukwHCUKdk+7Mn0uJvpApy/Cs9fxV40w812yM3WECXs4qNyMNPZADPvy'; + 'rqb8Tqfdr0gFGErq3BWgkm9B5AgnHMppS4ddZfk56anrGYDbL0h1y377VZZh/NpnMUjk9Q80gQ8'; b += - 'brzltisRTfJrHBl7/VmXThN9VZ+iCnnIcGFeCuftUP1dsTp7aKZbqbdN8dmcnq7yZOpxM2EFRYZ'; + 'O111MJ+xIJgZ5IUee0VfMKSGh+YvMpe2BCDJ1H9UtxJyQVbrGetiWO/PmRvwHnPFLy1wz42H4tv'; b += - '3DLD3uvJtuKWcio87Mn0+G3lVLjIs0PsczPVEbMrxqTWa2EKzVEJSt4GylW42imDztLkDBE5n5e'; + 'VHDGx2XjOji1XnCQO07730/Oqz8F0UvxiVkJyd2sGVnJwywKTkDnPTRyZ6R0b9j/04Z2dkkkyTA'; b += - '6tKGPM/vHTHmRjvxD5tHlXlzoWRc2yDALVSeXSzQK/YS0EJhuCIYBkEFivqa0n5WoT7L0GeJyyg'; + 'HDFISFeNSQh1dzLQ9hEKSrDbCYll9JfZ/KkTkyBn27JybOmJNhwDtf9NjE5VGPo/yUb6JZnwpld'; b += - 'AieueJrotGI4Y+KWhRYAhi1KpViWy6w3fQPzthG0qMGbzCGb652ViOr2dmrvTPTMiUVMa83OGfl'; + 'Ip1Eel5SRXsUhk6czCOdPkAfYM3IyZRul31LPe5WpzxvG02HPSXTI3ZIH2Zrbh2Y6midnktFz2I'; b += - '05G36w86J+VTrWeOVk40zcnneY7PVzpn5Gle7jDPx+dqjyz8aB/NpauqnCWby6WrmqlfyZCFitW'; + 'Y45MHJBLm6ak2kw8weEleV1WFgc0eCup7QYOX0cxBOG1OGsxNtgrz3JfKeHQKluX9YdnGFHv88r'; b += - 'Ba+NtNTuDinbG4gcP8MekaE2U9wyZ995TPyscqYdNHD33bz/IhaePfUejyRVsB9DxGqwp35Bh0G'; + '29mLM3r3eEIN3hxmXyV16uwyuvd4WA3WOX1KqzyehVWef3/NXOvNWQQqs91TRI3juDzKvmLIX8q'; b += - 'QxduFlOhcJYL3UUloq9iQUpMPp14d5TgPax/vYdzxHgou5Bwm5Bppl+MgCogYEtYIsF0iSlccF4'; + 'PJ1p00+bGH8wlaZF+HefLHFgPgltRO6PD8f0utFx66UrHSfMytB+sqr3uvCgf4KXZZpL8zLuL/C'; b += - 'q6CkUjYMG+6gSvYF1ENT7i6QUs9YG9lgbZLt4Hqtda4OwESlitluCyLsUdxk4Wn+MdlRS0HxcrT'; + 'zhDSCV44tJy0t3TbYMTTTpjJr6EtPCfmDT5m57uPGP3zLwCb2blW2+nOgpf57srXcU5StWz1Ly9'; b += - 'mgtVIOfI3d3iRsnMhfg9GAUJnFALRHDHjDHE14CJAxzfKRm6c5j11UlchaVyVp16rcSA6QWY74X'; + 'ZEUogg0reLLTsnzdGwYU76YHtCZmRUX5ngSdDr29Ju70v6KC3HhnNG1R9gvrhIpFVCMtRClPHMB'; b += - 'qUO0S5RG8zjGzhArQgkIGDICD8mqBrNxzCNHAxGyws4j+ib4VtmP5G2rglXRV2BMXXXKr6tO+XX'; + 'KKXypk5/YgKL6fahsoJ2YQ/p2ST2gbahsgUke7pwGagOOHgwIHlpARHAtfNS0JZUI3Dq02cq1Z4'; b += - 'VKb+uOpGq9DVLfUr/IFE6Eu8fb5XsCpAbAd1u2DmPobUdDr9YB/gETmeY71BcefnwiZNvZ43y8u'; + 'NMmGzN5VtSubKGPJ/YfK2ckD0hNIz9oe+mCik8u7skkWvL4s+g8rSnMIQbpXn5gxqF9yus31Zlq'; b += - 'ETJ19RufmKZL4aTCbMREAUVAPSOjmCXZIeXSg2hZkJbPk5CktNFQKHV+yGXWpFzlVc4RZB0IHQU'; + 'AEKf7GJZn/CeE/LVlSrZbD1GRWFPuQEZZ7meTn6kvE4qo/UwMYJ/syK6pOEiZBJLpGJzBXoCahp'; b += - 'Mw2MeY1ELRhpPit6+QsxSnVJrmZvfsLMYcr+xDxapTHOzmvfTZtu1gHvteqK37EWqqrOq9l/31u'; + '0I0GS7LUmtk2Y9FOVstW9TGc2qcAGDE2RHDqFRENFUxAJPlSTMq0ZCoGd1gUARdlNkqhNUEm3Ju'; b += - 'GlhKoDkFGUvgUMDtUuuzhnd9kswYahYlmQrxjFMgDrw6ckykksvgzlC5IofAsAVG5GzOlOVpE93'; + 'STagpSF9r7Enn1M2f20xSq3XCrNyxKI/mLHSdkf+62hPIi0sFFjop2k9a9JWhoZ9V+5bLSDDCF6'; b += - 'jGHUqnWOqIbko5t/utUA6gQvbO5vNlnjLnmrhj8glDtSlc7XhxjTQwmx0wnOaK+4wstQAoRdT2F'; + 'L/mfvLNOzdr42IAcRzbth5U+EpfIZGcVN3gJ+Yt0g5eWgZcx+Fkfl35Qrwz8T+kLmb5UXvdi8lq'; b += - 'VaY9YkzTlqIJWqgmNckIgHy5F5+GqKQhgsm1ZxFCQ5ULw8YbArO2dlRPGoTDBuMmlKwyINjchTY'; + 'FVf3BHY5wgxeyNqvw4jLlVX1ChVV9wh0OdoO3lslX9QsVVvULFW5QBl8tXxofgMu5wR4EruwGmw'; b += - '9+Pc2+o0oneGVTvF+V7qvfeOYqHk4ohwU4AK+euU6ZnXVSTggv/PKCbGlq8RyooLEaWV8uC1GTv'; + 'hcqQzs6wYHlKkvgNWn8vqOmUDwZXm93Pf5jHQb4/WPIxZw10uVlxXZLpjK+8Ke5LqmDqWBBkymk'; b += - 'PKzsFTtlRbxiqix8SB3MMt8MyCSNx3BvMi42GTZrxD6t4XbDCehYGSif6gCVGiCxkn1AbgI+bVX'; + 'aJIzMP86Q6clfzV4VxwNTaO7jDIdzfem5wNKzc5OYnwHtgbzcxITnd0a9uhZfuOzds597rie3Vs'; b += - 'i5DwNNpFYeG64TdYLvB0wRApfL/a/bmk8p+SE8iv7nUEx1wDKOAWSNmxtjKAtUIK31eP5sTjmjr'; + '1bBNuxatanRto8TgfteTou/s/jlphE/VYXzKYU8gHL+WgyxN4lE0QQM7BUjIt7uD7gfrKgb3YPq'; b += - 'GNcU7KGmMHxjlrkb5InPMtzXbexHk0hWnvxg27Cq0I2MMx7VnTv6ve1B+qW1BYsFNxHl6L80lWy'; + 'ICvdmMkaFQaep/bAdyX97lw/2Dl0y76Gd+Dj7hU+Q42XgPll9xieQfyCNzCkncf2A7zP97J/QT6'; b += - 'vTOTnO9/8ZBVdaKMxUKi82w2f/G5/IGz21zlixC5sj1pSe5aZzLE9wSMb3caQNOkzinDXw2iemG'; + 'XAv6GfPiCPEAm5ERVIdpyP2TUTsuPttv6RUVRCca72vc/9vy3XRgWVlmsqrMo1FV5aBlblml9Qa'; b += - 'vFHV8wZGCo1URBe6Ajuch0PgatrjXDlPTTk6pPzggROPHgx3lgkLE1zEVA3fqkhUxlLGRCI8L/Q'; + 'bnmDv9Tcq1N+dJyTYVVueYOR7jBqlxT4cVlyqtyTYVVueYOB7vBW8vkq3JNhVW5psINyuCryjV3'; b += - 'xzht4hncmIUyQLM9suh9mEydr6h0E60jJizWpD3K+n7kr6JmHIj1fxWQD3claUWYdGAmBREbwV3'; + 'uJwbrMo1FVblmjvs6wYHlKnvacs1uYxck/9hudYtpLRcU2FVrrnD/41yLTK0tFxTYVWuqbAq11T'; b += - 'FOVe9rRM823SNGpRqsLffZWt2TeC0sEva7N22HYRHsfkUWzk3J4go2mLt0Kmv2/aKsUGxZs0NuO'; + '4kXLt3z4++ztyrfb/qVxzVPjn5dr5Cv+cXFPbp8q1Sm5zMLwMHPEE+XMZ+nUSBfTA+YpUZjjYvH'; b += - '/7pXnZzLy/EdhM7qpofqThsZFysurkucC+T3cvW7mV9KobWiDnXU8xcTzEp7u1Fntuj8bZtIQdM'; + 'tgL5xg3idMQhpOJyHg9pAt9Mg8kufvVgb32okQWhxG19tq+lM70YadATgPIe/pC/KGY2dgD26M5'; b += - 'nVn48jZQA8V05i2Vu2/YE8Y4l6q8jIu5HCdZwRWkhhLbz1viRq2qiqJ4yvxY9SQe1zyJLZrb2Od'; + '+QOzk4cSJboTWWKUzMWKiyMkynOT6z/Hfbs+My0nGxChg0Y1ffPpPQ3UKb0d5Ss4Tu5wccJ3MEN'; b += - '19/oBz/3Fnn7uD0hCPl2NhOmqprw11bk1CmaDat4XoL8rnbdedK72OJmHyou+8tlKZ7soUuXVAi'; + 'PsHgp4tTDCJ1V6Z06sVTnFTYpwzsy+Ang9NA2xCCS92adUptcky2SNwL5B3NecoT3OF6TEdQ9yt'; b += - 'e/LS8ayGeznWfXyVsLnVtN5UV3eVFJZrrZKf1X6iOt5xyZ8TL5eJrToG9oKImUfE+3U5CB4Heul'; + 'B54n6N/crqz7F/co069/fr6xaRl67wyAz3XawSm9tEeEaVonuBftXovtYzSpJ+GxNt76rRf6imS'; b += - 'jlv1HBJCLaI/47Ev4JnoL8TYHLLuDe0eu5V6W8RvWpu5fSN/Pd5vn8H/12rRYLwdzAl7wlGAiDF'; + 'z6u30X8xT7bnml0n2nNhK2vRvKbq2H9oRLWMY3nLa3bUaHhMz22Btd2DZjV3ZeVzqVbT42J7yER'; b += - 'Fb/mXqDQHphe0WoXlhcevf5A0Y4l0x/+uXAKpOb+9O1779z8/I4HpoiicJ3AX5jo8HeTGBUouiQ'; + 'bs7+jdQ0od2T8/OyczMIOwjqbuzxS0z+lNdRt1HruvijaXS6/2Ta5iH3rFIQl7/XTjljU0IL7GQ'; b += - 'eijk094/D+/c/tq8SJO564Y5dP27+cntSRFdU/Bf59me1sRhJwapFNl/QNG9sfkF60/SL01s2S0'; + 'UIWbClS3ru9GD7GgA/+b9PDMU6SHzRGl6cFo7OpISExtaCT//unzRbnyP7+uml+59DrKHY5wg9V'; b += - '5Ly0hOS27WPO2S5s1bR9OHtr4oPb3ZJdFWrZo1a5Z2cfNmLZKbZmcOzUvLm9g0LTs7N71pfp54N'; + '1lAovLlNeXUepsLqOcoeD3WB13aTC6rpJhdV1U1e49iQPYscAoHpmJwyyqTwpgWqjeJL+ZHprgC'; b += - 'Tc7O5pekJmbk990aEFeNNo0J21c5vC0gmiTvHwxz01lsPg9pipKU0Vx0u01RblS/P1L6s/NgLrT'; + '3dZk9OrIFVQnfVZYPGBMmXVSSOLIO4PgKll78wH/HcRqXfZ5+cnEtN6g8IxpSSdEMiJa4Pecdtp'; b += - '8vOjeXDfGpaWmR3NaGNFM4ZHm4yIZg4fUWBddpmVH80eJpONrWbKVNG2a0Sbpoi2VRB/SxeQmTH'; + 'od26tJOzk5+BRV3Qnd2Mqc4tcxCJuf+Cf3YEPX4+jErxuH1ScIs7BmZQ53dDOcWpM4np98/bE1B'; b += - 'Bamt1tPvaHbv3HyTzTy83f1kVYus8tSpOvct1KkemexmKcq4nfTOnS9cjxqFJdjQnqQHUkpFfQA'; + '+3RfFOVv7/KU5h9H3jZ2G/smnDLrm0LOdMkj+imp5ANtaZmkXujy2VVph4MyXfn/4LKEudo/z8w'; b += - 'n53ktBRQmIv+li0KIZ1pA+o+HlNm3G5ozPSxud1GCIJYpKs4b0zs2JDrHGpWWPjcLAiqGmL1hdM'; + 'mVCvNnNxh2Q1WmZEKq8xIhVVmpMJP9vLDwEEJiXTi1nbDvVN1Oimz2caKCg9jC7p/YpIeqP54F6'; b += - '5WK4u/PGn1Dmf7Fl75cofbLdF9feoD4V9mTvtr3fLDveYbveabveY7veb7v+QTf8xt8z2f6nt/i'; + 'HUy150N6B/MuGcTJ2CU03nZaYng3pOcrqjxivJA15JGEBaULrzCK7jatDFxBY2SVV4B08FkQp/x'; b += - 'ez7P93yx7/lS3/Plvucrfc/X+p4/4Hv+iO/5477nT/ue7/A9f8WX3uNL7/elP/KlD/nS3/rSP/n'; + '+CmbopVM1i0ucHQ/ubkr4Xb4TRVGZjggbyalPl0TEqS03MG9bPZ4ZyYzI9kR3ZSTbqIVZ+Fu3YJ'; b += - 'Sv/vShhqbruhLV1Fj23+O73ltX/oCX7qBCkE83XQjkY73pLv58vfw5R8g0jU86SEi3cSTHibSyZ'; + 'RJmxy3KCQ87MyE5GicHl1aQL4qkk9HwSl/pKXRLmuLU16TXhRD29oPHIC8JP+MVRtdzfq0w+RZj'; b += - '70LN/z20S6uSe9wFf/Ml/9y331rxLpDp70OpGu60mv97Vvs0i39M4Hka7pST/rK+81kU7xpN/xP'; + 'eDcMj367I9owcZL45hJgG2G0J0FWOgYSVtmvZvLnSLr5VfJeO3Z9vEd+c/HYDUZae4ZCdqrTlyR'; b += - 'f/A9/wjX31f+tLf+PKX+Pr7m698oPGXe9KaoA91POkKvnRTke7iSTfXYvt7qUhX8qQvE+m2nnQH'; + 'BYqi0xMSEVZkcppsL9Uosej19kKg3PWPqoPBq+TsM8/I+Eb+Q5WT7GRrJ0D1budfZ8AQs9aD5cP'; b += - 'kb7Uk+6sxdbfTYttbx8ttn9XiHQL7/zQYsd3kC99jUh38qSv89G/dF96rEhf4klP8bVvlq/+W3z'; + 'cDwDQa/QbPzxrPnRBYKLGSvyTOyCHs+T30fK5Cn4mFg6Wp7itk1jNYxSv/+yem2yLbpJEh2DCU6'; b += - 't+7cWO5+W+MZrhRY7/vdosfNzpS//Gl99z4l0qie9y9e+d33lfyTSjTzpT7m98J8K31/898c1fx'; + 'QWRtSpnOvCGNq8tDG0e1qE2XQh1JCDOla2261QHluae8rZBN5G4CJWzOUZuqYckC5VQqnCJQiaf'; b += - 'zTVj6dGth3d4Xwvksu6nbDnQ1SV3+Tr3K+MP89hb1IZr0imj82u8CfNcca0jkvj7NSOwz+J5qn6'; + 'CqQJd7qtwGoNb136wzaExrM21S7e5QQxtc/MY2ubWMbTNUP6fbPPAmNJtVmG1zSqstlmF1TY/TT'; b += - 'J72wb0AX8O/IOylVsHY0dlRK3eYlZ/5r6ilVDDFrqlg/+L4nQhfV8L8nTLzR2enTbQyR4n3RkVz'; + 'xzHMlpgKVUh24DapnW4Q7XdVtuwx0kkBHTSb7kVq4cu0r2nBs3bveYKlf7UlscyvLzhPvM1D3tW'; b += - 'CtJwK86LFozNyxHtFC2K5uXl5lljc6ITRgvOJJqRPfHPszn5BXmZOcNxQx4u2tgD9ssKRE/l2Gb'; + 'zRRdZ/G5dR/TRUz69JR/pzJbBXewMMnRqXhOm7wxjL5ANd1gzeVyd/ENspU+IMy+R+UyU9m/eAO'; b += - 'miEHIzKChaGM1smT9ltgbxDtV4JuKvxFPXsEoDC8YYSlHfM8re8atyl/Fp3n4xKSKxBcuEv/qiX'; + 'u+OXUiZfpWIVTi2Tr1K1CqeVyU8rky+IHG4cuMNt3GCxTD7Ard1gTZl8gFu5wcYy+cYy9ZvK5Jv'; b += - '8yDXtg/VObL6Nzsyfm5I7KTMu2MqLDRUVWQW6uNUIwXE1H5I6KNk0fkZcpmpCdX1BALYMXoA3fi'; + 'K5JvL5JtZ/qA5v12bfGHWZ5X6TB33+eW0apOe6WZ/y/+w1qek97vff99GP6nLRmVreuveXXbebb'; b += - 'DrPg31ATBzgy2R6uEZtkOlXfc9f4+cnsw7k/Dc98xROg2eJf2djP0enpWcWTLRyx0XzhmXnjgc+'; + '7evOgT+7YDzZ45V7daQWb4/ojJgRXvlQggU3IFzrzHxF2/uKXXp117zmwT37Jnl8yuvb4cPOhSj'; b += - 'JGJinj//DcZFxV8xJwYPy8sdNTizIJo3OCeaL2YIzqv1op7rFKKpZ53Z+qITCqI5UEvtOFPpL8p'; + '4VvB+v7TDuT98ful2/C10O/kQlyS/s0CXYA/UyM6/QMVTBnsVNKFZ7NFG4VfoenokmF5/BUYVfh'; b += - 'uxetJjkfvsaOGRvOs3LEF+ZkZuBxH52WOilrDMqPZGU2uxLnquWNFae01WSXKAxpdjcuC8TwH2l'; + 'uWXgeWXgd8vA88vAC8rAC8vAi8rAi3l64vg4bKjjUzkZ/ZNTgFaZkdFDCPt8ln5x4GhIxROs8CO'; b += - '72p3Z42n3iPdiLpoh/HT3pqZxO6Zk6OLV718Hib7PmF7Vu1rX54IG9OrVJ7WY3bn5xy8GpqVcNG'; + 'flZxqS6vAuqF1w05dv6r52mPpuVzjNx/MaJ/W+uybhaPnTltRcHFAjRnlN+U3GTp75U/7p56dNN'; b += - 'HxFn8G9B/Qc7Lx7p0L7m0xXVmPTi9XYum5XiR7LdEPm/+G/PyBsBtCwbrry62OFA3/ss+Xrb/vM'; + 'OnaEH771NXtbl8a/UyseLo+Nono15OqFqv6+yEwIpTX36+sG5ka7ut3hHfiA4v5UzpW3epcW1D2'; b += - 'WZIbeG79oIfqxZ9onnWKpudNxLWSOiIt79Ro6Lk+mlndM1dhP+2Cpw6xqqz0vKhYv1ZeWk5G7ih'; + 'me7BKpIq/DuMvCeMvAnZeC9ZeBPy8D7BKq0q/BnAlXkH38CHL1LJsBy3eMMbucyg9sqKyZSribL'; b += - 'rSF+xkIa0sVpUBvlbud9ALjfl2sq0fs4TFSUcr9yUzHFpeVg4TAxe1G2sOeJ94M+eFH+B1svyWj'; + 'VeWcqOlNqJ4wk4TwidE7TeiA/BNHLpub0FUOz1NuosICg1vC7ipblnSyp9JtawZT4MkuBV5uSlc'; b += - 'DfcCbGsaZnLGoBj+pJwzfLiIqzmCA1Yu/IsIZOLIjmWxm5OfULrGhOujjoCdI0PC937Gg5X71D0'; + 'CosF1RfzPPlMsZ+56b/K4DX1ulOTOGnA3cMjOBc/6fzqjY0Drnw9e+yJlTXGz68ctB9K/vJxzxz'; b += - 'iQ9LW94btO86PBMQdwn4tgMzywYMXZok/TcUY2bRdPTWza/5JKMoZdE01s3v6jp0EwssnGzJhc1'; + 'RPGcz7Zll/Nn8zbdWWifeChgYnWid8GaHv6Rff++T0zs06RfVa1bmwN7e66YRQr5SFhk53m2w1P'; b += - 'uQhzZ0TF22m4eHOrmMpAWEe8rkSJY9MLLBg0a7wo1GommyDmWxVaM+f51gy/0zF31KjMAsjqezP'; + 'TZxsDGGr5fvv3i/RFi8rav26AIPw9Fn6rR5bW5U12WXsyXjdGHhpN9uBL+1cVzlOzc25J2t2mTT'; b += - 'OpO9KO6bMnTl6hDiNigVOuS+SufOVFiJ/fU9bxg7NzkzvEZ2YGi0o1aYMkTdRIX5Yjq/l2adiVr'; + 'tOULLqxpFDx31vSZqfUTgxI/HJDx3dZOzadOGanV3aw0L6dwxZLdfb/YOveT+St1Q8aeDhq+7tk'; b += - '3YbEfniYHnvfev2JtGpY1uKsrPg5m6Q7RtCMxPPg+I9ZKWlydYADEZef9scQr7U3fuEvIbbfBPv'; + 'BG5T8Ax8Eh7TOD/jN6/IHu65d7pvtUXWqz3Pt2/a9Zcxu/8Kc+i+H/TGs9wuJxpVp+ed+jm/rmX'; b += - 'jVKdEF0ssDKhOxj8VlSMqyFBkp+VRO/6dSqNEb3iL9y3nYU7+WOUvC+XKPni3+p0TFjxRSM9hLP'; + '5h05WPF0ZcKc5ZcVh/9lje8In3RnMvrU06NfVu4eoTCf7VjFVWBs2/eObZlFWrxzZc1Piz5/u0H'; b += - 'u6WNi/bEdqaKYntmiq/byZ22ds7E3rkFqWNHj84VnzGDW9c/bXhnmG6C58D9WJb9D/GPs3QUhEX'; + 'Xp5f6PFnXoF/vxbyA+JC3ZVe/w+QdPrpr7vrcRe+aikpOu6+yXvVQy/ufbm/EPRA3b45l8b025w'; b += - 'm4VspubnZzmvKBZ736rvvDSgY1trJlOTJ0wDy5Ao66Ll34RnZh/LSxg8We5H4lv3zMonE5Is1mD'; + '0ner2jX/YFlIu9nnRjzziw8f/PjvmV9A3lMc+Lgc61+J0GslcDpRZaWRq3s3hjvQdUSeMfWVC5N'; b += - 'MSrtKsbLEQxeYj996Ss0zs80rxt6f4ez+f6wyHh7V3rCpWIvOanmiX6XQ2UfZVzEXJdHU1Np2n0'; + 'afxe+5dz24YfX1XpvyI5nsz+bOPyH0Y07t/zWI6s4a+yZz8QvDi35IqyV9b2XZoTkH34/LrPXvM'; b += - 'e4vObk/QyZGp2UCp9g4uUmzlk2SY9uzTNQHUpg05nBPYdaOys0Ymz0238rMFxQNqHOeVTBCrISx'; + '+38Nu9Pph4qNPB0emv3RaVcYndbHJxUOeVN2Z7rbTV2l1uTMUa7VuNPV1724dTzvbZPOz53zZNC'; b += - 'LVu0adPLHljOUGTmFOQKbkNU36eaiVT+LObwTkR5G3k48MaesemE5L9/bm43wdF1EqQoM120pjO'; + 'f2xSr2gu6nH0mMj8yvoz+7u3i3gBc5ou9p91uuNLnw19esNtpnKnmtNvC8fXhO3Z2rjazXfarRw'; b += - 'sVTGPO+fkjh0+Ave8/P4jonKzEK2WTKA1LBeaHrXSc6PDhmWmZwKtgnkwVGTLyYhOQEJOSxBW+8'; + 'esfvjjc4Yw34bEi3yltXaU6UwIZQWkEFbnL0m1ym9+7IXpcDwwcMbhZ4ovmFSqvmWgL85oQ07d7'; b += - 'ei3bBrp2YOz0kTPL6gfFi6eF/QH1yuGbIVGVSCknyOiTNXNEhsBNAiscxjX1cyRJ5a7qooQ9gIR'; + 'p/AfG7bWyJujD4i2H92dtar6rRmbolb4bD5iktzt2LKjhqNZgUYOYJtWPF0z6sumCpt5nShZOnf'; b += - 'VltSWqYhxt3fpO0/MF50WFJDUjC92fmCWyug9Nz86JiplzcpBnmHyoWzEigeOfQbrKKJTwyvZcp'; + 'n+wmyuaIH1flbyrDsZNRwvbmiyYvaeT2b94Ne39YSss5aFu6s0GVdwtMsLZzbZ96c2eF1JaDZKF'; b += - 'tEy/5UsX80r/8+0akSb+L1rWvElzekMwhjSHrz3XVAaJv/O5rvvX4Sx64tix1If+OHb/efV+2vj'; + '+rHvX/tg6AOE07fn/a25Y/ya8qPaHU1P7KpZkPJb3V/OVGpG1dYcqjXi19f3y4b5e1+Hm9sO96n'; b += - 'TijeSh289a8YPhT3GZ7y9vkfHR1fX6rH0symXfFlVrXkKc/5/6psMrB77TWR6cxkc75ke893VY8'; + 'Qf748Sv7f/9pozNDGzWs9MX1aT++HbC6Uv8OFa/Ejn11lOehX2us91k9ZtysT1710Lfrb2rTsFf'; b += - 'f8/+sYLouPHUOZ/jvGsFqN0x7DP8U1Clos2nNRk1aerWD8iDTxX3vlftGmfjAWKnGNMt1bxYinT'; + 'ckr0Dz1YuTM66u3TT0edrX1n44s/FQufCKd1eHMpVfS1zVvqp8O59v6sYMEavVPk9M9LyfFtL9O'; b += - 'nqALz2I84vTUf/BKXanwakd7Z72FZjs22Nw99TB3Xt36d67e/9BeOvKzld07zJocBe7e09M2127'; + 'Jttc6+817j9j9NH9rzRuW+265UPX9/rmZ8l06RQ04es10M5n+pfWSaV8sOy75tN/jXyfnrdiivh'; b += - 'XjG4/6C+nQf36p7ay+7fsRu92ad77/6De/fpL94e3PWKPgP6+m736T2444ArruzsVNu5d8c+nbr'; + 'x57Jel6xIau44O9++SdCbGEt5cmvfJL+cPPTCl3s1rXiau9fvP4sHL966ennRy07bsDC2ZXb7Nk'; b += - '37oo3Ugd07Ng5NfUUxtXZ0Zt4OGGQ4IEUuJnnXnMSWeXk5ALvmT42Lz9zXFRw1mnpY8ZmCpI+aq'; + '2/XRQYktY/yPFw7//cB0Y8132/TwalMjcm3U+PobP99xPehejWZdPyv+pNKFjl/2Si5p/kriqSU'; b += - 'xggOGdWnzyOU2OJb8gg4Q9E/Objk/LH9W0SZOmY3PyJW/WFOsR3+/aWsSRVlfK0zzlWO0us5L/f'; + '1Gns+U937u9s/zuxz6uDb6+1LkmceLbl/PqLWpyWDfZcu13m3Lb4+dOS96Lzl02/lS0lvrOsWfc'; b += - 'Dty0puOGp2P4qdo2iiYyQdF3SA1vJUlF2Voo6Jia8xokpk/OEeMdZJg6+Q708p9Z3RBnpUgWuzm'; + 'zX5lmgtY1Ycvoqd6bvb475H0cetNwc2u9Dg2ntN0O2tLSfy0kKCpu9pceYjc9uOHdzR8GQz8d6L'; b += - 'vV1xT8Py3nK+J9Pryy2vIVIXwQOPjYp1IYZwVDRvcFpGRibkEmQmvyCalp3fZHi0IKkBDpVT5o9'; + '/ooP+D0r/e7XzkxZ6l21ZJTs0/OOuehz7qxo+fus57rpeDUNRs9jW9+sWHDgI97nO64fu7zPXsc'; b += - 'MC2TaUqkOmf4Xz32Zvt6Xns3p0m0S84aqcvLO8b27kusSXFM0LyctmySJbQQPIdJiUo/NEV9BEJ'; + 'eX2ocq9T/JTmmpzEN374vd0Ej0+jvn9teMLacznZXeOOxKbfn9fmFb9jP7xf4eKw3Karv75y5qs'; b += - 'ih2cC+ZETle5tZMwCHBHnvOTV2rJ7n9BknJqLMI3WILvwWIAnrRaBd4fUDEo6LPRw9SPgzMvPTx'; + 'fvUf0P9r5udBRFXa0O9VR+2rum7ZOVY/bv9nQc+EfU3a83vq9pNjR3yZfuOghVfXPVFrV2h59fC'; b += - 'BcQZ/rM/NycztBJlAjJPK0VkpzLdBuWSsk0aAEu86zPdmWOd1JDwZ9lN2iCa92djmduUcDPYJpj'; + 'Xfcd1LWc0y8lPWBLW8vfbe4Pn9Pprvd+yKt2PF0haffNtkQo8OO5v4vTH51d1NN5ab3Dvqs4amO'; b += - 'efm/nGcqV4FWoNw5mdQwRxyTPe3JF18Cloci3x3M7/4V32hZ3dhv1J75NRjDDp796GRERLbnlJ5'; + 'fE+q6elrbTx3+/ULXl2dpVKKYG26cb9X00tKe4eu+65qGenrcnsFHpskE9L+VL7qdEtL395deTl'; b += - 'yRuidQ2eAOUaJRk+L5i2cVxK4PnlvMEs5ZHoIp/uPyMQTSpo1Mid3fI41dOxwOFADt38FHLDzC8'; + 'b0fXMdy99G6LpbvyZxbXGXz4QLdqz8XtbDDu3rvHAu/9sSGmyrI7830Htjtbv2P9ktOVtP0b7Yz'; b += - 'QmnZaXYXEDmlip4nAwoqBgdH6bpp5Rxf40zk7LGY5XTTPz88dG85tedMlFLVvsFXVmeOr+TSlvv'; + 'yVoqHjPI50PanO5qYWpOs44506vzD7DERhz87tStgzrfVVjQ/86qytcWQ6qHmFvrrYzoLvq9qP0'; b += - 'RMNlvniVKIrIMXJyRffEgQZl7WzoqNGF0wEbXWCic9l/hYif9JxaFtpCua+e7lT18nREfne1Sqt'; + '9ZYxvRK0xu1jnmSgv/tscyfX+ecftOXEpze1/dsQPrU4O8O042OAIKb15ObPSRn1ze/wvr2Cl3N'; b += - '3aFpGVYOS2SHWSJjTk40O9/Kjg4rsGonmigFk+8UqHSmk+kb1BPTeJn3XqZJMr2dNawy/fpJ0FK'; + 'p7c3yQuqf1zle/8XiWq0kXTrsYNb93scDu64Fred+FHLq+5+PH0b2o0O6Cb1HR9Z5/csCMbyvds'; b += - 'Z981y8zbMzc4Aw4hka9IkJ9G4maeej7nNQD/lvRJf277zpb/n9Kmsm44emtXpvyDZ2H0+STYKz4'; + 'bgtfEfNR9b0F5+tfTzqzt+fvC1ZknhrZvveLby6qk6zrvzHWPiLD/Pu+3CEOQ6Pk4ryvbpvyP7O'; b += - '+VbJzsPDmDpDMXFnmLeiZaibTXaY3LdEudNI0yPcb3fLovXWSQpEimF/rStxpUXmo0JwN3m1NgE'; + 'G7+z00bGsyRMrvf9q6Lf9to6vNOybY0dPp261LvBfOS55SuC9cn5zmpf8FLLsVFZOw3DbrJFf3O'; b += - 'v/+sYErotl9/0E0ewxr5GR6LO8TMj3N93wmS+pkGjQRDctcG8PHCnLYZOhYQU8y/xUFSkLLJCkj'; + 'gXdfP3T0PrT782e+XemOtVdv0Y9Ouuj+t+XPuTLdUls37Hqlc/88+dVTh1ykf2xFsJu5vW8787Y'; b += - 'mpaRnZnj2aesCy6wEsbnjowOHjt6cNowUB6NTxP8VM7wBrKeejyfZLo30zCnndwOmS5SSRYk04s'; + '8KLtdqOq5qmq7bfZ1zyjhcnBZY7X3S9+LsTS30H2EefvjaiR7UBy3p91HNehwrZ2ds0v0wSvjx1'; b += - '5v+K5t9pX5poT9IX244wo/hWcnocNdcpYq5bHN1MZgtVPj4q092X57jpfe55W2SqroABIOaov0r'; + 'OM1kXFT7wLTKyaOWBr36miRWPdJCH+3ZtG3ckvjuu2YNueVoQ7jz/df7vj3pjb7FL+1rW00b06D'; b += - 'LTx2aDBgN2nrzoqDQ48+aR0DvNysgcJ9geJK3/iublesp6RiUtg0xvVV3ty1+pNe/soUtgMZAv1'; + 'If/E3r81YWjkxs3tLZdf3q980NrzZp+rUuO/9XqtYOf2nOsPrvWnoMWbYQu1XxZ22/FxhG8f9ED'; b += - 'on4rlSqKDN/hDj4FIxIK6gv9tZs0DlMtED8DhlqJ5m4ts7c/OcKxRLom0TaQuCNzi2Hp8LNMCOt'; + 'ahVtdPD47WRu1445rpd7+Pt72/Y8a9nn30gd1eXtp7UeQgU/2bG78c/UzXQcNv33z3x/d/r1a+U'; b += - 'II22wpgPLt8fxHv0ya5l+V6WQhYOMj2MeVOZfobbJdPrmVcZO3p4XhqOYNpw8e2VaxuQdl3me9n'; + '8tJrQj1vjH3zBcfmJp2fr3k036m3ve+3G//qX272tzyzdO/jLmSGt84a8b8MacGTbHMXNv+y1+S'; b += - '33lGWi8r0ET6DynQNnmOa594lvv3ntGQxgiX9C/njfC9/XKMh8bjTyuWXyueP5bv3K65mT5z5G6'; + '3iwIsTWyjBVPbg3xqW2svWTUeP9jNwqfW3DhUKVun81ZfXvZmSaRMwrTV+qnhNYUwl78alpgweU'; b += - 'd279q4R+dBXTv3bpxq9+zfmOx+I7uNEwmXRy37/od5Xyx58fxrF8x6+ZvsC2+7pH/ev6vtCVQ9N'; + 'XTt3jO32/7Lu19iW28g1bjx5Zo8/pba+N+/zni3d3rR0/Ozft8HrtnXnp50Pe8t0S9sOpnVEhF/'; b += - 'mj5O+90C50bl/r7vFmPXPvjsXFLhh+tPmHb3ZdWe2Fxn3O6fr77h1ezHijpcPjdhFdyXvtm7G+R'; + 'XhX+z53T6jaNqUTkNzJ099vv6mzu8PHN4qOd+77o1npi9/bXFShzOj8qb8cX3oC8nnFlX7xtgt3'; b += - 'u+zx6lljEj+Pe3Ph+ifn/h4/sWZ64pzX/hG66uzBg95f1K9D3wYD1/crHqRsaD+nduWse8J9j7b'; + 'vP5MVH+U+qsT+28qHPTg/3TuzbrMbxX41F1l61YdGjsH7HdL19d/Y3XimnZL6fEzJnjHzzVt9Ha'; b += - 'bEvn9GHzKCuM0JW5HRDn81ZMDX0i9qqjb4M5XXTE6deBr40d9feU9t9cMXbvw4NRfn73up3NOtT'; + '7dVaBT5XxfjHjdknLl+sf37bxO6zW63pGHz11rykficaVbP9yI38/NiUXf229QuqXP3q+P2bP9N'; b += - '1tZsf/0DD7imOjtUtbH1x204IBu9cuvzX/7Zsabut07zU/vHRW9dQe/x5X61jb5E7jv/jmjU6VT'; + '2XPXRCu9y0/nqfwwd+ELjpJS5P7YqOPlif/8dN5u+39Wzwsdn+41fv/vHT30Dm7xumrzj5U17+K'; b += - '7U9ZsVF2j23ff9jzX9vmnXBbz8+MvXThu02L1xz9xcPtK1555JFRSNbpsenPzY89+0tfTsumH9j'; + 'nBlwafuH+9Q/Av0nF9WIfewXte+vqO55Suz9X5rfWMBouzepWb+a4iyHdb6rn3y228cXBpxblNe'; b += - 'IPjT+XeNLV5737NDXt1y53Mr1gUnzPw4fvJDlw5/xJ7xyqM1a3Wdcc73lb95dPsP3wzJr9BwQdX'; + 'kzsomuYG9gkd9iVj+cFFE9syft9/FZY3P1Wow+F/zRn1Ks1PANafdtgU6rHtIajKswoX7lqxuKO'; b += - 'Le3YfcqRifs+rl7W8ru6vkwZdnV5xXfaMzz4f3L1Szhebv33qnn98WzJ27Z7Qp/unTp77+3Tlnx'; + 'nXv/sqH/pFoev2tizyXe+OP739qn+bWzt91x8KuveidrWnVtlt7uTccvk74Rqs/RX5jS+51B021'; b += - 'szPlxwtHjDe2nVLqxYf138iq8OXpq1fsPMNvde9mLva7tP/Oaltiv7Dqz++fe1Pki/e/uFpzz+Y'; + 'tdcqvP3586GrtAfNDmi4acPrtW/p4L0t5j6hA6e1OM1/bubTquKo9knzLdT3wq9DpRskrP72vbz'; b += - 'mLtFxOrRP2rO5523aPLQz/eMuq+9DqpHwaaPvfiglU9W/S6fMrgF8fPuGPxrDUtZl17RYc/unbc'; + 'Bw+9khk3O6LT/w+vGAGh/t+civwqavxw2SQqudbT23XtrFvh0SpdfjrwQNf3FuwfysP05W8rv7y'; b += - 'HDn25DXVbqjR+9el1ii9Xdz5d7WfeXifGiys+MqTLS+YfqAwt2vDlt82/uqLjyovj/YxMla/dPe'; + 'YmsJvbkPp4fcj2vd7k6JfdMxZlvGO98VK97x0YpCT7fH5+RLcZnHLP1+emT9vG/9aq8d9H9U52a'; b += - 'b3fq8WfnUOw4m95GMU5Wy/37s6LHTqOtjUdc2rUv1FrVb1P3w8HfG6xVWfTau4puPLu6Z3fXTW4'; + '5Op7VFpyok5Kk/upr/5+ZbX3HG3m9UEfXKgWN+Dwot47F4bHVjV//cr2l3w6FJytaXsu8YPrwUc'; b += - 'un37lw7eyvhjdeXGPzjHYTl6775KUFn95WVLWo6c0p8zu1GrPrt+LN9727+Ytrtl95yXdVvxu0c'; + '3r3/jvkaZc7/HwmW7+LGLcp69cuvV35rqP8t11H9jfPzztSak1mwTrjP43P/246J9r7eonTti59'; b += - 'lr7BW9eV/v+onWhfeo10896Zkazes/eEDeg4J/P5P3x0AdTVwffu6Pguzu2bcu84+DMrs98+/yd'; + 're23Y0fuObYaLP3l8HLKw55dPa3IdfxIdm7Kiw7t7YLT919Dy8eOGF7ZO6rGk0e/WKlHfOHVh3Z'; b += - '26q8cndcvdxGXzReV1hw+XtrN167f/Yv467o165o1PPN1uysr298YcqgrT9EDjzfdf7qN/ulvxQ'; + '3qNxI+nNdec/3TTr1dupu/t/rH95Phd4TMrzCx/9dDidVkHynvcWbmzoxS5NO57/lRbryP2mMEe'; b += - 'c3qBBtRkVH6vfOqFWk6OjGvU6u1Lr1P75FaNPVcwa1+TF7TfOaJS34O5DW+/pMazmmtG39Nh+b7'; + 'DdM8rl9ZHX/RZ+vs4sieBcYlJ2LaZycH2BeF3dmgs/2S1e/DPRPtX87qvqz/kcsftI9POjLS/OK'; b += - '/sF2ocWvB6veCSt2ZcXPnw6BVZ5rnbVtYIZ7c6r+f4bvU3b9nY4pG42pdcvm5f7z4vLbvmh9wmI'; + 'ZN170ujpLiR56ft2MM0nHSs7Ueed+k3qf7w1PWhl+Z948m6OScWCdN4t1jvZNhCF1PJccdlyaum'; b += - '/4z7baC3PT7JlSbsLMwrL0w59djz8z7Krvvyp/v/eWZ7yeMeb5b846N+1zZ+YrU7ld3btwpFejg'; + 'bj8Lfrrnp35UZl97jcyfPGi+devLitz7ID3+8Qp/2RuqJeVPsem+6dzqqz+5pXzVU32x4JuzA8+'; b += - '7oNAB6v/cAxUaPXXVVRaHG2uvJI6ZWrFkf/64raub9d78rNnJu95qOn9E7Zemv/i3MkfTL+sX+e'; + 'pV6H/XZ9s3ZPL/U8ksmNBxc6eDzgfYF9w6uXpO7zPvlj9JKhl0yL/7G6lk+/17+1KIqv786PjB6'; b += - '3KowpGTPz4Iv6q2/c92rdLon3/3NxrRl7HkwZPfCul59Un6n86Nw3+u6ennPDL7o9K71/1CqJ77'; + 'efe5J9ZMH6LddrRtzq2jkxsnlB8TaGxLXvXyhbvz9jT9bU3JAE1IfINhKfNyd4qhhb94Tts6dNN'; b += - 'fux6WV10WbPntu4XmNe3aZ+XGzpx+b/+m1j0/q/f3m+bU/qn9x/NGR+3NaJc2oE/r02QH9z7laq'; + 'Plyu98GlCt5bmSn3mjZLTv+hadXBF74mjSl71bbvsSoqPcWeLKjukUKlb7ZSG2jevfizcrFw879'; b += - 'Rj9bsCSm9t+sWvB649Ei+wdP7Sr8s2eB1J2LLjshyb/bnvPoj5vv9v6YOI5L07of8GW9cZ7x0CZ'; + 'ql+V07n3ir7Vzu7mHDtm88BO6jRt+ZW5+Jnxd06OWeC9K6bRvePcRQYeYLr52x7D/yQcQH63sek'; b += - 'nT27jjIv+VZldJVnkwZ+U73e8PEdqr/X8Yvz19+ZcM7Zy2q1H9D30KMVn2k6Zk6o7uCEPS+N2dx'; + 'POtmi0L1l4bIe0aPT575rcj5w7dc/ykX722o5+p+W5tD0uftduqz5gnTkv6feGKwVu6D0gy7D31'; b += - 'xe+PRtb8dsumViHl7nz6zGxdc2Pre1s3bNXp39m2vtb+7fZWDx+5ZUPTgPfnKgbsT/xiTueS33M'; + 'k+ZeTceQ12qOnnHH6+X3Dzy/67bX4+rPj1ueUwrnE8U/enfLHKJ3e47/Zkl+TFfrtarVh78T3d9'; b += - 'YF1zzSbu3SHc8t+eDsIV3njPk04Z5n67ebNXvfFVcf3Jz30sjWN9tpHaYFa5+tPPjDo/G95nz8x'; + 'Q0ClcKhg+IcRz4cDJx093LD7j3zA/KaDpoLP+ZMGwAJ6L6+JH1t0Nz+YLt37wNhv4bTeb/XR8Xs'; b += - '8LbE36t8UCNKV2+m5HU3njk2Pctvnzv/P5K8bE3Bl7z+uFnrIrWM2dXuOXpd69tPeOmm9YNe+eF'; + 'HPvK525c6xnU3vtfg0sOfMb4UB3X4ZemGj7MspeQvJc5M1yb0u3S0p2XNk6L0XD/16bVGFASUZf'; b += - 'tgcntm1z/quHF350+zkbzh/W67xvW828flqlN/7T+OGqGwpnLXnu+gqhHsMi3doMTLnv+RGfXlC'; + 'p/UWT5im7nbF3X8K/euPnBMtXjvlm3qTJ2xg3upSN+n+22yAro47o+SScfOlmTYDjU83HKa46D3'; b += - 'cOeboqs37ejf79p5rPi/R+hXP73/NRKXhDaOX5HxYb8CQt887pzBk1/95dFJC7+4JySufbvrpHf'; + '9VybLvFc5+8P511QGgdH/eCpuf9a+/4BhjUrSfUlN5rfK2l9+beSD2OS515Y2Lbhef0rH8eMrn1'; b += - 'df1vOTRROv+vGCIU9/2/DQH3caN13RN2nC+/ujX9VUv2y2d2Hlzr1Wv9Vj/H/mzXhoq31z7f3/y'; + 't+aXkwuvzK77pf0UnlDSpvMGouTjzRmSfSbyt3PfW4kCNcO7T5NGRftkx32YEtN448XKNfmHzd9'; b += - 'jj8j0dSb6pZ5dqpB2sl1Otp3vavL2vsuWT+uT9dmDp3Q+XvKzx2QcvDHy98f9TTb79y99JG3e57'; + 'l/rVr17JmSkWPu+M40vJuwuWL+RUeEpsdU36EXFh6fuOBnjxUzzgz4fXPLkc8urHFq0A6v2pGxL'; b += - '+vD0+PTOzau9Wzz551cWVWyyvNuVlbs1TtrY4KaWm17eejj+98YdUl8see78L/q8NjDzWMd/pX9'; + '31Vbuf1+v1abPcpMuRf7Lx5+ErHtJl9r93rFlpzb7mf99YasW/Z/Xlhd9aE833GtjifuP3W+heu'; b += - '4X+PLKl3SqMrbv3xUdO2Hu29/OO++zKJ9x/449I+mLxwbf9aqNcEq3UsOT7zx9+SpaxYdmWFm3P'; + 'DX9h8IiNBuPvE0Zvq+Z3pnz1waNXJX/Ht6y5y3Hh28bLS95cO/jn3RO3Lnrpq5qaXfUKd3QyjLg'; b += - 'JQ/+T9Z0UrzQ5Ep9z38XfKwSHfF6x4Kml3wk8Thz4Wjmx8c8KTnfM+G5sRX3fpk1cWbrr0kc9+2'; + 'Q9Yz+cQfi0NqjpEPHr7j2x4eLT/7c+tkv75+q/PqATiWvlF8+e0Bk+/W9Dhp6bq/4+uT+4dVG8F'; b += - 'jp7wsszq9z7xIxzPv7PHwO+fW/ZqsD6+z5c+v6SzyqExvy49apnP630sFlz5AObKlW89dVHHhn+'; + 'sKvdfPvUUo6xfrYmODrFMx+9LTl25q3Gx6SPqW7OnLujbakVPXWF1JXnK48dcdTzhePt7H93HLE'; b += - '1JUf93n4zt5XXbn35on2730Hz+9ojE2/5YOfe8yp8EKDd26YnLbxs7H5qSl7W+X8cVe3f529/4M'; + '0JcSgjjoPC4S9evZ/dZ8lKvWk1Gj9w5trFlelxMbL839rWIbBDURCp/r+rqqR8VD1vV8fmhFfa9'; b += - 'H63w1aVz7Da9/e3DXR1WmDNvX7/La0+ps7fFhn8D1426N9m34bt6bj1x1z6/zt97c9f6MVtPfyv'; + 'POq1u1O/MR3zXvTCwmVfvTps+NSqO38IPHF1+/OpR9801Fp2xHFsnLz/6wpbv3yrf++FNQ6Nu/f'; b += - 'ziqwpmw2qj7S5Nn0l+d53a56F/jumQOyPrgfjOv2z8ffyKoU+sOHv/t1UK1q7q9Nxb7eZc2Wtbu'; + 'x5eHVvJ52+X4vF4V+mnWzdZNndL76nid1C7PuXav6Rd6wfgfT5v0ijtTcjD24b1W5lp8ov8ge3S'; b += - '7NvmXf9s+03nTtvUIMX20SWDa66YWH2uqj6zrbgfZcurX9+VvXoooov7VpwrGRAq4cub3DpwgdG'; + 'fl+T1uedKxK0jHFvIHs9p37979bPyilSmVTpY0HRd0O319+VapKS3bjjOMKdhl+eS9CcKyL+pHb'; b += - '9629f1TVztbXPRckd/7mte9u/Oat6ReFj369vNOq7TOKSi4av+eV/hdenrKt9azfl++v/vuvjzS'; + 'nvh3jKpzqfG3Vm9SXmzcc3KeWESZz7+9tChFabXurMuNF25Eqd/6/D1Htpdp5txHz77zMizCUPm'; b += - 'vv/q3FWeN6PFpyz4tj318fmBY220NqtglE6ZVfaX7J78ZzZveljhrb99+Hywt/MeeFz/cfs6yty'; + '+p9vsHTlypW/vd+5+6Ypv5a823zCsNjvzYvqbVq4uLkmrsWPk093bzXycP+Q6S+vvt+1YFai9nL'; b += - '5c2/Hg9faWThMa1Y7rFDpc2E876/rAy1kPRKcMrGt16Nf8207Vuu8ffdbni3/5LSWrY96Q4P5XH'; + 'Ep1mhn65sNvGnMa907+5Rfvd7yiSjNvDouowR+47kJx3tfTD/1tCN6cmHhLwYR/DE8pxS9B7sUf'; b += - 'h4ZX6XPvHDBOcU/fZPe9omzrRrVXk2cOf+3Te+/1C4lo+flF/z2c/0G538V2X5ZmyM/9folefYP'; + 'Bvv+dHpnbDsCYliyok3H3xN8P68g0+7xm7P+jShIz6VZKajF87o+++V98Wu6x4pum6uTc1NbvDb'; b += - 'U9+ut/ebB756atGbjTu8Eryt/cP9qo6ru/eRGld1jNZb2/yJRs/PPtTycMbB56/6+e61oz+8see'; + 'brcFjLXpvlsbvOJ3m+kP/flheEZe19cUfhhtLjuw24V79xd1yzhx42mER7bR4qvdT9K6i/IOVVi'; b += - 'ga26996LM4LBNrfKm5Mb9vHPchIJw28ySqbt+icx4MbHetr5P7B8zb+75D15f+62hW246f9Kb+/'; + 'Sk8quabsT4lbdej8ut9vfXA85otgx4awXjXafHTj2IXNtR1birqOKLd98N1tY24efev0wf7PXj8'; b += - 'd9PHJL4t3V1s3KnF/993PPXtbx2Ce1Vn84ZmybetElN77649AGP/38Qu2Wi35Yuu755ofrb/8o/'; + 'Tvelel7diSwqeC/pRc/6PS5U+77ni4qLV83465L37m09qv6zdZ3jc8oRnrsER1G2cQobeuONeg9'; b += - 'j/bn2rxVLPnnmxkxoW2rr/+xWrjlhQvmP9EXvqRtGfbX1zt6OI51zTtPqthdvDCl6rOytx6zW3V'; + 'w3DnUf1OHXF+T4ibdHzf0mKLjCqwtfWTh24rRD69fvFkbkeZji/F4zO0K7khG8/d3ylcfa/F7yl'; b += - 'zz104HDJ2++tOmt43vSPf5hy5YXDVw984qq7etXJz3/a+PI27bUP92RHKt7b7JWFF2ROWxV//Q2'; + 'aXV9nfSxn49+4XOhyyCZWFmm6tVFxUmb/B87v0eJVF7DqwTYieuIiOoPd2j+9CBeu7E3ZOxAa8H'; b += - 'm3nBvp1BypfbdU+4bPGD7kglHCroJ6vzHzUNuv+2WISX/3Nn9wkDz1geqrXzzhsWrLkgfPaCzvf'; + '82+Z05slXk1coQs9N3L5qPbXPfmLk/K8K7fsGNjn2oBaC7ZlLo7YWKXO6Qb3C98cULz3t4OHP6s'; b += - '2dDbdWbPPTtQ0XpLxz9g3nXZDzyUWTL741fGXhpHsCu0r6Pvl5nacV5YO6c5qmvrB7eqDB1lt+i'; + '584UXp33WPTRpgKP4dOHNKt0mr4xMf3mYD6cUvw+7WadeyP2jpKQfn3NnNNfml1cn+dS/0NvaKK'; b += - 'Px89lNPP7h18e9XXRuq3v+6VYPuTRoVafnTptemX5I6avIvPy3/6MGfL6zRt/NtXcTsveXOg68+'; + 'THNzn7Vux890efvrn1ubtNsvZ39jmmNJ6/V3zc8qTD1pH3zBc+EZ69V1Ky9qUt9y72qnTD77vgc'; b += - 'Gmnf7+ZjLwyNDPr9tZfyPunZo5my5vFFrzX/duTgy8YsXlH44aj5CUUbe772Zcats2tF2ybM1N/'; + 'h2WJ+iXvvzcnqXPL8qp/vE7PjstvbP3Gm/eWbXN7/ufvD4pgfuD6/pHc5eSfub8P9d9vSRj08tN'; b += - 'fUqtqs4rN7pt2U7X9PxZffvcXb5zf/8VlG35ZfbBd0uLinHWh+bWbaHWv2bWw+uxvrv7wd7XvO6'; + 'lq3wuD/f77Mx4/1GrB5yx/ijT5dJU5p4zY3Tnlu5h1BKh65flQxoH1jydtcKEaZxF7N/2xHgMa5'; b += - 'vf3ph3X7RGm67Tb2x87cdP3zDr5c+/Orp9401Lx2XveTjw2105h2r9+6wn637w4bYGtb4K1Xt1x'; + 'L1qjfju2uMW//ljkNn2nT89c/jju2+9uOlN/QZYZB7zfauGlqfPLeSdbArw80Ov/2r1En1u9f8+'; b += - '895iw8snN934rh5C3q33NzvwRGTu2TOqNLix0sWrblhZUavg9Omzv/18MSrMz+798I3K/YfXKl3'; + 'KiDl+ufOmXaT+FXux/Z6239TdDq2/Ptl+dcnP9pWFt76bOj+s1/fCsiCMz2nx18PzyZlvmhOwc/'; b += - 'YYNq8y96eGS/e/u13z0sJ7XDlZMHXjatxeq1974x89dWA775bsObldcuzL8uq/myZdVqLjir7cZ'; + '8P8s5/7Naj5/ogxBceuePk03PLm0JD6dy5Vf2HslM0nuZ0Tj1WrdHVSoZel9f6rexvt/EbT59Ud'; b += - 'nLuxS/fL6FX/9cel733zV8tDTcwcs7fJAn5rfHbkrY+h7bS+MfqTc+PL++duHPj00/oJG39300u'; + 'rataW/eODz075qrEc8rBDTAgT5uHkqm7Ed7zuLt755NeJ+25Gl31hS+Hv3dy87XfBwfsbbh/ebl'; b += - 'MvBvqsf2JtlXMXqY1+nTji6ssysu78qMvs968ZVm3rT+0fTK1U56lPh9708LMfvXBW9XY3R+Ztv'; + '3hHuOW7VSdqWHZvbt/2H9+n0TQsLfWxyiJVrJB+Q9cw2PK0QeV/153IY8rjbSqzuh25Lfv7pX8u'; b += - 'W7zDnVBza/Hv/fH4V41vzTfDdXtNajmjn++/lul+amXX/R918WtV44ZeG7RcluzjnYOKQ+eu+nH'; + '7rN0rib8jrxm3Szxj7zJ0ZkXOq9NlS6eP+LwWvb3yy16G6JZ93nmQ4KDCTOPc+vFuibfPqMuPa5'; b += - '3avOu7PdlXOvCLYZV73duEnfPnXXOSVzO6tnP/Xvuil/dJn+Rr1Plk27vnGlc7q81XrzyAoL20y'; + 'n7S2uz+k/9o2HXp88d/1jzhq5uP+gC2bh96t+Acu4fQBQ7y4FOejO7MaBmeiuCV0vV96CcOHbu6'; b += - 'rs7jGBQ1zV/bpN+jLR4bd1rTCz0arz9J//PWd73tmn90jr/vW3bt2Dco0uqR2yOlxa8GXt72pNV'; + 'Eg/0oWZBns9IstVMyZZbdpUHZSTlpDGLI3AVKSkZLtamDXXdSaouZ9ts8kCHIzO7Ya1aSRmJgEq'; b += - 'oW+mL+oDtGLYp2D9r/+eipN75rNnxFrfb3Dv/49iOhwZUTalRoUN28vW/RDdtWNZzV8MqMs85Nf'; + 'tATYH4JoxqFI6qSwlu4YtuwatqwZ7snlCWhrcM1NfpnRqK1Nka9InWyWnpXX9/4r7Drioju3/27'; b += - 'eU/Wt8fj/3rkwdDrUf8X3PfAdZE1rY9LZXQpEmTqKiAlAQCCYgKigougopYEQgkYAQSTKFYg2Av'; + 'ayVKWLLgYVkLILC0tVkCIgTaoKCgu7ILLs4hYpiiyKsYBiixUVjV1sscQoauxYMbFXLBiNGtFYo'; b += - '2HtB7Ih17Ypd7F3XhmvDtYtddyn5z5mZKMv6vvvm/b79rj9cFzP3mXOeU+fU57nn0JO8Wbp+G85'; + 'pHyn7n3rqLx5b33efl9/stnuPd778yZcqecmTnnTIkimxaE1fuj/PBDlAUFSkWUPoVQVEqrkIwD'; b += - 'PvWvns+/EPhvXXVcmZVm5tH/SY3lg5svkXqlWU5Nqmo8dsnxyyYg/7rW2qTtZNaKTWpFgvgcZ8L'; + 'XqFcJqSQKMvWqmR+/JTiVKUqX81PiB3cxTPMDJSHoa2T6FOTKsvqmhKQjQQyMSlwM0xNJwV6CqG'; b += - 'Hvu9k51S0WTePW7guMjw0dLrW+fXe+Bk9S3ZEnPD4ZnfR+YNvK1Q33e3fKYfVvvbYqYHinhoxRX'; + 'SAf1+GnVCaEJwbCjUcKMsjUH5t0+EuPQeKFr8Aq1ckweNr0D1SLUfPyQ+GVBUa2V8eV6+TF6SoJ'; b += - '2o2Wy5jZH/M2v28fZf0a6sHHS11F3vxrow8NNS61+QnvvKeqbs/Ot3au2NaAxG+rKF/6fpj6MTV'; + 'EPlimoVPjxU0EVURap+eoStUZWwM/RKrI/yGSD3II8Uz5DlIUlg6DBFZAQ8InJsoBajDkqSYGsC'; b += - 'ug41X0e978w6k6MNmjYlKcZveoZvpDuTbd3wy4EHp6dGCHPGHd02qOJwx2k3RuPWlW/SS31nnxI'; + 'JSHPoRMpVIo/cB3lZKppBQU+BJadm+cjNoG/PA5/fia0VAzEtRdmeYv8mm06Hxfev8Lqre40qoy'; b += - 'iey4kuagOu26vn7j/caz5tTWlzw8V990SumTzxuFLfzu/vXaeT+qBuV2JZ6d2van5rKyMP6C+N+'; + '9rRpCFckuPEA6CU8hfRLqEMDxQJ+H2WCnBlF7eQuAdcC4AYAZwefAXdhpAkSXHkQBH1BrAL3WuD'; b += - 'WY+yLXRY7vrq7ZPuK8I6e27Gislce6LrfR+1EW19X+uZyQTM7Hms1JL60PLnnrMWAyd22Vf7RGY'; + 'CgLsDK71EAdMhyc6WqaHFoaTRKplEyo9WZkvk/ESNUiXJpTPCl2pJ6Ualii/JgcJ3UtmHz4QgSV'; b += - 'ade7Vb7M1P+YkTKnhMz1RcXx69Pu/56d3SS7HoBb0j1tCEW7xaHC/KfbZ9fLbtjqA5Y2tAp8Fyl'; + '02O5P/BzFFtUZKKb6S6XCXw3TABvo0w4TcLX9Di+VCXVe6xGGxIkmqPMp4j3o0SGU+vJPw5bCsV'; b += - 'u6zMvXbFCrm2NXdYwIy3TG10JywvwHztNe2rOVt2jl0oKl9ZtjP8+KScWSum4L8NeVmRsP787cP'; + 'Xy9Bd/0TBNKzPh/1g1RSYoyxsmyQcKmZVJWdLfQIqP/VHmm/h+XZ4Dk0/JM7SJMBfUZs+VKNanL'; b += - '43D8yNgZ6RvffVf9oRMDxDxa+5Z+jrrs9HysYGbgvoeLGE71NhuPa6SG5rS/HOKhX1V/evCVnvW'; + 'qxinzAclq4LNQA1qNejAPqQ4SwYzIFUpCwtl0ig12dIdnZDbgDbUwflFAiUKgjuOgJq32eL5QCp'; b += - 'XivkzD6Fe8NTdamTtOqJ8w50G7L6OmOAg2xC+v2jIvj1FxK0r39dasjlLHIgduFIgq8XndihOd3'; + 'HDkHUdTh1DaqhrtOOUNcxb8mrrtINbtwj582yyWvllYXkVXb2LLzyM+owuNH/aFyEGF5XzbcpAN'; b += - '28xpBPOSZLRw1fkHMVdjrwwn3swf9fj160Hn5L268ZrnbBiPF95Ic4rt4XlzPGGUc2i1tcMt+Ye'; + 'egB7WCVeA6u+fRhsvgKur7Op8XgujuiEuOBIcgdVenpIrGhSCNsbkFhzaFIIFzMluG3Q0Jqt5Vb'; b += - 'jWh32MrFqp9weAhjxrsD2Oe2b1d8eFUS16dqQdRypO4au+IGB0P2hd7k9ahOWtH8auKAVZn9Ksb'; + 'LfVPDS+9d7lFpshoXMvxTCbnutC30TdPYG57grduexaSUjx49A5mKOLcxU/zAv3+P7V5qQwrLKj'; b += - 'GO7NdFw0eU93y7PXdbXbvGHCeP6EVsX/Vtg/jrI4VTtEs+qVgef6Ju/dsAqMKg31XCjktE7ZVeM'; + 'Zey16WEVZr3cH/b7Mcz+yi9/3hG+CntcXec7fIBTuMM29rTWmRnhlgrGrl175oXXngzvfX9tYzg'; b += - '9fgc+VfSndmLs/Pl3Grrz/mKj31eaN8S2cX2uRuPV8zLHfLR6sir6dUR75+uvm9XiLwiThPc9Eq'; + '+4erjpec7wifFnFBJBnkOvs8vaXpnNnqwbV5qyB7L5YO3r7RwvnDu58F2UbWvpk5iRaxJP/LCKT'; b += - 'Vdg3BKpQ4s5iTFHRB491PLA683a9Bqqm50sWsc1db5tqn8wsa8DE3vB8W46ME83n3Jj7QT/uFYf'; + 'sw4qG1jfjPkaoISd2do8Wv10aUNFq9ufzdzYjosqbhx1tNI5enhzz/Pj888rhn0tM1zAmR6XU7d'; b += - 'vLzHLhWksSf3dreaPHa6s3npsFl3H8W+rbYNmSCz65z1xBYJ31YPw3Xpa4MjSMiTCdjXXy15bLT'; + '/Sr3B6pblxZJ3zwILLG7xR74ijbqCXSiceMbIdG/dh+a9zPkilRgrJvug/euzdqgOKWXL7zedS5'; b += - 'ic9jjuysmP0WZwrZ9xH3MNkWcchiw6Bcsvd+L/Oc7+c2Q8FkNUNORUAx8VWcwnLieXz/k6psPq1'; + 'k92nTb3rMCS4zXrMr9YjhmwIjL8njJ89pFtMy4gB0qNDUjOXvYgpezekYA+hWHnTPTr05eGWll+'; b += - '3TDSqbkwEbxlXw+l0IsG07yHtYUfsky26RAXPmH0aGPmAlxP8O1osvJ/1hKL7zxKCSXw251m2u9'; + 'zo823vbQb1bIo2ra2cI3Wril6jiRnap4Kj3n9buCveJxPjOptzf2jWYqYwe99jfa1r4qxLm38yW'; b += - 'rLlxxw5M/W3Prev6Z+Hd3Ty/NWcaBgTnWbH3lIGxBs+da039Hj93rDHX7H8eWlUyDPWyAP+hcIP'; + 'n/lZgVi/zCNfWGsdIVLZsaqwbFBp64dXmvW1Esz/eb6rw/62PXhdz6o6LHvdg58y9qV31rEbfrh'; b += - 'G14pjnwsaTHDtoaJGTq1/ZlLvFz0ySOhGJXb32711oHAfjulKPSw0fj/orLrsXPma58Ut5Jj6jd'; + '8huVdHRcabdjZ5e3loRZ7HYdN0Z291xaZ2Xzh9c9SRu8cEp974Ps48vd+93o8/C5PiM98+HtrbN'; b += - 'eXk+qDQVFtc0WsVdK97aY8FLbhug/p1n+89K7M1c95WycX53+ZW+3gg6lPvezDlsIPcRDL9kf/R'; + 'iLdd5j3P/PaP8VmhxNsl5q/jxyczdqNpzkMLko+Y3i3OHNroLEqxXjh/aKnXoU3NDSeHyg8NO21'; b += - 'iUEnHI+gF7wss+e8eWaecuSv5Q38/Ft9L+aaXfuNPrG1a41W5xRxMmRjxLPfR1x+APYwfnjtvJ5'; + 'ggSSceOF2YJatKMF3y94CVe+8hBPDnTjG+SsS7K7+IPt11YUEh1jHg99WsRM3S37fUr1lQCKvLP'; b += - 'n6ZXljR3qba0Tu3sFxxE+3me0z7/JeOGwwztuU+PT7z4Oqhl3yJY4FHDvdmj3vuGcwytSKubrsF'; + 'U3S1d1Ylz65kcj365LzN5xNUv75lZiz8ITIzl7zZL6RPvuqho9OMltxdRVWwaVJZUdmd9nc+R3S'; b += - 'CnTKxg9/7Flz72mPDhcb7redmt7bMNJxw5J0j+gdAy+zBxxqMXVWmnv7cej+I5Y7ln8FLetFqzV'; + 'emv3imsbv6SpB67Z0bPeT2SH4XvsHh5Y2jyKqvMm60JXyef6ll8YdPDfckDu/WXni58kWx01Suw'; b += - 'cyYj7/qeVynW7OobNc1bu18xbHxd6WCfieocr1l7reCW2Spt4N6GZqf5BQxx/FKwwMVMX+VeWJK'; + '40yfFLPYyWcCg9JSTpv8vKIve05Kx/zjgwVRx1IC/fYMb6j9MyXHodue1ysFqbrfLPuqT0lT7zx'; b += - 'wdOtCvU2HB0YkdW87r4i9OmXY6wkPSvJOVY73X5jn73o4uj43Jdz2dOH5M3ZwbZncsVw8uXX9p1'; + 'a1mrcvji1evvh104Dzqe2jvRU74whhuV7IbPtJb7Djg1CXuX9oBy2z0nnc+/Ct8OcRXXHrzdeHe'; b += - 'Oixc7yO/upQ9e5QTMatGWy/9de1dybxz15xPXhxQdqgUp+rk+oPvB7b3uKf9p+S+MDl1IjPPToF'; + 'YVHFFs+t5o+CFH1yeP00OGv1C9XdNHVDx8c804Y/fgLcPPWG/M2//o3vCBdd2PPl1lOSKu0fr1u'; b += - 'M5uxBtxjlo6o/+B1QT865XLmihd4AfFZfPl0uX23k+Ev+Jz4Yr2Nqf5BwU4ABXsEvTwiOj4+/kn'; + 'qqYER52gncRRZNGTHSYILY1/37Ectc0Rtb1pyMmtQ0LKWP3TvvW331+7YyUtGqu/w8hrtVpC385'; b += - 'S6rLhre8ZOk9q/rtyh2P3jOHdoiaxiyYfa3ly03Rs/YUgj4rB9eutAk5xj48YBPzzuFvKVrhZIb'; + 'mhhVeygtkL/7UTr+Ji1m/f3eosr+6YLIc9/UeUjSJ9wI3hdR/k16WoLZY5vmU+kl6iE/F55GRqb'; b += - 'y7C/PzXef51W53UYbXdGEtuPaxP+PYozBkT4fggifSvOW2zyTrysrK3m/tE79r9hvDyq7TR4tv8'; + 'G32bGdIhGFrR8E3EncMzIo1tGutbn1I3U2uzySdVdHGkmuccsqOOM2jQhxiGUCBp1+UamazJDM+'; b += - '1YH7ipd05XoEvFw1qP47gXX0pznJW5uiJu8OJXxus2pES6nysJmPi4aGR/PcTy+KbyYy3C4tV01'; + 'qM2Q/FG5kbRpWnPrRIjmgetXVBvJvXzG4ZaQ0tJZMKIzJUT0ZafVs9MaPfDr/WB5Y7Ml5kcPKbb'; b += - '7vT1CbJbgy5P+Jq/U6m4iun9tU4zHZHwt5OOwi2zhZtswKsd4tbJsNpVWjfkPXuHo+TcAPHZ5q+'; + 'z3M+O3702Gpl+wyXyWsqEpZk5C5vd9Ut/rYqaB1OPql9t6fiS0cXjnO6/fMI23KPhcP95W8en/a'; b += - 'mq4LayTpN2TY/+fSohXjfjcGdty//TPjGQ/W4nAg+Etl1CbK3atA0Zc+Lz8eqKodsPLJHgG/f06'; + 'bbo6XVJcNnC/V+McyeX0GpcQv+MSnmjHHxca30umIudLK0cKszYglYsf7JRlXUQedPbsvTSrkt+'; b += - '9Fbd32MOnDnWbjOIcK8DHxt4D8ybr7BjOlzPAh/OzwLuVXn23/8nX3Xf8LTtqf3Qb6RO77dOf5X'; + 'akfj6fNaaR4/F6z0Y2U2rHoQllPtlH5qyNX9eTWG2R+7S8OIdq7M7ggYNS7lzLXvFaKc/vFxMpM'; b += - 'qF2/4O4cfaHcusqij7fWvDoclqHj9WCXfV9F4gNk3s2f0g8++NV63MDNr5cvXnF46uWx2+cFCYy'; + 'cPv9SEiEOlxTsECd3DSqQpdxpyhi/YKvXmed/5Y/99aUhNyFXtZitZd3VS7IWrsbKnJ16ZVA6eL'; b += - 'TrNN9Q/6zKlkDTJ3zgZVzz1cL8mZdjU+q9ebwfykmb+PX36juZPrqNKRpRNnzr26Y8dxbJyeY9b'; + 'Hv0Tmgus94jkxRPHHGg1zNZoEHN28sXeufwzn23+8y01JyaioyWzjEzc95t2/esOetwjs+yMY8X'; b += - 'FZgxP6xIHavD3mxvK7kR+MVxq2f3Q0syJV5YM7nO1JdayNDvyndfqI4qfzXtu7W/wPHF+OyaeWQ'; + 'vn+T83Uo40HZXpfci1FfbZ31SpI73e7piO/GLsh94rDuRU+jM7nditipF6aho6/MP+XCfuI12tC'; b += - '5qkPGof3z+MBZSVXdPbDfVCV3AU4alvkvdyHT5rWDD+OiP5ujLYr1l226xDgkf0v1WVWSvabOzX'; + 'vXXxKlj86IrQja3mvlaNHXNr/fkrupdHbozaX5h7i5m2Nra+/sycob0TWlStWDzV5L/zOGjbzN+'; b += - 'cAjScORGelvK99fvnbGd9HgIXPPxLvI0rVvHx353K7frDIPZeJoayRcPx1kJPn+4Jw/DIYUVFdb'; + 'ZdDq0bXZV0J4+X0jhoS173MTX5pResKyPHqJnDI/gPysewV4tdRa07xnBnTvFBnzwaE/187deH+'; b += - 'iES+GFVsHfR8UKtQ5/43dKc3Hl350Do5Jwip6zTibB/rO+EdSypxU/2DApsB4inBTmId6g2GbUP'; + 'vTKF6Q4vlpUlJi/L99DWJ48LX8js7z99pgD+c5S5ajT2Mt8r0AD74lH+skn8WYdGblzpPynEz5L'; b += - '3178c2PqTzU0n+14bpKx1iT1PrItZrfM+sNT6aMtBmkru59ryCpvbjy1OGqBi0PY0AfJK9hSxPc'; + '9s6eKz/+7njQr6ITcvGet7O/wtrlX6mX+qXYexQ8iRt0ctOGnIJf7s/dZ5FUW1B4zt9r1s6fCni'; b += - 'e8sla1K7HT+o2chhKbM0VTbMZtzqvlPrTuWzy7k8XyLozfyk6AltIr7pIhPdrBsDDOtY3ZpJea9'; + 'HZxzebs9U1KhcPXtu9Fcszm1rTogaqyiveL/wYe0aRbPkzzJ74obCpazh2fx7JspxtfnOfrZhyv'; b += - '4ftOJP6jhj//s5xnxVn9y8LCY4c8OaPu9pDtvLrjj/3nc9m2RRyd81JUlQWt3K4cj702cI3nlU7'; + 'mTmbvYWaXKQDOHsWFl25RnLArOLqhtUZanN+oajlgXNvmWnU+2iS8MmVYb+oRfWZi08Yh5X6cfC'; b += - 'zm4ZsrrXxbKhL+Y+dnmZVrvNstV7dvdfnkRvHv55x6vRUXUZJV0Gzru2uM31+ZGXLj/bELZ/mfP'; + 'n+dL1qqVLcWmoKZc5/1X41N6R4sdJ87bGz+8Dnte3fPGnv/SultkceRsTdnWlsc7vhjbOKLFUtV'; b += - 'RKb+WPDlnI/HdOq5o8p0aC+uQ/TPynYNqX3kPnjh77z3k6Mw77Vu/Kz5i0bLH2XeVoUdvEAmjDv'; + 'Ha6qi29CVrIOZqmmv5o//aRioWqT8M8n46POqgwyJqhnxmLqs+PSzgvueasrklTE/iVy9XnNid6'; b += - 'fwatVjUJLLk6J3VigS/qAYVsg/3YeCV3cWjMfU3cBnsqkgP+8EXoMvjt10b++HL7l2lSFnN9gvx'; + '776xUEwklm+4Pu6z+em3qgh6tBprujW9ujdUGa6xKNcnnftZqli/66XHF4E2a7M7DHtt5dzUBB9'; b += - 'eq1X/2GH1O6ZCen7QkKSpY6u29a48wAs5I5IJ5ZJg8ipk5/TM2IqbORgfGg3Rq+XKo3rJz6yZD0'; + 'Xlt+LMtQZb45svfhulzS2YayBbq9P+yC6K7WjaqX1xqvu9dvyx9nJH9OaJg/jjqgfUDeuZmDTOP'; b += - 'ib990i7W/InBtfM9lrVL2N/6QNpQpx0d7w28KjKc61PMvozRlmn1e+oMjMhR67nbutpYbdOkzfo'; + 'bbx2YPc6eP2SUrHNB86OM68rHpV/2svx42oda8a1+RYVDj5vWsSnlHU12N/bfeseUXbJj49stiv'; b += - 'jJG5dzN2nSPiRhaBgCi3/J4pgWoUy3ycDuEozfPx9BbRCMqUPduQnSvFZglKmqEbcC6UUJf56OP'; + 'sSh9+UNRUGRH0bvDJvaNv3kU73mZ5OS3Ibd4jWDjjmnzlhXnjooq9JrwczH6Jv3MIFtWySRPTXm'; b += - 'eNVYQf2vE734gxXF9a+caIoWIPvxGGiiYujfARlFJQMOLTtAmg0chjvJ66TqWuevIPXKfpvymek'; + '3ewElwrr17tGGqpLAxrn+K2avLYkpLeKeEN0sKayfkdNWZ1paneqq8+eElyo3+2TOqBpfKpN/Nc'; b += - 'XcFtDuH9jeVDj+ZvnKo59DYhbxOo/E0WtlnCh0Op68YfaWj0XPpGzq83hgf7UFvTAebdqdN3XKk'; + 'FbvL20fLCLLTHlQemo4X/Yh/1iM/7GQj+vJ03x438OnI79gk8ZHz6z/+Tm0L3jo33ebzfIfz4+g'; b += - 'aoUUmrVl97IiFTMok7lvzsjkXpRJl1Keq83P/v6kpBd1UKxTKr5J2Qvc4CpBrtRlnQf38JA+S5q'; + '1m6/NwUhwlvplqFD1o3fMKfSU3509mzJ/g4Hzm+iXt0wolX6j0phu8mvH0xO6c+3r3Mf6HNj/lz'; b += - 'N3AL3OHlYT5l6VQPMbiSTSguCfKTTQB0QUyfBvBhKJh0PqQTAj6HM+qEVI2XghiAi2o2yPgcjMs'; + 's8u4gfbbmEWLyqKrndIb558r2/bHYt/2HvjEWi0yLaBFPBGfh2wccqtg4r20oKi4jasmXled73E'; b += - 'AseOg8TKqWpkIjoOTkgTGUyXhqDGWWlpapkkKtEH62SqHU8pO1MZRJvfE5PISHSklQaW8ecOM0e'; + '/6crE2TVEi62zYfnea5MUQ/0GlTvN/urUg8Zx5Z6a+oBe4+vL6xqfTHl55m75PyTWRx0vASVq80'; b += - 'paiUmXKoXYCuN/W5Nn/slFUSqZG6J8UIBH6kepTefxUlUotUyih2oZHqsCziYPQ83wMZR79nEEp'; + '1IOxJP2NTkJqcLj5kLlQ+gyPd/Z4fon9Rbh8ZVXYVuAjdfSs8NMshkwkPk1GIAlACG4uZ6fBylx'; b += - 'iRvxiyaYwaTMfI2YSWP4M3W9Z5RhSytt/tP0CdGNFEF6/Z+WOYKE9abNz2nlLyPujVMKqvD3T5/'; + 'NP1+BJKzcH0+DRKSdLqcRMtLq/HUBe+Dyl4+fc/yPUHt1wHXDO4D552E9zMMNMTWYtTs8LO//KH'; b += - 'Lm1o/xjTmYlT9mDqQ/YPGSybVe0yTeqd6M0Txj9U/pf+HhPWlaB4G06aeRpxEG2IYcfp/aez1Xy'; + '0McYszn0A64Bz9DI+F8H+Hfv/z///pMJn5Xyn5/whSo/nfCN6WLIABpZkv+PhgwK/g8NGSCF//A'; b += - 'hOCaAhR0AcZVIeBq7h59eBsZjDp4sIA7Mw6DAXt6L5RUw9rjY1E6bORkxthGnf7O7TFJmZ/Nxho'; + 'BAYC0eyGU1VUpIP30QmpS2cGgGk5XbN8Fc5mfvofY/ouK8qSGfJ4aLtypMrKgBiCI31EhK8qQyx'; b += - 'A/mp+jS0uRqxKMfZaXY5n9Bw0uh8oOkKaQ9VO9+FIdJO1rz1ojjUIpv5XuactUK0AE3TtTBfpQG'; + 'RO+vx0EpQ+p55eFUHp6kJNSjm0M8zPVsq1BR+P6viCJY+YsZQhj7SxlCbXp14VWrn8U8MfxcCf3'; b += - 'MtSMg7VV3Y+qrLfgGl63sUllzSoDDs8wY2X9nebP32kOmVq4plbeP13ZpitymKrEcWvz/83aYdF'; + 'T+nc/vFHomsHtAAw1hKx3ghrWOsx0vpOqjHqz57v4k2/KbHW+kOijbk/8GCd5KKyjtlyvijYW+5'; b += - 'WGI+p6TM1XSA/22A8pqbP9HJ7tv3of7Wze3oHDGd6vjb8DMOZ2t6Q8Mk7YTjT6+sZGc70NS/8XL'; + 'itI5/dzkd6WKWgHVKvI+UKlVUYcxyBTagm0qSrq9QFKINKgoCXe9om+jiloc0NOk0oIgV+k0UIM'; b += - 'WZwPTy3LAbri3R//8W8c/2kAn7p1fxptfQhn1kwjIru7znHm8rzm7YfaXsqNfoUtuf9teywko8b'; + 'A1ds/p2nS8ZDG5Qg1tdJKag+TFhgQxIp+RuvfIi4Aw8MpPurUZmYGqKnvOlhNqTnkyJWgPQLfpH'; b += - 'UVp/qP71GS0uhoj3z8fufdl4vlX2Y+xztUHzT+F3hpfjC6/H9epoLTgoTx07dm3lfMbes/oe6mN'; + 'UyfuYwNaVlpn9Pn97Ch0r9xeAZp8u7LKVSLoPS/tCY/GfvwFgFlXyRbXQaXEBl+RHcY1386K+Zc'; b += - 'LmNq/sferyf0rHjzNbO+xNXB9Cb3bD+ZMFOrxtSq/y/eoYNkwkytGlOr3vRO4VkFSNgSO1OrxtS'; + 'Ckl8yO+qaaMQenxP1i3yGol9BbRJlroQRpUaDBkg8ItlCjyspE2NaUm8ZRNGZKT0BrNEn6WElTF'; b += - 'q/5/MD9PSwNSwCUVFZJIVEktTrUCF6L6NjP7ijAa6/6CR9sEkykj7NE0VF6PSRim7Q+4ZhFS6Nq'; + 'IplexRluS3Yx8gePxCoGrqTLs9L/g/6lQUO173V0f6LHO+j+pivu+l5M9wf/kHaFRC3zFmXI83J'; b += - 'YFGqXpNBRtnFYWEqIdBpXiQ0JSdWq1XAktshQaPrQWzlZpNAqoVk4aTJD2AJTfdhp+pioVcpRJt'; + 'Hk1YO6FMJaCW/aC01TvvThuX0OOAzHEjj4M90ycMQSodsMH0oTSSt6Qj7OTjuxNBHaMF8xdPHZ8'; b += - 'VL+MKmGnyKXK/kyOciHKl8uazp5okIZ582lyRRxCKT8a/2n6VK6XClXwyUrWNqP0Blj40dFhPBT'; + 'HdikSEWoRNphdHU+mFPGgEEBqxgt8VannAuKX0wnHOZ4zYmC5jGByH4OEkUOOiELixcMGVtj0A+'; b += - 'FFpNtjRVzpfnDZPqIO0XchnIgYaXRnlWBDUdM2J7gja2oJX+U1RqtSoXBCStaDIUShmlnG+k1IN'; + 'wYtXQe6fvvSLoadPGjjiyLaKJF3F0M/vrQhKfcu5RHzWfnE0kbi9HgwbaciMBAJ3v8MsETxA5AB'; b += - '7OVlyjUaaLifdjWsKWKY/Ad+xGqheT4UxliWc+w9pRPaRADX+/gPjmBIpRSjyCqXWBsa9I1JJ/r'; + 'yECRl7fYx9fPP0BvROMjn0MxMCamZt26m1tYWkFdMWQgYmPbw65nL759768c+vTt5+jk3N/F1c1'; b += - 'thqQlT/x+YYSeBZpSlUtLFn6RQpqlg7PYpViRdjT1t7No4P0Ob4MQf5CdbqlSkZlCEftkp1HS2O'; + 'dIPTwRILnPgd0640MufpIS2mLino8/jM84TNcRuP/gqMlaei5Yhh+InDlsGKQS8jkDhP5Lx9UzA'; b += - '0aRaRhxD4yiaGpcNkm0bGO5JtNkLkY6uRS41mniBxorymk3o9FmmomGa+mN5A2D7f+7UTppStE4'; + 'k0Y4AilL52AW0BakKXhlcBKwvwG6eGhuKRT+hPAm5yF4alkqRRoFSV8El+geJQPtiyp4dh+HUpQ'; b += - 'v5Cm10hL1NgdGlNkwLIgw0O6lHSVGvJmxYK3Qh2r08am9ZJnqdT58d+IE7up0qKgiYZalw1QuDp'; + 'wbmJdSA8PnqMhkY1H5RCXVaT/Knq+Ggs4HnDEAzPGRHwx+tVObzockWuF0Cn+TDnphao04HNERf'; b += - 'dB+mfosG73k+lilZ94x3qDlq/UpoFWWF6SZX50QplhqarGrx6ck2EPEeRCi9SGSSB6JYnT9Vpoa'; + 'iOODPxDPIuAHKpZOpdXt9TgYowZAPQ7CKNWrrnmeQn83fXl9TdMxoTFUuZ/+mZ8ZtKr9hC7MWTX'; b += - 'EHDNNFp8kH2Vfp1KnkPXSDkqHVHLwHDUArz+qjU2ml3fJS5SCzMsiVJJdnQAlxWpUaNPTuuszMA'; + 'M50dbXSGgq1MWkCP2p2U+k/QHTwvLVarghlkcPPMoTquJy4khi/4TK1+RYNhRqbSFAAWrcrWQbY'; b += - 'XCRMliuVvVTZIEM6bR0wiLAy03fRimzddo4rTRTHiPX5oKXB0YQCfqjzEZRRatU2X1BUmOVmfnf'; + 'wGfVOSUhmtVOTSWljh4KsoJAUy8DRGoiiJBvyvOkRFmlEMlY0DczBwkUihGZSwYlm2VgM312CYQ'; b += - 'XSMUalAcKorgBpqLRmnCG7t9BwNUukxZF5jRcOqN7ZYHCkvTRa3KkCt7K7KNcUeocpXhMpkaBs4'; + 'Vp1SYJMrdSqssl7+AxShlwzvKe2xoZqlRpJWHE26Jvh3qEmUSbLhxTo3YtwwAqlqvI0shEylRKa'; b += - 'BfQfMDsRRyniNHDh2VSmVZA3QN+DNCU8hq5sWEP/dYiZSpdE2gt9DgJKVaxvDNNBlynrL1VkK0C'; + 'PJSCvNAJC5VoJPRtpKJQq0nUSOSyWJkGbpvBCCIkCqm8S1TRSmVhAkhqnEJe8vFpKLlTCkoGRB5'; b += - 'mqlBFypYIs0O4qnVLWV56aQ76wqmzYgcGtSo0uFVSdJg00T8j8B/vTb6yboOWqoGUv6GezM6XaN'; + 'WUKgpiVQHd332EaQqtXLpIJjRYDmsOyVhxaCw1INUynyZIj6vUB93qLJIESyVqmBg/W4jxJEKMC'; b += - 'JU6C+4Zyq3Ipep/SqgA5cL3+QEI50cbl5B7jiqlLEeq5kMDNzLeb0EQhJ9G0af9p3HQsshOKwKE'; + 'KAhyFKhYL8AvQNaAXBWeRnpQkkKwB5wE6AcBFKtaYL/BgClKxM0xXmaNUyabxMVZBHWrcMlSnyy'; b += - '9W9E3PB3nBKT0yhCCVMJIraBcIJG8fx9z5YtVWfI1X7k8KEge9i3QEYAbdDUtqnhMvQOzam1ckS'; + 'AINh3ysslCmopqbWku29BytnKxv+pNTjGmnPzmFR9d1E/rkCS5twEZ/5dH+zOjTmyzoZwZ0PebQ'; b += - 'UbkXGY/TvR8f73QtpQZxO2ll9p0RFZCCcW6Nw3oiR/KBRPFR4hRIEhfKWpVN9ozFMGm04ZcRamp'; + '9wa0tUoe7czo9/oTn4xpJXG9X0P6yqDvlRNMkAzgYoEbCJwAuJ7AGQKHAvd2vAnyCLhbwF0A7jh'; b += - 'Cocb+T1Sj/PzKc/RHlJm8YRbn5lo6PSe/vSSF7VJZUS+5va9WwdfwdD+xfo07LgrZtSAaIozlNO'; + 'wDcBtBe5b4OYCpwNOBVw6cPHAhQEXCJwIOCfgegLHAu59qQnSCtwt4C4BdwK4fcDVA7cYuFnABQ'; b += - '+xC05k3plxVNsoDNBLMpg1Bf0QzL88EkwhoD22MDRLgkJEpdVl+MkV+ErkrT7bB28OocTOabhtG'; + 'BXAdw44MYCJ4XPu7S/GmjJEbg5XfqUL03svnTOJ3sidRLX0zKqP+FhVDlI+DlKVQFgTMhuC9ro/'; b += - 'HENjlCYHg+PGMxyMLWBwLZmIImFdLBH9gkUI8vATAzm7BLIzk7SbcK50mQXPDxAkzBxH9EVg1PI'; + 'bezPDJNXSd2f01LTgFUgS6eSPWhWRhlkOivkyLQLuUaCX9AIF/wF44JcN/u0rySDJK9Jed8+wE9'; b += - 'Rosixl2bIvEBQnEdV7ye2JvNWUFM+YUh4ls8bMKmffg1MUW1Qt+GHZa8lytcL19/5+Hvn53gsmF'; + 'e5p5gHVAj2NpjNEDayPcbQMcKx+8CDLEEV0l6EldhShy+IkBMt8LFMch5e9fU3ZjK1rrp6QFF7g'; b += - 'Zvg4/aop3m+3IW38frJXaWftXa1q8+XbrGriJO3Nl24aDjuIB1eFu35zEYEv4V+l7DRUf7Lhoy6'; + '+I5Dgxg4waHZDe405KP3NR/HbwnXXX5H7PVZI8FP4qi864Bs3zuJmvN3H3Ni9RfPV09dNF9g3ia'; b += - 'doh9crbtyb52TWr7P1rRray5yXLW/NvKEfsaLstrXKze5Cd6+BrXUIt+hlSj2jizzvU/C5/73Ew'; + 'PXt51tsC73XIv37fVrLDwdthPKPnHRCW6L0qZeOKBace3qVHdzs+Pxt/MLFVFNxle/uaQY+13fb'; b += - '/supKn3Va+XHizVVSV/iGMgPizEtU+svk5NcKHDwyveTge5fpfzhpwZkvllS0Hw78QVIxHCqb9H'; + 'TnHNzt4m9uNuDAowCipM/tHdfIZy9Z3st8dG5L/OHFTd/M3xatzrTcz/khkIF8snhy5xkMqI5lL'; b += - 'Rc8ofelYodRrSN/LNf86/8Z+dSXk3+s39d7JBQnxTh8lTM+QySIHiQQX3bGxhZ5ST95/K0ehSPO'; + '2CmXuEtBt6aEDOZfi1rqVgCNFw3gA7ZGZ0IyLFq6LXzRc55Cq6Z8f/A/7m/8Qw1d0jvtt+jvaIO'; b += - 'hkNxZklJP/L+VAU2PqHBE0117hA0mW1YioHlH94hrlfSQd3oiP0m3TiH9HqPm4Ef9B991GjNJEB'; + 'EuGWPlmXny6QZEqnUkQruBKfHajDykGZ/aTrF/ykdtTbLkU72J4RoOiX/kk6WlrZcB6thTPAw0r'; b += - 'kYMqegbyzNrgnlNsHkTbNEE/0RTtxuxHP1z/CNQqs/8Vpfon9NbSKcP/u53c+qIX3L67Wjt+QaI'; + 'ZzaOTgyKTELnkvpcPr8SG6zunxO5pp1eM/6T5Gj1HaIIUec9FP6Rl8hnmfYcPPsNFneAhK8Qd6L'; b += - 'z1YuOeXQkL2pqvY6iWOrDh6q255r+FxbRWLeLxnhNbP7H7KuqyZxaN24WZvdLs/wrntF4sIl8UK'; + 'EM/jX8sShkm+/At0U/TO5lOX3OYTSDeZPPLofdnOuDrU8eXnLDsKNx08/1FEsfdbDjQtr2o8837'; b += - 'PhD7Xutd9JPGuM+s2F5ePWC6tqyPxuWlvWue2WvZiVB1hgDgrLi9sdtT5LQvqeCQecHH30Pxmoe'; + 'myTmXc4Pbp2TcsC0rYXEAW3lszf3Oj/Tpe0piScvSRY6pg+9EN72isS7Tq7dXFM/dpmkrY3Ep6u'; b += - 'O319mSWNy/tlfQPKtj5+pcSBy7KFKierFg1m917iQ+FTK+zbkJ2ptIvTeJPy48vPDCpYklzvUiE'; + 'efVXUu/bx+DaiE+KCxOKgOZFntixo45E49dzukSVmAZO2t3UnsTjlfYz3fJPDp9t6kDhuUYSP8v'; b += - 'j8p93JYxBXVBNaHknjmjkCv2nTJjt71ESTu0Lny6v3rp4sy6qNJvP/CNad2EfdOTqjvR+IFZ9oc'; + 'GC2b+0OZD4hN+kPqenaK4g7S4kfrXw4MKzTV/X2baLSPyg3tlyEVfU6tUeQOJZ33k5v8/1+S6+P'; b += - 'uLgyY25JfQKJi9amjHHPLL+7v15G4s93kswHpm1afaM+k8Rt3x3/de7XRx9q6rUk3qs3lG3YvGs'; + 'ZTE/gOP/9x8sbEyvz2axHvPXrDpF3rr2JT2JBIvONln37kV+fPq2tNJXLkmq8xBXn9jb7uUxG+u'; b += - 'Xt2E0iaf1HJ3JSEqZ1KahiMRxgqOiZMPBM50bppM4vu3+2dMnxCwY3DCPxBVjPbPdc3+/r21YRu'; + 'ZxgOy9n07aV2OYn7vjhye97bey9b2zUk3qPr3Lh+865d3I4JJK6KmiBnZGRN7dNRSeJEwSFRZmf'; b += - 'LivU/2rqy4v664YQ2J543RTr6UtPHrxoZyEl9auqF4bnbEvhMNO0mcYWd5+Otb9tT7DQdJvFsol'; + 'DyYEd1SRO7rt3TvWU2AUjOuaTeP9Ep0KHonfNmo5aEtfsebBnxf7mtTUdq0k8v0wzrSljw9sNHf'; b += - 'Me32Xbh94YTJC4fN+py5aPOi20N50nM7NDe64RVQrWv4TqJr83RKBa7u5dFGapIbHEWKXy/a1J9'; + 'Ukblq6vmZeYegPRzt2kjjf3Pjg2+fsGc0dDSTeLRTKkvtsO/uu4yiJ68vHnz9+b+Di7p1nSMz07'; b += - 'qqGaxC+drOfI2E8OjjW8IvH5yb1VnPMHpy82fCSxt9zx0UCHPVd+NtQZkPB1v4LOkhG27KIBdME'; + '+981CS9xa3zIokvzFXnLXZw2BjZeZPERqeQyb/vmtqe3dlC4ic2pnOl7AcNEzufkvjMtHgl50xD'; b += - '7IbjZ3mrt9WfPyJMv+EspP/kybzNO9u2gtDnzvuYFdy5oQVPf/mzHOjPq4sIjEtJwH4xKCS9GXf'; + '9eLOVyR2kVnfG2b5/U87Ots6keDb0w8jBoyg2nOdoPt9CsE7psmai48edepPbMyqP/akeDNO9uu'; b += - 'QfWxxHjt9gdaB/vmmN5OqNLJL4B0G6tVri0LZd7MrJJGkPWKnVnrguLE19XUoSYCDIhs2np0vkv'; + 'gtDnz3xb7DqzoSY5hYHpszjo5/tzCH32ouo0Upj8ef85jYk0i4kLi0bpfN632+flSAcmHgylp7y'; b += - '26rIMcjBLkr3+Q0k32q8Bb5viDIEtcRXX53HXriPbkuBCvMp87rvBW95pijMhK/mJHtJHuD3mmH'; + 'WWffvFrZhGTmIRpN/7oxeFq7J/W0VOWBFk/ebGah/Z7W37abM6N2SbbGaxT0y+SksFLbEbO+id3'; b += - 'ZpK4Z27NksWrs0q7oFoST8gYs3NUHud9AjqaxLnN7+Wvqu63MxctIvGxk0uHzJk4ZOIcdDqJOw5'; + 'cijv5PG6sC09KHtWpe8mLmGqJTEj2cW2kifodf7oXISRxW1Lln8bcGqQaiGxFPyy3aOL+b8no5S'; b += - 'dcPpkXODpcnQeld+ShX8k7PSafwpdRuLHSSWLK1Z2//UhuobEbaYH3xUdW7q2Di0nccLKRavVSy'; + '/HeR1a2SlS1JO4vQShIfPrY0be7XaV/PRatJHDhyQeOxRK/GenQ+ld+6hX+m73T+5gRaS+L7GXW'; b += - 'o/22M7SXzx0PN+cYer9gixgyR+FN7qvcOHusnR2AkSr81LuLb0Iv98Gnae6g3iWo76MNh+UQF2n'; + 'L968Iv30XXU3iPtW+N0SHl65pQ+tJnL5i0beqJcffWGA7SXzuwK9JiQdvfi/EGkh8L7j375Yv26'; b += - 'cQhAreFVbtKHi3Fqki84OfHCXFXbm/YjVWTODRi/Zrbo5fWXsZeUcTiEWvWR0fnHHiJfSSx07Kw'; + 'ZFY0dJvKY4/cLSc/wzOdgZEjcn2o9/OcJiUQV2kcR+gl4Lb+6qu7cUu0niBTvupyf+dG39bqyFx'; b += - '3TUzN01j4nUk9i4asM6qxu0yHyeNpBFP4eznT9ZYLe2A80i8nLdsVe1Sq6fxuC31/GOHlNt8j/J'; + 'AGh61Zfm7D0/XnsKXW2eOjqddHR4/Y9wV6R2KY2aHfrrE1VTLyNxC6VqWtNWnud5+MEabDDSTjn'; b += - 's3IXEEy6tH5n4U4R+Gu5OYp975XhYdcvDa3FvEhcbIhL9lqXPPIKLSBy+d/qy5Q4B1+/goSTe6P'; + '1werTZb64zwSL+PVrny/1ORhMt6dev/KP+sa37G+EO9B4ilN60pHDQnVVeEOJHa9VY8HtdgfXIO'; b += - 'x455y7jis+4REkvp17f7/y8IKXlkQ0if+zkTddrdDoyNnMkREUCfQYmrbLiDfSI4gRlzXBm5rg8'; + '7kLimM3SUe23urB9xEYmD91TXLrP0vHgdDyDxBtv7O+fesF7+Gg8l8bWi5r2KgwueGBPRJP7PRt'; b += - 'iZ4cxO85W9GRn5747AcyvcQ8kND+UFCz0bhtzaRZ2akyflOGwF5IWRySD5K00IY/VrQpv5G7EB/'; + '1cVZ5aS3IoxVNNSPvQZfQSgB5voEcPPd74Gd70Ga7/DG/+DG/5N6Miv79+SA7gOwr5AQF8b6FTl'; b += - 'mMOIuzZ53pN+/te0toTDLxiuSdIhj8bpe4D+Tf4aZcsY5iH65zw9aoLbYVQejdgL+3M6k5vgIwD'; + '/BbP6MHRyMoGz4btMAOh78zWaEPYUjPi/XYAqUWf/Q4CP1Xp9DYwwEXDNAwihJHp/9igUFP+yb6'; b += - '3aIRvAvxTI/yYfv5v2wi9Q1atsSJ3xg7+u5nIEMFQMItKSWgnSIA7SMYwFf8yDFiDaDXf5y+i72'; + 'b3LfJdP6MLfQT3N8m8YoPe+A7fcRDmpsPwSp+xpFggYZI7oFixDk7msGcmqJvz6cJ0bNTfTYG/u'; b += - 'EO0WEEvr4+8CRboFCmxUhj/mYClCXNA/dGGeNo4nJfkNkTWupQswu549ZLpzV1M4uezRlXFHBGN'; + '0HOSf4TMYteCjx/cxagFMj1vp939b0+h9yJbpJqRxzIa/42XSBCMBH5aV3k+QDhfM9WH2/8swhR'; b += - 'llrRX8oAjJwqnRauH+ZAhffmhByaxKkBW5cgjRqSUx5BC4I4q6jVqIR4NqMlm1cnYxsgkeRGkpa'; + 'KVRv2RAxJ9DHOADiNwc3PtL8hT5MRKYv8N/1QgKQb3XeItp61kO/0lg2COQGfMDRTEnRnUwnLdR'; b += - 'MFfUtOzYseNfyyDZg6SS4qvhV7A8k7l8kloKuCd7cylHeB8C45sL4oMUHOV0vId0lObSWR2l/ZT'; + 'Er606/L/asZ1CKy/kqtn8AZiYbfr58Lv0cV9dyuilqgX9xlfrKEXACH50wotRq4HkRuvaj9yCUc'; b += - '8b/y81VGaQ1CQMe+2OVS55jXaVRtN9x9jId0f+P2lfYEVm1+KTpEpk6vhRnFEDk3zSK+OjVhAr0'; + 'kFQovgqyoKHO+SA9gieg/gJacM6SWUWZyVvcZR62lNwQ0ADOU20fGBj41yLJdJTLcjR8vgourDp'; b += - 'b5o7jeXG8+fxTf15c7xhv8548hAbiM8eB6eHv+ubzG/ahNwzhBu4ZteW8OdQgvp1dcgjyBQCAU+'; + 'lcvl8iP3gMdFc6iG8J0WwV1RRpyXuoeM5VUVtFFym85L5N37a6HxDQvqy4ldT5bi4yzpRLW3hej'; b += - 'AsCBCJBoCBIIBZIBMFCgVAo9BcGCEXCQGGQUCyUCIP9Bf5Cf3//AH+Rf6B/kL/YX+IfHCAIEAb4'; + 'l8D3/juS5cF3Dhl/HLHLmOLl/8NqACwokEoGdLL7LCMVhQLBAIhAIPgadAJPASeAvEAh+Br1AgF'; b += - 'BwQEiAICA4ICxAGSgGCRQCQU+YsCRCJRoChIJBZJRMGBgkBhoH9gQKAoMDAwKFAcKAkMDhIECYP'; + 'Ao9hJ5CkdBL6C0UC32Evh4CD6GHh4enh8jDy8PbQ+zh4+HrKfAUenp4enqKPL08vT3Fnj6eviKB'; b += - '8gwKCREGBQUFB4iBJULBYIBaK/cUBYpE4UBwkFosl4mCJQCKU+EsCJCJJoCRIIpZIJMHBIInBIP'; + 'SCjyEHmKRCIvkbdILPIR+XoJvIReHl6eXiIvLy9vL7GXj5evt8Bb6O3h7ekt8vby9vYWe/t4+4o'; b += - 'pgIDoYBAsGTn8uB6h0UkBThPywPOh3+3QuVR4CJrVDKvgf/ozyvJgU1bRWrZOnSTM1sLyNzyayq'; + 'FYqHYQ+wpFom9xN5isdhH7Osj8BH6ePh4+oh8vHy8fcQ+Pj6+viCJviB6X0DaFwTzBY8+/aYrYH'; b += - 'biMeAab2v39Szo1mYpUuV+WPCt1GNzzyc6j2sYQun9Qw50QuK2h1tKvl/FFpJ5AdmpSRCN2+ZI8'; + '2DO+XQNtMMKs/nGdQanOB//OnpnWJQ0s4alVaWA4+h7RIXk0PFpceGHGrdw9FJJVHkws0l0EzpC'; b += - 'ql3vyKMI4CmfciVNN82vzqM07IzPqfDUMzImDV+qpd5qEIgECJFvRabfKZ/SRKTHIeoQgQ5KitF'; + 'qqvytQbMH/nk+IKXQ7XRpCOmVRdMZllQtryovzKFFKaRugs2hQh/Z6iQL0j41LD1kW2DBCIBIgU'; b += - 'lQxfQUSmydFkULbYkn6L8oTZOaX90WkG/JlPJqcMPsg8gjzSgihe5o/cnr5n5FOVdQT5Fl702h3'; + '+IVpKp1FrZ1Sy2905HTMoBuQKmWUSDjZRkhh4DwFvUD0iddFs6i12M3gChfRj9Lt+99tnjwH/uF'; b += - 'pfh/j6+g4l1RDpEgI90J96K3gHXvwz+ZTm4XU6L8b3PUWerlBCPVVYRB7wxpOfO0xORQ93bkBYY'; + 'cZxCDquNdce8uOIVBLeLrsReTGpX1OPszLKVxmpub20hyV44ub9AjfNJ7wDvQMLU11EacroYqF3'; b += - 'iSlFdlsJKVRaT+SKkOjDOMBjhRuXqmpeEE9d+DDLR8NSBj5nRK+B/XNB08yRcb0RAJZcPWnHElp'; + '17zJLl5imgVXRY3I7wxolfNFpGZR+us4Cw22qoTcIDNdQG4+Ea6nvoaejF6iWkOV2+fsPYn59HS'; b += - 'ZOaAK7OR7L+2Ga3a2LbXjKTa1yf6AxN/8atTKki6sWy1QkluZNMUzSOpnU8u/ZEKI3aiKTcRFGc'; + 'tznKdRwXOY7UqvbTmSK9Ol5Ba5Q/N5mNrVB2Xs2tRmnp/3F8qXHmPjZVP1joZSo/l/8akHfq5TK'; b += - 'wmEyMxWSzONZcFzNHnpO5lYW5JWGFN2tmw7FHHYjmqCPuxHJGXTA3ez7eHvcx80UFuBDzR9djG7'; + '3AtVeQqN3vw1gkwA4frQY2mPLtiG3jBBUJzBYDIxFpPN4phyexhY82wMTYx4xoQJbmbWjWOBWhJ'; b += - 'EyYhP7D6yWUY814AbO5rz8aTNKBQMGTps+y+WeheVP0bV1vn6dE4YmPSqaMXP2nI3b9x84WXnm7'; + 'WqDVuw7JFe2C9LPh4f9zVwA0V4ELMA12HbcA2EpvYf2LvGe1YB97J2VxcUjVzlSB1WFX17B63jI'; b += - 'K/VTwwIYd3MUygSh3ToGNVzaNFM8HDn/gOVZy9eqn6CEOYW5NOQDt26R/VMlMmLZi9dfubiJXNr'; + 'yHRL9vc3MfmD4y417lzFlz5m7YvnffseMnT91uedCJEKZmTkKR2M8/MDJqZOUs8HLn3n3HT51ra'; b += - 'T+AUNWBIQmKSTD5j9kYQ5OSZ+9VP3ppbd4uSyfVFOw4eOnzj5tt3hROmrVl36PDJUxcv3bkbuaj'; + 'nmAEIZG5Fs//7DwyKhRUlnlnKXLTp5rMjR1Ao8iU9PSR2VIZTPnbABBjp1sbnnw3NA0LFIq01V+'; b += - 'iQuXFS1ExsQMGJSZNmVm8ffeew0crT920tncYkvD5S4NBnzXi1/sWbkqVi2vSmLFbto47cNDeoY'; + '13Dg4KUrz19MnlK1eu2Bg8dONF2/EbFo/9nj55oiY+NSh4/KmD6rZvvu7w8eOn7iiqmFZVr6mz8'; b += - 'Vb9x4xsQMHJySOHbfr5PUbVW/ffVJrirW6BW19/dZv3XP41KWb95eELVwkKHa7ev2iISZ28BAW2'; + '6OnUFY283G/VSKHvYZZRN3LK1fF+DhWXPXuGDY+OGjUgfNbF817GLl24+f/Fapa7RaBf0dXNft/'; b += - '9Kqnd+bGqVK3LFzl26zZsel606fuXzl1u2nDQaEn9Rq/H1ifATbmWBaF5Rb6Dcx3DgFzrgjGyX8'; + 'X7gyearjQvCVq4SFDT6+eL5zpj40aksdjGJv3cn7UqlOLAgYPCZs9JzNU2njz/09VrDzs6EX5G7'; b += - 'CBHBwlEWk2XN7W3ZjBXPwgkXLgdn4ywcw3GcRzBwMyZqYceIYTmzBrAwpr15b6Ir7oOjhDXTkhd'; + '0nNxKRQti3BNK2oN9JtYvTiVNji1myUcCdEBAtHWUyWKTfe2IyVzMKJHlwOzsZZOIbjOI9g4AZM'; b += - 'CuLZJ4mcRw9voTzPGb8OdmOPr8UEse05zji3PljecyWU6MQex2jO6c70JHoHiQjNvwolphuvLwS'; + '1MicEcuyZaWyMKYlL54IwV1xlDBlGvP8CLs+GfwCYkwfXSNj0jbchjmpHR/OsuBYcbrzuvPGMLl'; b += - 'M/YS9cv4YdilvioSwJuz1jvMG6OdvP2gdvadnSUj+dGL/Q0cxu8jyGH6MDC7NoztEfaqXl6X9x4'; + 'MG+ZwVn9GONeF4BEoLjRwIWyYBriuHrxyF8bgutXsANwYD2D5sPszJnWaWrHdTV1xe2N7Y101MW'; b += - 'jH0Bob+Pu/9clzMKUiw1e9l688xuM074FymhN2dzWNqzVrgg4lBHH1hcxeuPSea0E9lblrDcyCE'; + 'mhtYH5tPkMd4Y/CzOy4ugO9NbwdJdteAxdJ0PXzPt9GS7mVKR31+1h604zuFb+OJfpww5n85gag'; b += - 'q4iCO21ZPAZDv86q4BML5XsxwdMZhP4Q7oxbmiNMFAWZwxgsFsZmczAuwwyzIKxQa6wZw8baFrX'; + '574CGI4RzfZqgfXghNN6GYwN63mWRLClUTF9b4sHoOhW2tS8ZqF8p2Z4O1MQncAt8WNDREmioLM'; b += - 'DHDBHcxeGK9sdHU5kYFvxg9gl7Ap2nXeD8wt2E7uDPmA8xJ4Sz7A3/LfEVww0VJTXrkOnmNjiFS'; + 'YQwWC2OzORiXYYAZESaoKWbG6GbaHTXHLDFrwx4MO3Yv1AEdQ+RjW/HtWAPWhP2EXeRd4lzGrmD'; b += - 'tWjpo2d0Hpjv0TtzNZnKCOnfp/uHyFsG0eJO4/YFzZlq0VgQ+aTZoyc8W3lggbYkysTJ6we4+zC'; + 'X0TuMu9hD4hH2jP+ceIv9ib9Hef38B8TG1SxfvmJ81bwFq77b+/V2JovjHTgg5eX5n4juVt7ilN'; b += - '4vNNbN1CAoO2bDx1m2OeNbsDSxuh05piuI5qqTDb2oGp3ysMyxZ6uvXziN+ecmq1WvWb9i8/+AJ'; + 'TyjVu27ve6YzZ1+qzlHyojrIuxcVJZ+u7vbXuw2FyD7pbevn7rN1y9xhHPnrOexfUfkJNXM9dUm'; b += - 'phnPzjWkc7c+69afv1DCcnRq1aZT56evagwnKwl+6zZtPQIkIZE9o3vHxfeHjS45VZ6WockbM27'; + 'XHwWeuIrFdtnYlJS5a6ufdzTF5Wt/Lb1evWb97bcJRpwDO38xsYNnTtujNn61jWNr37DBj48Glr'; b += - 'qmrKt245c3rJVqZqb2GoUAyd88DQc9fPVj3fFhZYuhDunBaM9I4Kw8NKXMd0Jd8KDLTKL6Vog5t'; + '57HjBP+rPn0dPX38IqKi4xOTU2Ddy8yW5eSri8vKZ6zeuHXbj+e3bFUoD8wb1Xs8Aydc8RwcdXf'; b += - 'hz2c07dAvGU9kcgT2jJe7MQMMkxE8MP4LL4rDC+O0IHicID2E4sQgeq3eUOMA8gOXL5ha07Rvjw'; + 'TTbLDhcY9CAdOT0Z/Rihh5KzbyHQgHAhHtsggNqRCzLHgsq38w3zxbDZHYMGwx20ZaJAPMYThTn'; b += - 'fayd2rrYuvAiQERRJg7srjMSHY7js6sc7gXswODy+zDRBlWOEM/LaVFJJurX5fYqpsZl2luE8Lk'; + 'BZHFYQvx/B43jjfgwbFsFjxUeKPQ09WW5sbkXfhCH92c4WNn17dLfkxIIIQg2tWVxmBLsfR2swa'; b += - 'BnkTDvp9obI4XiSH272bcyQ7zjyqgNWd64r3iBLjFmwuM5jFLQhy1O9BLf3NC5em6cz0J6ZGp5o'; + 'IAz05/BZQ5logwTnKGryuoZwebq1o7qHWbAZRp282NyvV0IS90PAdJEXgSHGx5mG8FONIxkcXVv'; b += - 'X+RVfGd9j1b7xwSwvIoHZltud68GwGb9tiPwnIphlHQbbwMKv7KJfvDilTwsCfHBrgl0wfQqRwT'; + 'wrl2+OBIMW7E5jJ9WdwKb2uWP94jBTX2MJy8NEdroDs6IzrbsFJgYlGzcdLglT9M8mU5E+nMvtx'; b += - 'DHOSyrOck9ONpQ/Weuhp1t112/xJY3gOOon1TQA5/QxdKuqLeb/mF7/Q0f3InACsLcrEMYaNED/'; + 'wriOj26RtabIhhC/LNAhWiYVv2ZWXnTmrHlZ4GqN2TCOCXVE9nchnGOIclsnczMEcTYDuDVfNLj'; b += - 'RfPaIJLYIXWEdEd9cdCmSgRz3AWYQUW3oSM15+r3yJxNfcmOKDdM/VLCm+BTJvjWt4gFniLLHmE'; + 'QPL4VNIZVjrZtaMRifMsjYvDK+F5Opu9SfMcAeLXTFbQisIqiXqR8DrTjvPOkX3R9O0QSXwCabh'; b += - 'BGTGg90qpqAfzw5n4CyOK27GYHK5TDboVfXn2nCLmP+yw6avSSRXHdlnF+itSLpDuMbxaISNdHd'; + 'kYH6g4HMFEimWErwiqMXAgpL4Wr2+JjZ+hCcECLYOqWTL5KmOKGeBGRwQTty5hH+IDMObJ7x1Yk'; b += - 'G3JemOP7huidFkU5PE5EqPfUBJPghSfTHlLQq6gT/B6s8RbpCCxevIsFfH6rgCS3cb45TZcnhGo'; + '8exAWrzZRsArh6U73YdbyfyXfTh9zYBnr4NuHG4dU7vQkqxsqSznL+FkcGuB6vCLF5iQfbsLPUd'; b += - 'NcjJAfcoE35PkmZIXUqsgjjyQwwDee1xUilPJlIcFHZjOSkaE2JUgzB74bj5/sVuNd0t5LwPdWr'; + 'I147/8CyZNuL/xTlNVl4uxVkCfhb4hzxPPUrx6n9lpBVKSlzjCzM90vQ8mOmJBH99qYT7knA1Ok'; b += - 'XvgjW1I9mlRm+yLNPCDVhiSg+rRh0Eot6XY3fyheJOFNNiv+apggcvDHh9atIx+O/xhbKyqZe/l'; + 'lVEq5SFkQqNGHUduYnPB88EYT2QR688nGHGvD/IG2OtGACvOpxOr0fBZnzyQQfmcPIREZ2q0PML'; b += - 'B1f1Ri5J+8ivrOqD3GnZF3nwME7wUBq/5dGq/pefPezPR5QD3qKGAUg2wkJ8UBTFwB8aaSaws0L'; + 'Pm9ePzMXq0udf2dBXwX5do7Ltj6TNee7zPdkA6+9/LOTO929K43yrUXOxjeFW8ykvi6W630FfSQ'; b += - 'loGPFMJRojbZwHmIWwuGgzQmUA/ohRns8lO3VHOWLQQCCDTpQFhdzRUNgcIINvHAxJxTDgkGHRW'; + 'RLzsuTI6SCSJfz5m5dA4pX3CsoaVCUiTJFH208pE5Lp9EnLnbvKWe5LUpy32w88/Wjmcjzwb/hw'; b += - 'Cgw0ZbYDhqBjEDeEBtMXvQnYXAuIBvFs7FWqAdQFgeCOkBxAOpoPGgBAszI6XCJIFIMYhdsGDse'; + 'tH4EUIizEFUVRDPyhEQYCcxNUBnprDEOJr9CetmkGfhwOakWgHNC5MfrjAWxnK5QvBgEINuiVWV'; b += - 'yyuaCRKoEA4ykb7oBiLx05BMY4ZsyfmjMKf2AIFMTLMUHcOmkagTJAozBEjcCvCHNwyUUsUlDvu'; + 'zMDvWDwQk28MLFbFAM8wW9IIGBUQDtieGoAcQM4AHtjlmAPtIPxgV8s3Au1hP1B2F5IKQjIA+o4'; b += - 'irUAf2EYymKjmBkHBcMIqsNaoTk4gXFQJn4XFAJILQtKxNhMLoYK3ISEAGAG6sHhYXyQSRSXoGR'; + 'gzQhbIwA5IqTBKIFIO4B+aLfYzFDo1ACRQQR9noUBRj8dhZKMYxYEVitqTMqNgIBTEyDFAHDppD'; b += - 'C8BA2hi3CUXOUBSPEscowBD3eEsFnoMl8hKnAEALl8rHeGAI7dNQRY6ALMadm5mhbtqOZLy5AYZ'; + 'oEyQKMwaI3ATwhDcMlFjFJQ9bof1BH9BGMpio5gBBwVjE6rFeqPjcALjoEz8BigEkFoWpIixmVw'; b += - 'G1Q7uCkscwHsiXHxoApGIYA+TbC2Ojb2CxoaABW1nBpRr6CJ3PQHCQS8IDJ9C1QD6CLTYTEqPQI'; + 'MFfQSEgKAGagjh4fxQSZR3AclE4L7sTFsEY4aoiwYIY4dD0LQI/YIPhPN5CPMPAwhUC4fi8cQOE'; b += - 'EtPkEsuLgQSWWhH3J2BsjuhPEzEAW84moTDgmSiJSjOtiNLFUXtUQsWzjjOhhlxgCXKhJUEK+Al'; + 'qg1hgDXYjZmBmifdnWBm64AIVF1g8NASWPYTyQL3fUE1DFMAbItzPGRp/BYkNBJTcxgdMz9B76D'; b += - 'SBcTXJ2xeDZ0GY6SgVE5DiqUgXBQ7BOoD9Aa0FkgNgLlcz2YZC0xMdwXFDbCAoWB9rUHCQFSRjJ'; + 'QPBQS4JR5xA1wD6CBaPhxsIifGot7ETyCcXFwKaLDQQd2Cg7AEoDxNxQPeAZuCwKEGhoMtQnG1O'; b += - 'xKBWUYCSMCgX5AGMpgnYm+sB7X8wBAXkmGGw2xmpBzMMRMeHPRi1QewZqCSRZk1IYoMWiHQmElc'; + 'liyKWqBGLJxxhA0zYwlLlQk/FPwIT0DamOBqiyWz4ZMxKBkcleHgozIQDoq9Bt8E1Ah0NoiPQPl'; b += - 'VCkvVvkdRMlQZ+QEahzFFlgIl641NjsGr4pjpkpOiEhqjHEDMQ+xOUk61WyXSpYP2KsSGvtU6aL'; + 'cRyb5pZgY7gYKHDCCwHeCBUgKoFLKxCFVUIoRMCoUAV9XxGDAO5RpjIABG0EHEkPBc8QNs0RAGR'; b += - 'scISIqN4F3BOowHnsOzdrnMJyWfYJCa3m2EvkECX4GPEi7IQRwe3zS/+WBd6e8j8PcRijwZqVBe'; + 'AMNhtj9STm44iY8GCjRqgFAzUGVE1JigwpWgfCBBKgBFgFLCRT9xwJfr7rMGKA4shilFOoUkq12'; b += - 'f6HIF/jle/yATDszM4f65wMiGS5P1fLBQlOSKhP5pwZIAuViYUpQgDxQJhXLRcH+YCmZmpYWJBU'; + 'TKVGmPLwQxGK8mVoUSCVq1BeOAV3GyWSV2zSgijCGWBLEslK+JnQ39MoZebwE3MIKW2+gjdxEI3'; b += - 'Hy8QpnsxckBedhinwFQb7CnjwyNsnBSwK0uXKZlB/Syzie/iLU8VSkUwQ5Im0stRC1Q1tUpqc/N'; - b += 'aOBm1vmUWpe/ikZ6pSwJru/wGcYyJi'; + 'gasCTrzlJXzHD1JcfDBH9XQVeLkKfJyYRRI58M4UuAl93QQ80OUUuGYB/j9XpjCDB3D4eIOAUh8'; + b += 'fj2xfcZYT4mJMqb9m5MjIUyHVWH/jAko+wTVXrswC07v+bHhmpKusWPP/AEXJXJo='; var input = pako.inflate(base64ToUint8Array(b)); - return init(input); } From c48f68ec58d03311af379296406e29f0c2e11856 Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Wed, 14 Jun 2023 09:30:02 -0700 Subject: [PATCH 017/193] Update crypto wrappers around BLS WASM --- packages/crypto/src/lib/crypto.ts | 232 ++++++++++-------------------- 1 file changed, 78 insertions(+), 154 deletions(-) diff --git a/packages/crypto/src/lib/crypto.ts b/packages/crypto/src/lib/crypto.ts index 245c8691c1..3c54083388 100644 --- a/packages/crypto/src/lib/crypto.ts +++ b/packages/crypto/src/lib/crypto.ts @@ -1,6 +1,6 @@ // @ts-nocheck -import { wasmBlsSdkHelpers, initWasmBlsSdk } from '@lit-protocol/bls-sdk'; +import * as blsSdk from '@lit-protocol/bls-sdk'; import { LIT_ERROR, @@ -18,12 +18,11 @@ import { uint8arrayToString, } from '@lit-protocol/uint8arrays'; -// import nacl from 'tweetnacl'; import { nacl } from '@lit-protocol/nacl'; // if 'wasmExports' is not available, we need to initialize the BLS SDK if (!globalThis.wasmExports) { - initWasmBlsSdk().then((exports) => { + blsSdk.initWasmBlsSdk().then((exports) => { globalThis.wasmExports = exports; if (!globalThis.jestTesting) { @@ -63,134 +62,108 @@ if (!globalThis.wasmECDSA) { /** ---------- Exports ---------- */ /** + * Encrypt data with a BLS public key. * - * Generate a new random symmetric key using WebCrypto subtle API. You should only use this if you're handling your own key generation and management with Lit. Typically, Lit handles this internally for you. - * - * @returns { Promise } A promise that resolves to the generated key + * @param publicKey hex-encoded string of the BLS public key to encrypt with + * @param data Uint8Array of the data to encrypt + * @param identity Uint8Array of the identity parameter used during encryption + * @returns base64 encoded string of the ciphertext */ -export const generateSymmetricKey = async (): Promise => { - const symmKey = await crypto.subtle.generateKey(SYMM_KEY_ALGO_PARAMS, true, [ - 'encrypt', - 'decrypt', - ]); - - return symmKey; +export const encrypt = ( + publicKey: string, + data: Uint8Array, + identity: Uint8Array +): string => { + return blsSdk.encrypt( + publicKey, + uint8arrayToString(data, 'base16'), + uint8arrayToString(identity, 'base16') + ); }; /** + * Decrypt ciphertext using BLS signature shares. * - * Encrypt a blob with a symmetric key - * - * @param { CryptoKey } symmKey The symmetric key - * @param { BufferSource | Uint8Array } data The blob to encrypt - * - * @returns { Promise } The encrypted blob + * @param ciphertext base64-encoded string of the ciphertext to decrypt + * @param shares hex-encoded array of the BLS signature shares + * @returns Uint8Array of the decrypted data */ -export const encryptWithSymmetricKey = async ( - symmKey: CryptoKey, - data: BufferSource | Uint8Array -): Promise => { - // encrypt the zip with symmetric key - const iv = crypto.getRandomValues(new Uint8Array(16)); - - const encryptedZipData = await crypto.subtle.encrypt( - { - name: 'AES-CBC', - iv, - }, - symmKey, - data +export const decryptWithSignatureShares = ( + ciphertext: string, + shares: string[] +): Uint8Array => { + // Format the signature shares + const sigShares = shares.map((s) => + shares.map((s) => { + JSON.stringify({ + ProofOfPossession: s, + }); + }) ); - const encryptedZipBlob = new Blob([iv, new Uint8Array(encryptedZipData)], { - type: 'application/octet-stream', - }); + // Decrypt + const privateData = blsSdk.decrypt_with_signature_shares( + ciphertext, + sigShares + ); - return encryptedZipBlob; + // Format + return uint8arrayFromString(privateData, 'base64'); }; /** + * Verify and decrypt ciphertext using BLS signature shares. * - * Import a symmetric key from a Uint8Array to a webcrypto key. You should only use this if you're handling your own key generation and management with Lit. Typically, Lit handles this internally for you. - * - * @param { Uint8Array } symmKey The symmetric key to import - * - * @returns { Promise } A promise that resolves to the imported key + * @param publicKey hex-encoded string of the BLS public key to verify with + * @param identity Uint8Array of the identity parameter used during encryption + * @param ciphertext base64-encoded string of the ciphertext to decrypt + * @param shares hex-encoded array of the BLS signature shares + * @returns base64-encoded string of the decrypted data */ -export const importSymmetricKey = async ( - symmKey: SymmetricKey -): Promise => { - const importedSymmKey = await crypto.subtle.importKey( - 'raw', - symmKey, - SYMM_KEY_ALGO_PARAMS, - true, - ['encrypt', 'decrypt'] +export const verifyAndDecryptWithSignatureShares = ( + publicKey: string, + identity: Uint8Array, + ciphertext: string, + shares: string[] +): Uint8Array => { + // Format the signature shares + const sigShares = shares.map((s) => + shares.map((s) => { + JSON.stringify({ + ProofOfPossession: s, + }); + }) ); - return importedSymmKey; -}; - -/** - * - * Decrypt an encrypted blob with a symmetric key. Uses AES-CBC via SubtleCrypto - * - * @param { Blob } encryptedBlob The encrypted blob that should be decrypted - * @param { CryptoKey } symmKey The symmetric key - * - * @returns { Uint8Array } The decrypted blob - */ -export const decryptWithSymmetricKey = async ( - encryptedBlob: Blob, - symmKey: CryptoKey -): Promise => { - const recoveredIv = await encryptedBlob.slice(0, 16).arrayBuffer(); - const encryptedZipArrayBuffer = await encryptedBlob.slice(16).arrayBuffer(); - const decryptedZip = await crypto.subtle.decrypt( - { - name: 'AES-CBC', - iv: recoveredIv, - }, - symmKey, - encryptedZipArrayBuffer + // Decrypt + const privateData = blsSdk.verify_and_decrypt_with_signature_shares( + publicKey, + identity, + ciphertext, + sigShares ); - return decryptedZip as Uint8Array; + // Format + return uint8arrayFromString(privateData, 'base64'); }; /** + * Combine BLS signature shares. * - * Combine BLS Shares - * - * @param { Array } sigSharesWithEverything - * @param { string } networkPubKeySet - * - * @returns { any } - * + * @param shares hex-encoded array of the BLS signature shares + * @returns hex-encoded string of the combined signature */ -export const combineBlsShares = ( - sigSharesWithEverything: Array, - networkPubKeySet: string -): any => { - const pkSetAsBytes = uint8arrayFromString(networkPubKeySet, 'base16'); - - log('pkSetAsBytes', pkSetAsBytes); - - const sigShares = sigSharesWithEverything.map((s: any) => ({ - shareHex: s.shareHex, - shareIndex: s.shareIndex, - })); - - const combinedSignatures = wasmBlsSdkHelpers.combine_signatures( - pkSetAsBytes, - sigShares +export const combineSignatureShares = (shares: string[]): string => { + // Format the signature shares + const sigShares = shares.map((s) => + shares.map((s) => { + JSON.stringify({ + ProofOfPossession: s, + }); + }) ); - const signature = uint8arrayToString(combinedSignatures, 'base16'); - - log('signature is ', signature); - - return { signature }; + return blsSdk.combine_signature_shares(sigShares); }; /** @@ -253,55 +226,6 @@ export const combineEcdsaShares = (sigShares: Array): any => { return sig; }; -/** - * //TODO: Fix 'any' types - * Combine BLS Decryption Shares - * - * @param { Array } decryptionShares - * @param { string } networkPubKeySet - * @param { string } toDecrypt - * @param { any } provider - * - * @returns { any } - * - */ -export const combineBlsDecryptionShares = ( - decryptionShares: Array, - networkPubKeySet: string, - toDecrypt: string -): any => { - // -- sort the decryption shares by share index. this is important when combining the shares. - decryptionShares.sort((a: any, b: any) => a.shareIndex - b.shareIndex); - - // set decryption shares bytes in wasm - decryptionShares.forEach((s: any, idx: any) => { - wasmExports.set_share_indexes(idx, s.shareIndex); - const shareAsBytes = uint8arrayFromString(s.decryptionShare, 'base16'); - for (let i = 0; i < shareAsBytes.length; i++) { - wasmExports.set_decryption_shares_byte(i, idx, shareAsBytes[i]); - } - }); - - // -- set the public key set bytes in wasm - const pkSetAsBytes = uint8arrayFromString(networkPubKeySet, 'base16'); - wasmBlsSdkHelpers.set_mc_bytes(pkSetAsBytes); - - // -- set the ciphertext bytes - const ciphertextAsBytes = uint8arrayFromString(toDecrypt, 'base16'); - for (let i = 0; i < ciphertextAsBytes.length; i++) { - wasmExports.set_ct_byte(i, ciphertextAsBytes[i]); - } - - // ========== Result ========== - const decrypted = wasmBlsSdkHelpers.combine_decryption_shares( - decryptionShares.length, - pkSetAsBytes.length, - ciphertextAsBytes.length - ); - - return decrypted; -}; - /** * * Generate a session key pair From 1ce2602484c72ceabea45ba68b30589e3ecf0bc2 Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Wed, 14 Jun 2023 09:30:32 -0700 Subject: [PATCH 018/193] Add return types to utility functions --- packages/uint8arrays/src/lib/uint8arrays.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/uint8arrays/src/lib/uint8arrays.ts b/packages/uint8arrays/src/lib/uint8arrays.ts index b72a077745..8695188c6f 100644 --- a/packages/uint8arrays/src/lib/uint8arrays.ts +++ b/packages/uint8arrays/src/lib/uint8arrays.ts @@ -128,7 +128,10 @@ function base64ToBase64UrlPad(base64Str: string): string { return base64Str.replace('+', '-').replace('/', '_').replace(/=+$/, ''); } -export function uint8arrayFromString(str: string, encoding = 'utf8') { +export function uint8arrayFromString( + str: string, + encoding = 'utf8' +): Uint8Array { switch (encoding) { case 'utf8': return utf8Encode(str); @@ -148,7 +151,10 @@ export function uint8arrayFromString(str: string, encoding = 'utf8') { } } -export function uint8arrayToString(uint8array: Uint8Array, encoding = 'utf8') { +export function uint8arrayToString( + uint8array: Uint8Array, + encoding = 'utf8' +): string { let _uint8array = new Uint8Array(uint8array); switch (encoding) { From 8134bf8ee778efe09a9803cbe83983be33fb60dd Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Wed, 14 Jun 2023 09:43:25 -0700 Subject: [PATCH 019/193] Use generics in IEither --- packages/constants/src/lib/interfaces/i-errors.ts | 5 +++-- packages/misc-browser/src/lib/misc-browser.ts | 14 +++++--------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/packages/constants/src/lib/interfaces/i-errors.ts b/packages/constants/src/lib/interfaces/i-errors.ts index c021b3afae..6a12cf6fc2 100644 --- a/packages/constants/src/lib/interfaces/i-errors.ts +++ b/packages/constants/src/lib/interfaces/i-errors.ts @@ -4,6 +4,7 @@ export interface ILitError { message?: string; name?: string; errorCode?: string; + errorKind?: string; error?: ILitErrorTypeParams; } @@ -15,7 +16,7 @@ export interface ILitErrorTypeParams { /** * A standardized way to return either error or success */ -export interface IEither { +export interface IEither { type: EITHER_TYPE.SUCCESS | EITHER_TYPE.ERROR; - result: any | ILitError; + result: T | ILitError; } diff --git a/packages/misc-browser/src/lib/misc-browser.ts b/packages/misc-browser/src/lib/misc-browser.ts index bfd3295757..d97ff95354 100644 --- a/packages/misc-browser/src/lib/misc-browser.ts +++ b/packages/misc-browser/src/lib/misc-browser.ts @@ -11,7 +11,7 @@ import { * * @param { string } key */ -export const getStorageItem = (key: string): IEither => { +export const getStorageItem = (key: string): IEither => { let item; try { item = localStorage.getItem(key); @@ -19,19 +19,15 @@ export const getStorageItem = (key: string): IEither => { // swallowing } - let keyOrError: IEither; - if (!item) { - keyOrError = ELeft({ + return ELeft({ message: `Failed to get ${key} from local storage`, errorKind: LIT_ERROR.LOCAL_STORAGE_ITEM_NOT_FOUND_EXCEPTION.kind, errorCode: LIT_ERROR.LOCAL_STORAGE_ITEM_NOT_FOUND_EXCEPTION.name, }); - } else { - keyOrError = ERight(item); } - return keyOrError; + return ERight(item); }; /** @@ -41,7 +37,7 @@ export const getStorageItem = (key: string): IEither => { * @param { string } key is the key to set * @param { string } value is the value to set */ -export const setStorageItem = (key: string, value: string): IEither => { +export const setStorageItem = (key: string, value: string): IEither => { try { localStorage.setItem(key, value); return ERight(value); @@ -60,7 +56,7 @@ export const setStorageItem = (key: string, value: string): IEither => { * @param { string } key is the key to remove * @returns { IEither } Either the key or an error */ -export const removeStorageItem = (key: string): IEither => { +export const removeStorageItem = (key: string): IEither => { try { localStorage.removeItem(key); return ERight(key); From c51cf9ab11906b48538424da2d883cac68dae299 Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Wed, 14 Jun 2023 09:58:15 -0700 Subject: [PATCH 020/193] Use generics in IEither --- packages/constants/src/lib/utils/utils.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/constants/src/lib/utils/utils.ts b/packages/constants/src/lib/utils/utils.ts index 965798d240..4fc38c22b5 100644 --- a/packages/constants/src/lib/utils/utils.ts +++ b/packages/constants/src/lib/utils/utils.ts @@ -1,30 +1,30 @@ import { EITHER_TYPE } from '../enums'; -import { IEither } from '../interfaces/i-errors'; +import { IEither, ILitError } from '../interfaces/i-errors'; /** * * This method should be used when there's an expected error * - * @param { any } result + * @param errorMsg is the error message * @returns { IEither } */ -export const ELeft = (result: any): IEither => { +export function ELeft(errorMsg: ILitError): IEither { return { type: EITHER_TYPE.ERROR, - result: result, + result: errorMsg, }; -}; +} /** * * This method should be used when there's an expected success outcome * - * @param result + * @param result is the successful return value * @returns */ -export const ERight = (result: any): IEither => { +export function ERight(result: T): IEither { return { type: EITHER_TYPE.SUCCESS, - result: result, + result, }; -}; +} From a4f6b2b593aaa048e6493d49dba203c640caa118 Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Wed, 14 Jun 2023 10:00:00 -0700 Subject: [PATCH 021/193] Refactor param validation, add coverage, use IEither to return error instead of throwing --- .../encryption/src/lib/params-validators.ts | 1104 ++++++----------- 1 file changed, 411 insertions(+), 693 deletions(-) diff --git a/packages/encryption/src/lib/params-validators.ts b/packages/encryption/src/lib/params-validators.ts index 8a5d75354f..6025998b89 100644 --- a/packages/encryption/src/lib/params-validators.ts +++ b/packages/encryption/src/lib/params-validators.ts @@ -3,18 +3,33 @@ * returns a boolean value indicating whether the validation is passed or not. */ -import { LIT_ERROR } from '@lit-protocol/constants'; +import { + EITHER_TYPE, + ELeft, + ERight, + IEither, + LIT_ERROR, +} from '@lit-protocol/constants'; import { + AcceptedFileType, + AccessControlConditions, + AuthSig, DecryptFileProps, - JsonEncryptionRetrieveRequest, - JsonSaveEncryptionKeyRequest, + DecryptFromIpfsProps, + DecryptRequest, DecryptZipFileWithMetadataProps, EncryptFileAndZipWithMetadataProps, + EncryptFileRequest, + EncryptRequest, + EncryptStringRequest, EncryptToIpfsProps, - DecryptFromIpfsProps, - KV, + EncryptZipRequest, + EvmContractConditions, ExecuteJsProps, + SessionSigs, + SolRpcConditions, + UnifiedAccessControlConditions, } from '@lit-protocol/types'; import { @@ -22,8 +37,8 @@ import { checkType, is, log, - throwError, } from '@lit-protocol/misc'; +import { isHexString } from 'ethers/lib/utils'; export const safeParams = ({ functionName, @@ -31,791 +46,494 @@ export const safeParams = ({ }: { functionName: string; params: any[] | any; -}) => { - const validators = paramsValidators as KV; - - const validator = validators[functionName](params); - - if (!validator) { +}): IEither => { + if (!paramsValidators[functionName]) { log(`This function ${functionName} is skipping params safe guarding.`); - return true; + return ERight(undefined); } - return validator; -}; - -export const paramsValidators = { - executeJs: (params: ExecuteJsProps) => { - // -- prepare params - const { - code, - ipfsId, - authSig, - jsParams, - debug, - sessionSigs, - authMethods = [], - } = params; - - // -- validate: either 'code' or 'ipfsId' must exists - if (!code && !ipfsId) { - const message = 'You must pass either code or ipfsId'; - throwError({ - message, - errorKind: LIT_ERROR.PARAMS_MISSING_ERROR.kind, - errorCode: LIT_ERROR.PARAMS_MISSING_ERROR.name, - }); - return false; - } - - // -- validate: 'code' and 'ipfsId' can't exists at the same time - if (code && ipfsId) { - const message = "You cannot have both 'code' and 'ipfs' at the same time"; + const paramValidators = paramsValidators[functionName](params); - throwError({ - message, - errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, - errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, - }); - return false; + for (const validator of paramValidators) { + const validationResponse = validator.validate(); + if (validationResponse.type === EITHER_TYPE.ERROR) { + return validationResponse; } + } - // -- validate: authSig and its type is correct - if ( - authSig && - !checkType({ - value: authSig, - allowedTypes: ['Object'], - paramName: 'authSig', - functionName: 'executeJs', - }) - ) - return false; + return ERight(undefined); +}; - // -- validate: sessionSigs and its type is correct - if (sessionSigs && !is(sessionSigs, 'Object', 'sessionSigs', 'executeJs')) - return false; +export const paramsValidators: { + [key: string]: (params: any) => ParamsValidator[]; +} = { + executeJs: (params: ExecuteJsProps) => [ + new AuthMaterialValidator('executeJs', params), + new ExecuteJsValidator('executeJs', params), + new AuthMethodValidator('executeJs', params.authMethods), + ], + + encrypt: (params: EncryptRequest) => [ + new AccessControlConditionsValidator('encrypt', params), + new AuthMaterialValidator('encrypt', params, true), + ], + + encryptFile: (params: EncryptFileRequest) => [ + new AccessControlConditionsValidator('encryptFile', params), + new AuthMaterialValidator('encryptFile', params), + new FileValidator('encryptFile', params.file), + ], + + encryptString: (params: EncryptStringRequest) => [ + new AccessControlConditionsValidator('encryptString', params), + new AuthMaterialValidator('encryptString', params, true), + new StringValidator( + 'encryptString', + params.dataToEncrypt, + 'dataToEncrypt', + true + ), + ], + + encryptZip: (params: EncryptZipRequest) => [ + new AccessControlConditionsValidator('encryptZip', params), + new AuthMaterialValidator('encryptZip', params), + ], + + zipAndEncryptString: (params: EncryptStringRequest) => [ + new StringValidator('zipAndEncryptString', params.dataToEncrypt), + ], + + decrypt: (params: DecryptRequest) => [ + new AccessControlConditionsValidator('decrypt', params), + new AuthMaterialValidator('decrypt', params, true), + new StringValidator('decrypt', params.ciphertext, 'ciphertext', true), + ], + + decryptFile: (params: DecryptFileProps) => [ + new FileValidator('decryptFile', params.file), + ], + + decryptZipFileWithMetadata: (params: DecryptZipFileWithMetadataProps) => [ + new AuthMaterialValidator('decryptZipFileWithMetadata', params), + new FileValidator('decryptZipFileWithMetadata', params.file), + ], + + decryptZip: (params: any) => [ + new FileValidator('decryptZip', params.encryptedZipBlob), + ], + + encryptToIpfs: (params: EncryptToIpfsProps) => [ + new AccessControlConditionsValidator('encryptToIpfs', params), + new AuthMaterialValidator('encryptToIpfs', params, true), + new IpfsValidator('encryptToIpfs', params), + ], + + decryptFromIpfs: (params: DecryptFromIpfsProps) => [ + new AuthMaterialValidator('decryptFromIpfs', params), + ], - // -- validate: authMethods and its type is correct - if ( - authMethods && - authMethods.length > 0 && - !checkType({ - value: authMethods, - allowedTypes: ['Array'], - paramName: 'authMethods', - functionName: 'executeJs', - }) - ) - return false; + encryptFileAndZipWithMetadata: ( + params: EncryptFileAndZipWithMetadataProps + ) => [ + new AuthMaterialValidator('encryptFileAndZipWithMetadata', params, true), + new AccessControlConditionsValidator( + 'encryptFileAndZipWithMetadata', + params + ), + new FileValidator('encryptFileAndZipWithMetadata', params.file), + new StringValidator( + 'encryptFileAndZipWithMetadata', + params.readme, + 'readme' + ), + ], +}; - // -- validate: if sessionSig or authSig exists - if (!sessionSigs && !authSig) { - throwError({ - message: 'You must pass either authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, - }); - return false; - } +export type ParamsValidatorsType = typeof paramsValidators; - // -- validate: if sessionSig and authSig exists - if (sessionSigs && authSig) { - throwError({ - message: 'You must pass only one authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, - }); - return false; - } +//////////////////////// VALIDATORS //////////////////////// - return true; - }, +interface ParamsValidator { + validate: () => IEither; +} - saveEncryptionKey: (params: JsonSaveEncryptionKeyRequest) => { - // -- prepare params - const { - accessControlConditions, - evmContractConditions, - solRpcConditions, - unifiedAccessControlConditions, - authSig, - chain, - symmetricKey, - encryptedSymmetricKey, - permanant, - permanent, - sessionSigs, - } = params; +class IpfsValidator implements ParamsValidator { + private fnName: string; + private params: EncryptToIpfsProps; - if ( - accessControlConditions && - !is( - accessControlConditions, - 'Array', - 'accessControlConditions', - 'saveEncryptionKey' - ) - ) - return false; - if ( - evmContractConditions && - !is( - evmContractConditions, - 'Array', - 'evmContractConditions', - 'saveEncryptionKey' - ) - ) - return false; - if ( - solRpcConditions && - !is(solRpcConditions, 'Array', 'solRpcConditions', 'saveEncryptionKey') - ) - return false; - if ( - unifiedAccessControlConditions && - !is( - unifiedAccessControlConditions, - 'Array', - 'unifiedAccessControlConditions', - 'saveEncryptionKey' - ) - ) - return false; + constructor(fnName: string, params: EncryptToIpfsProps) { + this.fnName = fnName; + this.params = params; + } - // log('authSig:', authSig); - if (authSig && !is(authSig, 'Object', 'authSig', 'saveEncryptionKey')) - return false; - if ( - authSig && - !checkIfAuthSigRequiresChainParam(authSig, chain, 'saveEncryptionKey') - ) - return false; + validate(): IEither { + const validators = [ + new FileValidator(this.fnName, this.params.file), + new StringValidator(this.fnName, this.params.string), + ]; + + for (const validator of validators) { + const validationResponse = validator.validate(); + if (validationResponse.type === EITHER_TYPE.ERROR) { + return validationResponse; + } + } - if ( - sessionSigs && - !is(sessionSigs, 'Object', 'sessionSigs', 'saveEncryptionKey') - ) - return false; + const { file, string, infuraId, infuraSecretKey } = this.params; - if (!sessionSigs && !authSig) { - throwError({ - message: 'You must pass either authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + if (string === undefined && file === undefined) + return ELeft({ + message: `Either string or file must be provided`, + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); - return false; - } - - if ( - symmetricKey && - !is(symmetricKey, 'Uint8Array', 'symmetricKey', 'saveEncryptionKey') - ) - return false; - if ( - encryptedSymmetricKey && - !is( - encryptedSymmetricKey, - 'Uint8Array', - 'encryptedSymmetricKey', - 'saveEncryptionKey' - ) - ) - return false; - // to fix spelling mistake - if (typeof params.permanant !== 'undefined') { - params.permanent = params.permanant; - } + if (!infuraId || !infuraSecretKey) + return ELeft({ + message: + 'Please provide your Infura Project Id and Infura API Key Secret to add the encrypted metadata on IPFS', + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, + }); - if ( - (!symmetricKey || symmetricKey == '') && - (!encryptedSymmetricKey || encryptedSymmetricKey == '') - ) { - throw new Error( - 'symmetricKey and encryptedSymmetricKey are blank. You must pass one or the other' - ); - } + if (string !== undefined && file !== undefined) + return ELeft({ + message: 'Provide only either a string or file to encrypt', + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, + }); - if ( - !accessControlConditions && - !evmContractConditions && - !solRpcConditions && - !unifiedAccessControlConditions - ) { - throw new Error( - 'accessControlConditions and evmContractConditions and solRpcConditions and unifiedAccessControlConditions are blank' - ); - } + return ERight(undefined); + } +} + +class StringValidator implements ParamsValidator { + private fnName: string; + private paramName: string; + private checkIsHex: boolean; + private str?: string; + + constructor( + fnName: string, + str?: string, + paramName: string = 'string', + checkIsHex: boolean = false + ) { + this.fnName = fnName; + this.paramName = paramName; + this.checkIsHex = checkIsHex; + this.str = str; + } - // -- validate: if sessionSig and authSig exists - if (sessionSigs && authSig) { - throwError({ - message: 'You must pass only one authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + validate(): IEither { + if (!this.str) { + return ELeft({ + message: 'string is undefined', + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); - return false; } - // -- case: success - return true; - }, - - getEncryptionKey: (params: JsonEncryptionRetrieveRequest) => { - const { - accessControlConditions, - evmContractConditions, - solRpcConditions, - unifiedAccessControlConditions, - toDecrypt, - authSig, - chain, - sessionSigs, - } = params; - - // -- validate if ( - accessControlConditions && - !is( - accessControlConditions, - 'Array', - 'accessControlConditions', - 'getEncryptionKey' - ) - ) - return false; - - if ( - evmContractConditions && - !is( - evmContractConditions, - 'Array', - 'evmContractConditions', - 'getEncryptionKey' - ) - ) - return false; - - if ( - solRpcConditions && - !is(solRpcConditions, 'Array', 'solRpcConditions', 'getEncryptionKey') - ) - return false; - - if ( - unifiedAccessControlConditions && - !is( - unifiedAccessControlConditions, - 'Array', - 'unifiedAccessControlConditions', - 'getEncryptionKey' - ) - ) - return false; - - log('TYPEOF toDecrypt in getEncryptionKey():', typeof toDecrypt); - if (!is(toDecrypt, 'String', 'toDecrypt', 'getEncryptionKey')) return false; - if (authSig && !is(authSig, 'Object', 'authSig', 'getEncryptionKey')) - return false; - if ( - sessionSigs && - !is(sessionSigs, 'Object', 'sessionSigs', 'getEncryptionKey') + !checkType({ + value: this.str, + allowedTypes: ['String'], + paramName: this.paramName, + functionName: this.fnName, + }) ) - return false; - - // -- validate: if sessionSig or authSig exists - if (!sessionSigs && !authSig) { - throwError({ - message: 'You must pass either authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + return ELeft({ + message: `${this.paramName} is not a string`, + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); - return false; - } - // -- validate: if sessionSig and authSig exists - if (sessionSigs && authSig) { - throwError({ - message: 'You must pass only one authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + if (this.checkIsHex && !isHexString(this.str)) { + return ELeft({ + message: `${this.paramName} is not a valid hex string`, + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); - return false; } - // -- validate if 'chain' is null - if (!chain) { - return false; - } - - if ( - authSig && - !checkIfAuthSigRequiresChainParam(authSig, chain, 'getEncryptionKey') - ) - return false; + return ERight(undefined); + } +} - return true; - }, +class AuthMethodValidator implements ParamsValidator { + private fnName: string; + private authMethods?: Object[]; - decryptString: (params: any) => { - const encryptedStringBlob: Blob = params[0]; - const symmKey: Uint8Array = params[1]; + constructor(fnName: string, authMethods?: Object[]) { + this.fnName = fnName; + this.authMethods = authMethods; + } - // -- validate - if ( - !checkType({ - value: encryptedStringBlob, - allowedTypes: ['Blob', 'File'], - paramName: 'encryptedStringBlob', - functionName: 'decryptString', - }) - ) - return false; + validate(): IEither { + const { fnName, authMethods } = this; if ( + authMethods && + authMethods.length > 0 && !checkType({ - value: symmKey, - allowedTypes: ['Uint8Array'], - paramName: 'symmKey', - functionName: 'decryptString', + value: authMethods, + allowedTypes: ['Array'], + paramName: 'authMethods', + functionName: this.fnName, }) ) - return false; - - // -- success - return true; - }, + return ELeft({ + message: `authMethods is not an array`, + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, + }); - decryptFile: (params: DecryptFileProps) => { - // -- validate - if ( - !checkType({ - value: params.file, - allowedTypes: ['Blob', 'File'], - paramName: 'file', - functionName: 'decryptFile', - }) - ) - return false; + return ERight(undefined); + } +} - // -- validate - if ( - !checkType({ - value: params.symmetricKey, - allowedTypes: ['Uint8Array'], - paramName: 'symmetricKey', - functionName: 'decryptFile', - }) - ) - return false; +interface ExecuteJsValidatorProps { + code?: string; + ipfsId?: string; +} - return true; - }, +class ExecuteJsValidator implements ParamsValidator { + private fnName: string; + private params: ExecuteJsValidatorProps; - decryptZipFileWithMetadata: (params: DecryptZipFileWithMetadataProps) => { - // -- validate - if ( - params.authSig && - !checkType({ - value: params.authSig, - allowedTypes: ['Object'], - paramName: 'authSig', - functionName: 'decryptZipFileWithMetadata', - }) - ) - return false; + constructor(fnName: string, params: ExecuteJsValidatorProps) { + this.fnName = fnName; + this.params = params; + } - // -- validate: sessionSigs and its type is correct - if ( - params.sessionSigs && - !is( - params.sessionSigs, - 'Object', - 'sessionSigs', - 'decryptZipFileWithMetadata' - ) - ) - return false; + validate(): IEither { + const { code, ipfsId } = this.params; - // -- validate: if sessionSig or authSig exists - if (!params.sessionSigs && !params.authSig) { - throwError({ - message: 'You must pass either authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + // -- validate: either 'code' or 'ipfsId' must exists + if (!code && !ipfsId) { + return ELeft({ + message: 'You must pass either code or ipfsId', + errorKind: LIT_ERROR.PARAMS_MISSING_ERROR.kind, + errorCode: LIT_ERROR.PARAMS_MISSING_ERROR.name, }); - return false; } - // -- validate: if sessionSig and authSig exists - if (params.sessionSigs && params.authSig) { - throwError({ - message: 'You must pass only one authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + // -- validate: 'code' and 'ipfsId' can't exists at the same time + if (code && ipfsId) { + return ELeft({ + message: "You cannot have both 'code' and 'ipfs' at the same time", + errorKind: LIT_ERROR.PARAMS_MISSING_ERROR.kind, + errorCode: LIT_ERROR.PARAMS_MISSING_ERROR.name, }); - return false; } - // -- validate - if ( - !checkType({ - value: params.file, - allowedTypes: ['Blob', 'File'], - paramName: 'file', - functionName: 'decryptZipFileWithMetadata', - }) - ) - return false; - - // -- success case - return true; - }, - - decryptZip: (params: any) => { - const { encryptedZipBlob, symmKey } = params; - - log('encryptedZipBlob:', encryptedZipBlob); - - // -- validate - if ( - !checkType({ - value: encryptedZipBlob, - allowedTypes: ['Blob', 'File'], - paramName: 'encryptedZipBlob', - functionName: 'decryptZip', - }) - ) - return false; - - // -- validate - if ( - !checkType({ - value: symmKey, - allowedTypes: ['Uint8Array'], - paramName: 'symmKey', - functionName: 'decryptZip', - }) - ) - return false; - - return true; - }, - - encryptToIpfs: (params: EncryptToIpfsProps) => { - // -- validate - - log('params:', params); - - if ( - params.authSig && - !checkType({ - value: params.authSig, - allowedTypes: ['Object'], - paramName: 'authSig', - functionName: 'encryptToIpfs', - }) - ) - return false; - - // -- validate - if ( - params.accessControlConditions && - !checkType({ - value: params.accessControlConditions, - allowedTypes: ['Array'], - paramName: 'accessControlConditions', - functionName: 'encryptToIpfs', - }) - ) - return false; - - // -- validate - if ( - params.evmContractConditions && - !checkType({ - value: params.evmContractConditions, - allowedTypes: ['Array'], - paramName: 'evmContractConditions', - functionName: 'encryptToIpfs', - }) - ) - return false; - - // -- validate - if ( - params.solRpcConditions && - !checkType({ - value: params.solRpcConditions, - allowedTypes: ['Array'], - paramName: 'solRpcConditions', - functionName: 'encryptToIpfs', - }) - ) - return false; - - // -- validate - if ( - params.unifiedAccessControlConditions && - !checkType({ - value: params.unifiedAccessControlConditions, - allowedTypes: ['Array'], - paramName: 'unifiedAccessControlConditions', - functionName: 'encryptToIpfs', - }) - ) - return false; - - // -- validate - if ( - params.authSig && - !checkIfAuthSigRequiresChainParam( - params.authSig, - params.chain, - 'encryptToIpfs' - ) - ) - return false; + return ERight(undefined); + } +} - // -- validate: sessionSigs and its type is correct - if ( - params.sessionSigs && - !is(params.sessionSigs, 'Object', 'sessionSigs', 'encryptToIpfs') - ) - return false; +class FileValidator implements ParamsValidator { + private fnName: string; + private file?: AcceptedFileType; - // -- validate: if sessionSig or authSig exists - if (!params.sessionSigs && !params.authSig) { - throwError({ - message: 'You must pass either authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, - }); - return false; - } + constructor(fnName: string, file?: AcceptedFileType) { + this.fnName = fnName; + this.file = file; + } - // -- validate: if sessionSig and authSig exists - if (params.sessionSigs && params.authSig) { - throwError({ - message: 'You must pass only one authSig or sessionSigs', + validate(): IEither { + if (!this.file) { + return ELeft({ + message: 'You must pass file param', errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, }); - return false; } - // -- validate if ( - params.string !== undefined && !checkType({ - value: params.string, - allowedTypes: ['String'], - paramName: 'string', - functionName: 'encryptToIpfs', - }) - ) - return false; - - // -- validate - if ( - params.file !== undefined && - !checkType({ - value: params.file, + value: this.file, allowedTypes: ['Blob', 'File'], paramName: 'file', - functionName: 'encryptToIpfs', + functionName: this.fnName, }) ) - return false; + return ELeft({ + message: 'File param is not a valid Blob or File object', + errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, + errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + }); - // -- success case - return true; - }, + return ERight(undefined); + } +} + +export interface AuthMaterialValidatorProps { + authSig?: AuthSig; + sessionSigs?: SessionSigs; + chain?: string; +} + +class AuthMaterialValidator implements ParamsValidator { + private fnName: string; + private authMaterial: AuthMaterialValidatorProps; + private checkIfAuthSigRequiresChainParam: boolean; + + constructor( + fnName: string, + params: AuthMaterialValidatorProps, + checkIfAuthSigRequiresChainParam: boolean = false + ) { + this.fnName = fnName; + this.authMaterial = params; + this.checkIfAuthSigRequiresChainParam = checkIfAuthSigRequiresChainParam; + } - decryptFromIpfs: (params: DecryptFromIpfsProps) => { - // -- validate + validate(): IEither { + const { authSig, sessionSigs } = this.authMaterial; - log('params:', params); + if (authSig && !is(authSig, 'Object', 'authSig', this.fnName)) + return ELeft({ + message: 'authSig is not an object', + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, + }); - if ( - params.authSig && - !checkType({ - value: params.authSig, - allowedTypes: ['Object'], - paramName: 'authSig', - functionName: 'decryptFromIpfs', - }) - ) - return false; + if (this.checkIfAuthSigRequiresChainParam) { + if (!this.authMaterial.chain) + return ELeft({ + message: 'You must pass chain param', + errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, + errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + }); + + if ( + authSig && + !checkIfAuthSigRequiresChainParam( + authSig, + this.authMaterial.chain, + this.fnName + ) + ) + return ELeft({ + message: 'authSig is not valid', + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, + }); + } - // -- validate: sessionSigs and its type is correct - if ( - params.sessionSigs && - !is(params.sessionSigs, 'Object', 'sessionSigs', 'decryptFromIpfs') - ) - return false; + if (sessionSigs && !is(sessionSigs, 'Object', 'sessionSigs', this.fnName)) + return ELeft({ + message: 'sessionSigs is not an object', + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, + }); - // -- validate: if sessionSig or authSig exists - if (!params.sessionSigs && !params.authSig) { - throwError({ + if (!sessionSigs && !authSig) + return ELeft({ message: 'You must pass either authSig or sessionSigs', errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, }); - return false; - } // -- validate: if sessionSig and authSig exists - if (params.sessionSigs && params.authSig) { - throwError({ - message: 'You must pass only one authSig or sessionSigs', + if (sessionSigs && authSig) + return ELeft({ + message: 'You cannot have both authSig and sessionSigs', errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, }); - return false; - } - - // -- success case - return true; - }, - encryptFileAndZipWithMetadata: ( - params: EncryptFileAndZipWithMetadataProps - ) => { - // -- validate - - log('params:', params); - - if ( - params.authSig && - !checkType({ - value: params.authSig, - allowedTypes: ['Object'], - paramName: 'authSig', - functionName: 'encryptFileAndZipWithMetadata', - }) - ) - return false; - - // -- validate - if ( - params.accessControlConditions && - !checkType({ - value: params.accessControlConditions, - allowedTypes: ['Array'], - paramName: 'accessControlConditions', - functionName: 'encryptFileAndZipWithMetadata', - }) - ) - return false; + return ERight(undefined); + } +} + +export interface AccessControlConditionsValidatorProps { + accessControlConditions?: AccessControlConditions; + evmContractConditions?: EvmContractConditions; + solRpcConditions?: SolRpcConditions; + unifiedAccessControlConditions?: UnifiedAccessControlConditions; +} + +class AccessControlConditionsValidator implements ParamsValidator { + private fnName: string; + private conditions: AccessControlConditionsValidatorProps; + + constructor(fnName: string, params: AccessControlConditionsValidatorProps) { + this.fnName = fnName; + this.conditions = params; + } - // -- validate - if ( - params.evmContractConditions && - !checkType({ - value: params.evmContractConditions, - allowedTypes: ['Array'], - paramName: 'evmContractConditions', - functionName: 'encryptFileAndZipWithMetadata', - }) - ) - return false; + validate(): IEither { + const { + accessControlConditions, + evmContractConditions, + solRpcConditions, + unifiedAccessControlConditions, + } = this.conditions; - // -- validate if ( - params.solRpcConditions && - !checkType({ - value: params.solRpcConditions, - allowedTypes: ['Array'], - paramName: 'solRpcConditions', - functionName: 'encryptFileAndZipWithMetadata', - }) + accessControlConditions && + !is( + accessControlConditions, + 'Array', + 'accessControlConditions', + this.fnName + ) ) - return false; - - // -- validate + return ELeft({ + message: 'accessControlConditions is not an array', + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, + }); if ( - params.unifiedAccessControlConditions && - !checkType({ - value: params.unifiedAccessControlConditions, - allowedTypes: ['Array'], - paramName: 'unifiedAccessControlConditions', - functionName: 'encryptFileAndZipWithMetadata', - }) + evmContractConditions && + !is(evmContractConditions, 'Array', 'evmContractConditions', this.fnName) ) - return false; + return ELeft({ + message: 'evmContractConditions is not an array', + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, + }); - // -- validate if ( - params.authSig && - !checkIfAuthSigRequiresChainParam( - params.authSig, - params.chain, - 'encryptFileAndZipWithMetadata' - ) + solRpcConditions && + !is(solRpcConditions, 'Array', 'solRpcConditions', this.fnName) ) - return false; + return ELeft({ + message: 'solRpcConditions is not an array', + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, + }); - // -- validate: sessionSigs and its type is correct if ( - params.sessionSigs && + unifiedAccessControlConditions && !is( - params.sessionSigs, - 'Object', - 'sessionSigs', - 'encryptFileAndZipWithMetadata' + unifiedAccessControlConditions, + 'Array', + 'unifiedAccessControlConditions', + this.fnName ) ) - return false; - - // -- validate: if sessionSig or authSig exists - if (!params.sessionSigs && !params.authSig) { - throwError({ - message: 'You must pass either authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + return ELeft({ + message: 'unifiedAccessControlConditions is not an array', + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); - return false; - } - // -- validate: if sessionSig and authSig exists - if (params.sessionSigs && params.authSig) { - throwError({ - message: 'You must pass only one authSig or sessionSigs', + if ( + !accessControlConditions && + !evmContractConditions && + !solRpcConditions && + !unifiedAccessControlConditions + ) + return ELeft({ + message: + 'You must pass either accessControlConditions, evmContractConditions, solRpcConditions or unifiedAccessControlConditions', errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, }); - return false; - } - // -- validate - if ( - !checkType({ - value: params.file, - allowedTypes: ['File'], - paramName: 'file', - functionName: 'encryptFileAndZipWithMetadata', - }) - ) - return false; - - // -- validate - if ( - params.readme && - !checkType({ - value: params.readme, - allowedTypes: ['String'], - paramName: 'readme', - functionName: 'encryptFileAndZipWithMetadata', - }) - ) - return false; - - // -- success case - return true; - }, -}; - -export type ParamsValidatorsType = typeof paramsValidators; + return ERight(undefined); + } +} From d9d782fa8bb9167bf4d0b46cd359cb8239af571e Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Wed, 14 Jun 2023 10:55:50 -0700 Subject: [PATCH 022/193] Fix map --- packages/crypto/src/lib/crypto.ts | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/packages/crypto/src/lib/crypto.ts b/packages/crypto/src/lib/crypto.ts index 3c54083388..4aac0c1f23 100644 --- a/packages/crypto/src/lib/crypto.ts +++ b/packages/crypto/src/lib/crypto.ts @@ -94,10 +94,8 @@ export const decryptWithSignatureShares = ( ): Uint8Array => { // Format the signature shares const sigShares = shares.map((s) => - shares.map((s) => { - JSON.stringify({ - ProofOfPossession: s, - }); + JSON.stringify({ + ProofOfPossession: s, }) ); @@ -128,10 +126,8 @@ export const verifyAndDecryptWithSignatureShares = ( ): Uint8Array => { // Format the signature shares const sigShares = shares.map((s) => - shares.map((s) => { - JSON.stringify({ - ProofOfPossession: s, - }); + JSON.stringify({ + ProofOfPossession: s, }) ); @@ -156,10 +152,8 @@ export const verifyAndDecryptWithSignatureShares = ( export const combineSignatureShares = (shares: string[]): string => { // Format the signature shares const sigShares = shares.map((s) => - shares.map((s) => { - JSON.stringify({ - ProofOfPossession: s, - }); + JSON.stringify({ + ProofOfPossession: s, }) ); From f2212fc3e35df83763b1d9e67a290813758bde14 Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Wed, 14 Jun 2023 14:48:30 -0700 Subject: [PATCH 023/193] Fix crypto package logic + tests --- packages/bls-sdk/src/lib/bls-sdk.spec.ts | 15 +-- packages/crypto/src/lib/crypto.spec.ts | 120 ++++++++++---------- packages/crypto/src/lib/crypto.ts | 3 +- packages/uint8arrays/src/lib/uint8arrays.ts | 2 +- 4 files changed, 66 insertions(+), 74 deletions(-) diff --git a/packages/bls-sdk/src/lib/bls-sdk.spec.ts b/packages/bls-sdk/src/lib/bls-sdk.spec.ts index e9918f755e..4bef51614f 100644 --- a/packages/bls-sdk/src/lib/bls-sdk.spec.ts +++ b/packages/bls-sdk/src/lib/bls-sdk.spec.ts @@ -26,10 +26,11 @@ describe('imported functions', () => { }); describe('blsSdk', () => { - it('should encrypt a message', async () => { - // prepare + beforeAll(async () => { await blsSdk.initWasmBlsSdk(); + }); + it('should encrypt a message', async () => { // execute const ciphertext = blsSdk.encrypt( publicKey, @@ -40,12 +41,9 @@ describe('blsSdk', () => { // assert expect(ciphertext.length).toBeGreaterThan(0); }); -}); -describe('decrypt', () => { - it('should work', async () => { + it('should decrypt', async () => { // prepare - await blsSdk.initWasmBlsSdk(); const ciphertext = 'l9a/01WDJB/euKxtbWcuQ8ez/c9eZ+jQryTHZVLN0kfd7XHoLs6FeWUVmk89ovQGkQJnnFDKjq6kgJxvIIrxXd9DaGuRBozLdA1G9Nk413YhTEqsENuHU0nSa4i6F912KltE15sbWKpDfPnZF6CA2UKBAw=='; const signatureShares = [ @@ -69,12 +67,9 @@ describe('decrypt', () => { secretMessage ); }); -}); -describe('verify + decrypt', () => { - it('should work', async () => { + it('should verify + decrypt', async () => { // prepare - await blsSdk.initWasmBlsSdk(); const ciphertext = 'l9a/01WDJB/euKxtbWcuQ8ez/c9eZ+jQryTHZVLN0kfd7XHoLs6FeWUVmk89ovQGkQJnnFDKjq6kgJxvIIrxXd9DaGuRBozLdA1G9Nk413YhTEqsENuHU0nSa4i6F912KltE15sbWKpDfPnZF6CA2UKBAw=='; const signatureShares = [ diff --git a/packages/crypto/src/lib/crypto.spec.ts b/packages/crypto/src/lib/crypto.spec.ts index 42623f460a..1e08b2a544 100644 --- a/packages/crypto/src/lib/crypto.spec.ts +++ b/packages/crypto/src/lib/crypto.spec.ts @@ -1,80 +1,76 @@ import { - generateSymmetricKey, - encryptWithSymmetricKey, - decryptWithSymmetricKey, - importSymmetricKey, + decryptWithSignatureShares, + encrypt, + verifyAndDecryptWithSignatureShares, } from './crypto'; -describe('crypto', () => { - it('should generateSymmetricKey', async () => { - const symmetricKey = await generateSymmetricKey(); +// @ts-nocheck +import { TextEncoder, TextDecoder } from 'util'; +global.TextEncoder = TextEncoder; +// @ts-ignore +global.TextDecoder = TextDecoder; - expect(symmetricKey).toBeDefined(); - expect(symmetricKey.algorithm.name).toBe('AES-CBC'); - expect(symmetricKey.type).toBe('secret'); - expect(symmetricKey.extractable).toBe(true); - expect(symmetricKey.usages).toEqual(['encrypt', 'decrypt']); - }); +import * as blsSdk from '@lit-protocol/bls-sdk'; - it('should import a valid symmetric key from raw bytes', async () => { - const symmetricKey = await generateSymmetricKey(); - const exportedKey = await crypto.subtle.exportKey('raw', symmetricKey); - const importedKey = await importSymmetricKey(exportedKey as ArrayBuffer); +const publicKey = + '8e29447d7b0666fe41c357dbbdbdac0ac8ac973f88439a07f85fa31fa6fa3cea87c2eaa8b367e1c97764800fb5636892'; +const secretMessage = new Uint8Array([ + 240, 23, 185, 6, 87, 33, 173, 216, 53, 84, 80, 135, 190, 16, 58, 85, 97, 75, + 3, 192, 215, 82, 217, 5, 40, 65, 2, 214, 40, 177, 53, 150, +]); +const identityParam = new Uint8Array([ + 101, 110, 99, 114, 121, 112, 116, 95, 100, 101, 99, 114, 121, 112, 116, 95, + 119, 111, 114, 107, 115, +]); - expect(importedKey).toBeDefined(); - expect(importedKey.algorithm.name).toBe('AES-CBC'); - expect(importedKey.type).toBe('secret'); - expect(importedKey.extractable).toBe(true); - expect(importedKey.usages).toEqual(['encrypt', 'decrypt']); +describe('crypto', () => { + beforeAll(async () => { + await blsSdk.initWasmBlsSdk(); }); - it('should import the same symmetric key if given the same raw bytes', async () => { - const symmetricKey = await generateSymmetricKey(); - const exportedKey = await crypto.subtle.exportKey('raw', symmetricKey); - const importedKey1 = await importSymmetricKey(exportedKey as ArrayBuffer); - const importedKey2 = await importSymmetricKey(exportedKey as ArrayBuffer); - - const exportedKey1 = await crypto.subtle.exportKey('raw', importedKey1); - const exportedKey2 = await crypto.subtle.exportKey('raw', importedKey2); + it('should encrypt', async () => { + // execute + const ciphertext = encrypt(publicKey, secretMessage, identityParam); - expect(exportedKey1).toEqual(exportedKey2); + // assert + expect(ciphertext.length).toBeGreaterThan(0); }); -}); - -describe('encryptWithSymmetricKey', () => { - // Helper function to generate random data - const generateRandomData = (length: number): Uint8Array => { - return crypto.getRandomValues(new Uint8Array(length)); - }; - // Generate test data of various sizes - const testData = [ - generateRandomData(16), - generateRandomData(32), - generateRandomData(64), - generateRandomData(128), - generateRandomData(256), - generateRandomData(512), - generateRandomData(1024), - generateRandomData(2048), - generateRandomData(4096), - generateRandomData(8192), - ]; + it('should decrypt', async () => { + // prepare + const ciphertext = + 'l9a/01WDJB/euKxtbWcuQ8ez/c9eZ+jQryTHZVLN0kfd7XHoLs6FeWUVmk89ovQGkQJnnFDKjq6kgJxvIIrxXd9DaGuRBozLdA1G9Nk413YhTEqsENuHU0nSa4i6F912KltE15sbWKpDfPnZF6CA2UKBAw=='; + const signatureShares = [ + '01b2b44a0bf7184f19efacad98e213818edd3f8909dd798129ef169b877d68d77ba630005609f48b80203717d82092a45b06a9de0e61a97b2672b38b31f9ae43e64383d0375a51c75db8972613cc6b099b95c189fd8549ed973ee94b08749f4cac', + '02a8343d5602f523286c4c59356fdcfc51953290495d98cb91a56b59bd1a837ea969cc521382164e85787128ce7f944de303d8e0b5fc4becede0c894bec1adc490fdc133939cca70fb3f504b9bf7b156527b681d9f0619828cd8050c819e46fdb1', + '03b1594ab0cb56f47437b3720dc181661481ca0e36078b79c9a4acc50042f076bf66b68fbd12a1d55021a668555f0eed0a08dfe74455f557b30f1a9c32435a81479ca8843f5b74b176a8d10c5845a84213441eaaaf2ba57e32581584393541c5aa', + ]; - let symmetricKey: CryptoKey; + // execute + const plaintext = decryptWithSignatureShares(ciphertext, signatureShares); - beforeAll(async () => { - symmetricKey = await generateSymmetricKey(); + // assert + expect(plaintext).toEqual(secretMessage); }); - testData.forEach((data, index) => { - it(`should encrypt data (test case ${index + 1})`, async () => { - const encryptedBlob = await encryptWithSymmetricKey(symmetricKey, data); + it('should verify + decrypt', async () => { + const ciphertext = + 'l9a/01WDJB/euKxtbWcuQ8ez/c9eZ+jQryTHZVLN0kfd7XHoLs6FeWUVmk89ovQGkQJnnFDKjq6kgJxvIIrxXd9DaGuRBozLdA1G9Nk413YhTEqsENuHU0nSa4i6F912KltE15sbWKpDfPnZF6CA2UKBAw=='; + const signatureShares = [ + '01b2b44a0bf7184f19efacad98e213818edd3f8909dd798129ef169b877d68d77ba630005609f48b80203717d82092a45b06a9de0e61a97b2672b38b31f9ae43e64383d0375a51c75db8972613cc6b099b95c189fd8549ed973ee94b08749f4cac', + '02a8343d5602f523286c4c59356fdcfc51953290495d98cb91a56b59bd1a837ea969cc521382164e85787128ce7f944de303d8e0b5fc4becede0c894bec1adc490fdc133939cca70fb3f504b9bf7b156527b681d9f0619828cd8050c819e46fdb1', + '03b1594ab0cb56f47437b3720dc181661481ca0e36078b79c9a4acc50042f076bf66b68fbd12a1d55021a668555f0eed0a08dfe74455f557b30f1a9c32435a81479ca8843f5b74b176a8d10c5845a84213441eaaaf2ba57e32581584393541c5aa', + ]; + + // execute + const plaintext = verifyAndDecryptWithSignatureShares( + publicKey, + identityParam, + ciphertext, + signatureShares + ); - expect(encryptedBlob).toBeDefined(); - expect(encryptedBlob instanceof Blob).toBe(true); - expect(encryptedBlob.type).toBe('application/octet-stream'); - expect(encryptedBlob.size).toBeGreaterThan(data.length); - }); + // assert + expect(plaintext).toEqual(secretMessage); }); }); diff --git a/packages/crypto/src/lib/crypto.ts b/packages/crypto/src/lib/crypto.ts index 4aac0c1f23..89003ed145 100644 --- a/packages/crypto/src/lib/crypto.ts +++ b/packages/crypto/src/lib/crypto.ts @@ -19,6 +19,7 @@ import { } from '@lit-protocol/uint8arrays'; import { nacl } from '@lit-protocol/nacl'; +import { uint8ArrayToBase64 } from 'packages/uint8arrays/src/lib/uint8arrays'; // if 'wasmExports' is not available, we need to initialize the BLS SDK if (!globalThis.wasmExports) { @@ -134,7 +135,7 @@ export const verifyAndDecryptWithSignatureShares = ( // Decrypt const privateData = blsSdk.verify_and_decrypt_with_signature_shares( publicKey, - identity, + uint8ArrayToBase64(identity), ciphertext, sigShares ); diff --git a/packages/uint8arrays/src/lib/uint8arrays.ts b/packages/uint8arrays/src/lib/uint8arrays.ts index 8695188c6f..a4fccf6505 100644 --- a/packages/uint8arrays/src/lib/uint8arrays.ts +++ b/packages/uint8arrays/src/lib/uint8arrays.ts @@ -162,7 +162,7 @@ export function uint8arrayToString( return utf8Decode(_uint8array); case 'base16': return Array.from(_uint8array) - .map((byte) => byte.toString(16).padStart(2, '0')) + .map((byte: number) => byte.toString(16).padStart(2, '0')) .join(''); case 'base64': return uint8ArrayToBase64(_uint8array); From 4fe63afd14f5cbacf30fd05a0f42d21ec15594cb Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Wed, 14 Jun 2023 15:49:48 -0700 Subject: [PATCH 024/193] Update encryption helpers and integrate new BLS encryption to lit-node-client-nodejs package --- packages/encryption/src/lib/encryption.ts | 710 +++++++----------- .../src/lib/lit-node-client-nodejs.ts | 615 +++++++++++---- packages/types/src/lib/ILitNodeClient.ts | 63 +- packages/types/src/lib/interfaces.ts | 93 ++- 4 files changed, 799 insertions(+), 682 deletions(-) diff --git a/packages/encryption/src/lib/encryption.ts b/packages/encryption/src/lib/encryption.ts index e927b50e57..2d8061450a 100644 --- a/packages/encryption/src/lib/encryption.ts +++ b/packages/encryption/src/lib/encryption.ts @@ -1,24 +1,29 @@ -import { LIT_ERROR, NETWORK_PUB_KEY } from '@lit-protocol/constants'; +import { + EITHER_TYPE, + LIT_ERROR, + NETWORK_PUB_KEY, +} from '@lit-protocol/constants'; import { - AcceptedFileType, - DecryptFileProps, + DecryptFromIpfsProps, + DecryptRequest, DecryptZipFileWithMetadata, DecryptZipFileWithMetadataProps, - EncryptedFile, - EncryptedString, - EncryptedZip, EncryptFileAndZipWithMetadataProps, + EncryptFileRequest, + EncryptRequestBase, + EncryptResponse, + EncryptStringRequest, + EncryptToIpfsDataType, + EncryptToIpfsPayload, EncryptToIpfsProps, - DecryptFromIpfsProps, + EncryptZipRequest, IJWT, - SymmetricKey, - ThreeKeys, + ILitNodeClient, + MetadataForFile, VerifyJWTProps, } from '@lit-protocol/types'; -import { wasmBlsSdkHelpers } from '@lit-protocol/bls-sdk'; - // @ts-ignore import * as JSZip from 'jszip/dist/jszip.js'; @@ -27,91 +32,39 @@ import { uint8arrayToString, } from '@lit-protocol/uint8arrays'; -import { - decryptWithSymmetricKey, - encryptWithSymmetricKey, - generateSymmetricKey, - importSymmetricKey, -} from '@lit-protocol/crypto'; - import { checkType, isBrowser, log, throwError } from '@lit-protocol/misc'; import { safeParams } from './params-validators'; import * as ipfsClient from 'ipfs-http-client'; -// ---------- Local Interfaces ---------- - -interface MetadataForFile { - name: string | any; - type: string | any; - size: string | number | any; - accessControlConditions: any[] | any; - evmContractConditions: any[] | any; - solRpcConditions: any[] | any; - unifiedAccessControlConditions: any[] | any; - chain: string; - encryptedSymmetricKey: Uint8Array | any; -} - -// ---------- Local Helpers ---------- - /** * - * Get all the metadata needed to decrypt something in the future. If you're encrypting files with Lit and storing them in IPFS or Arweave, then this function will provide you with a properly formatted metadata object that you should save alongside the files. + * Encrypt a string or file, save the key to the Lit network, and upload all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to IPFS using the ipfs-client-http SDK & returns the IPFS CID. * - * @param { MetadataForFile } + * @param { EncryptToIpfsProps } * - * @return { MetadataForFile } + * @returns { Promise } * */ -const metadataForFile = ({ - name, - type, - size, - accessControlConditions, - evmContractConditions, - solRpcConditions, - unifiedAccessControlConditions, - chain, - encryptedSymmetricKey, -}: MetadataForFile): MetadataForFile => { - return { - name, - type, - size, +export const encryptToIpfs = async ( + params: EncryptToIpfsProps +): Promise => { + const { + authSig, + sessionSigs, accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions, chain, - encryptedSymmetricKey: uint8arrayToString(encryptedSymmetricKey, 'base16'), - }; -}; + string, + file, + litNodeClient, + infuraId, + infuraSecretKey, + } = params; -/** - * - * Encrypt a string or file, save the key to the Lit network, and upload all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to IPFS using the ipfs-client-http SDK & returns the IPFS CID. - * - * @param { EncryptToIpfsProps } - * - * @returns { Promise } - * - */ -export const encryptToIpfs = async ({ - authSig, - sessionSigs, - accessControlConditions, - evmContractConditions, - solRpcConditions, - unifiedAccessControlConditions, - chain, - string, - file, - litNodeClient, - infuraId, - infuraSecretKey, -}: EncryptToIpfsProps): Promise => { // -- validate const paramsIsSafe = safeParams({ functionName: 'encryptToIpfs', @@ -129,65 +82,38 @@ export const encryptToIpfs = async ({ }, }); - if (!paramsIsSafe) - return throwError({ - message: `authSig, sessionSigs, accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions, chain, litNodeClient, string or file must be provided`, - errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, - errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, - }); - - if (string === undefined && file === undefined) - return throwError({ - message: `Either string or file must be provided`, - errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, - errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, - }); - - if (!infuraId || !infuraSecretKey) { + if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: - 'Please provide your Infura Project Id and Infura API Key Secret to add the encrypted metadata on IPFS', + message: `Invalid params: ${paramsIsSafe.result}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); - } - let encryptedData; - let symmetricKey; - if (string !== undefined && file !== undefined) { - return throwError({ - message: 'Provide only either a string or file to encrypt', - errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, - errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, - }); - } else if (string !== undefined) { - const encryptedString = await encryptString(string); - encryptedData = encryptedString.encryptedString; - symmetricKey = encryptedString.symmetricKey; + let ciphertext: string; + let dataToEncryptHash: string; + let dataType: EncryptToIpfsDataType; + + if (string !== undefined) { + const encryptResponse = await encryptString( + { + ...params, + dataToEncrypt: string, + }, + litNodeClient + ); + ciphertext = encryptResponse.ciphertext; + dataToEncryptHash = encryptResponse.dataToEncryptHash; + dataType = 'string'; } else { - const encryptedFile = await encryptFile({ file: file! }); - encryptedData = encryptedFile.encryptedFile; - symmetricKey = encryptedFile.symmetricKey; + const encryptResponse = await encryptFile( + { ...params, file: file! }, + litNodeClient + ); + ciphertext = encryptResponse.ciphertext; + dataToEncryptHash = encryptResponse.dataToEncryptHash; + dataType = 'file'; } - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - accessControlConditions, - evmContractConditions, - solRpcConditions, - unifiedAccessControlConditions, - symmetricKey, - authSig, - sessionSigs, - chain, - }); - - log('encrypted key saved to Lit', encryptedSymmetricKey); - - const encryptedSymmetricKeyString = uint8arrayToString( - encryptedSymmetricKey, - 'base16' - ); - const authorization = 'Basic ' + Buffer.from(`${infuraId}:${infuraSecretKey}`).toString('base64'); const ipfs = ipfsClient.create({ @@ -197,28 +123,24 @@ export const encryptToIpfs = async ({ }, }); - const encryptedDataJson = Buffer.from( - await encryptedData.arrayBuffer() - ).toJSON(); try { const res = await ipfs.add( JSON.stringify({ - [string !== undefined ? 'encryptedString' : 'encryptedFile']: - encryptedDataJson, - encryptedSymmetricKeyString, + ciphertext, + dataToEncryptHash, accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions, chain, - }) + dataType, + } as EncryptToIpfsPayload) ); return res.path; } catch (e) { return throwError({ - message: - "Provided INFURA_ID or INFURA_SECRET_KEY in invalid hence can't upload to IPFS", + message: 'Unable to upload to IPFS', errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, }); @@ -234,12 +156,11 @@ export const encryptToIpfs = async ({ * @returns { Promise } * */ -export const decryptFromIpfs = async ({ - authSig, - sessionSigs, - ipfsCid, - litNodeClient, -}: DecryptFromIpfsProps): Promise => { +export const decryptFromIpfs = async ( + params: DecryptFromIpfsProps +): Promise => { + const { authSig, sessionSigs, ipfsCid, litNodeClient } = params; + // -- validate const paramsIsSafe = safeParams({ functionName: 'decryptFromIpfs', @@ -251,43 +172,53 @@ export const decryptFromIpfs = async ({ }, }); - if (!paramsIsSafe) + if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `authSig, sessionSigs, ipfsCid, litNodeClient must be provided`, + message: `Invalid params: ${paramsIsSafe.result}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); try { - const metadata = await ( + const metadata: EncryptToIpfsPayload = await ( await fetch(`https://gateway.pinata.cloud/ipfs/${ipfsCid}`) ).json(); - const symmetricKey = await litNodeClient.getEncryptionKey({ - accessControlConditions: metadata.accessControlConditions, - evmContractConditions: metadata.evmContractConditions, - solRpcConditions: metadata.solRpcConditions, - unifiedAccessControlConditions: metadata.unifiedAccessControlConditions, - toDecrypt: metadata.encryptedSymmetricKeyString, - chain: metadata.chain, - authSig, - sessionSigs, - }); - - if (metadata.encryptedString !== undefined) { - const encryptedStringBlob = new Blob( - [Buffer.from(metadata.encryptedString)], - { type: 'application/octet-stream' } + if (metadata.dataType === 'string') { + return decryptString( + { + accessControlConditions: metadata.accessControlConditions, + evmContractConditions: metadata.evmContractConditions, + solRpcConditions: metadata.solRpcConditions, + unifiedAccessControlConditions: + metadata.unifiedAccessControlConditions, + ciphertext: metadata.ciphertext, + dataToEncryptHash: metadata.dataToEncryptHash, + chain: metadata.chain, + authSig, + sessionSigs, + }, + litNodeClient + ); + } else { + return decryptFile( + { + accessControlConditions: metadata.accessControlConditions, + evmContractConditions: metadata.evmContractConditions, + solRpcConditions: metadata.solRpcConditions, + unifiedAccessControlConditions: + metadata.unifiedAccessControlConditions, + ciphertext: metadata.ciphertext, + dataToEncryptHash: metadata.dataToEncryptHash, + chain: metadata.chain, + authSig, + sessionSigs, + }, + litNodeClient ); - return await decryptString(encryptedStringBlob, symmetricKey); } - - const encryptedFileBlob = new Blob([Buffer.from(metadata.encryptedFile)], { - type: 'application/octet-stream', - }); - return await decryptFile({ file: encryptedFileBlob, symmetricKey }); } catch (e) { return throwError({ - message: 'Invalid ipfsCid', + message: 'Unable to fetch or decrypt from IPFS', errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, }); @@ -300,45 +231,30 @@ export const decryptFromIpfs = async ({ * * Encrypt a string. This is used to encrypt any string that is to be locked via the Lit Protocol. * - * @param { string } str The string to encrypt - * @returns { Promise } A promise containing the encryptedString as a Blob and the symmetricKey used to encrypt it, as a Uint8Array. + * @param params + * @returns Promise A promise containing the ciphertext and the hash of the data that was encrypted. */ -export const encryptString = async (str: string): Promise => { +export const encryptString = async ( + params: EncryptStringRequest, + litNodeClient: ILitNodeClient +): Promise => { // -- validate - if ( - !checkType({ - value: str, - allowedTypes: ['String'], - paramName: 'str', - functionName: 'encryptString', - }) - ) { + const paramsIsSafe = safeParams({ + functionName: 'encryptString', + params, + }); + + if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `{${str}} must be a string`, + message: `Invalid params: ${paramsIsSafe.result}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); - } - - // -- prepare - const encodedString: Uint8Array = uint8arrayFromString(str, 'utf8'); - const symmKey: CryptoKey = await generateSymmetricKey(); - - const encryptedString: Blob = await encryptWithSymmetricKey( - symmKey, - encodedString.buffer - ); - - const exportedSymmKey: Uint8Array = new Uint8Array( - await crypto.subtle.exportKey('raw', symmKey) - ); - - return { - symmetricKey: exportedSymmKey, - encryptedString, - encryptedData: encryptedString, - }; + return litNodeClient.encrypt({ + ...params, + dataToEncrypt: uint8arrayFromString(params.dataToEncrypt, 'base16'), + }); }; /** @@ -351,32 +267,25 @@ export const encryptString = async (str: string): Promise => { * @returns { Promise } A promise containing the decrypted string */ export const decryptString = async ( - encryptedStringBlob: Blob, - symmKey: Uint8Array + params: DecryptRequest, + litNodeClient: ILitNodeClient ): Promise => { // -- validate const paramsIsSafe = safeParams({ - functionName: 'decryptString', - params: [encryptedStringBlob, symmKey], + functionName: 'decrypt', + params, }); - if (!paramsIsSafe) { - throwError({ - message: 'Invalid params', + if (paramsIsSafe.type === EITHER_TYPE.ERROR) + return throwError({ + message: `Invalid params: ${paramsIsSafe.result}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); - } - // -- import the decrypted symm key - const importedSymmKey: CryptoKey = await importSymmetricKey(symmKey); + const { decryptedData } = await litNodeClient.decrypt(params); - const decryptedStringArrayBuffer: Uint8Array = await decryptWithSymmetricKey( - encryptedStringBlob, - importedSymmKey - ); - - return uint8arrayToString(new Uint8Array(decryptedStringArrayBuffer), 'utf8'); + return uint8arrayToString(decryptedData, 'base16'); }; /** @@ -388,19 +297,18 @@ export const decryptString = async ( * @returns { Promise } A promise containing the encryptedZip as a Blob and the symmetricKey used to encrypt it, as a Uint8Array. The encrypted zip will contain a single file called "string.txt" */ export const zipAndEncryptString = async ( - string: string -): Promise => { + params: EncryptStringRequest, + litNodeClient: ILitNodeClient +): Promise => { // -- validate - if ( - !checkType({ - value: string, - allowedTypes: ['String'], - paramName: 'string', - functionName: 'zipAndEncryptString', - }) - ) - throwError({ - message: 'Invalid string', + const paramsIsSafe = safeParams({ + functionName: 'zipAndEncryptString', + params, + }); + + if (paramsIsSafe.type === EITHER_TYPE.ERROR) + return throwError({ + message: `Invalid params: ${paramsIsSafe.result}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); @@ -413,9 +321,9 @@ export const zipAndEncryptString = async ( zip = new JSZip(); } - zip.file('string.txt', string); + zip.file('string.txt', params.dataToEncrypt); - return encryptZip(zip); + return encryptZip({ ...params, zip }, litNodeClient); }; /** @@ -428,8 +336,10 @@ export const zipAndEncryptString = async ( */ export const zipAndEncryptFiles = async ( - files: Array -): Promise => { + files: Array, + paramsBase: EncryptRequestBase, + litNodeClient: ILitNodeClient +): Promise => { // let's zip em let zip; @@ -470,7 +380,7 @@ export const zipAndEncryptFiles = async ( folder.file(files[i].name, files[i]); } - return encryptZip(zip); + return encryptZip({ ...paramsBase, zip }, litNodeClient); }; /** @@ -483,33 +393,23 @@ export const zipAndEncryptFiles = async ( * @returns { Promise } A promise containing a JSZip object indexed by the filenames of the zipped files. For example, if you have a file called "meow.jpg" in the root of your zip, you could get it from the JSZip object by doing this: const imageBlob = await decryptedZip['meow.jpg'].async('blob') */ export const decryptZip = async ( - encryptedZipBlob: AcceptedFileType, - symmKey: SymmetricKey + params: DecryptRequest, + litNodeClient: ILitNodeClient ): Promise<{ [key: string]: JSZip.JSZipObject }> => { // -- validate const paramsIsSafe = safeParams({ - functionName: 'decryptZip', - params: { - encryptedZipBlob, - symmKey, - }, + functionName: 'decrypt', + params, }); - if (!paramsIsSafe) { - throwError({ - message: `encryptedZipBlob must be a Blob or File. symmKey must be a Uint8Array`, + if (paramsIsSafe.type === EITHER_TYPE.ERROR) + return throwError({ + message: `Invalid params: ${paramsIsSafe.result}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); - } - // import the decrypted symm key - const importedSymmKey = await importSymmetricKey(symmKey); - - const decryptedZipArrayBuffer = await decryptWithSymmetricKey( - encryptedZipBlob, - importedSymmKey - ); + const { decryptedData } = await litNodeClient.decrypt(params); // unpack the zip let zip; @@ -519,7 +419,7 @@ export const decryptZip = async ( } catch (e) { zip = new JSZip(); } - const unzipped = await zip.loadAsync(decryptedZipArrayBuffer); + const unzipped = await zip.loadAsync(decryptedData); return unzipped.files; }; @@ -532,7 +432,24 @@ export const decryptZip = async ( * * @returns { Promise } A promise containing the encryptedZip as a Blob and the symmetricKey used to encrypt it, as a Uint8Array string. */ -export const encryptZip = async (zip: JSZip): Promise => { +export const encryptZip = async ( + params: EncryptZipRequest, + litNodeClient: ILitNodeClient +): Promise => { + // -- validate + const paramsIsSafe = safeParams({ + functionName: 'encryptZip', + params, + }); + + if (paramsIsSafe.type === EITHER_TYPE.ERROR) + return throwError({ + message: `Invalid params: ${paramsIsSafe.result}`, + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, + }); + + const { zip } = params; let zipBlob; let zipBlobArrayBuffer: ArrayBuffer; @@ -543,26 +460,13 @@ export const encryptZip = async (zip: JSZip): Promise => { zipBlobArrayBuffer = await zip.generateAsync({ type: 'nodebuffer' }); } - const symmKey: CryptoKey = await generateSymmetricKey(); - - const encryptedZipBlob: Blob = await encryptWithSymmetricKey( - symmKey, - zipBlobArrayBuffer - ); - // to download the encrypted zip file for testing, uncomment this // saveAs(encryptedZipBlob, 'encrypted.bin') - const exportedSymmKey: Uint8Array = new Uint8Array( - await crypto.subtle.exportKey('raw', symmKey) - ); - - const encryptedZip: EncryptedZip = { - symmetricKey: exportedSymmKey, - encryptedZip: encryptedZipBlob, - }; - - return encryptedZip; + return litNodeClient.encrypt({ + ...params, + dataToEncrypt: new Uint8Array(zipBlobArrayBuffer), + }); }; /** @@ -574,18 +478,22 @@ export const encryptZip = async (zip: JSZip): Promise => { * @returns { Promise } * */ -export const encryptFileAndZipWithMetadata = async ({ - authSig, - sessionSigs, - accessControlConditions, - evmContractConditions, - solRpcConditions, - unifiedAccessControlConditions, - chain, - file, - litNodeClient, - readme, -}: EncryptFileAndZipWithMetadataProps): Promise => { +export const encryptFileAndZipWithMetadata = async ( + params: EncryptFileAndZipWithMetadataProps +): Promise => { + const { + authSig, + sessionSigs, + accessControlConditions, + evmContractConditions, + solRpcConditions, + unifiedAccessControlConditions, + chain, + file, + litNodeClient, + readme, + } = params; + // -- validate const paramsIsSafe = safeParams({ functionName: 'encryptFileAndZipWithMetadata', @@ -603,40 +511,20 @@ export const encryptFileAndZipWithMetadata = async ({ }, }); - if (!paramsIsSafe) + if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `authSig, sessionSigs, accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions, chain, file, litNodeClient, and readme must be provided`, + message: `Invalid params: ${paramsIsSafe.result}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); - // -- validate - const symmetricKey = await generateSymmetricKey(); - const exportedSymmKey = new Uint8Array( - await crypto.subtle.exportKey('raw', symmetricKey) - ); - // log('exportedSymmKey in hex', uint8arrayToString(exportedSymmKey, 'base16')) - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - accessControlConditions, - evmContractConditions, - solRpcConditions, - unifiedAccessControlConditions, - symmetricKey: exportedSymmKey, - authSig, - sessionSigs, - chain, - }); - - log('encrypted key saved to Lit', encryptedSymmetricKey); - // encrypt the file - var fileAsArrayBuffer = await file.arrayBuffer(); - const encryptedZipBlob = await encryptWithSymmetricKey( - symmetricKey, - fileAsArrayBuffer + const { ciphertext, dataToEncryptHash } = await encryptFile( + { ...params }, + litNodeClient ); + // Zip up with metadata let zip; try { @@ -644,17 +532,17 @@ export const encryptFileAndZipWithMetadata = async ({ } catch (e) { zip = new JSZip(); } - const metadata = metadataForFile({ + const metadata: MetadataForFile = { name: file.name, type: file.type, size: file.size, - encryptedSymmetricKey, accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions, chain, - }); + dataToEncryptHash, + }; zip.file('lit_protocol_metadata.json', JSON.stringify(metadata)); if (readme) { @@ -672,17 +560,11 @@ export const encryptFileAndZipWithMetadata = async ({ }); } - folder.file(file.name, encryptedZipBlob); + folder.file(file.name, uint8arrayFromString(ciphertext, 'base64')); const zipBlob = await zip.generateAsync({ type: 'blob' }); - const threeKeys: ThreeKeys = { - zipBlob, - encryptedSymmetricKey, - symmetricKey: exportedSymmKey, - }; - - return threeKeys; + return zipBlob; }; /** @@ -693,15 +575,11 @@ export const encryptFileAndZipWithMetadata = async ({ * * @returns { Promise } A promise containing an object that contains decryptedFile and metadata properties. The decryptedFile is an ArrayBuffer that is ready to use, and metadata is an object that contains all the properties of the file like it's name and size and type. */ -export const decryptZipFileWithMetadata = async ({ - authSig, - sessionSigs, - file, - litNodeClient, - additionalAccessControlConditions, -}: DecryptZipFileWithMetadataProps): Promise< - DecryptZipFileWithMetadata | undefined -> => { +export const decryptZipFileWithMetadata = async ( + params: DecryptZipFileWithMetadataProps +): Promise => { + const { authSig, sessionSigs, file, litNodeClient } = params; + // -- validate const paramsIsSafe = safeParams({ functionName: 'decryptZipFileWithMetadata', @@ -710,11 +588,15 @@ export const decryptZipFileWithMetadata = async ({ sessionSigs, file, litNodeClient, - additionalAccessControlConditions, }, }); - if (!paramsIsSafe) return; + if (paramsIsSafe.type === EITHER_TYPE.ERROR) + return throwError({ + message: `Invalid params: ${paramsIsSafe.result}`, + errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, + errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, + }); // -- execute const zip = await JSZip.loadAsync(file); @@ -728,83 +610,10 @@ export const decryptZipFileWithMetadata = async ({ return; } - const metadata = JSON.parse(await jsonFile.async('string')); + const metadata: MetadataForFile = JSON.parse(await jsonFile.async('string')); log('zip metadata', metadata); - let symmKey; - - try { - symmKey = await litNodeClient.getEncryptionKey({ - accessControlConditions: metadata.accessControlConditions, - evmContractConditions: metadata.evmContractConditions, - solRpcConditions: metadata.solRpcConditions, - unifiedAccessControlConditions: metadata.unifiedAccessControlConditions, - toDecrypt: metadata.encryptedSymmetricKey, - chain: metadata.chain, // -- validate - authSig, - sessionSigs, - }); - } catch (e: any) { - if ( - e.errorCode === 'NodeNotAuthorized' || - e.errorCode === 'not_authorized' - ) { - // try more additionalAccessControlConditions - if (!additionalAccessControlConditions) { - throw e; - } - log('trying additionalAccessControlConditions'); - - // -- loop start - for (let i = 0; i < additionalAccessControlConditions.length; i++) { - const accessControlConditions = - additionalAccessControlConditions[i].accessControlConditions; - - log('trying additional condition', accessControlConditions); - - try { - symmKey = await litNodeClient.getEncryptionKey({ - accessControlConditions: accessControlConditions, - toDecrypt: - additionalAccessControlConditions[i].encryptedSymmetricKey, - chain: metadata.chain, - authSig, - sessionSigs, - }); - - // okay we got the additional symmkey, now we need to decrypt the symmkey and then use it to decrypt the original symmkey - // const importedAdditionalSymmKey = await importSymmetricKey(symmKey) - // symmKey = await decryptWithSymmetricKey(additionalAccessControlConditions[i].encryptedSymmetricKey, importedAdditionalSymmKey) - - break; // it worked, we can leave the loop and stop checking additional access control conditions - } catch (e: any) { - // swallow not_authorized because we are gonna try some more accessControlConditions - if ( - e.errorCode === 'NodeNotAuthorized' || - e.errorCode === 'not_authorized' - ) { - throw e; - } - } - } - // -- loop ends - - if (!symmKey) { - // we tried all the access control conditions and none worked - throw e; - } - } else { - throw e; - } - } - - if (!symmKey) { - return; - } - - const importedSymmKey = await importSymmetricKey(symmKey); - const folder: JSZip | null = zip.folder('encryptedAssets'); if (!folder) { @@ -821,9 +630,18 @@ export const decryptZipFileWithMetadata = async ({ const encryptedFile = await _file.async('blob'); - const decryptedFile = await decryptWithSymmetricKey( - encryptedFile, - importedSymmKey + const decryptedFile = await decryptFile( + { + ...params, + accessControlConditions: metadata.accessControlConditions, + evmContractConditions: metadata.evmContractConditions, + solRpcConditions: metadata.solRpcConditions, + unifiedAccessControlConditions: metadata.unifiedAccessControlConditions, + chain: metadata.chain, + ciphertext: uint8arrayToString(encryptedFile, 'base64'), + dataToEncryptHash: metadata.dataToEncryptHash, + }, + litNodeClient ); const data: DecryptZipFileWithMetadata = { decryptedFile, metadata }; @@ -840,46 +658,30 @@ export const decryptZipFileWithMetadata = async ({ * * @returns { Promise } A promise containing an object with keys encryptedFile and symmetricKey. encryptedFile is a Blob, and symmetricKey is a Uint8Array that can be used to decrypt the file. */ -export const encryptFile = async ({ - file, -}: { - file: AcceptedFileType; -}): Promise => { +export const encryptFile = async ( + params: EncryptFileRequest, + litNodeClient: ILitNodeClient +): Promise => { // -- validate - if ( - !checkType({ - value: file, - allowedTypes: ['Blob', 'File'], - paramName: 'file', - functionName: 'encryptFile', - }) - ) { + const paramsIsSafe = safeParams({ + functionName: 'encryptFile', + params, + }); + + if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: 'file must be a Blob or File', + message: `Invalid params: ${paramsIsSafe.result}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); - } - - // generate a random symmetric key - const symmetricKey = await generateSymmetricKey(); - const exportedSymmKey = new Uint8Array( - await crypto.subtle.exportKey('raw', symmetricKey) - ); // encrypt the file - var fileAsArrayBuffer = await file.arrayBuffer(); - const encryptedFile = await encryptWithSymmetricKey( - symmetricKey, - fileAsArrayBuffer - ); + var fileAsArrayBuffer = await params.file.arrayBuffer(); - const _encryptedFile: EncryptedFile = { - encryptedFile, - symmetricKey: exportedSymmKey, - }; - - return _encryptedFile; + return litNodeClient.encrypt({ + ...params, + dataToEncrypt: new Uint8Array(fileAsArrayBuffer), + }); }; /** @@ -892,34 +694,26 @@ export const encryptFile = async ({ * * @returns { Promise } A promise containing the decrypted file. The file is an ArrayBuffer. */ -export const decryptFile = async ({ - file, - symmetricKey, -}: DecryptFileProps): Promise => { +export const decryptFile = async ( + params: DecryptRequest, + litNodeClient: ILitNodeClient +): Promise => { // -- validate const paramsIsSafe = safeParams({ - functionName: 'decryptFile', - params: { - file, - symmetricKey, - }, + functionName: 'decrypt', + params, }); - if (!paramsIsSafe) { + if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `file type must be Blob or File, and symmetricKey type must be Uint8Array | string | CryptoKey | BufferSource`, + message: `Invalid params: ${paramsIsSafe.result}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); - } - - // -- execute - const importedSymmKey = await importSymmetricKey(symmetricKey); - // decrypt the file - const decryptedFile = await decryptWithSymmetricKey(file, importedSymmKey); + const { decryptedData } = await litNodeClient.decrypt(params); - return decryptedFile; + return decryptedData; }; declare global { diff --git a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts index 5d2aff9852..cd909c60f4 100644 --- a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts +++ b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts @@ -3,94 +3,110 @@ import { canonicalResourceIdFormatter, hashResourceId, } from '@lit-protocol/access-control-conditions'; -import { wasmBlsSdkHelpers } from '@lit-protocol/bls-sdk'; import { - LIT_ERROR, - LOCAL_STORAGE_KEYS, - SIGTYPE, - LIT_SESSION_KEY_URI, AUTH_METHOD_TYPE_IDS, EITHER_TYPE, + LIT_ERROR, + LIT_ERROR_CODE, + LIT_NETWORKS, + LIT_SESSION_KEY_URI, + LOCAL_STORAGE_KEYS, + defaultLitnodeClientConfig, + version, } from '@lit-protocol/constants'; import { + combineEcdsaShares, + combineSignatureShares, + encrypt, + generateSessionKeyPair, + verifyAndDecryptWithSignatureShares, +} from '@lit-protocol/crypto'; +import { safeParams } from '@lit-protocol/encryption'; +import { + convertLitActionsParams, + log, + mostCommonString, + throwError, +} from '@lit-protocol/misc'; +import { + AuthCallback, + AuthCallbackParams, + AuthMethod, + AuthSig, CustomNetwork, - DecryptedData, + DecryptRequest, + DecryptResponse, + EncryptRequest, + EncryptResponse, ExecuteJsProps, ExecuteJsResponse, FormattedMultipleAccs, GetSessionSigsProps, GetSignSessionKeySharesProp, - AuthSig, + GetSigningShareForDecryptionRequest, + GetWalletSigProps, + HandshakeWithSgx, JsonExecutionRequest, + JsonHandshakeResponse, JsonSignChainDataRequest, JsonSigningRetrieveRequest, JsonSigningStoreRequest, JsonStoreSigningRequest, + KV, LitNodeClientConfig, + NodeClientErrorV0, + NodeClientErrorV1, NodeCommandResponse, + NodeCommandServerKeysResponse, NodeLog, + NodePromiseResponse, NodeResponse, NodeShare, RejectedNodePromises, + SendNodeCommand, SessionKeyPair, + SessionSig, SessionSigningTemplate, - SignedChainDataToken, - SignedData, - SignSessionKeyProp, + SessionSigsMap, SigShare, SignConditionECDSA, + SignSessionKeyProp, + SignSessionKeyResponse, + SignedChainDataToken, + SignedData, SuccessNodePromises, + SupportedJsonRequests, ValidateAndSignECDSA, - AuthCallbackParams, WebAuthnAuthenticationVerificationParams, - AuthMethod, - SignSessionKeyResponse, - GetWalletSigProps, - SessionSigsMap, - AuthCallback, - JsonPkpSignRequest, } from '@lit-protocol/types'; -import { - combineBlsDecryptionShares, - combineBlsShares, - combineEcdsaShares, - generateSessionKeyPair, -} from '@lit-protocol/crypto'; -import { safeParams } from '@lit-protocol/encryption'; -import { - convertLitActionsParams, - log, - mostCommonString, - throwError, -} from '@lit-protocol/misc'; import { uint8arrayFromString, uint8arrayToString, } from '@lit-protocol/uint8arrays'; import { computeAddress } from '@ethersproject/transactions'; -import { SiweMessage } from 'lit-siwe'; import { joinSignature, sha256 } from 'ethers/lib/utils'; +import { SiweMessage } from 'lit-siwe'; import { IPFSBundledSDK } from '@lit-protocol/lit-third-party-libs'; -import { nacl } from '@lit-protocol/nacl'; -import { - getStorageItem, - removeStorageItem, - setStorageItem, -} from '@lit-protocol/misc-browser'; -import { BigNumber } from 'ethers'; import { ILitResource, ISessionCapabilityObject, + LitAccessControlConditionResource, LitResourceAbilityRequest, decode, newSessionCapabilityObject, } from '@lit-protocol/auth-helpers'; -import { LitCore } from '@lit-protocol/core'; +import { + getStorageItem, + removeStorageItem, + setStorageItem, +} from '@lit-protocol/misc-browser'; +import { nacl } from '@lit-protocol/nacl'; +import { BigNumber } from 'ethers'; /** ---------- Main Export Class ---------- */ @@ -211,7 +227,7 @@ export class LitNodeClientNodeJs extends LitCore { return newSessionKey; } else { - return JSON.parse(storedSessionKeyOrError.result); + return JSON.parse(storedSessionKeyOrError.result as string); } }; @@ -326,7 +342,7 @@ export class LitNodeClientNodeJs extends LitCore { } } else { try { - walletSig = JSON.parse(storedWalletSigOrError.result); + walletSig = JSON.parse(storedWalletSigOrError.result as string); } catch (e) { console.warn('Error parsing walletSig', e); } @@ -560,6 +576,30 @@ export class LitNodeClientNodeJs extends LitCore { }); }; + /** + * + * Get signature shares for decryption. + * + * @param url + * @param params + * @param requestId + * @returns + */ + getSigningShareForDecryption = async ( + url: string, + params: GetSigningShareForDecryptionRequest, + requestId: string + ): Promise => { + log('getSigningShareForDecryption'); + const urlWithPath = `${url}/web/encryption/sign`; + + return await this.sendCommandToNode({ + url: urlWithPath, + data: params, + requestId, + }); + }; + /** * * Store signing conditions to nodes @@ -637,10 +677,7 @@ export class LitNodeClientNodeJs extends LitCore { * @returns { string } final JWT (convert the sig to base64 and append to the jwt) * */ - combineSharesAndGetJWT = ( - networkPubKeySet: string, - signatureShares: Array - ): string => { + combineSharesAndGetJWT = (signatureShares: Array): string => { // ========== Shares Validations ========== // -- sanity check if ( @@ -658,24 +695,11 @@ export class LitNodeClientNodeJs extends LitCore { signatureShares.sort((a: any, b: any) => a.shareIndex - b.shareIndex); // ========== Combine Shares ========== - const pkSetAsBytes: Uint8Array = uint8arrayFromString( - networkPubKeySet, - 'base16' + const signature = combineSignatureShares( + signatureShares.map((s: any) => s.signatureShare) ); - log('pkSetAsBytes', pkSetAsBytes); - const sigShares = signatureShares.map((s: any) => ({ - shareHex: s.signatureShare, - shareIndex: s.shareIndex, - })); - - const signature = wasmBlsSdkHelpers.combine_signatures( - pkSetAsBytes, - sigShares - ); - - log('raw sig', signature); - log('signature is ', uint8arrayToString(signature, 'base16')); + log('signature is', signature); const unsignedJwt = mostCommonString( signatureShares.map((s: any) => s.unsignedJwt) @@ -684,13 +708,145 @@ export class LitNodeClientNodeJs extends LitCore { // ========== Result ========== // convert the sig to base64 and append to the jwt const finalJwt: string = `${unsignedJwt}.${uint8arrayToString( - signature, + uint8arrayFromString(signature, 'base16'), 'base64url' )}`; return finalJwt; }; + #decryptWithSignatureShares = ( + networkPubKey: string, + identityParam: Uint8Array, + ciphertext: string, + signatureShares: Array + ): Uint8Array => { + const sigShares = signatureShares.map((s: any) => s.signatureShare); + + return verifyAndDecryptWithSignatureShares( + networkPubKey, + identityParam, + ciphertext, + sigShares + ); + }; + + /** + * + * Get different formats of access control conditions, eg. evm, sol, unified etc. + * + * @param { SupportedJsonRequests } params + * + * @returns { FormattedMultipleAccs } + * + */ + getFormattedAccessControlConditions = ( + params: SupportedJsonRequests + ): FormattedMultipleAccs => { + // -- prepare params + const { + accessControlConditions, + evmContractConditions, + solRpcConditions, + unifiedAccessControlConditions, + } = params; + + // -- execute + let formattedAccessControlConditions; + let formattedEVMContractConditions; + let formattedSolRpcConditions; + let formattedUnifiedAccessControlConditions; + let error = false; + + if (accessControlConditions) { + formattedAccessControlConditions = accessControlConditions.map((c: any) => + canonicalAccessControlConditionFormatter(c) + ); + log( + 'formattedAccessControlConditions', + JSON.stringify(formattedAccessControlConditions) + ); + } else if (evmContractConditions) { + formattedEVMContractConditions = evmContractConditions.map((c: any) => + canonicalEVMContractConditionFormatter(c) + ); + log( + 'formattedEVMContractConditions', + JSON.stringify(formattedEVMContractConditions) + ); + } else if (solRpcConditions) { + formattedSolRpcConditions = solRpcConditions.map((c: any) => + canonicalSolRpcConditionFormatter(c) + ); + log( + 'formattedSolRpcConditions', + JSON.stringify(formattedSolRpcConditions) + ); + } else if (unifiedAccessControlConditions) { + formattedUnifiedAccessControlConditions = + unifiedAccessControlConditions.map((c: any) => + canonicalUnifiedAccessControlConditionFormatter(c) + ); + log( + 'formattedUnifiedAccessControlConditions', + JSON.stringify(formattedUnifiedAccessControlConditions) + ); + } else { + error = true; + } + + return { + error, + formattedAccessControlConditions, + formattedEVMContractConditions, + formattedSolRpcConditions, + formattedUnifiedAccessControlConditions, + }; + }; + + /** + * + * Get hash of access control conditions + * + * @param { JsonStoreSigningRequest } params + * + * @returns { Promise } + * + */ + getHashedAccessControlConditions = async ( + params: JsonStoreSigningRequest + ): Promise => { + let hashOfConditions: ArrayBuffer; + + // ========== Prepare Params ========== + const { + accessControlConditions, + evmContractConditions, + solRpcConditions, + unifiedAccessControlConditions, + } = params; + + // ========== Hash ========== + if (accessControlConditions) { + hashOfConditions = await hashAccessControlConditions( + accessControlConditions + ); + } else if (evmContractConditions) { + hashOfConditions = await hashEVMContractConditions(evmContractConditions); + } else if (solRpcConditions) { + hashOfConditions = await hashSolRpcConditions(solRpcConditions); + } else if (unifiedAccessControlConditions) { + hashOfConditions = await hashUnifiedAccessControlConditions( + unifiedAccessControlConditions + ); + } else { + return; + } + + // ========== Result ========== + return hashOfConditions; + }; + // ========== Promise Handlers ========== /** @@ -886,23 +1042,17 @@ export class LitNodeClientNodeJs extends LitCore { return; } - // -- validate if signature type is BLS or ECDSA - if (sigType !== 'BLS' && sigType !== 'ECDSA') { + // -- validate if signature type is ECDSA + if (sigType !== 'ECDSA') { throwError({ - message: 'signature type is not BLS or ECDSA', + message: 'signature type is not ECDSA', errorKind: LIT_ERROR.UNKNOWN_SIGNATURE_TYPE.kind, errorCode: LIT_ERROR.UNKNOWN_SIGNATURE_TYPE.name, }); return; } - let signature: any; - - if (sigType === SIGTYPE.BLS) { - signature = combineBlsShares(sigShares, this.networkPubKeySet); - } else if (sigType === SIGTYPE.ECDSA) { - signature = combineEcdsaShares(sigShares); - } + const signature = combineEcdsaShares(sigShares); const encodedSig = joinSignature({ r: '0x' + signature.r, @@ -967,23 +1117,17 @@ export class LitNodeClientNodeJs extends LitCore { return; } - // -- validate if signature type is BLS or ECDSA - if (sigType !== 'BLS' && sigType !== 'ECDSA') { + // -- validate if signature type is ECDSA + if (sigType !== 'ECDSA') { throwError({ - message: 'signature type is not BLS or ECDSA', + message: 'signature type is not ECDSA', errorKind: LIT_ERROR.UNKNOWN_SIGNATURE_TYPE.kind, errorCode: LIT_ERROR.UNKNOWN_SIGNATURE_TYPE.name, }); return; } - let signature: any; - - if (sigType === SIGTYPE.BLS) { - signature = combineBlsShares(sigShares, this.networkPubKeySet); - } else if (sigType === SIGTYPE.ECDSA) { - signature = combineEcdsaShares(sigShares); - } + const signature = combineEcdsaShares(sigShares); const encodedSig = joinSignature({ r: '0x' + signature.r, @@ -1002,73 +1146,6 @@ export class LitNodeClientNodeJs extends LitCore { return signatures; }; - /** - * - * Get the decryptions from the decrypted data list - * - * @param { Array } decryptedData - * - * @returns { Promise> } - * - */ - getDecryptions = async (decryptedData: Array): Promise> => { - // -- prepare params - let decryptions: any; - - Object.keys(decryptedData[0]).forEach(async (key: any) => { - // -- prepare - const shares = decryptedData.map((r: any) => r[key]); - - const decShares = shares.map((s: any) => ({ - algorithmType: s.algorithmType, - decryptionShare: s.decryptionShare, - shareIndex: s.shareIndex, - publicKey: s.publicKey, - ciphertext: s.ciphertext, - })); - - const algorithmType = mostCommonString( - decShares.map((s: any) => s.algorithmType) - ); - const ciphertext = mostCommonString( - decShares.map((s: any) => s.ciphertext) - ); - - // -- validate if this.networkPubKeySet is null - if (this.networkPubKeySet === null) { - throwError({ - message: 'networkPubKeySet cannot be null', - errorKind: LIT_ERROR.PARAM_NULL_ERROR.kind, - errorCode: LIT_ERROR.PARAM_NULL_ERROR.name, - }); - return; - } - - let decrypted; - if (algorithmType === 'BLS') { - decrypted = await combineBlsDecryptionShares( - decShares, - this.networkPubKeySet, - ciphertext - ); - } else { - throwError({ - message: 'Unknown decryption algorithm type', - errorKind: LIT_ERROR.UNKNOWN_DECRYPTION_ALGORITHM_TYPE_ERROR.kind, - errorCode: LIT_ERROR.UNKNOWN_DECRYPTION_ALGORITHM_TYPE_ERROR.name, - }); - } - - decryptions[key] = { - decrypted: uint8arrayToString(decrypted, 'base16'), - publicKey: mostCommonString(decShares.map((s: any) => s.publicKey)), - ciphertext: mostCommonString(decShares.map((s: any) => s.ciphertext)), - }; - }); - - return decryptions; - }; - /** * * Get a single signature @@ -1189,20 +1266,14 @@ export class LitNodeClientNodeJs extends LitCore { ); const signatures = this.getSignatures(signedDataList); - // -- 2. combine decrypted data a list, and get the decryptions from it - const decryptedDataList: any[] = responseData.map( - (r: DecryptedData) => r.decryptedData - ); - const decryptions = await this.getDecryptions(decryptedDataList); - - // -- 3. combine responses as a string, and get parse it as JSON + // -- 2. combine responses as a string, and get parse it as JSON let response: string = mostCommonString( responseData.map((r: NodeResponse) => r.response) ); response = this.parseResponses(response); - // -- 4. combine logs + // -- 3. combine logs const mostCommonLogs: string = mostCommonString( responseData.map((r: NodeLog) => r.logs) ); @@ -1210,7 +1281,7 @@ export class LitNodeClientNodeJs extends LitCore { // ========== Result ========== let returnVal: ExecuteJsResponse = { signatures, - decryptions, + decryptions: [], // FIXME: Fix if and when we enable decryptions from within a Lit Action. response, logs: mostCommonLogs, }; @@ -1399,10 +1470,7 @@ export class LitNodeClientNodeJs extends LitCore { } // ========== Result ========== - const finalJwt: string = this.combineSharesAndGetJWT( - this.networkPubKeySet, - signatureShares - ); + const finalJwt: string = this.combineSharesAndGetJWT(signatureShares); return finalJwt; }; @@ -1523,10 +1591,7 @@ export class LitNodeClientNodeJs extends LitCore { log('signatureShares', signatureShares); // ========== Result ========== - const finalJwt: string = this.combineSharesAndGetJWT( - this.networkPubKeySet, - signatureShares - ); + const finalJwt: string = this.combineSharesAndGetJWT(signatureShares); return finalJwt; }; @@ -1638,6 +1703,224 @@ export class LitNodeClientNodeJs extends LitCore { return true; }; + encrypt = async (params: EncryptRequest): Promise => { + // ========== Validate Params ========== + // -- validate if it's ready + if (!this.ready) { + const message = + '6 LitNodeClient is not ready. Please call await litNodeClient.connect() first.'; + throwError({ + message, + errorKind: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.kind, + errorCode: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.name, + }); + } + + // -- validate if this.subnetPubKey is null + if (!this.subnetPubKey) { + const message = 'subnetPubKey cannot be null'; + return throwError({ + message, + errorKind: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.kind, + errorCode: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.name, + }); + } + + const paramsIsSafe = safeParams({ + functionName: 'encrypt', + params, + }); + + if (!paramsIsSafe) { + return throwError({ + message: `You must provide either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions`, + errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, + errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + }); + } + + // ========== Hashing Access Control Conditions ========= + // hash the access control conditions + let hashOfConditions: ArrayBuffer | undefined = + await this.getHashedAccessControlConditions(params); + + if (!hashOfConditions) { + return throwError({ + message: `You must provide either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions`, + errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, + errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + }); + } + + const hashOfConditionsStr = uint8arrayToString( + new Uint8Array(hashOfConditions), + 'base16' + ); + + // ========== Hashing Private Data ========== + // hash the private data + const hashOfPrivateData = await crypto.subtle.digest( + 'SHA-256', + params.dataToEncrypt + ); + const hashOfPrivateDataStr = uint8arrayToString( + new Uint8Array(hashOfPrivateData), + 'base16' + ); + + // ========== Assemble identity parameter ========== + const identityParam = this.#getIdentityParamForEncryption( + hashOfConditionsStr, + hashOfPrivateDataStr + ); + + // ========== Encrypt ========== + const ciphertext = encrypt( + this.subnetPubKey, + params.dataToEncrypt, + uint8arrayFromString(identityParam, 'base16') + ); + + return { ciphertext, dataToEncryptHash: hashOfPrivateDataStr }; + }; + + decrypt = async (params: DecryptRequest): Promise => { + const { authSig, sessionSigs, chain, ciphertext, dataToEncryptHash } = + params; + + // ========== Validate Params ========== + // -- validate if it's ready + if (!this.ready) { + const message = + '6 LitNodeClient is not ready. Please call await litNodeClient.connect() first.'; + throwError({ + message, + errorKind: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.kind, + errorCode: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.name, + }); + } + + // -- validate if this.subnetPubKey is null + if (!this.subnetPubKey) { + const message = 'subnetPubKey cannot be null'; + return throwError({ + message, + errorKind: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.kind, + errorCode: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.name, + }); + } + + const paramsIsSafe = safeParams({ + functionName: 'decrypt', + params, + }); + + if (!paramsIsSafe) { + return throwError({ + message: `Parameter validation failed.`, + errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, + errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + }); + } + + // ========== Hashing Access Control Conditions ========= + // hash the access control conditions + let hashOfConditions: ArrayBuffer | undefined = + await this.getHashedAccessControlConditions(params); + + if (!hashOfConditions) { + return throwError({ + message: `You must provide either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions`, + errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, + errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + }); + } + + const hashOfConditionsStr = uint8arrayToString( + new Uint8Array(hashOfConditions), + 'base16' + ); + + // ========== Formatting Access Control Conditions ========= + const { + error, + formattedAccessControlConditions, + formattedEVMContractConditions, + formattedSolRpcConditions, + formattedUnifiedAccessControlConditions, + }: FormattedMultipleAccs = this.getFormattedAccessControlConditions(params); + + if (error) { + throwError({ + message: `You must provide either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions`, + errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, + errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + }); + } + + // ========== Assemble identity parameter ========== + const identityParam = this.#getIdentityParamForEncryption( + hashOfConditionsStr, + dataToEncryptHash + ); + + // ========== Get Network Signature ========== + const requestId = this.getRequestId(); + const nodePromises = this.getNodePromises((url: string) => { + // -- if session key is available, use it + let authSigToSend = sessionSigs ? sessionSigs[url] : authSig; + + return this.getSigningShareForDecryption( + url, + { + accessControlConditions: formattedAccessControlConditions, + evmContractConditions: formattedEVMContractConditions, + solRpcConditions: formattedSolRpcConditions, + unifiedAccessControlConditions: + formattedUnifiedAccessControlConditions, + ciphertext, + dataToEncryptHash, + chain, + authSig: sessionSigs ? undefined : params.authSig, + sessionSigs: sessionSigs ? sessionSigs[url] : undefined, + }, + requestId + ); + }); + + // -- resolve promises + const res = await this.handleNodePromises(nodePromises); + + // -- case: promises rejected + if (res.success === false) { + this._throwNodeError(res as RejectedNodePromises); + } + + const signatureShares: Array = (res as SuccessNodePromises) + .values; + + log('signatureShares', signatureShares); + + // ========== Result ========== + const decryptedData = this.#decryptWithSignatureShares( + this.networkPubKeySet!, + uint8arrayFromString(identityParam, 'base16'), + ciphertext, + signatureShares + ); + + return { decryptedData }; + }; + + #getIdentityParamForEncryption = ( + hashOfConditionsStr: string, + hashOfPrivateDataStr: string + ): string => { + return new LitAccessControlConditionResource( + `${hashOfConditionsStr}${hashOfPrivateDataStr}` + ).getResourceKey(); + }; + /** * * Validates a condition, and then signs the condition if the validation returns true. diff --git a/packages/types/src/lib/ILitNodeClient.ts b/packages/types/src/lib/ILitNodeClient.ts index 55b73596b5..ad729fcf75 100644 --- a/packages/types/src/lib/ILitNodeClient.ts +++ b/packages/types/src/lib/ILitNodeClient.ts @@ -1,7 +1,11 @@ import { SupportedJsonRequests } from './types'; import { + EncryptRequest, + EncryptResponse, ExecuteJsProps, ExecuteJsResponse, + DecryptRequest, + DecryptResponse, FormattedMultipleAccs, HandshakeWithSgx, JsonEncryptionRetrieveRequest, @@ -165,17 +169,6 @@ export interface ILitNodeClient { */ getSignatures(signedData: Array): any; - /** - * - * Get the decryptions from the decrypted data list - * - * @param { Array } decryptedData - * - * @returns { Promise } - * - */ - getDecryptions(decryptedData: Array): Promise>; - /** * * Parse the response string to JSON @@ -247,22 +240,6 @@ export interface ILitNodeClient { requestId: string ): Promise; - /** - * - * Ger Decryption Shares from Nodes - * - * @param { string } url - * @param { JsonEncryptionRetrieveRequest } params - * - * @returns { Promise } - * - */ - getDecryptionShare( - url: string, - params: JsonEncryptionRetrieveRequest, - requestId: string - ): Promise; - /** * * Store signing conditions to nodes @@ -279,22 +256,6 @@ export interface ILitNodeClient { requestId: string ): Promise; - /** - * - * Store encryption conditions to nodes - * - * @param { string } urk - * @param { JsonEncryptionStoreRequest } params - * - * @returns { Promise } - * - */ - storeEncryptionConditionWithNode( - url: string, - params: JsonSigningStoreRequest, - requestId: string - ): Promise; - /** * * Sign Condition ECDSA @@ -376,22 +337,18 @@ export interface ILitNodeClient { ): Promise; /** + * Encrypt data with Lit identity-based Timelock Encryption. * - * Retrieve the symmetric encryption key from the LIT nodes. Note that this will only work if the current user meets the access control conditions specified when the data was encrypted. That access control condition is typically that the user is a holder of the NFT that corresponds to this encrypted data. This NFT token address and ID was specified when this LIT was created. - * + * @param params */ - getEncryptionKey(params: JsonEncryptionRetrieveRequest): Promise; + encrypt(params: EncryptRequest): Promise; /** + * Decrypt data with Lit identity-based Timelock Encryption. * - * Securely save the association between access control conditions and something that you wish to decrypt - * - * @param { JsonSaveEncryptionKeyRequest } params - * - * @returns { Promise; + decrypt(params: DecryptRequest): Promise; /** * diff --git a/packages/types/src/lib/interfaces.ts b/packages/types/src/lib/interfaces.ts index 6b363935ad..f07e677030 100644 --- a/packages/types/src/lib/interfaces.ts +++ b/packages/types/src/lib/interfaces.ts @@ -21,6 +21,9 @@ import { } from '@lit-protocol/auth-helpers'; import { BytesLike } from 'ethers'; +// @ts-ignore +import * as JSZip from 'jszip/dist/jszip.js'; + export interface AccsOperatorParams { operator: string; } @@ -148,7 +151,19 @@ export interface ThreeKeys { export interface DecryptZipFileWithMetadata { decryptedFile: Uint8Array; - metadata: string; + metadata: MetadataForFile; +} + +export interface MetadataForFile { + name: string | any; + type: string | any; + size: string | number | any; + accessControlConditions: any[] | any; + evmContractConditions: any[] | any; + solRpcConditions: any[] | any; + unifiedAccessControlConditions: any[] | any; + chain: string; + dataToEncryptHash: string; } export interface EncryptedFile { @@ -331,7 +346,7 @@ export interface JsonAccsRequest { // The authentication signature that proves that the user owns the crypto wallet address that meets the access control conditions authSig?: AuthSig; - sessionSigs?: SessionSigsMap; + sessionSigs?: SessionSig; } /** @@ -406,6 +421,54 @@ export type ExecuteJsProps = JsonExecutionRequest & { debug?: boolean; }; +export interface EncryptRequestBase { + accessControlConditions?: AccessControlConditions; + evmContractConditions?: EvmContractConditions; + solRpcConditions?: SolRpcConditions; + unifiedAccessControlConditions?: UnifiedAccessControlConditions; + + chain: Chain; + + authSig?: AuthSig; + sessionSigs?: SessionSigsMap; +} + +export interface EncryptRequest extends EncryptRequestBase { + dataToEncrypt: Uint8Array; +} + +export interface EncryptResponse { + ciphertext: string; + dataToEncryptHash: string; +} + +export interface EncryptStringRequest extends EncryptRequestBase { + // Hex-encoded string that you wish to encrypt + dataToEncrypt: string; +} + +export interface EncryptZipRequest extends EncryptRequestBase { + zip: JSZip; +} + +export interface EncryptFileRequest extends EncryptRequestBase { + file: AcceptedFileType; +} + +export interface DecryptRequest extends EncryptRequestBase { + ciphertext: string; + dataToEncryptHash: string; +} + +export interface DecryptResponse { + decryptedData: Uint8Array; +} + +export interface GetSigningShareForDecryptionRequest extends JsonAccsRequest { + ciphertext: string; + dataToEncryptHash: string; +} + export interface JsonSaveEncryptionKeyRequest { accessControlConditions?: AccessControlConditions; evmContractConditions?: EvmContractConditions; @@ -656,6 +719,29 @@ export interface EncryptToIpfsProps { infuraSecretKey: string; } +export type EncryptToIpfsDataType = 'string' | 'file'; + +export interface EncryptToIpfsPayload { + // The access control conditions that the user must meet to obtain this signed token. This could be posession of an NFT, for example. You must pass either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions. + accessControlConditions?: AccessControlConditions; + + // EVM Smart Contract access control conditions that the user must meet to obtain this signed token. This could be posession of an NFT, for example. This is different than accessControlConditions because accessControlConditions only supports a limited number of contract calls. evmContractConditions supports any contract call. You must pass either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions. + evmContractConditions?: EvmContractConditions; + + // Solana RPC call conditions that the user must meet to obtain this signed token. This could be posession of an NFT, for example. + solRpcConditions?: SolRpcConditions; + + // An array of unified access control conditions. You may use AccessControlCondition, EVMContractCondition, or SolRpcCondition objects in this array, but make sure you add a conditionType for each one. You must pass either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions. + unifiedAccessControlConditions?: UnifiedAccessControlConditions; + + // The chain name of the chain that this contract is deployed on. See LIT_CHAINS for currently supported chains. + chain: Chain; + + ciphertext: string; + dataToEncryptHash: string; + dataType: EncryptToIpfsDataType; +} + export interface DecryptFromIpfsProps { // The authSig of the user. Returned via the checkAndSignAuthMessage function authSig?: AuthSig; @@ -714,9 +800,6 @@ export interface DecryptZipFileWithMetadataProps { // An instance of LitNodeClient that is already connected litNodeClient: ILitNodeClient; - - // Addtional access control conditions - additionalAccessControlConditions?: any[]; } /** From dde386830820e1b2926278e6a303c36e558adae0 Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Wed, 14 Jun 2023 15:51:57 -0700 Subject: [PATCH 025/193] Remove jalapeno support and make serrano the default --- packages/constants/src/lib/constants/constants.ts | 12 ------------ .../src/lib/constants/defaultLitNodeClientConfig.ts | 2 +- .../src/lib/lit-node-client-nodejs.spec.ts | 6 +++--- packages/types/src/lib/types.ts | 7 +++++-- 4 files changed, 9 insertions(+), 18 deletions(-) diff --git a/packages/constants/src/lib/constants/constants.ts b/packages/constants/src/lib/constants/constants.ts index 7d2e089487..0d22974500 100644 --- a/packages/constants/src/lib/constants/constants.ts +++ b/packages/constants/src/lib/constants/constants.ts @@ -601,18 +601,6 @@ export const SYMM_KEY_ALGO_PARAMS = { * */ export const LIT_NETWORKS = { - jalapeno: [ - 'https://node2.litgateway.com:7370', - 'https://node2.litgateway.com:7371', - 'https://node2.litgateway.com:7372', - 'https://node2.litgateway.com:7373', - 'https://node2.litgateway.com:7374', - 'https://node2.litgateway.com:7375', - 'https://node2.litgateway.com:7376', - 'https://node2.litgateway.com:7377', - 'https://node2.litgateway.com:7378', - 'https://node2.litgateway.com:7379', - ], serrano: [ 'https://serrano.litgateway.com:7370', 'https://serrano.litgateway.com:7371', diff --git a/packages/constants/src/lib/constants/defaultLitNodeClientConfig.ts b/packages/constants/src/lib/constants/defaultLitNodeClientConfig.ts index 1f95c9a547..2bddba3ef4 100644 --- a/packages/constants/src/lib/constants/defaultLitNodeClientConfig.ts +++ b/packages/constants/src/lib/constants/defaultLitNodeClientConfig.ts @@ -16,6 +16,6 @@ export const defaultLitnodeClientConfig: LitNodeClientConfig = { 'https://node2.litgateway.com:7378', 'https://node2.litgateway.com:7379', ], - litNetwork: 'jalapeno', + litNetwork: 'serrano', connectTimeout: 20000, }; diff --git a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.spec.ts b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.spec.ts index 2944ca9f0d..ecc22243b0 100644 --- a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.spec.ts +++ b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.spec.ts @@ -140,12 +140,12 @@ describe('LitNodeClientNodeJs', () => { expect(litNodeClient.config.litNetwork).toBe('serrano'); }); - it('should be able to instantiate a new LitNodeClientNodeJs to jalapeno', async () => { + it('should be able to instantiate a new LitNodeClientNodeJs to serrano', async () => { const litNodeClient = new LitNodeClientNodeJs({ - litNetwork: 'jalapeno', + litNetwork: 'serrano', }); await litNodeClient.connect(); - expect(litNodeClient.config.litNetwork).toBe('jalapeno'); + expect(litNodeClient.config.litNetwork).toBe('serrano'); }); it('should be able to instantiate a new LitNodeClientNodeJs to localhost', async () => { diff --git a/packages/types/src/lib/types.ts b/packages/types/src/lib/types.ts index 99b5d27e0a..54da602d2e 100644 --- a/packages/types/src/lib/types.ts +++ b/packages/types/src/lib/types.ts @@ -86,7 +86,7 @@ export type LITChain = { [chainName: string]: T; }; -export type LIT_NETWORKS_KEYS = 'jalapeno' | 'serrano' | 'localhost' | 'custom'; +export type LIT_NETWORKS_KEYS = 'serrano' | 'localhost' | 'custom'; export type ConditionType = 'solRpc' | 'evmBasic' | 'evmContract' | 'cosmos'; @@ -106,6 +106,9 @@ export type AcceptedFileType = File | Blob; */ export type IRelayAuthStatus = 'InProgress' | 'Succeeded' | 'Failed'; -export type ProviderOptions = OAuthProviderOptions | EthWalletProviderOptions | SignInWithOTPParams; +export type ProviderOptions = + | OAuthProviderOptions + | EthWalletProviderOptions + | SignInWithOTPParams; export type AuthenticateOptions = BaseAuthenticateOptions; From 3df13fbe1bf19360b6476fb24dd8262b8d50a1ef Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Thu, 15 Jun 2023 13:50:30 -0700 Subject: [PATCH 026/193] Build fixes + bug fixes --- packages/auth-browser/src/lib/chains/eth.ts | 18 ++++++++---------- packages/auth-browser/src/lib/chains/sol.ts | 13 +++++++++---- packages/crypto/src/lib/crypto.ts | 2 +- .../src/lib/lit-node-client-nodejs.ts | 5 +---- .../lit-node-client/src/lib/lit-node-client.ts | 5 +++-- packages/uint8arrays/src/index.ts | 8 ++++++-- 6 files changed, 28 insertions(+), 23 deletions(-) diff --git a/packages/auth-browser/src/lib/chains/eth.ts b/packages/auth-browser/src/lib/chains/eth.ts index 03518a9d78..d3da8127f5 100644 --- a/packages/auth-browser/src/lib/chains/eth.ts +++ b/packages/auth-browser/src/lib/chains/eth.ts @@ -200,8 +200,8 @@ export const chainHexIdToChainName = (chainHexId: string): void | string => { export const getChainId = async ( chain: string, web3: Web3Provider -): Promise => { - let resultOrError: IEither; +): Promise> => { + let resultOrError: IEither; try { const resp = await web3.getNetwork(); @@ -481,12 +481,10 @@ export const checkAndSignEVMAuthMessage = async ({ log(`got web3 and account: ${account}`); // -- 2. prepare all required variables - const currentChainIdOrError: IEither = await getChainId(chain, web3); + const currentChainIdOrError = await getChainId(chain, web3); const selectedChainId: number = selectedChain.chainId; const selectedChainIdHex: string = numberToHex(selectedChainId); - const authSigOrError: IEither = getStorageItem( - LOCAL_STORAGE_KEYS.AUTH_SIGNATURE - ); + const authSigOrError = getStorageItem(LOCAL_STORAGE_KEYS.AUTH_SIGNATURE); log('currentChainIdOrError:', currentChainIdOrError); log('selectedChainId:', selectedChainId); @@ -495,7 +493,7 @@ export const checkAndSignEVMAuthMessage = async ({ // -- 3. check all variables before executing business logic if (currentChainIdOrError.type === EITHER_TYPE.ERROR) { - return throwError(currentChainIdOrError.result); + return throwError(currentChainIdOrError.result as any); } log('chainId from web3', currentChainIdOrError); @@ -571,6 +569,7 @@ export const checkAndSignEVMAuthMessage = async ({ log('signing auth message because sig is not in local storage'); try { + // @ts-ignore authSigOrError.result = await _signAndGetAuth({ web3, account, @@ -592,6 +591,7 @@ export const checkAndSignEVMAuthMessage = async ({ } // -- 6. case: Lit auth signature IS in the local storage + // @ts-ignore let authSig: AuthSig = authSigOrError.result; if (typeof authSig === 'string') { authSig = JSON.parse(authSig); @@ -654,9 +654,7 @@ const _signAndGetAuth = async ({ uri, }); - let authSigOrError: IEither = getStorageItem( - LOCAL_STORAGE_KEYS.AUTH_SIGNATURE - ); + let authSigOrError = getStorageItem(LOCAL_STORAGE_KEYS.AUTH_SIGNATURE); if (authSigOrError.type === 'ERROR') { throwError({ diff --git a/packages/auth-browser/src/lib/chains/sol.ts b/packages/auth-browser/src/lib/chains/sol.ts index 430f0b7a81..16e54ba890 100644 --- a/packages/auth-browser/src/lib/chains/sol.ts +++ b/packages/auth-browser/src/lib/chains/sol.ts @@ -24,8 +24,8 @@ import { * * @returns { object || never } */ -const getProvider = (): IEither => { - let resultOrError: IEither; +const getProvider = (): IEither => { + let resultOrError: IEither; // -- validate // The Backpack wallet does not inject a solana object into the window, so we need to check for the backpack object as well. @@ -55,7 +55,7 @@ const getProvider = (): IEither => { * @returns { Promise => { - const providerOrError: IEither = getProvider(); + const providerOrError = getProvider(); if (providerOrError.type === 'ERROR') { throwError(providerOrError.result); @@ -91,7 +91,7 @@ export const checkAndSignSolAuthMessage = async (): Promise => { const account = res?.account; const key = LOCAL_STORAGE_KEYS.AUTH_SOL_SIGNATURE; - let authSigOrError: IEither = getStorageItem(key); + let authSigOrError = getStorageItem(key); // let authSig = localStorage.getItem("lit-auth-sol-signature"); let authSig: AuthSig; @@ -103,6 +103,7 @@ export const checkAndSignSolAuthMessage = async (): Promise => { await signAndSaveAuthMessage({ provider }); authSigOrError.type = EITHER_TYPE.SUCCESS; + // @ts-ignore authSigOrError.result = getStorageItem(key); } @@ -111,9 +112,11 @@ export const checkAndSignSolAuthMessage = async (): Promise => { try { // when it's not in local storage, it's a string + // @ts-ignore authSig = JSON.parse(authSigOrError.result.result); } catch (e) { // when it's in local storage, it's an object + // @ts-ignore authSig = JSON.parse(authSigOrError.result); } @@ -126,7 +129,9 @@ export const checkAndSignSolAuthMessage = async (): Promise => { await signAndSaveAuthMessage({ provider }); authSigOrError.type = EITHER_TYPE.SUCCESS; + // @ts-ignore authSigOrError.result = getStorageItem(key); + // @ts-ignore authSig = JSON.parse(authSigOrError.result); } diff --git a/packages/crypto/src/lib/crypto.ts b/packages/crypto/src/lib/crypto.ts index 89003ed145..5dc737df8c 100644 --- a/packages/crypto/src/lib/crypto.ts +++ b/packages/crypto/src/lib/crypto.ts @@ -16,10 +16,10 @@ import { isBrowser, log, throwError } from '@lit-protocol/misc'; import { uint8arrayFromString, uint8arrayToString, + uint8ArrayToBase64, } from '@lit-protocol/uint8arrays'; import { nacl } from '@lit-protocol/nacl'; -import { uint8ArrayToBase64 } from 'packages/uint8arrays/src/lib/uint8arrays'; // if 'wasmExports' is not available, we need to initialize the BLS SDK if (!globalThis.wasmExports) { diff --git a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts index cd909c60f4..390374fff8 100644 --- a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts +++ b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts @@ -1778,7 +1778,7 @@ export class LitNodeClientNodeJs extends LitCore { const ciphertext = encrypt( this.subnetPubKey, params.dataToEncrypt, - uint8arrayFromString(identityParam, 'base16') + uint8arrayFromString(identityParam, 'utf8') ); return { ciphertext, dataToEncryptHash: hashOfPrivateDataStr }; @@ -1867,9 +1867,6 @@ export class LitNodeClientNodeJs extends LitCore { // ========== Get Network Signature ========== const requestId = this.getRequestId(); const nodePromises = this.getNodePromises((url: string) => { - // -- if session key is available, use it - let authSigToSend = sessionSigs ? sessionSigs[url] : authSig; - return this.getSigningShareForDecryption( url, { diff --git a/packages/lit-node-client/src/lib/lit-node-client.ts b/packages/lit-node-client/src/lib/lit-node-client.ts index d327230743..603a451e1a 100644 --- a/packages/lit-node-client/src/lib/lit-node-client.ts +++ b/packages/lit-node-client/src/lib/lit-node-client.ts @@ -3,6 +3,7 @@ import { checkAndSignAuthMessage } from '@lit-protocol/auth-browser'; import { CustomNetwork, LitNodeClientConfig } from '@lit-protocol/types'; import { isNode, log } from '@lit-protocol/misc'; import { getStorageItem } from '@lit-protocol/misc-browser'; +import { EITHER_TYPE } from '@lit-protocol/constants'; export class LitNodeClient extends LitNodeClientNodeJs { constructor(args: any[LitNodeClientConfig | CustomNetwork | any]) { @@ -29,13 +30,13 @@ export class LitNodeClient extends LitNodeClientNodeJs { const storageConfigOrError = getStorageItem(storageKey); // -- validate - if (storageConfigOrError.type === 'ERROR') { + if (storageConfigOrError.type === EITHER_TYPE.ERROR) { log(`Storage key "${storageKey}" is missing. `); return; } // -- execute - const storageConfig = JSON.parse(storageConfigOrError.result); + const storageConfig = JSON.parse(storageConfigOrError.result as string); // this.config = override(this.config, storageConfig); this.config = { ...this.config, ...storageConfig }; }; diff --git a/packages/uint8arrays/src/index.ts b/packages/uint8arrays/src/index.ts index baca8d4fad..1434ee0943 100644 --- a/packages/uint8arrays/src/index.ts +++ b/packages/uint8arrays/src/index.ts @@ -2,6 +2,10 @@ // // ----- autogen:polyfills:end ----- -import { uint8arrayFromString, uint8arrayToString } from './lib/uint8arrays'; +import { + uint8arrayFromString, + uint8arrayToString, + uint8ArrayToBase64, +} from './lib/uint8arrays'; -export { uint8arrayFromString, uint8arrayToString }; +export { uint8arrayFromString, uint8arrayToString, uint8ArrayToBase64 }; From 17b15587b1b9950ae14bdf3cebad693b35e1c495 Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Thu, 15 Jun 2023 15:53:22 -0700 Subject: [PATCH 027/193] Make demo app use TS --- apps/demo-encrypt-decrypt-react/package.json | 7 +++- .../src/{App.js => App.tsx} | 30 ++++++------- .../src/{index.js => index.tsx} | 2 +- .../src/react-app-env.d.ts | 1 + ...{reportWebVitals.js => reportWebVitals.ts} | 4 +- .../src/{setupTests.js => setupTests.ts} | 0 apps/demo-encrypt-decrypt-react/src/utils.js | 7 ---- apps/demo-encrypt-decrypt-react/src/utils.ts | 7 ++++ apps/demo-encrypt-decrypt-react/tsconfig.json | 26 ++++++++++++ apps/demo-encrypt-decrypt-react/yarn.lock | 42 +++++++++++++++++-- 10 files changed, 98 insertions(+), 28 deletions(-) rename apps/demo-encrypt-decrypt-react/src/{App.js => App.tsx} (94%) rename apps/demo-encrypt-decrypt-react/src/{index.js => index.tsx} (96%) create mode 100644 apps/demo-encrypt-decrypt-react/src/react-app-env.d.ts rename apps/demo-encrypt-decrypt-react/src/{reportWebVitals.js => reportWebVitals.ts} (75%) rename apps/demo-encrypt-decrypt-react/src/{setupTests.js => setupTests.ts} (100%) delete mode 100644 apps/demo-encrypt-decrypt-react/src/utils.js create mode 100644 apps/demo-encrypt-decrypt-react/src/utils.ts create mode 100644 apps/demo-encrypt-decrypt-react/tsconfig.json diff --git a/apps/demo-encrypt-decrypt-react/package.json b/apps/demo-encrypt-decrypt-react/package.json index 043d0f6f34..19efb2041f 100644 --- a/apps/demo-encrypt-decrypt-react/package.json +++ b/apps/demo-encrypt-decrypt-react/package.json @@ -4,13 +4,18 @@ "private": true, "dependencies": { "@lit-protocol/lit-node-client": "^2.1.158", - "@monaco-editor/react": "^4.4.6", + "@monaco-editor/react": "^4.5.1", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "@types/jest": "^29.4.0", + "@types/node": "^18.11.19", + "@types/react": "^18.0.27", + "@types/react-dom": "^18.0.10", "react": "^18.2.0", "react-dom": "^18.2.0", "react-scripts": "5.0.1", + "typescript": "^4.9.5", "web-vitals": "^2.1.4" }, "scripts": { diff --git a/apps/demo-encrypt-decrypt-react/src/App.js b/apps/demo-encrypt-decrypt-react/src/App.tsx similarity index 94% rename from apps/demo-encrypt-decrypt-react/src/App.js rename to apps/demo-encrypt-decrypt-react/src/App.tsx index b9e3ffd049..a22c1c0723 100644 --- a/apps/demo-encrypt-decrypt-react/src/App.js +++ b/apps/demo-encrypt-decrypt-react/src/App.tsx @@ -4,6 +4,7 @@ import LitLogo from './LitLogo'; import Editor from '@monaco-editor/react'; import { benchmark } from './utils'; import * as LitJsSdk from '@lit-protocol/lit-node-client'; +import { AuthSig } from '@lit-protocol/types'; function App() { @@ -14,7 +15,7 @@ function App() { const [npmRepo, setNpmRepo] = useState('https://github.com/LIT-Protocol/js-sdk/tree/master/packages/lit-node-client'); const [demoRepo, setDemoRepo] = useState('https://github.com/LIT-Protocol/js-sdk/tree/master/apps/demo-encrypt-decrypt-react'); const [lang, setLang] = useState('json'); - const [data, setData] = useState({ + const [data, setData] = useState({ data: { name: 'Lit Protocol', description: 'Threadshold cryptography for the win!', @@ -116,7 +117,7 @@ console.log("decryptedString:", "Loading..."); // --------- NEXT STEP --------- - let authSig; + let authSig: AuthSig await benchmark(async () => { authSig = await LitJsSdk.checkAndSignAuthMessage({ @@ -146,7 +147,9 @@ console.log("decryptedString:", "Loading..."); // --------- NEXT STEP --------- let res; + // @ts-ignore FIXME: let encryptedString; + // @ts-ignore FIXME: let symmetricKey; await benchmark(async () => { @@ -165,9 +168,10 @@ console.log("decryptedString:", "Loading..."); // --------- NEXT STEP --------- - let base64EncryptedString; + let base64EncryptedString: string; await benchmark(async () => { base64EncryptedString = await LitJsSdk.blobToBase64String( + // @ts-ignore FIXME: encryptedString ); return base64EncryptedString @@ -181,12 +185,13 @@ console.log("decryptedString:", "Loading..."); // --------- NEXT STEP --------- - let encryptedSymmetricKey; + let encryptedSymmetricKey: Uint8Array; await benchmark(async () => { encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ accessControlConditions: accs, - symmetricKey: symmetricKey, + // @ts-ignore FIXME: + symmetricKey, authSig: authSig, chain: 'ethereum', }); @@ -202,10 +207,9 @@ console.log("decryptedString:", "Loading..."); // --------- NEXT STEP --------- - let toDecrypt; - + let toDecrypt: string; await benchmark(async () => { - toDecrypt = await LitJsSdk.uint8arrayToString( + toDecrypt = LitJsSdk.uint8arrayToString( encryptedSymmetricKey, 'base16' ); @@ -221,12 +225,12 @@ console.log("decryptedString:", "Loading..."); // --------- NEXT STEP --------- - let encryptionKey; + let encryptionKey: Uint8Array; await benchmark(async () => { encryptionKey = await litNodeClient.getEncryptionKey({ accessControlConditions: accs, - toDecrypt: toDecrypt, + toDecrypt, authSig: authSig, chain: 'ethereum', }); @@ -242,8 +246,7 @@ console.log("decryptedString:", "Loading..."); // --------- NEXT STEP --------- - let blob; - + let blob: Blob; await benchmark(async () => { blob = LitJsSdk.base64StringToBlob(base64EncryptedString); return blob @@ -316,8 +319,7 @@ console.log("decryptedString:", "Loading..."); theme="vs-dark" height="100vh" language={lang} - value={lang === 'json' ? JSON.stringify(data, null, 2) : data} - + value={lang === 'json' ? JSON.stringify(data, null, 2) : `${data}`} options={{ wordWrap: 'on', }} diff --git a/apps/demo-encrypt-decrypt-react/src/index.js b/apps/demo-encrypt-decrypt-react/src/index.tsx similarity index 96% rename from apps/demo-encrypt-decrypt-react/src/index.js rename to apps/demo-encrypt-decrypt-react/src/index.tsx index d563c0fb10..db4d64356e 100644 --- a/apps/demo-encrypt-decrypt-react/src/index.js +++ b/apps/demo-encrypt-decrypt-react/src/index.tsx @@ -4,7 +4,7 @@ import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; -const root = ReactDOM.createRoot(document.getElementById('root')); +const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement); root.render( diff --git a/apps/demo-encrypt-decrypt-react/src/react-app-env.d.ts b/apps/demo-encrypt-decrypt-react/src/react-app-env.d.ts new file mode 100644 index 0000000000..6889c6b376 --- /dev/null +++ b/apps/demo-encrypt-decrypt-react/src/react-app-env.d.ts @@ -0,0 +1 @@ +/// \ No newline at end of file diff --git a/apps/demo-encrypt-decrypt-react/src/reportWebVitals.js b/apps/demo-encrypt-decrypt-react/src/reportWebVitals.ts similarity index 75% rename from apps/demo-encrypt-decrypt-react/src/reportWebVitals.js rename to apps/demo-encrypt-decrypt-react/src/reportWebVitals.ts index 5253d3ad9e..49a2a16e0f 100644 --- a/apps/demo-encrypt-decrypt-react/src/reportWebVitals.js +++ b/apps/demo-encrypt-decrypt-react/src/reportWebVitals.ts @@ -1,4 +1,6 @@ -const reportWebVitals = onPerfEntry => { +import { ReportHandler } from 'web-vitals'; + +const reportWebVitals = (onPerfEntry?: ReportHandler) => { if (onPerfEntry && onPerfEntry instanceof Function) { import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { getCLS(onPerfEntry); diff --git a/apps/demo-encrypt-decrypt-react/src/setupTests.js b/apps/demo-encrypt-decrypt-react/src/setupTests.ts similarity index 100% rename from apps/demo-encrypt-decrypt-react/src/setupTests.js rename to apps/demo-encrypt-decrypt-react/src/setupTests.ts diff --git a/apps/demo-encrypt-decrypt-react/src/utils.js b/apps/demo-encrypt-decrypt-react/src/utils.js deleted file mode 100644 index 03a6932743..0000000000 --- a/apps/demo-encrypt-decrypt-react/src/utils.js +++ /dev/null @@ -1,7 +0,0 @@ -export const benchmark = async (func, callback) => { - const t0 = performance.now(); - const res = await func(); - const t1 = performance.now(); - - await callback((t1 - t0) + " ms", res); -} \ No newline at end of file diff --git a/apps/demo-encrypt-decrypt-react/src/utils.ts b/apps/demo-encrypt-decrypt-react/src/utils.ts new file mode 100644 index 0000000000..89288d3dd5 --- /dev/null +++ b/apps/demo-encrypt-decrypt-react/src/utils.ts @@ -0,0 +1,7 @@ +export async function benchmark(func: () => Promise, callback: (ms: string, res: T) => void) { + const t0 = performance.now(); + const res = await func(); + const t1 = performance.now(); + + callback((t1 - t0) + " ms", res); +} \ No newline at end of file diff --git a/apps/demo-encrypt-decrypt-react/tsconfig.json b/apps/demo-encrypt-decrypt-react/tsconfig.json new file mode 100644 index 0000000000..01b3dee573 --- /dev/null +++ b/apps/demo-encrypt-decrypt-react/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": [ + "src" + ] +} \ No newline at end of file diff --git a/apps/demo-encrypt-decrypt-react/yarn.lock b/apps/demo-encrypt-decrypt-react/yarn.lock index 45a8cd02c1..9218308c68 100644 --- a/apps/demo-encrypt-decrypt-react/yarn.lock +++ b/apps/demo-encrypt-decrypt-react/yarn.lock @@ -2289,10 +2289,10 @@ dependencies: state-local "^1.0.6" -"@monaco-editor/react@^4.4.6": - version "4.5.0" - resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.5.0.tgz#5a581f1ce5af6597dd127ac2c0d22d15ca3f3928" - integrity sha512-VJMkp5Fe1+w8pLEq8tZPHZKu8zDXQIA1FtiDTSNccg1D3wg1YIZaH2es2Qpvop1k62g3c/YySRb3bnGXu2XwYQ== +"@monaco-editor/react@^4.5.1": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.5.1.tgz#fbc76c692aee9a33b9ab24ae0c5f219b8f002fdb" + integrity sha512-NNDFdP+2HojtNhCkRfE6/D6ro6pBNihaOzMbGK84lNWzRu+CfBjwzGt4jmnqimLuqp5yE5viHS2vi+QOAnD5FQ== dependencies: "@monaco-editor/loader" "^1.3.3" @@ -3014,6 +3014,14 @@ expect "^29.0.0" pretty-format "^29.0.0" +"@types/jest@^29.4.0": + version "29.5.2" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.2.tgz#86b4afc86e3a8f3005b297ed8a72494f89e6395b" + integrity sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + "@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" @@ -3049,6 +3057,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.3.tgz#6bda7819aae6ea0b386ebc5b24bdf602f1b42b01" integrity sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q== +"@types/node@^18.11.19": + version "18.16.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.18.tgz#85da09bafb66d4bc14f7c899185336d0c1736390" + integrity sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw== + "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" @@ -3086,6 +3099,13 @@ dependencies: "@types/react" "*" +"@types/react-dom@^18.0.10": + version "18.2.5" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.5.tgz#5c5f13548bda23cd98f50ca4a59107238bfe18f3" + integrity sha512-sRQsOS/sCLnpQhR4DSKGTtWFE3FZjpQa86KPVbhUqdYMRZ9FEFcfAytKhR/vUG2rH1oFbOOej6cuD7MFSobDRQ== + dependencies: + "@types/react" "*" + "@types/react@*": version "18.2.5" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.5.tgz#f9403e1113b12b53f7edcdd9a900c10dd4b49a59" @@ -3095,6 +3115,15 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/react@^18.0.27": + version "18.2.12" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.12.tgz#95d584338610b78bb9ba0415e3180fb03debdf97" + integrity sha512-ndmBMLCgn38v3SntMeoJaIrO6tGHYKMEBohCUmw8HoLLQdRMOIGXfeYaBTLe2lsFaSB3MOK1VXscYFnmLtTSmw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + "@types/resolve@1.17.1": version "1.17.1" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" @@ -11091,6 +11120,11 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" +typescript@^4.9.5: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + uint8arraylist@^2.3.3: version "2.4.3" resolved "https://registry.yarnpkg.com/uint8arraylist/-/uint8arraylist-2.4.3.tgz#1148aa979b407d382e4eb8d9c8f2b4bf3f5910d5" From 7dc7d0451393a38f600f9a8fc02bc7a68161319e Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Thu, 15 Jun 2023 16:31:33 -0700 Subject: [PATCH 028/193] Use better names, fixes --- packages/encryption/src/lib/encryption.ts | 12 +++++------ packages/lit-node-client-nodejs/src/index.ts | 6 +++--- packages/misc-browser/src/lib/misc-browser.ts | 1 - packages/types/src/lib/ILitNodeClient.ts | 21 +++++++------------ 4 files changed, 16 insertions(+), 24 deletions(-) diff --git a/packages/encryption/src/lib/encryption.ts b/packages/encryption/src/lib/encryption.ts index 2d8061450a..71ca302989 100644 --- a/packages/encryption/src/lib/encryption.ts +++ b/packages/encryption/src/lib/encryption.ts @@ -184,7 +184,7 @@ export const decryptFromIpfs = async ( await fetch(`https://gateway.pinata.cloud/ipfs/${ipfsCid}`) ).json(); if (metadata.dataType === 'string') { - return decryptString( + return decryptToString( { accessControlConditions: metadata.accessControlConditions, evmContractConditions: metadata.evmContractConditions, @@ -200,7 +200,7 @@ export const decryptFromIpfs = async ( litNodeClient ); } else { - return decryptFile( + return decryptToFile( { accessControlConditions: metadata.accessControlConditions, evmContractConditions: metadata.evmContractConditions, @@ -266,7 +266,7 @@ export const encryptString = async ( * * @returns { Promise } A promise containing the decrypted string */ -export const decryptString = async ( +export const decryptToString = async ( params: DecryptRequest, litNodeClient: ILitNodeClient ): Promise => { @@ -392,7 +392,7 @@ export const zipAndEncryptFiles = async ( * * @returns { Promise } A promise containing a JSZip object indexed by the filenames of the zipped files. For example, if you have a file called "meow.jpg" in the root of your zip, you could get it from the JSZip object by doing this: const imageBlob = await decryptedZip['meow.jpg'].async('blob') */ -export const decryptZip = async ( +export const decryptToZip = async ( params: DecryptRequest, litNodeClient: ILitNodeClient ): Promise<{ [key: string]: JSZip.JSZipObject }> => { @@ -630,7 +630,7 @@ export const decryptZipFileWithMetadata = async ( const encryptedFile = await _file.async('blob'); - const decryptedFile = await decryptFile( + const decryptedFile = await decryptToFile( { ...params, accessControlConditions: metadata.accessControlConditions, @@ -694,7 +694,7 @@ export const encryptFile = async ( * * @returns { Promise } A promise containing the decrypted file. The file is an ArrayBuffer. */ -export const decryptFile = async ( +export const decryptToFile = async ( params: DecryptRequest, litNodeClient: ILitNodeClient ): Promise => { diff --git a/packages/lit-node-client-nodejs/src/index.ts b/packages/lit-node-client-nodejs/src/index.ts index a655455586..4ff0f311db 100644 --- a/packages/lit-node-client-nodejs/src/index.ts +++ b/packages/lit-node-client-nodejs/src/index.ts @@ -21,9 +21,9 @@ if (!globalThis.LitNodeClientNodeJs) { export * from './lib/lit-node-client-nodejs'; export { - decryptFile, - decryptString, - decryptZip, + decryptToFile, + decryptToString, + decryptToZip, decryptZipFileWithMetadata, decryptFromIpfs, encryptFile, diff --git a/packages/misc-browser/src/lib/misc-browser.ts b/packages/misc-browser/src/lib/misc-browser.ts index d97ff95354..ffdab198ca 100644 --- a/packages/misc-browser/src/lib/misc-browser.ts +++ b/packages/misc-browser/src/lib/misc-browser.ts @@ -3,7 +3,6 @@ import { uint8arrayFromString, uint8arrayToString, } from '@lit-protocol/uint8arrays'; -// import { log } from '@lit-protocol/misc'; /** * diff --git a/packages/types/src/lib/ILitNodeClient.ts b/packages/types/src/lib/ILitNodeClient.ts index ad729fcf75..386cbf3fbc 100644 --- a/packages/types/src/lib/ILitNodeClient.ts +++ b/packages/types/src/lib/ILitNodeClient.ts @@ -1,16 +1,13 @@ -import { SupportedJsonRequests } from './types'; import { + DecryptRequest, + DecryptResponse, EncryptRequest, EncryptResponse, ExecuteJsProps, ExecuteJsResponse, - DecryptRequest, - DecryptResponse, FormattedMultipleAccs, HandshakeWithSgx, - JsonEncryptionRetrieveRequest, JsonExecutionRequest, - JsonSaveEncryptionKeyRequest, JsonSignChainDataRequest, JsonSigningRetrieveRequest, JsonSigningStoreRequest, @@ -22,12 +19,12 @@ import { NodeShare, RejectedNodePromises, SendNodeCommand, - SignedChainDataToken, - // SignWithECDSA, SignConditionECDSA, + SignedChainDataToken, SuccessNodePromises, ValidateAndSignECDSA, } from './interfaces'; +import { SupportedJsonRequests } from './types'; export interface ILitNodeClient { config: LitNodeClientConfig; @@ -82,18 +79,14 @@ export interface ILitNodeClient { /** * - * Combine Shares from network public key set and signature shares + * Combine Shares from signature shares * - * @param { string } networkPubKeySet * @param { any } signatureShares * * @returns { string } final JWT (convert the sig to base64 and append to the jwt) * */ - combineSharesAndGetJWT( - networkPubKeySet: string, - signatureShares: Array - ): string; + combineSharesAndGetJWT(signatureShares: Array): string; /** * @@ -155,7 +148,7 @@ export interface ILitNodeClient { * @returns { void } * */ - throwNodeError(res: RejectedNodePromises): void; + _throwNodeError(res: RejectedNodePromises): void; // ========== Shares Resolvers ========== /** From a9bd44dc827186d98f7cb6965dd07e2e2ef9eb28 Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Thu, 15 Jun 2023 20:17:37 -0700 Subject: [PATCH 029/193] Fix bug, make errors more verbose --- packages/encryption/src/lib/encryption.ts | 23 ++++++++++--------- .../encryption/src/lib/params-validators.ts | 2 +- .../src/lib/lit-node-client-nodejs.ts | 5 ++-- packages/types/src/lib/interfaces.ts | 1 - 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/packages/encryption/src/lib/encryption.ts b/packages/encryption/src/lib/encryption.ts index 71ca302989..0d3b43be80 100644 --- a/packages/encryption/src/lib/encryption.ts +++ b/packages/encryption/src/lib/encryption.ts @@ -1,5 +1,6 @@ import { EITHER_TYPE, + ILitError, LIT_ERROR, NETWORK_PUB_KEY, } from '@lit-protocol/constants'; @@ -84,7 +85,7 @@ export const encryptToIpfs = async ( if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `Invalid params: ${paramsIsSafe.result}`, + message: `Invalid params: ${(paramsIsSafe.result as ILitError).message}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); @@ -174,7 +175,7 @@ export const decryptFromIpfs = async ( if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `Invalid params: ${paramsIsSafe.result}`, + message: `Invalid params: ${(paramsIsSafe.result as ILitError).message}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); @@ -246,7 +247,7 @@ export const encryptString = async ( if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `Invalid params: ${paramsIsSafe.result}`, + message: `Invalid params: ${(paramsIsSafe.result as ILitError).message}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); @@ -278,7 +279,7 @@ export const decryptToString = async ( if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `Invalid params: ${paramsIsSafe.result}`, + message: `Invalid params: ${(paramsIsSafe.result as ILitError).message}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); @@ -308,7 +309,7 @@ export const zipAndEncryptString = async ( if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `Invalid params: ${paramsIsSafe.result}`, + message: `Invalid params: ${(paramsIsSafe.result as ILitError).message}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); @@ -404,7 +405,7 @@ export const decryptToZip = async ( if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `Invalid params: ${paramsIsSafe.result}`, + message: `Invalid params: ${(paramsIsSafe.result as ILitError).message}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); @@ -444,7 +445,7 @@ export const encryptZip = async ( if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `Invalid params: ${paramsIsSafe.result}`, + message: `Invalid params: ${(paramsIsSafe.result as ILitError).message}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); @@ -513,7 +514,7 @@ export const encryptFileAndZipWithMetadata = async ( if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `Invalid params: ${paramsIsSafe.result}`, + message: `Invalid params: ${(paramsIsSafe.result as ILitError).message}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); @@ -593,7 +594,7 @@ export const decryptZipFileWithMetadata = async ( if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `Invalid params: ${paramsIsSafe.result}`, + message: `Invalid params: ${(paramsIsSafe.result as ILitError).message}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); @@ -670,7 +671,7 @@ export const encryptFile = async ( if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `Invalid params: ${paramsIsSafe.result}`, + message: `Invalid params: ${(paramsIsSafe.result as ILitError).message}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); @@ -706,7 +707,7 @@ export const decryptToFile = async ( if (paramsIsSafe.type === EITHER_TYPE.ERROR) return throwError({ - message: `Invalid params: ${paramsIsSafe.result}`, + message: `Invalid params: ${(paramsIsSafe.result as ILitError).message}`, errorKind: LIT_ERROR.INVALID_PARAM_TYPE.kind, errorCode: LIT_ERROR.INVALID_PARAM_TYPE.name, }); diff --git a/packages/encryption/src/lib/params-validators.ts b/packages/encryption/src/lib/params-validators.ts index 6025998b89..750ee501fb 100644 --- a/packages/encryption/src/lib/params-validators.ts +++ b/packages/encryption/src/lib/params-validators.ts @@ -107,7 +107,7 @@ export const paramsValidators: { decrypt: (params: DecryptRequest) => [ new AccessControlConditionsValidator('decrypt', params), new AuthMaterialValidator('decrypt', params, true), - new StringValidator('decrypt', params.ciphertext, 'ciphertext', true), + new StringValidator('decrypt', params.ciphertext, 'ciphertext'), ], decryptFile: (params: DecryptFileProps) => [ diff --git a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts index 390374fff8..73b0014080 100644 --- a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts +++ b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts @@ -1785,8 +1785,7 @@ export class LitNodeClientNodeJs extends LitCore { }; decrypt = async (params: DecryptRequest): Promise => { - const { authSig, sessionSigs, chain, ciphertext, dataToEncryptHash } = - params; + const { sessionSigs, chain, ciphertext, dataToEncryptHash } = params; // ========== Validate Params ========== // -- validate if it's ready @@ -1863,6 +1862,7 @@ export class LitNodeClientNodeJs extends LitCore { hashOfConditionsStr, dataToEncryptHash ); + log('identityParam', identityParam); // ========== Get Network Signature ========== const requestId = this.getRequestId(); @@ -1875,7 +1875,6 @@ export class LitNodeClientNodeJs extends LitCore { solRpcConditions: formattedSolRpcConditions, unifiedAccessControlConditions: formattedUnifiedAccessControlConditions, - ciphertext, dataToEncryptHash, chain, authSig: sessionSigs ? undefined : params.authSig, diff --git a/packages/types/src/lib/interfaces.ts b/packages/types/src/lib/interfaces.ts index f07e677030..8e3692541b 100644 --- a/packages/types/src/lib/interfaces.ts +++ b/packages/types/src/lib/interfaces.ts @@ -465,7 +465,6 @@ export interface DecryptResponse { } export interface GetSigningShareForDecryptionRequest extends JsonAccsRequest { - ciphertext: string; dataToEncryptHash: string; } From c67df5886cfbb189572ff7785373f6ab8ca09fef Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Thu, 15 Jun 2023 20:18:45 -0700 Subject: [PATCH 030/193] Update encryption logic in demo app --- apps/demo-encrypt-decrypt-react/src/App.tsx | 224 +- apps/demo-encrypt-decrypt-react/src/utils.ts | 14 +- apps/demo-encrypt-decrypt-react/yarn.lock | 5351 +++++------------- 3 files changed, 1526 insertions(+), 4063 deletions(-) diff --git a/apps/demo-encrypt-decrypt-react/src/App.tsx b/apps/demo-encrypt-decrypt-react/src/App.tsx index a22c1c0723..64cb9a3543 100644 --- a/apps/demo-encrypt-decrypt-react/src/App.tsx +++ b/apps/demo-encrypt-decrypt-react/src/App.tsx @@ -4,7 +4,6 @@ import LitLogo from './LitLogo'; import Editor from '@monaco-editor/react'; import { benchmark } from './utils'; import * as LitJsSdk from '@lit-protocol/lit-node-client'; -import { AuthSig } from '@lit-protocol/types'; function App() { @@ -21,7 +20,7 @@ function App() { description: 'Threadshold cryptography for the win!', } }); - const [str, setStr] = useState('This test is working! Omg!'); + const [str, setStr] = useState(toHexString('This test is working! Omg!')); const go = async () => { let code = `import * as LitJsSdk from '@lit-protocol/lit-node-client'; @@ -52,57 +51,28 @@ const accs = [ ]; // { ms } -const res = await LitJsSdk.encryptString('${str}'); +const res = await LitJsSdk.encryptString({ + accessControlConditions: accs, + authSig, + chain: 'ethereum', + dataToEncrypt: '${str}', +}, litNodeClient); // { Loading... } -const encryptedString = res.encryptedString; +const ciphertext = res.ciphertext; // { Loading... } -const symmetricKey = res.symmetricKey; - -// { ms } -// { Loading... } -const base64EncryptedString = await LitJsSdk.blobToBase64String( - encryptedString -); - -// { ms } -// { Loading... } -const encryptedSymmetricKey = - await litNodeClient.saveEncryptionKey({ - accessControlConditions: accs, - symmetricKey: symmetricKey, - authSig: authSig, - chain: 'ethereum', - }); +const dataToEncryptHash = res.dataToEncryptHash; // { ms } // { Loading... } -const toDecrypt = await LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - 'base16' -); - -// { ms } -// { Loading... } -const encryptionKey = await litNodeClient.getEncryptionKey({ +const decryptedString = await litNodeClient.decryptToString({ accessControlConditions: accs, toDecrypt: toDecrypt, authSig: authSig, chain: 'ethereum', }); -// { ms } -// { Loading... } -const blob = LitJsSdk.base64StringToBlob(base64EncryptedString); - -// { ms } -// { Loading... } -const decryptedString = await LitJsSdk.decryptString( - blob, - encryptionKey -); - console.log("decryptedString:", "Loading..."); `; @@ -117,18 +87,14 @@ console.log("decryptedString:", "Loading..."); // --------- NEXT STEP --------- - let authSig: AuthSig - - await benchmark(async () => { - authSig = await LitJsSdk.checkAndSignAuthMessage({ + const authRes = await benchmark(async () => { + return LitJsSdk.checkAndSignAuthMessage({ chain: 'ethereum' }); - return authSig - }, (ms, res) => { - code = code.replace('// { ms }', `// { ${ms} }`); - code = code.replace('// { Loading... }', `// { ${JSON.stringify(res)} }`); - setData(code); }); + code = code.replace('// { ms }', `// { ${authRes.duration} }`); + code = code.replace('// { Loading... }', `// { ${JSON.stringify(authRes.result)} }`); + setData(code); const accs = [ { @@ -144,143 +110,40 @@ console.log("decryptedString:", "Loading..."); }, ]; - - // --------- NEXT STEP --------- - let res; - // @ts-ignore FIXME: - let encryptedString; - // @ts-ignore FIXME: - let symmetricKey; - - await benchmark(async () => { - res = await LitJsSdk.encryptString(str); - return res - }, (ms, res) => { - encryptedString = res.encryptedString; - symmetricKey = res.symmetricKey; - - - code = code.replace('// { ms }', `// { ${ms} }`); - code = code.replace('// { Loading... }', `// [Blob] { ${JSON.stringify(encryptedString)} }`); - code = code.replace('// { Loading... }', `// [Uint8Array] { ${JSON.stringify(symmetricKey)} }`); - setData(code); - }); - - - // --------- NEXT STEP --------- - let base64EncryptedString: string; - await benchmark(async () => { - base64EncryptedString = await LitJsSdk.blobToBase64String( - // @ts-ignore FIXME: - encryptedString - ); - return base64EncryptedString - }, (ms, base64EncryptedString) => { - - code = code.replace('// { ms }', `// { ${ms} }`); - code = code.replace('// { Loading... }', `// [string] ${base64EncryptedString}`); - // code = code.replace('// { Loading... }', `// [Uint8Array] { ${JSON.stringify(symmetricKey)} }`); - setData(code); - }); - - - // --------- NEXT STEP --------- - let encryptedSymmetricKey: Uint8Array; - await benchmark(async () => { - encryptedSymmetricKey = - await litNodeClient.saveEncryptionKey({ - accessControlConditions: accs, - // @ts-ignore FIXME: - symmetricKey, - authSig: authSig, - chain: 'ethereum', - }); - return encryptedSymmetricKey - }, (ms, encryptedSymmetricKey) => { - - console.log("encryptedSymmetricKey:", encryptedSymmetricKey) - - code = code.replace('// { ms }', `// { ${ms} }`); - code = code.replace('// { Loading... }', `// [Uint8Array] ${encryptedSymmetricKey}`); - setData(code); - }); - - - // --------- NEXT STEP --------- - let toDecrypt: string; - await benchmark(async () => { - toDecrypt = LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - 'base16' - ); - return toDecrypt - }, (ms, toDecrypt) => { - - console.log("toDecrypt:", toDecrypt) - - code = code.replace('// { ms }', `// { ${ms} }`); - code = code.replace('// { Loading... }', `// [string] ${toDecrypt}`); - setData(code); - }); + console.log("NETWORK PUB KEY:", litNodeClient.networkPubKey); // --------- NEXT STEP --------- - let encryptionKey: Uint8Array; - - await benchmark(async () => { - encryptionKey = await litNodeClient.getEncryptionKey({ + console.log("str:", str) + const encryptRes = await benchmark(async () => { + return LitJsSdk.encryptString({ accessControlConditions: accs, - toDecrypt, - authSig: authSig, + authSig: authRes.result, chain: 'ethereum', - }); - return encryptionKey - }, (ms, encryptionKey) => { - - console.log("encryptionKey:", encryptionKey) - - code = code.replace('// { ms }', `// { ${ms} }`); - code = code.replace('// { Loading... }', `// [Uint8Array(32)] ${encryptionKey}`); - setData(code); - }); - - - // --------- NEXT STEP --------- - let blob: Blob; - await benchmark(async () => { - blob = LitJsSdk.base64StringToBlob(base64EncryptedString); - return blob - }, (ms, blob) => { - - console.log("blob:", blob) - - code = code.replace('// { ms }', `// { ${ms} }`); - code = code.replace('// { Loading... }', `// ${blob}`); - setData(code); + dataToEncrypt: str, + }, litNodeClient); }); + code = code.replace('// { ms }', `// { ${encryptRes.duration} }`); + code = code.replace('// { Loading... }', `// [string] { ${encryptRes.result.ciphertext} }`); + code = code.replace('// { Loading... }', `// [Uint8Array] { ${JSON.stringify(encryptRes.result.dataToEncryptHash)} }`); + setData(code); // --------- NEXT STEP --------- - let decryptedString; - - await benchmark(async () => { - decryptedString = await LitJsSdk.decryptString( - blob, - encryptionKey - ); - return decryptedString; - }, (ms, decryptedString) => { - - console.log("decryptedString:", decryptedString) - - code = code.replace('// { ms }', `// { ${ms} }`); - code = code.replace('// { Loading... }', `// [string] ${decryptedString}`); - code = code.replace('"Loading..."', `"${decryptedString}"`); - setData(code); - }); - - + const decryptRes = await benchmark(async () => { + return LitJsSdk.decryptToString({ + accessControlConditions: accs, + ciphertext: encryptRes.result.ciphertext, + dataToEncryptHash: encryptRes.result.dataToEncryptHash, + authSig: authRes.result, + chain: 'ethereum', + }, litNodeClient); + }) + code = code.replace('// { ms }', `// { ${decryptRes.duration} }`); + code = code.replace('// { Loading... }', `// [string] ${decryptRes.result}`); + code = code.replace('"Loading..."', `"${decryptRes.result}"`); + setData(code); } return ( @@ -331,3 +194,12 @@ console.log("decryptedString:", "Loading..."); export default App; + +// Function to convert utf-8 string into hex string. +function toHexString(str: string) { + var hex = ''; + for (var i = 0; i < str.length; i++) { + hex += '' + str.charCodeAt(i).toString(16); + } + return '0x' + hex; +} diff --git a/apps/demo-encrypt-decrypt-react/src/utils.ts b/apps/demo-encrypt-decrypt-react/src/utils.ts index 89288d3dd5..024b12663d 100644 --- a/apps/demo-encrypt-decrypt-react/src/utils.ts +++ b/apps/demo-encrypt-decrypt-react/src/utils.ts @@ -1,7 +1,15 @@ -export async function benchmark(func: () => Promise, callback: (ms: string, res: T) => void) { +export interface BenchmarkedResult { + duration: string; + result: T; +} + +export async function benchmark(fn: () => Promise): Promise> { const t0 = performance.now(); - const res = await func(); + const result = await fn(); const t1 = performance.now(); - callback((t1 - t0) + " ms", res); + return { + duration: (t1 - t0) + " ms", + result + }; } \ No newline at end of file diff --git a/apps/demo-encrypt-decrypt-react/yarn.lock b/apps/demo-encrypt-decrypt-react/yarn.lock index 9218308c68..c5c79deb46 100644 --- a/apps/demo-encrypt-decrypt-react/yarn.lock +++ b/apps/demo-encrypt-decrypt-react/yarn.lock @@ -4,17 +4,17 @@ "@adobe/css-tools@^4.0.1": version "4.2.0" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.2.0.tgz#e1a84fca468f4b337816fcb7f0964beb620ba855" + resolved "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.2.0.tgz" integrity sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA== "@alloc/quick-lru@^5.2.0": version "5.2.0" - resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" + resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== "@ampproject/remapping@^2.2.0": version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: "@jridgewell/gen-mapping" "^0.3.0" @@ -22,33 +22,28 @@ "@apideck/better-ajv-errors@^0.3.1": version "0.3.6" - resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz#957d4c28e886a64a8141f7522783be65733ff097" + resolved "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz" integrity sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA== dependencies: json-schema "^0.4.0" jsonpointer "^5.0.0" leven "^3.1.0" -"@assemblyscript/loader@^0.9.4": - version "0.9.4" - resolved "https://registry.yarnpkg.com/@assemblyscript/loader/-/loader-0.9.4.tgz#a483c54c1253656bb33babd464e3154a173e1577" - integrity sha512-HazVq9zwTVwGmqdwYzu7WyQ6FQVZ7SwET0KKQuKm55jD0IfUpZgN0OPIiZG3zV1iSrVYcN0bdwLRXI/VNCYsUA== - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4", "@babel/code-frame@^7.8.3": version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz" integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== dependencies: "@babel/highlight" "^7.18.6" "@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.21.5": version "7.21.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.7.tgz#61caffb60776e49a57ba61a88f02bedd8714f6bc" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz" integrity sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA== -"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.16.0", "@babel/core@^7.4.0-0", "@babel/core@^7.7.2", "@babel/core@^7.8.0", "@babel/core@>=7.11.0": version "7.21.8" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.8.tgz#2a8c7f0f53d60100ba4c32470ba0281c92aa9aa4" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz" integrity sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ== dependencies: "@ampproject/remapping" "^2.2.0" @@ -69,7 +64,7 @@ "@babel/eslint-parser@^7.16.3": version "7.21.8" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.21.8.tgz#59fb6fc4f3b017ab86987c076226ceef7b2b2ef2" + resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.21.8.tgz" integrity sha512-HLhI+2q+BP3sf78mFUZNCGc10KEmoUqtUT1OCdMZsN+qr4qFeLUod62/zAnF3jNQstwyasDkZnVXwfK2Bml7MQ== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" @@ -78,7 +73,7 @@ "@babel/generator@^7.21.5", "@babel/generator@^7.7.2": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.5.tgz#c0c0e5449504c7b7de8236d99338c3e2a340745f" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz" integrity sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w== dependencies: "@babel/types" "^7.21.5" @@ -88,21 +83,21 @@ "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz#817f73b6c59726ab39f6ba18c234268a519e5abb" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz" integrity sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g== dependencies: "@babel/types" "^7.21.5" "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz#631e6cc784c7b660417421349aac304c94115366" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz" integrity sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w== dependencies: "@babel/compat-data" "^7.21.5" @@ -113,7 +108,7 @@ "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": version "7.21.8" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.8.tgz#205b26330258625ef8869672ebca1e0dee5a0f02" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.8.tgz" integrity sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -128,7 +123,7 @@ "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": version "7.21.8" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.8.tgz#a7886f61c2e29e21fd4aaeaf1e473deba6b571dc" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.8.tgz" integrity sha512-zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -137,7 +132,7 @@ "@babel/helper-define-polyfill-provider@^0.3.3": version "0.3.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz" integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== dependencies: "@babel/helper-compilation-targets" "^7.17.7" @@ -149,12 +144,12 @@ "@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz#c769afefd41d171836f7cb63e295bedf689d48ba" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz" integrity sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ== "@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0": version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz" integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== dependencies: "@babel/template" "^7.20.7" @@ -162,28 +157,28 @@ "@babel/helper-hoist-variables@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: "@babel/types" "^7.18.6" "@babel/helper-member-expression-to-functions@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.5.tgz#3b1a009af932e586af77c1030fba9ee0bde396c0" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.5.tgz" integrity sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg== dependencies: "@babel/types" "^7.21.5" "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.21.4": version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz" integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== dependencies: "@babel/types" "^7.21.4" "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz#d937c82e9af68d31ab49039136a222b17ac0b420" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz" integrity sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw== dependencies: "@babel/helper-environment-visitor" "^7.21.5" @@ -197,19 +192,19 @@ "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.21.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz#345f2377d05a720a4e5ecfa39cbf4474a4daed56" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz" integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg== "@babel/helper-remap-async-to-generator@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -219,7 +214,7 @@ "@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7", "@babel/helper-replace-supers@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.21.5.tgz#a6ad005ba1c7d9bc2973dfde05a1bba7065dde3c" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.21.5.tgz" integrity sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg== dependencies: "@babel/helper-environment-visitor" "^7.21.5" @@ -231,43 +226,43 @@ "@babel/helper-simple-access@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz#d697a7971a5c39eac32c7e63c0921c06c8a249ee" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz" integrity sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg== dependencies: "@babel/types" "^7.21.5" "@babel/helper-skip-transparent-expression-wrappers@^7.20.0": version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz" integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== dependencies: "@babel/types" "^7.20.0" "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-string-parser@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz" integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w== "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== "@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.21.0": version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz" integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== "@babel/helper-wrap-function@^7.18.9": version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz" integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== dependencies: "@babel/helper-function-name" "^7.19.0" @@ -277,7 +272,7 @@ "@babel/helpers@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.5.tgz#5bac66e084d7a4d2d9696bdf0175a93f7fb63c08" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz" integrity sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA== dependencies: "@babel/template" "^7.20.7" @@ -286,7 +281,7 @@ "@babel/highlight@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== dependencies: "@babel/helper-validator-identifier" "^7.18.6" @@ -295,19 +290,19 @@ "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.5", "@babel/parser@^7.21.8": version "7.21.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.8.tgz#642af7d0333eab9c0ad70b14ac5e76dbde7bfdf8" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz" integrity sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz" integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.20.7": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz" integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -316,7 +311,7 @@ "@babel/plugin-proposal-async-generator-functions@^7.20.7": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz" integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== dependencies: "@babel/helper-environment-visitor" "^7.18.9" @@ -326,7 +321,7 @@ "@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" @@ -334,7 +329,7 @@ "@babel/plugin-proposal-class-static-block@^7.21.0": version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz#77bdd66fb7b605f3a61302d224bdfacf5547977d" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz" integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw== dependencies: "@babel/helper-create-class-features-plugin" "^7.21.0" @@ -343,7 +338,7 @@ "@babel/plugin-proposal-decorators@^7.16.4": version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz#70e0c89fdcd7465c97593edb8f628ba6e4199d63" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz" integrity sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w== dependencies: "@babel/helper-create-class-features-plugin" "^7.21.0" @@ -354,7 +349,7 @@ "@babel/plugin-proposal-dynamic-import@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -362,7 +357,7 @@ "@babel/plugin-proposal-export-namespace-from@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== dependencies: "@babel/helper-plugin-utils" "^7.18.9" @@ -370,7 +365,7 @@ "@babel/plugin-proposal-json-strings@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -378,7 +373,7 @@ "@babel/plugin-proposal-logical-assignment-operators@^7.20.7": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz" integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -386,7 +381,7 @@ "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -394,7 +389,7 @@ "@babel/plugin-proposal-numeric-separator@^7.16.0", "@babel/plugin-proposal-numeric-separator@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -402,7 +397,7 @@ "@babel/plugin-proposal-object-rest-spread@^7.20.7": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== dependencies: "@babel/compat-data" "^7.20.5" @@ -413,7 +408,7 @@ "@babel/plugin-proposal-optional-catch-binding@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -421,7 +416,7 @@ "@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.20.7", "@babel/plugin-proposal-optional-chaining@^7.21.0": version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz" integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -430,7 +425,7 @@ "@babel/plugin-proposal-private-methods@^7.16.0", "@babel/plugin-proposal-private-methods@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" @@ -438,7 +433,7 @@ "@babel/plugin-proposal-private-property-in-object@^7.21.0": version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz#19496bd9883dd83c23c7d7fc45dcd9ad02dfa1dc" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz" integrity sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -448,7 +443,7 @@ "@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" @@ -456,161 +451,161 @@ "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-decorators@^7.21.0": version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz#d2b3f31c3e86fa86e16bb540b7660c55bd7d0e78" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz" integrity sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-export-namespace-from@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.18.6": +"@babel/plugin-syntax-flow@^7.14.5", "@babel/plugin-syntax-flow@^7.18.6": version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.21.4.tgz#3e37fca4f06d93567c1cd9b75156422e90a67107" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.21.4.tgz" integrity sha512-l9xd3N+XG4fZRxEP3vXdK6RW7vN1Uf5dxzRC/09wV86wqZ/YYQooBIGNsiRdfNR3/q2/5pPzV4B54J/9ctX5jw== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-import-assertions@^7.20.0": version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz" integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== dependencies: "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.21.4": version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz" integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.20.0", "@babel/plugin-syntax-typescript@^7.7.2": version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz#2751948e9b7c6d771a8efa59340c15d4a2891ff8" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz" integrity sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-arrow-functions@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz#9bb42a53de447936a57ba256fbf537fc312b6929" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz" integrity sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-transform-async-to-generator@^7.20.7": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz" integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== dependencies: "@babel/helper-module-imports" "^7.18.6" @@ -619,21 +614,21 @@ "@babel/plugin-transform-block-scoped-functions@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-block-scoping@^7.21.0": version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz#e737b91037e5186ee16b76e7ae093358a5634f02" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz" integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-classes@^7.21.0": version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz#f469d0b07a4c5a7dbb21afad9e27e57b47031665" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz" integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -648,7 +643,7 @@ "@babel/plugin-transform-computed-properties@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz#3a2d8bb771cd2ef1cd736435f6552fe502e11b44" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz" integrity sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q== dependencies: "@babel/helper-plugin-utils" "^7.21.5" @@ -656,14 +651,14 @@ "@babel/plugin-transform-destructuring@^7.21.3": version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz#73b46d0fd11cd6ef57dea8a381b1215f4959d401" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz" integrity sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" @@ -671,14 +666,14 @@ "@babel/plugin-transform-duplicate-keys@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-exponentiation-operator@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" @@ -686,7 +681,7 @@ "@babel/plugin-transform-flow-strip-types@^7.16.0": version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz#6aeca0adcb81dc627c8986e770bfaa4d9812aff5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz" integrity sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -694,14 +689,14 @@ "@babel/plugin-transform-for-of@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz#e890032b535f5a2e237a18535f56a9fdaa7b83fc" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz" integrity sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-transform-function-name@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== dependencies: "@babel/helper-compilation-targets" "^7.18.9" @@ -710,21 +705,21 @@ "@babel/plugin-transform-literals@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-member-expression-literals@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-modules-amd@^7.20.11": version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz" integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== dependencies: "@babel/helper-module-transforms" "^7.20.11" @@ -732,7 +727,7 @@ "@babel/plugin-transform-modules-commonjs@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz#d69fb947eed51af91de82e4708f676864e5e47bc" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz" integrity sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ== dependencies: "@babel/helper-module-transforms" "^7.21.5" @@ -741,7 +736,7 @@ "@babel/plugin-transform-modules-systemjs@^7.20.11": version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz" integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== dependencies: "@babel/helper-hoist-variables" "^7.18.6" @@ -751,7 +746,7 @@ "@babel/plugin-transform-modules-umd@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== dependencies: "@babel/helper-module-transforms" "^7.18.6" @@ -759,7 +754,7 @@ "@babel/plugin-transform-named-capturing-groups-regex@^7.20.5": version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz" integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.20.5" @@ -767,14 +762,14 @@ "@babel/plugin-transform-new-target@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-object-super@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -782,42 +777,42 @@ "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.21.3": version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz#18fc4e797cf6d6d972cb8c411dbe8a809fa157db" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz" integrity sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-property-literals@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-react-constant-elements@^7.12.1": version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.21.3.tgz#b32a5556100d424b25e388dd689050d78396884d" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.21.3.tgz" integrity sha512-4DVcFeWe/yDYBLp0kBmOGFJ6N2UYg7coGid1gdxb4co62dy/xISDMaYBXBVXEDhfgMk7qkbcYiGtwd5Q/hwDDQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz#8b1125f919ef36ebdfff061d664e266c666b9415" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz" integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-react-jsx-development@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz" integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== dependencies: "@babel/plugin-transform-react-jsx" "^7.18.6" -"@babel/plugin-transform-react-jsx@^7.18.6": +"@babel/plugin-transform-react-jsx@^7.14.9", "@babel/plugin-transform-react-jsx@^7.18.6": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.5.tgz#bd98f3b429688243e4fa131fe1cbb2ef31ce6f38" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.5.tgz" integrity sha512-ELdlq61FpoEkHO6gFRpfj0kUgSwQTGoaEU8eMRoS8Dv3v6e7BjEAj5WMtIBRdHUeAioMhKP5HyxNzNnP+heKbA== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -828,7 +823,7 @@ "@babel/plugin-transform-react-pure-annotations@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz#561af267f19f3e5d59291f9950fd7b9663d0d844" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz" integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -836,7 +831,7 @@ "@babel/plugin-transform-regenerator@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz#576c62f9923f94bcb1c855adc53561fd7913724e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz" integrity sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w== dependencies: "@babel/helper-plugin-utils" "^7.21.5" @@ -844,14 +839,14 @@ "@babel/plugin-transform-reserved-words@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-runtime@^7.16.4": version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz#2e1da21ca597a7d01fc96b699b21d8d2023191aa" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz" integrity sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA== dependencies: "@babel/helper-module-imports" "^7.21.4" @@ -863,14 +858,14 @@ "@babel/plugin-transform-shorthand-properties@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-spread@^7.20.7": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz" integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -878,28 +873,28 @@ "@babel/plugin-transform-sticky-regex@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-template-literals@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-typeof-symbol@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-typescript@^7.21.3": version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz#316c5be579856ea890a57ebc5116c5d064658f2b" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz" integrity sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -909,14 +904,14 @@ "@babel/plugin-transform-unicode-escapes@^7.21.5": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz#1e55ed6195259b0e9061d81f5ef45a9b009fb7f2" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz" integrity sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg== dependencies: "@babel/helper-plugin-utils" "^7.21.5" "@babel/plugin-transform-unicode-regex@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" @@ -924,7 +919,7 @@ "@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.21.5.tgz#db2089d99efd2297716f018aeead815ac3decffb" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.5.tgz" integrity sha512-wH00QnTTldTbf/IefEVyChtRdw5RJvODT/Vb4Vcxq1AZvtXj6T0YeX0cAcXhI6/BdGuiP3GcNIL4OQbI2DVNxg== dependencies: "@babel/compat-data" "^7.21.5" @@ -1006,7 +1001,7 @@ "@babel/preset-modules@^0.1.5": version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -1017,7 +1012,7 @@ "@babel/preset-react@^7.12.5", "@babel/preset-react@^7.16.0": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.18.6.tgz#979f76d6277048dc19094c217b507f3ad517dd2d" + resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz" integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -1029,7 +1024,7 @@ "@babel/preset-typescript@^7.16.0": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.21.5.tgz#68292c884b0e26070b4d66b202072d391358395f" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.5.tgz" integrity sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA== dependencies: "@babel/helper-plugin-utils" "^7.21.5" @@ -1040,19 +1035,19 @@ "@babel/regjsgen@^0.8.0": version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.20.7", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.5.tgz#8492dddda9644ae3bda3b45eabe87382caee7200" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz" integrity sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q== dependencies: regenerator-runtime "^0.13.11" "@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== dependencies: "@babel/code-frame" "^7.18.6" @@ -1061,7 +1056,7 @@ "@babel/traverse@^7.20.5", "@babel/traverse@^7.21.5", "@babel/traverse@^7.7.2": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.5.tgz#ad22361d352a5154b498299d523cf72998a4b133" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz" integrity sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw== dependencies: "@babel/code-frame" "^7.21.4" @@ -1077,7 +1072,7 @@ "@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.5.tgz#18dfbd47c39d3904d5db3d3dc2cc80bedb60e5b6" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz" integrity sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q== dependencies: "@babel/helper-string-parser" "^7.21.5" @@ -1086,141 +1081,17 @@ "@bcoe/v8-coverage@^0.2.3": version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@confio/ics23@^0.6.8": - version "0.6.8" - resolved "https://registry.yarnpkg.com/@confio/ics23/-/ics23-0.6.8.tgz#2a6b4f1f2b7b20a35d9a0745bb5a446e72930b3d" - integrity sha512-wB6uo+3A50m0sW/EWcU64xpV/8wShZ6bMTa7pF8eYsTrSkQA7oLUIJcs/wb8g4y2Oyq701BaGiO6n/ak5WXO1w== - dependencies: - "@noble/hashes" "^1.0.0" - protobufjs "^6.8.8" - -"@cosmjs/amino@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.30.1.tgz#7c18c14627361ba6c88e3495700ceea1f76baace" - integrity sha512-yNHnzmvAlkETDYIpeCTdVqgvrdt1qgkOXwuRVi8s27UKI5hfqyE9fJ/fuunXE6ZZPnKkjIecDznmuUOMrMvw4w== - dependencies: - "@cosmjs/crypto" "^0.30.1" - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - -"@cosmjs/crypto@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.30.1.tgz#21e94d5ca8f8ded16eee1389d2639cb5c43c3eb5" - integrity sha512-rAljUlake3MSXs9xAm87mu34GfBLN0h/1uPPV6jEwClWjNkAMotzjC0ab9MARy5FFAvYHL3lWb57bhkbt2GtzQ== - dependencies: - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - "@noble/hashes" "^1" - bn.js "^5.2.0" - elliptic "^6.5.4" - libsodium-wrappers "^0.7.6" - -"@cosmjs/encoding@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.30.1.tgz#b5c4e0ef7ceb1f2753688eb96400ed70f35c6058" - integrity sha512-rXmrTbgqwihORwJ3xYhIgQFfMSrwLu1s43RIK9I8EBudPx3KmnmyAKzMOVsRDo9edLFNuZ9GIvysUCwQfq3WlQ== - dependencies: - base64-js "^1.3.0" - bech32 "^1.1.4" - readonly-date "^1.0.0" - -"@cosmjs/json-rpc@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.30.1.tgz#16f21305fc167598c8a23a45549b85106b2372bc" - integrity sha512-pitfC/2YN9t+kXZCbNuyrZ6M8abnCC2n62m+JtU9vQUfaEtVsgy+1Fk4TRQ175+pIWSdBMFi2wT8FWVEE4RhxQ== - dependencies: - "@cosmjs/stream" "^0.30.1" - xstream "^11.14.0" - -"@cosmjs/math@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.30.1.tgz#8b816ef4de5d3afa66cb9fdfb5df2357a7845b8a" - integrity sha512-yaoeI23pin9ZiPHIisa6qqLngfnBR/25tSaWpkTm8Cy10MX70UF5oN4+/t1heLaM6SSmRrhk3psRkV4+7mH51Q== - dependencies: - bn.js "^5.2.0" - -"@cosmjs/proto-signing@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.30.1.tgz#f0dda372488df9cd2677150b89b3e9c72b3cb713" - integrity sha512-tXh8pPYXV4aiJVhTKHGyeZekjj+K9s2KKojMB93Gcob2DxUjfKapFYBMJSgfKPuWUPEmyr8Q9km2hplI38ILgQ== - dependencies: - "@cosmjs/amino" "^0.30.1" - "@cosmjs/crypto" "^0.30.1" - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - cosmjs-types "^0.7.1" - long "^4.0.0" - -"@cosmjs/socket@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.30.1.tgz#00b22f4b5e2ab01f4d82ccdb7b2e59536bfe5ce0" - integrity sha512-r6MpDL+9N+qOS/D5VaxnPaMJ3flwQ36G+vPvYJsXArj93BjgyFB7BwWwXCQDzZ+23cfChPUfhbINOenr8N2Kow== - dependencies: - "@cosmjs/stream" "^0.30.1" - isomorphic-ws "^4.0.1" - ws "^7" - xstream "^11.14.0" - -"@cosmjs/stargate@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.30.1.tgz#e1b22e1226cffc6e93914a410755f1f61057ba04" - integrity sha512-RdbYKZCGOH8gWebO7r6WvNnQMxHrNXInY/gPHPzMjbQF6UatA6fNM2G2tdgS5j5u7FTqlCI10stNXrknaNdzog== - dependencies: - "@confio/ics23" "^0.6.8" - "@cosmjs/amino" "^0.30.1" - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/proto-signing" "^0.30.1" - "@cosmjs/stream" "^0.30.1" - "@cosmjs/tendermint-rpc" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - cosmjs-types "^0.7.1" - long "^4.0.0" - protobufjs "~6.11.3" - xstream "^11.14.0" - -"@cosmjs/stream@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.30.1.tgz#ba038a2aaf41343696b1e6e759d8e03a9516ec1a" - integrity sha512-Fg0pWz1zXQdoxQZpdHRMGvUH5RqS6tPv+j9Eh7Q953UjMlrwZVo0YFLC8OTf/HKVf10E4i0u6aM8D69Q6cNkgQ== - dependencies: - xstream "^11.14.0" - -"@cosmjs/tendermint-rpc@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.30.1.tgz#c16378892ba1ac63f72803fdf7567eab9d4f0aa0" - integrity sha512-Z3nCwhXSbPZJ++v85zHObeUggrEHVfm1u18ZRwXxFE9ZMl5mXTybnwYhczuYOl7KRskgwlB+rID0WYACxj4wdQ== - dependencies: - "@cosmjs/crypto" "^0.30.1" - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/json-rpc" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/socket" "^0.30.1" - "@cosmjs/stream" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - axios "^0.21.2" - readonly-date "^1.0.0" - xstream "^11.14.0" - -"@cosmjs/utils@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.30.1.tgz#6d92582341be3c2ec8d82090253cfa4b7f959edb" - integrity sha512-KvvX58MGMWh7xA+N+deCfunkA/ZNDvFLw4YbOmX3f/XBIkqrVY7qlotfy2aNb1kgp6h4B6Yc8YawJPDTfvWX7g== - "@csstools/normalize.css@*": version "12.0.0" - resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-12.0.0.tgz#a9583a75c3f150667771f30b60d9f059473e62c4" + resolved "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz" integrity sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg== "@csstools/postcss-cascade-layers@^1.1.1": version "1.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz#8a997edf97d34071dd2e37ea6022447dd9e795ad" + resolved "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz" integrity sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA== dependencies: "@csstools/selector-specificity" "^2.0.2" @@ -1228,7 +1099,7 @@ "@csstools/postcss-color-function@^1.1.1": version "1.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b" + resolved "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz" integrity sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" @@ -1236,21 +1107,21 @@ "@csstools/postcss-font-format-keywords@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz#677b34e9e88ae997a67283311657973150e8b16a" + resolved "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz" integrity sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-hwb-function@^1.0.2": version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz#ab54a9fce0ac102c754854769962f2422ae8aa8b" + resolved "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz" integrity sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-ic-unit@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz#28237d812a124d1a16a5acc5c3832b040b303e58" + resolved "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz" integrity sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" @@ -1258,7 +1129,7 @@ "@csstools/postcss-is-pseudo-class@^2.0.7": version "2.0.7" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz#846ae6c0d5a1eaa878fce352c544f9c295509cd1" + resolved "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz" integrity sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA== dependencies: "@csstools/selector-specificity" "^2.0.0" @@ -1266,21 +1137,21 @@ "@csstools/postcss-nested-calc@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz#d7e9d1d0d3d15cf5ac891b16028af2a1044d0c26" + resolved "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz" integrity sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-normalize-display-values@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz#15da54a36e867b3ac5163ee12c1d7f82d4d612c3" + resolved "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz" integrity sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-oklab-function@^1.1.1": version "1.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz#88cee0fbc8d6df27079ebd2fa016ee261eecf844" + resolved "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz" integrity sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" @@ -1288,57 +1159,57 @@ "@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": version "1.3.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa" + resolved "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz" integrity sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-stepped-value-functions@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz#f8772c3681cc2befed695e2b0b1d68e22f08c4f4" + resolved "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz" integrity sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-text-decoration-shorthand@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz#ea96cfbc87d921eca914d3ad29340d9bcc4c953f" + resolved "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz" integrity sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-trigonometric-functions@^1.0.2": version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz#94d3e4774c36d35dcdc88ce091336cb770d32756" + resolved "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz" integrity sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-unset-value@^1.0.2": version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz#c99bb70e2cdc7312948d1eb41df2412330b81f77" + resolved "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz" integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g== "@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.2": version "2.2.0" - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz#2cbcf822bf3764c9658c4d2e568bd0c0cb748016" + resolved "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz" integrity sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw== "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.4.0": version "4.5.1" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz" integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== "@eslint/eslintrc@^2.0.2": version "2.0.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz#01575e38707add677cf73ca1589abba8da899a02" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz" integrity sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ== dependencies: ajv "^6.12.4" @@ -1353,354 +1224,12 @@ "@eslint/js@8.39.0": version "8.39.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.39.0.tgz#58b536bcc843f4cd1e02a7e6171da5c040f4d44b" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz" integrity sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng== -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - -"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" - integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - bn.js "^5.2.1" - -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - -"@ethersproject/contracts@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" - integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" - integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" - integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== - -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" - integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/providers@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" - integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" - integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" - integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/solidity@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" - integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - -"@ethersproject/units@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" - integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/wallet@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" - integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/json-wallets" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" - integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@humanwhocodes/config-array@^0.11.8": version "0.11.8" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz" integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== dependencies: "@humanwhocodes/object-schema" "^1.2.1" @@ -1709,55 +1238,17 @@ "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== "@humanwhocodes/object-schema@^1.2.1": version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@ipld/dag-cbor@^6.0.3": - version "6.0.15" - resolved "https://registry.yarnpkg.com/@ipld/dag-cbor/-/dag-cbor-6.0.15.tgz#aebe7a26c391cae98c32faedb681b1519e3d2372" - integrity sha512-Vm3VTSTwlmGV92a3C5aeY+r2A18zbH2amehNhsX8PBa3muXICaWrN8Uri85A5hLH7D7ElhE8PdjxD6kNqUmTZA== - dependencies: - cborg "^1.5.4" - multiformats "^9.5.4" - -"@ipld/dag-cbor@^7.0.0": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz#aa31b28afb11a807c3d627828a344e5521ac4a1e" - integrity sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA== - dependencies: - cborg "^1.6.0" - multiformats "^9.5.4" - -"@ipld/dag-json@^8.0.1": - version "8.0.11" - resolved "https://registry.yarnpkg.com/@ipld/dag-json/-/dag-json-8.0.11.tgz#8d30cc2dfacb0aef04d327465d3df91e79e8b6ce" - integrity sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA== - dependencies: - cborg "^1.5.4" - multiformats "^9.5.4" - -"@ipld/dag-pb@^2.1.3": - version "2.1.18" - resolved "https://registry.yarnpkg.com/@ipld/dag-pb/-/dag-pb-2.1.18.tgz#12d63e21580e87c75fd1a2c62e375a78e355c16f" - integrity sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg== - dependencies: - multiformats "^9.5.4" - -"@ipld/dag-pb@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@ipld/dag-pb/-/dag-pb-4.0.2.tgz#3895864c119296b1712c7e35b0d009fc6a76ad62" - integrity sha512-me9oEPb7UNPWSplUFCXyxnQE3/WlsjOljqO2RZN44XOmGkBY0/WVklbXorVE1eiv0Rt3p6dBS2x36Rq8A0Am8A== - dependencies: - multiformats "^11.0.0" - "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== dependencies: camelcase "^5.3.1" @@ -1768,12 +1259,12 @@ "@istanbuljs/schema@^0.1.2": version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@jest/console@^27.5.1": version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" + resolved "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz" integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== dependencies: "@jest/types" "^27.5.1" @@ -1785,7 +1276,7 @@ "@jest/console@^28.1.3": version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" + resolved "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz" integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== dependencies: "@jest/types" "^28.1.3" @@ -1797,7 +1288,7 @@ "@jest/core@^27.5.1": version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" + resolved "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz" integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== dependencies: "@jest/console" "^27.5.1" @@ -1831,7 +1322,7 @@ "@jest/environment@^27.5.1": version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz" integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== dependencies: "@jest/fake-timers" "^27.5.1" @@ -1841,14 +1332,14 @@ "@jest/expect-utils@^29.5.0": version "29.5.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.5.0.tgz#f74fad6b6e20f924582dc8ecbf2cb800fe43a036" + resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz" integrity sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg== dependencies: jest-get-type "^29.4.3" "@jest/fake-timers@^27.5.1": version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz" integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== dependencies: "@jest/types" "^27.5.1" @@ -1860,7 +1351,7 @@ "@jest/globals@^27.5.1": version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" + resolved "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz" integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== dependencies: "@jest/environment" "^27.5.1" @@ -1869,7 +1360,7 @@ "@jest/reporters@^27.5.1": version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" + resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz" integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== dependencies: "@bcoe/v8-coverage" "^0.2.3" @@ -1900,21 +1391,21 @@ "@jest/schemas@^28.1.3": version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz" integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== dependencies: "@sinclair/typebox" "^0.24.1" "@jest/schemas@^29.4.3": version "29.4.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz" integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg== dependencies: "@sinclair/typebox" "^0.25.16" "@jest/source-map@^27.5.1": version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" + resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz" integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== dependencies: callsites "^3.0.0" @@ -1923,7 +1414,7 @@ "@jest/test-result@^27.5.1": version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz" integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== dependencies: "@jest/console" "^27.5.1" @@ -1933,7 +1424,7 @@ "@jest/test-result@^28.1.3": version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz" integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== dependencies: "@jest/console" "^28.1.3" @@ -1943,7 +1434,7 @@ "@jest/test-sequencer@^27.5.1": version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz" integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== dependencies: "@jest/test-result" "^27.5.1" @@ -1953,7 +1444,7 @@ "@jest/transform@^27.5.1": version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz" integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== dependencies: "@babel/core" "^7.1.0" @@ -1974,7 +1465,7 @@ "@jest/types@^27.5.1": version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" + resolved "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" @@ -1985,7 +1476,7 @@ "@jest/types@^28.1.3": version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" + resolved "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz" integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== dependencies: "@jest/schemas" "^28.1.3" @@ -1997,7 +1488,7 @@ "@jest/types@^29.5.0": version "29.5.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.5.0.tgz#f59ef9b031ced83047c67032700d8c807d6e1593" + resolved "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz" integrity sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog== dependencies: "@jest/schemas" "^29.4.3" @@ -2009,7 +1500,7 @@ "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== dependencies: "@jridgewell/set-array" "^1.0.1" @@ -2018,402 +1509,94 @@ "@jridgewell/resolve-uri@3.1.0": version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== "@jridgewell/set-array@^1.0.1": version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/source-map@^0.3.2": version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.3.tgz#8108265659d4c33e72ffe14e33d6cc5eb59f2fda" + resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz" integrity sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg== dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@1.4.14": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.18" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== dependencies: "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" -"@json-rpc-tools/provider@^1.5.5": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/provider/-/provider-1.7.6.tgz#8a17c34c493fa892632e278fd9331104e8491ec6" - integrity sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA== - dependencies: - "@json-rpc-tools/utils" "^1.7.6" - axios "^0.21.0" - safe-json-utils "^1.1.1" - ws "^7.4.0" - -"@json-rpc-tools/types@^1.7.6": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/types/-/types-1.7.6.tgz#5abd5fde01364a130c46093b501715bcce5bdc0e" - integrity sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ== - dependencies: - keyvaluestorage-interface "^1.0.0" - -"@json-rpc-tools/utils@^1.7.6": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/utils/-/utils-1.7.6.tgz#67f04987dbaa2e7adb6adff1575367b75a9a9ba1" - integrity sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw== - dependencies: - "@json-rpc-tools/types" "^1.7.6" - "@pedrouid/environment" "^1.0.1" - "@leichtgewicht/ip-codec@^2.0.1": version "2.0.4" - resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz#64df34e2f12e68e78ac57e571d25ec07fa460ca9" - integrity sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ== - -"@lit-protocol/access-control-conditions@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/access-control-conditions/-/access-control-conditions-2.1.158.tgz#7f194354cf4c246664f3debda6c570dbca0b6da3" - integrity sha512-uwvcH1ZoWFwZoI2wpZ6noN+P/vxE+xaCFZBJijA5yr9fRdSDk8k20EpOFly5jGvaYGkAwIAuwqsFRWR+H3kpsA== - dependencies: - "@lit-protocol/constants" "2.1.158" - "@lit-protocol/misc" "2.1.158" - "@lit-protocol/types" "2.1.158" - "@lit-protocol/uint8arrays" "2.1.158" - ethers "^5.7.1" - tslib "^2.3.0" - -"@lit-protocol/auth-browser@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-browser/-/auth-browser-2.1.158.tgz#8b577629f3731b82c86a2423040a1ff5a7bd7f64" - integrity sha512-LB5nbAiW3pJq76Eq22/lpJOdOyjjTIunKELJmWkJTpQQ1YeBTSP2bYaANSmOjBEFD0jakhZbIaLUZX2ZA1Krmw== - dependencies: - "@lit-protocol/constants" "2.1.158" - "@lit-protocol/misc" "2.1.158" - "@lit-protocol/misc-browser" "2.1.158" - "@lit-protocol/types" "2.1.158" - "@lit-protocol/uint8arrays" "2.1.158" - "@walletconnect/ethereum-provider" "2.7.0" - "@web3modal/standalone" "2.2.1" - ethers "^5.7.1" - lit-connect-modal "^0.1.11" - lit-siwe "^1.1.8" - tslib "^2.3.0" - tweetnacl "^1.0.3" - tweetnacl-util "^0.13.3" - util "^0.12.4" - web-vitals "^3.0.4" - -"@lit-protocol/bls-sdk@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/bls-sdk/-/bls-sdk-2.1.158.tgz#5867d12d2fed685099306cb0d43ad8ca44c8be42" - integrity sha512-Lt/pGJao0yWm7VJvygFy8Ss5hWjH5CEZdeLfVPAtE/e+8k1z7fCnDSn0rZ1OyhpuXZ+Xj5w76yIRY8JGh/t76w== - -"@lit-protocol/constants@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-2.1.158.tgz#21cb990bc907c69a6b33d46b1c6a61e7badd33a8" - integrity sha512-PoLeh2lipob6VlultzRFg3uWFX/59v6hS7nz5xa0/WeTIhdUdlzyGXFTyJCsRGxGC4PnfqiIIVG9tTow9mfw1w== - dependencies: - "@lit-protocol/types" "2.1.158" - tslib "^2.3.0" - -"@lit-protocol/crypto@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/crypto/-/crypto-2.1.158.tgz#683b223b1746540f62de392a43653f6111e270df" - integrity sha512-KhvElTt5Y3BlLLFy0uBCOGGUvmTP9KA+KYug7lwyJp9iq6Q9ZYmv3brnZge+GLliNJJok9quc2xNkwTrciP8Eg== - dependencies: - "@lit-protocol/bls-sdk" "2.1.158" - "@lit-protocol/constants" "2.1.158" - "@lit-protocol/ecdsa-sdk" "2.1.158" - "@lit-protocol/misc" "2.1.158" - "@lit-protocol/nacl" "2.1.158" - "@lit-protocol/types" "2.1.158" - "@lit-protocol/uint8arrays" "2.1.158" - ethers "^5.7.1" - tslib "^2.3.0" - -"@lit-protocol/ecdsa-sdk@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.158.tgz#a8afb0c757d21b201c5438440d40d61dbaf153e9" - integrity sha512-lTLrOW+VJANstc1/POo8rrfF8J33hiDn3CZJJzzdyWJ+sL5Vy+AZEnSl8J3bNSAWsezgU8ELp0f5bS+STp4Zhg== - -"@lit-protocol/encryption@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/encryption/-/encryption-2.1.158.tgz#458856e24e19d32b7e594d676a5a61287921d0f6" - integrity sha512-ivZD2a0avYuECFAzJ3qV/JztDbyGx1ltoKmwYkN3irZn7BjZ/GXq8LcJdZW15LrU8Q7yXcZHFgCaXWTEvwxJJA== - dependencies: - "@lit-protocol/bls-sdk" "2.1.158" - "@lit-protocol/constants" "2.1.158" - "@lit-protocol/crypto" "2.1.158" - "@lit-protocol/ecdsa-sdk" "2.1.158" - "@lit-protocol/misc" "2.1.158" - "@lit-protocol/nacl" "2.1.158" - "@lit-protocol/types" "2.1.158" - "@lit-protocol/uint8arrays" "2.1.158" - ethers "^5.7.1" - ipfs-http-client "56.0.0" - jszip "^3.10.1" - tslib "^2.3.0" - -"@lit-protocol/lit-node-client-nodejs@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/lit-node-client-nodejs/-/lit-node-client-nodejs-2.1.158.tgz#17839ad87fc5f7592079e272c2b5835f318d2882" - integrity sha512-839HTpACZxQEwy1BQ3tVBkozKqF6PoGKfJXb/FLxdTq4Ma5xSEFLnGA05eReCffx1mD/bWeTNWk6iIDyKsZQtQ== - dependencies: - "@cosmjs/proto-signing" "^0.30.1" - "@cosmjs/stargate" "^0.30.1" - "@lit-protocol/access-control-conditions" "2.1.158" - "@lit-protocol/bls-sdk" "2.1.158" - "@lit-protocol/constants" "2.1.158" - "@lit-protocol/crypto" "2.1.158" - "@lit-protocol/ecdsa-sdk" "2.1.158" - "@lit-protocol/encryption" "2.1.158" - "@lit-protocol/lit-third-party-libs" "2.1.158" - "@lit-protocol/misc" "2.1.158" - "@lit-protocol/misc-browser" "2.1.158" - "@lit-protocol/nacl" "2.1.158" - "@lit-protocol/types" "2.1.158" - "@lit-protocol/uint8arrays" "2.1.158" - blockstore-core "^3.0.0" - ethers "^5.7.1" - ipfs-http-client "56.0.0" - ipfs-unixfs-importer "^12.0.0" - jszip "^3.10.1" - lit-siwe "^1.1.8" - node-fetch "^2.6.1" - tslib "^2.3.0" - -"@lit-protocol/lit-node-client@^2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/lit-node-client/-/lit-node-client-2.1.158.tgz#e84a479d672649e55d79f1a556a581e8e17bfcf5" - integrity sha512-nQ4akf+eeLKCRmBY3ZlNF+n7f+yV3VQ12LPWkHJtJQTeQb3vQ/i4vaERMg+R58pHj44xrNljG4lpRprwDoM6eQ== - dependencies: - "@cosmjs/proto-signing" "^0.30.1" - "@cosmjs/stargate" "^0.30.1" - "@lit-protocol/access-control-conditions" "2.1.158" - "@lit-protocol/auth-browser" "2.1.158" - "@lit-protocol/bls-sdk" "2.1.158" - "@lit-protocol/constants" "2.1.158" - "@lit-protocol/crypto" "2.1.158" - "@lit-protocol/ecdsa-sdk" "2.1.158" - "@lit-protocol/encryption" "2.1.158" - "@lit-protocol/lit-node-client-nodejs" "2.1.158" - "@lit-protocol/lit-third-party-libs" "2.1.158" - "@lit-protocol/misc" "2.1.158" - "@lit-protocol/misc-browser" "2.1.158" - "@lit-protocol/nacl" "2.1.158" - "@lit-protocol/types" "2.1.158" - "@lit-protocol/uint8arrays" "2.1.158" - "@walletconnect/ethereum-provider" "2.7.0" - "@web3modal/standalone" "^2.2.1" - blockstore-core "^3.0.0" - ethers "^5.7.1" - ipfs-http-client "56.0.0" - ipfs-unixfs-importer "^12.0.0" - jszip "^3.10.1" - lit-connect-modal "^0.1.11" - lit-siwe "^1.1.8" - node-fetch "^2.6.1" - tslib "^2.3.0" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.1" - -"@lit-protocol/lit-third-party-libs@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/lit-third-party-libs/-/lit-third-party-libs-2.1.158.tgz#9691f0f139915a0f51314aa37ff379195228639f" - integrity sha512-qGib465YxnhYzBoGGn8sNPjyty1dGYhnhipS/m6GzrJXuqbzYCHGVYe0oqJ1l20JPoOVJrJJMYHLn+ZEpv4ePw== - -"@lit-protocol/misc-browser@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/misc-browser/-/misc-browser-2.1.158.tgz#13168a1c45f5ac89729c81ee4de23dfe5daec888" - integrity sha512-RXH/UCxRqKVQ0tKuuOuH/R4xias9IDPV6xRJwlBx/A3USUAqaajCgbug1nZSqmMj6Zwa3Cfp2M+ye4X7YPiPUw== - dependencies: - "@lit-protocol/constants" "2.1.158" - "@lit-protocol/misc" "2.1.158" - "@lit-protocol/types" "2.1.158" - "@lit-protocol/uint8arrays" "2.1.158" - ethers "^5.7.1" - tslib "^2.3.0" - -"@lit-protocol/misc@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/misc/-/misc-2.1.158.tgz#220710d582e9a5ce76b30ba1d32c4fda9039cc49" - integrity sha512-UwF8/WcMohZ+d6i1N3b+1lWV4fJU6K8M2gxPi0PzTWZ2LVUC6bcpa6gWqvg4OXzNuuDKGcQoXu9JSySOmTdoYg== - dependencies: - "@lit-protocol/constants" "2.1.158" - "@lit-protocol/types" "2.1.158" - tslib "^2.3.0" - -"@lit-protocol/nacl@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/nacl/-/nacl-2.1.158.tgz#a622267de99549a3181324ecd4ab3d9aac89909d" - integrity sha512-6lq3XVHZV0hfS84uLWdRoZ4otINuh60RkgRGcVlyZAVH1y4mqkYRhlH8bCqUAVbJlVZLxbGj+HGEld+cGPs2og== - -"@lit-protocol/types@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-2.1.158.tgz#76fee75d8bdc779e8b4a34bef67d0bfeb841b151" - integrity sha512-QzFbuc4cSz5+f8f/V7G45p4b+64S5sJPqIrk6uYgLeu0xArTqbSy5kHwZrliFRSkIEotcHwg7kMs2s2na/Z1xQ== - -"@lit-protocol/uint8arrays@2.1.158": - version "2.1.158" - resolved "https://registry.yarnpkg.com/@lit-protocol/uint8arrays/-/uint8arrays-2.1.158.tgz#4bcff16584dee9ea1dd91c9079f8335a12d73056" - integrity sha512-Q6Et6w8a67pEespKe1JjS+CPqIYATZblq0ZtsN4X8I7SEsLYyBRdLHhxocoUYV/Gu9vBvYamCrGkmZGfPcpJ2A== - -"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.6.1.tgz#0d958b6d479d0e3db5fc1132ecc4fa84be3f0b93" - integrity sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA== - dependencies: - "@lit-labs/ssr-dom-shim" "^1.0.0" +"@lit-protocol/lit-node-client@file:../../packages/lit-node-client": + version "2.2.11" + resolved "file:../../packages/lit-node-client" "@monaco-editor/loader@^1.3.3": version "1.3.3" - resolved "https://registry.yarnpkg.com/@monaco-editor/loader/-/loader-1.3.3.tgz#7f1742bd3cc21c0362a46a4056317f6e5215cfca" + resolved "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.3.3.tgz" integrity sha512-6KKF4CTzcJiS8BJwtxtfyYt9shBiEv32ateQ9T4UVogwn4HM/uPo9iJd2Dmbkpz8CM6Y0PDUpjnZzCwC+eYo2Q== dependencies: state-local "^1.0.6" "@monaco-editor/react@^4.5.1": version "4.5.1" - resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.5.1.tgz#fbc76c692aee9a33b9ab24ae0c5f219b8f002fdb" + resolved "https://registry.npmjs.org/@monaco-editor/react/-/react-4.5.1.tgz" integrity sha512-NNDFdP+2HojtNhCkRfE6/D6ro6pBNihaOzMbGK84lNWzRu+CfBjwzGt4jmnqimLuqp5yE5viHS2vi+QOAnD5FQ== dependencies: "@monaco-editor/loader" "^1.3.3" -"@motionone/animation@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.15.1.tgz#4a85596c31cbc5100ae8eb8b34c459fb0ccf6807" - integrity sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ== - dependencies: - "@motionone/easing" "^10.15.1" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - tslib "^2.3.1" - -"@motionone/dom@^10.15.5": - version "10.15.5" - resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.15.5.tgz#4af18f8136d85c2fc997cac98121c969f6731802" - integrity sha512-Xc5avlgyh3xukU9tydh9+8mB8+2zAq+WlLsC3eEIp7Ax7DnXgY7Bj/iv0a4X2R9z9ZFZiaXK3BO0xMYHKbAAdA== - dependencies: - "@motionone/animation" "^10.15.1" - "@motionone/generators" "^10.15.1" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - hey-listen "^1.0.8" - tslib "^2.3.1" - -"@motionone/easing@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.15.1.tgz#95cf3adaef34da6deebb83940d8143ede3deb693" - integrity sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw== - dependencies: - "@motionone/utils" "^10.15.1" - tslib "^2.3.1" - -"@motionone/generators@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.15.1.tgz#dc6abb11139d1bafe758a41c134d4c753a9b871c" - integrity sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ== - dependencies: - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - tslib "^2.3.1" - -"@motionone/svelte@^10.15.5": - version "10.15.5" - resolved "https://registry.yarnpkg.com/@motionone/svelte/-/svelte-10.15.5.tgz#f36b40101ec1db122820598089f42e831f6cf5f5" - integrity sha512-Xyxtgp7BlVnSBwcoFmXGHUVnpNktzeXsEifu2NJJWc7VGuxutDsBZxNdz80qvpLIC5MeBa1wh7GGegZzTm1msg== - dependencies: - "@motionone/dom" "^10.15.5" - tslib "^2.3.1" - -"@motionone/types@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.15.1.tgz#89441b54285012795cbba8612cbaa0fa420db3eb" - integrity sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA== - -"@motionone/utils@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.15.1.tgz#6b5f51bde75be88b5411e084310299050368a438" - integrity sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw== - dependencies: - "@motionone/types" "^10.15.1" - hey-listen "^1.0.8" - tslib "^2.3.1" - -"@motionone/vue@^10.15.5": - version "10.15.5" - resolved "https://registry.yarnpkg.com/@motionone/vue/-/vue-10.15.5.tgz#3101c62b2fce06b3f3072b9ff0f551213eb02476" - integrity sha512-cUENrLYAolUacHvCgU+8wF9OgSlVutfWbHMLERI/bElCJ+e2YVQvG/CpGhIM5fYOOJzuvg2T2wHmLLmvJoavEw== - dependencies: - "@motionone/dom" "^10.15.5" - tslib "^2.3.1" - -"@multiformats/murmur3@^2.0.0": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@multiformats/murmur3/-/murmur3-2.1.3.tgz#eb690132bcc898d74257287d133cdf693f81f888" - integrity sha512-YvLK1IrLnRckPsvXhOkZjaIGNonsEdD1dL3NPSaLilV/WjVYeBgnNZXTUsaPzFXGrIFM7motx+yCmmqzXO6gtQ== - dependencies: - multiformats "^11.0.0" - murmurhash3js-revisited "^3.0.0" - "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" - resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" + resolved "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz" integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== dependencies: eslint-scope "5.1.1" -"@noble/hashes@^1", "@noble/hashes@^1.0.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" - integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== - "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@pedrouid/environment@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec" - integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug== - "@pmmmwh/react-refresh-webpack-plugin@^0.5.3": version "0.5.10" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz#2eba163b8e7dbabb4ce3609ab5e32ab63dda3ef8" + resolved "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz" integrity sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA== dependencies: ansi-html-community "^0.0.8" @@ -2426,62 +1609,9 @@ schema-utils "^3.0.0" source-map "^0.7.3" -"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" - integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== - -"@protobufjs/base64@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" - integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== - -"@protobufjs/codegen@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" - integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== - -"@protobufjs/eventemitter@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" - integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== - -"@protobufjs/fetch@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" - integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== - dependencies: - "@protobufjs/aspromise" "^1.1.1" - "@protobufjs/inquire" "^1.1.0" - -"@protobufjs/float@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" - integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== - -"@protobufjs/inquire@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" - integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== - -"@protobufjs/path@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" - integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== - -"@protobufjs/pool@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" - integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== - -"@protobufjs/utf8@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" - integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== - "@rollup/plugin-babel@^5.2.0": version "5.3.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" + resolved "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz" integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q== dependencies: "@babel/helper-module-imports" "^7.10.4" @@ -2489,7 +1619,7 @@ "@rollup/plugin-node-resolve@^11.2.1": version "11.2.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60" + resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz" integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== dependencies: "@rollup/pluginutils" "^3.1.0" @@ -2501,7 +1631,7 @@ "@rollup/plugin-replace@^2.4.1": version "2.4.2" - resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" + resolved "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz" integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== dependencies: "@rollup/pluginutils" "^3.1.0" @@ -2509,7 +1639,7 @@ "@rollup/pluginutils@^3.1.0": version "3.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz" integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== dependencies: "@types/estree" "0.0.39" @@ -2518,177 +1648,36 @@ "@rushstack/eslint-patch@^1.1.0": version "1.2.0" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" + resolved "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz" integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== "@sinclair/typebox@^0.24.1": version "0.24.51" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz" integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== "@sinclair/typebox@^0.25.16": version "0.25.24" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz" integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ== "@sinonjs/commons@^1.7.0": version "1.8.6" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz" integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== dependencies: type-detect "4.0.8" "@sinonjs/fake-timers@^8.0.1": version "8.1.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz" integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== dependencies: "@sinonjs/commons" "^1.7.0" -"@spruceid/siwe-parser@1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@spruceid/siwe-parser/-/siwe-parser-1.1.3.tgz#0eebe8bbd63c6de89cb44c06b6329b00b305df65" - integrity sha512-oQ8PcwDqjGWJvLmvAF2yzd6iniiWxK0Qtz+Dw+gLD/W5zOQJiKIUXwslHOm8VB8OOOKW9vfR3dnPBhHaZDvRsw== - dependencies: - apg-js "^4.1.1" - -"@stablelib/aead@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" - integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== - -"@stablelib/binary@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" - integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== - dependencies: - "@stablelib/int" "^1.0.1" - -"@stablelib/bytes@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8" - integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== - -"@stablelib/chacha20poly1305@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee" - integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== - dependencies: - "@stablelib/aead" "^1.0.1" - "@stablelib/binary" "^1.0.1" - "@stablelib/chacha" "^1.0.1" - "@stablelib/constant-time" "^1.0.1" - "@stablelib/poly1305" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/chacha@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371" - integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/constant-time@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35" - integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== - -"@stablelib/ed25519@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@stablelib/ed25519/-/ed25519-1.0.3.tgz#f8fdeb6f77114897c887bb6a3138d659d3f35996" - integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg== - dependencies: - "@stablelib/random" "^1.0.2" - "@stablelib/sha512" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/hash@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5" - integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== - -"@stablelib/hkdf@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d" - integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== - dependencies: - "@stablelib/hash" "^1.0.1" - "@stablelib/hmac" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/hmac@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec" - integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== - dependencies: - "@stablelib/constant-time" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/int@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" - integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== - -"@stablelib/keyagreement@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f" - integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== - dependencies: - "@stablelib/bytes" "^1.0.1" - -"@stablelib/poly1305@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc" - integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== - dependencies: - "@stablelib/constant-time" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" - integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/sha256@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" - integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/sha512@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/sha512/-/sha512-1.0.1.tgz#6da700c901c2c0ceacbd3ae122a38ac57c72145f" - integrity sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/wipe@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" - integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== - -"@stablelib/x25519@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.3.tgz#13c8174f774ea9f3e5e42213cbf9fc68a3c7b7fd" - integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== - dependencies: - "@stablelib/keyagreement" "^1.0.1" - "@stablelib/random" "^1.0.2" - "@stablelib/wipe" "^1.0.1" - "@surma/rollup-plugin-off-main-thread@^2.2.3": version "2.2.3" - resolved "https://registry.yarnpkg.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz#ee34985952ca21558ab0d952f00298ad2190c053" + resolved "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz" integrity sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ== dependencies: ejs "^3.1.6" @@ -2698,47 +1687,47 @@ "@svgr/babel-plugin-add-jsx-attribute@^5.4.0": version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz" integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== "@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz" integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== "@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": version "5.0.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz" integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== "@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": version "5.0.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz" integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== "@svgr/babel-plugin-svg-dynamic-title@^5.4.0": version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz" integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== "@svgr/babel-plugin-svg-em-dimensions@^5.4.0": version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz" integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== "@svgr/babel-plugin-transform-react-native-svg@^5.4.0": version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz" integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== "@svgr/babel-plugin-transform-svg-component@^5.5.0": version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz" integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== "@svgr/babel-preset@^5.5.0": version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" + resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz" integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" @@ -2752,7 +1741,7 @@ "@svgr/core@^5.5.0": version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" + resolved "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz" integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== dependencies: "@svgr/plugin-jsx" "^5.5.0" @@ -2761,14 +1750,14 @@ "@svgr/hast-util-to-babel-ast@^5.5.0": version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" + resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz" integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== dependencies: "@babel/types" "^7.12.6" "@svgr/plugin-jsx@^5.5.0": version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" + resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz" integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== dependencies: "@babel/core" "^7.12.3" @@ -2778,7 +1767,7 @@ "@svgr/plugin-svgo@^5.5.0": version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" + resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz" integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== dependencies: cosmiconfig "^7.0.0" @@ -2787,7 +1776,7 @@ "@svgr/webpack@^5.5.0": version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" + resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz" integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== dependencies: "@babel/core" "^7.12.3" @@ -2799,9 +1788,9 @@ "@svgr/plugin-svgo" "^5.5.0" loader-utils "^2.0.0" -"@testing-library/dom@^8.5.0": +"@testing-library/dom@^8.5.0", "@testing-library/dom@>=7.21.4": version "8.20.0" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.0.tgz#914aa862cef0f5e89b98cc48e3445c4c921010f6" + resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.0.tgz" integrity sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA== dependencies: "@babel/code-frame" "^7.10.4" @@ -2815,7 +1804,7 @@ "@testing-library/jest-dom@^5.16.5": version "5.16.5" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz#3912846af19a29b2dbf32a6ae9c31ef52580074e" + resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz" integrity sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA== dependencies: "@adobe/css-tools" "^4.0.1" @@ -2830,7 +1819,7 @@ "@testing-library/react@^13.4.0": version "13.4.0" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.4.0.tgz#6a31e3bf5951615593ad984e96b9e5e2d9380966" + resolved "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz" integrity sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw== dependencies: "@babel/runtime" "^7.12.5" @@ -2839,29 +1828,29 @@ "@testing-library/user-event@^13.5.0": version "13.5.0" - resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-13.5.0.tgz#69d77007f1e124d55314a2b73fd204b333b13295" + resolved "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz" integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg== dependencies: "@babel/runtime" "^7.12.5" "@tootallnate/once@1": version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== "@trysound/sax@0.2.0": version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== "@types/aria-query@^5.0.1": version "5.0.1" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.1.tgz#3286741fb8f1e1580ac28784add4c7a1d49bdfbc" + resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz" integrity sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q== -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14", "@types/babel__core@^7.1.9": version "7.20.0" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz" integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== dependencies: "@babel/parser" "^7.20.7" @@ -2872,14 +1861,14 @@ "@types/babel__generator@*": version "7.6.4" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== dependencies: "@babel/parser" "^7.1.0" @@ -2887,14 +1876,14 @@ "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": version "7.18.5" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.5.tgz#c107216842905afafd3b6e774f6f935da6f5db80" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.5.tgz" integrity sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q== dependencies: "@babel/types" "^7.3.0" "@types/body-parser@*": version "1.19.2" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== dependencies: "@types/connect" "*" @@ -2902,14 +1891,14 @@ "@types/bonjour@^3.5.9": version "3.5.10" - resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.10.tgz#0f6aadfe00ea414edc86f5d106357cda9701e275" + resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz" integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== dependencies: "@types/node" "*" "@types/connect-history-api-fallback@^1.3.5": version "1.5.0" - resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#9fd20b3974bdc2bcd4ac6567e2e0f6885cb2cf41" + resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz" integrity sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig== dependencies: "@types/express-serve-static-core" "*" @@ -2917,14 +1906,14 @@ "@types/connect@*": version "3.4.35" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== dependencies: "@types/node" "*" "@types/eslint-scope@^3.7.3": version "3.7.4" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" + resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== dependencies: "@types/eslint" "*" @@ -2932,7 +1921,7 @@ "@types/eslint@*", "@types/eslint@^7.29.0 || ^8.4.1": version "8.37.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.37.0.tgz#29cebc6c2a3ac7fea7113207bf5a828fdf4d7ef1" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz" integrity sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ== dependencies: "@types/estree" "*" @@ -2940,17 +1929,17 @@ "@types/estree@*", "@types/estree@^1.0.0": version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz" integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== "@types/estree@0.0.39": version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": version "4.17.34" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz#c119e85b75215178bc127de588e93100698ab4cc" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz" integrity sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w== dependencies: "@types/node" "*" @@ -2960,7 +1949,7 @@ "@types/express@*", "@types/express@^4.17.13": version "4.17.17" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4" + resolved "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz" integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q== dependencies: "@types/body-parser" "*" @@ -2970,45 +1959,45 @@ "@types/graceful-fs@^4.1.2": version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz" integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== dependencies: "@types/node" "*" "@types/html-minifier-terser@^6.0.0": version "6.1.0" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" + resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== "@types/http-proxy@^1.17.8": version "1.17.11" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.11.tgz#0ca21949a5588d55ac2b659b69035c84bd5da293" + resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz" integrity sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA== dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/istanbul-lib-report@*": version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== dependencies: "@types/istanbul-lib-report" "*" "@types/jest@*": version "29.5.1" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.1.tgz#83c818aa9a87da27d6da85d3378e5a34d2f31a47" + resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.1.tgz" integrity sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ== dependencies: expect "^29.0.0" @@ -3016,7 +2005,7 @@ "@types/jest@^29.4.0": version "29.5.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.2.tgz#86b4afc86e3a8f3005b297ed8a72494f89e6395b" + resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.2.tgz" integrity sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg== dependencies: expect "^29.0.0" @@ -3024,91 +2013,81 @@ "@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/json5@^0.0.29": version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/long@^4.0.1": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" - integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== - "@types/mime@*": version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" + resolved "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz" integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== "@types/mime@^1": version "1.3.2" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== -"@types/minimatch@^3.0.4": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== - -"@types/node@*", "@types/node@>=13.7.0": +"@types/node@*": version "18.16.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.3.tgz#6bda7819aae6ea0b386ebc5b24bdf602f1b42b01" + resolved "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz" integrity sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q== "@types/node@^18.11.19": version "18.16.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.18.tgz#85da09bafb66d4bc14f7c899185336d0c1736390" + resolved "https://registry.npmjs.org/@types/node/-/node-18.16.18.tgz" integrity sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw== "@types/parse-json@^4.0.0": version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/prettier@^2.1.5": version "2.7.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" + resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz" integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== "@types/prop-types@*": version "15.7.5" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== "@types/q@^1.5.1": version "1.5.5" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" + resolved "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz" integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== "@types/qs@*": version "6.9.7" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== "@types/range-parser@*": version "1.2.4" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== "@types/react-dom@^18.0.0": version "18.2.3" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.3.tgz#2fe492bb0e67047b7b43e18166d8f50d44e0525e" + resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.3.tgz" integrity sha512-hxXEXWxFJXbY0LMj/T69mznqOZJXNtQMqVxIiirVAZnnpeYiD4zt+lPsgcr/cfWg2VLsxZ1y26vigG03prYB+Q== dependencies: "@types/react" "*" "@types/react-dom@^18.0.10": version "18.2.5" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.5.tgz#5c5f13548bda23cd98f50ca4a59107238bfe18f3" + resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.5.tgz" integrity sha512-sRQsOS/sCLnpQhR4DSKGTtWFE3FZjpQa86KPVbhUqdYMRZ9FEFcfAytKhR/vUG2rH1oFbOOej6cuD7MFSobDRQ== dependencies: "@types/react" "*" "@types/react@*": version "18.2.5" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.5.tgz#f9403e1113b12b53f7edcdd9a900c10dd4b49a59" + resolved "https://registry.npmjs.org/@types/react/-/react-18.2.5.tgz" integrity sha512-RuoMedzJ5AOh23Dvws13LU9jpZHIc/k90AgmK7CecAYeWmSr3553L4u5rk4sWAPBuQosfT7HmTfG4Rg5o4nGEA== dependencies: "@types/prop-types" "*" @@ -3117,7 +2096,7 @@ "@types/react@^18.0.27": version "18.2.12" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.12.tgz#95d584338610b78bb9ba0415e3180fb03debdf97" + resolved "https://registry.npmjs.org/@types/react/-/react-18.2.12.tgz" integrity sha512-ndmBMLCgn38v3SntMeoJaIrO6tGHYKMEBohCUmw8HoLLQdRMOIGXfeYaBTLe2lsFaSB3MOK1VXscYFnmLtTSmw== dependencies: "@types/prop-types" "*" @@ -3126,29 +2105,29 @@ "@types/resolve@1.17.1": version "1.17.1" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz" integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== dependencies: "@types/node" "*" "@types/retry@0.12.0": version "0.12.0" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== "@types/scheduler@*": version "0.16.3" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz" integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== "@types/semver@^7.3.12": version "7.3.13" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== "@types/send@*": version "0.17.1" - resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.1.tgz#ed4932b8a2a805f1fe362a70f4e62d0ac994e301" + resolved "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz" integrity sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q== dependencies: "@types/mime" "^1" @@ -3156,14 +2135,14 @@ "@types/serve-index@^1.9.1": version "1.9.1" - resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" + resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz" integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== dependencies: "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": version "1.15.1" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.1.tgz#86b1753f0be4f9a1bee68d459fcda5be4ea52b5d" + resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz" integrity sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ== dependencies: "@types/mime" "*" @@ -3171,57 +2150,57 @@ "@types/sockjs@^0.3.33": version "0.3.33" - resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" + resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz" integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== dependencies: "@types/node" "*" "@types/stack-utils@^2.0.0": version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== "@types/testing-library__jest-dom@^5.9.1": version "5.14.5" - resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz#d113709c90b3c75fdb127ec338dad7d5f86c974f" + resolved "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz" integrity sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ== dependencies: "@types/jest" "*" "@types/trusted-types@^2.0.2": version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.3.tgz#a136f83b0758698df454e328759dbd3d44555311" + resolved "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz" integrity sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g== "@types/ws@^8.5.1": version "8.5.4" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.4.tgz#bb10e36116d6e570dd943735f86c933c1587b8a5" + resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz" integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== dependencies: "@types/node" "*" "@types/yargs-parser@*": version "21.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^16.0.0": version "16.0.5" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.5.tgz#12cc86393985735a283e387936398c2f9e5f88e3" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz" integrity sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ== dependencies: "@types/yargs-parser" "*" "@types/yargs@^17.0.8": version "17.0.24" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz" integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw== dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.5.0": +"@typescript-eslint/eslint-plugin@^4.0.0 || ^5.0.0", "@typescript-eslint/eslint-plugin@^5.5.0": version "5.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz#684a2ce7182f3b4dac342eef7caa1c2bae476abd" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz" integrity sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A== dependencies: "@eslint-community/regexpp" "^4.4.0" @@ -3237,14 +2216,14 @@ "@typescript-eslint/experimental-utils@^5.0.0": version "5.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.59.2.tgz#c2785247c4c8929cb6946e46280ea44f54d9cf79" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.59.2.tgz" integrity sha512-JLw2UImsjHDuVukpA8Nt+UK7JKE/LQAeV3tU5f7wJo2/NNYVwcakzkWjoYzu/2qzWY/Z9c7zojngNDfecNt92g== dependencies: "@typescript-eslint/utils" "5.59.2" -"@typescript-eslint/parser@^5.5.0": +"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.5.0": version "5.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.2.tgz#c2c443247901d95865b9f77332d9eee7c55655e8" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz" integrity sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ== dependencies: "@typescript-eslint/scope-manager" "5.59.2" @@ -3254,7 +2233,7 @@ "@typescript-eslint/scope-manager@5.59.2": version "5.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz#f699fe936ee4e2c996d14f0fdd3a7da5ba7b9a4c" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz" integrity sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA== dependencies: "@typescript-eslint/types" "5.59.2" @@ -3262,7 +2241,7 @@ "@typescript-eslint/type-utils@5.59.2": version "5.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz#0729c237503604cd9a7084b5af04c496c9a4cdcf" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz" integrity sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ== dependencies: "@typescript-eslint/typescript-estree" "5.59.2" @@ -3272,12 +2251,12 @@ "@typescript-eslint/types@5.59.2": version "5.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.2.tgz#b511d2b9847fe277c5cb002a2318bd329ef4f655" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz" integrity sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w== "@typescript-eslint/typescript-estree@5.59.2": version "5.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz#6e2fabd3ba01db5d69df44e0b654c0b051fe9936" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz" integrity sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q== dependencies: "@typescript-eslint/types" "5.59.2" @@ -3288,9 +2267,9 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.59.2", "@typescript-eslint/utils@^5.58.0": +"@typescript-eslint/utils@^5.58.0", "@typescript-eslint/utils@5.59.2": version "5.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.2.tgz#0c45178124d10cc986115885688db6abc37939f4" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz" integrity sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" @@ -3304,303 +2283,15 @@ "@typescript-eslint/visitor-keys@5.59.2": version "5.59.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz#37a419dc2723a3eacbf722512b86d6caf7d3b750" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz" integrity sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig== dependencies: "@typescript-eslint/types" "5.59.2" eslint-visitor-keys "^3.3.0" -"@walletconnect/core@2.7.0": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.7.0.tgz#26f19710958648e401968ab2fd427d6b07fb3b37" - integrity sha512-xUeFPpElybgn1a+lknqtHleei4VyuV/4qWgB1nP8qQUAO6a5pNsioODrnB2VAPdUHJYBdx2dCt2maRk6g53IPQ== - dependencies: - "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-provider" "^1.0.12" - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/jsonrpc-ws-connection" "^1.0.11" - "@walletconnect/keyvaluestorage" "^1.0.2" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/relay-api" "^1.0.9" - "@walletconnect/relay-auth" "^1.0.4" - "@walletconnect/safe-json" "^1.0.2" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.7.0" - "@walletconnect/utils" "2.7.0" - events "^3.3.0" - lodash.isequal "4.5.0" - uint8arrays "^3.1.0" - -"@walletconnect/environment@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.1.tgz#1d7f82f0009ab821a2ba5ad5e5a7b8ae3b214cd7" - integrity sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg== - dependencies: - tslib "1.14.1" - -"@walletconnect/ethereum-provider@2.7.0": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.7.0.tgz#5aaf10ce8de9269904b7714428554f1a64b7932d" - integrity sha512-6TwQ05zi6DP1TP1XNgSvLbmCmLf/sz7kLTfMaVk45YYHNgYTTBlXqkyjUpQZI9lpq+uXLBbHn/jx2OGhOPUP0Q== - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.4" - "@walletconnect/jsonrpc-provider" "^1.0.11" - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/sign-client" "2.7.0" - "@walletconnect/types" "2.7.0" - "@walletconnect/universal-provider" "2.7.0" - "@walletconnect/utils" "2.7.0" - events "^3.3.0" - -"@walletconnect/events@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c" - integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ== - dependencies: - keyvaluestorage-interface "^1.0.0" - tslib "1.14.1" - -"@walletconnect/heartbeat@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz#afaa3a53232ae182d7c9cff41c1084472d8f32e9" - integrity sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q== - dependencies: - "@walletconnect/events" "^1.0.1" - "@walletconnect/time" "^1.0.2" - tslib "1.14.1" - -"@walletconnect/jsonrpc-http-connection@^1.0.4": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.6.tgz#48c41cf3e5ac9add9425420b345615dc438594cd" - integrity sha512-/3zSqDi7JDN06E4qm0NmVYMitngXfh21UWwy8zeJcBeJc+Jcs094EbLsIxtziIIKTCCbT88lWuTjl1ZujxN7cw== - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.6" - "@walletconnect/safe-json" "^1.0.1" - cross-fetch "^3.1.4" - tslib "1.14.1" - -"@walletconnect/jsonrpc-provider@^1.0.11", "@walletconnect/jsonrpc-provider@^1.0.12": - version "1.0.12" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.12.tgz#965408d99fc889d49c194cd207804282805f45ed" - integrity sha512-6uI2y5281gloZSzICOjk+CVC7CVu0MhtMt2Yzpj05lPb0pzm/bK2oZ2ibxwLerPrqpNt/5bIFVRmoOgPw1mHAQ== - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/safe-json" "^1.0.2" - tslib "1.14.1" - -"@walletconnect/jsonrpc-types@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.2.tgz#b79519f679cd6a5fa4a1bea888f27c1916689a20" - integrity sha512-CZe8tjJX73OWdHjrBHy7HtAapJ2tT0Q3TYhPBhRxi3643lwPIQWC9En45ldY14TZwgSewkbZ0FtGBZK0G7Bbyg== - dependencies: - keyvaluestorage-interface "^1.0.0" - tslib "1.14.1" - -"@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.7.tgz#1812d17c784f1ec0735bf03d0884287f60bfa2ce" - integrity sha512-zJziApzUF/Il4VcwabnaU+0yo1QI4eUkYX99zmCVTHJvZOf2l0zjADf/OpKqWyeNFC3Io56Z/8uJHVtcNVvyFA== - dependencies: - "@walletconnect/environment" "^1.0.1" - "@walletconnect/jsonrpc-types" "^1.0.2" - tslib "1.14.1" - -"@walletconnect/jsonrpc-ws-connection@^1.0.11": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.11.tgz#1ce59d86f273d576ca73385961303ebd44dd923f" - integrity sha512-TiFJ6saasKXD+PwGkm5ZGSw0837nc6EeFmurSPgIT/NofnOV4Tv7CVJqGQN0rQYoJUSYu21cwHNYaFkzNpUN+w== - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.6" - "@walletconnect/safe-json" "^1.0.2" - events "^3.3.0" - tslib "1.14.1" - ws "^7.5.1" - -"@walletconnect/keyvaluestorage@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz#92f5ca0f54c1a88a093778842ce0c874d86369c8" - integrity sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ== - dependencies: - safe-json-utils "^1.1.1" - tslib "1.14.1" - -"@walletconnect/logger@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.0.1.tgz#7f489b96e9a1ff6bf3e58f0fbd6d69718bf844a8" - integrity sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ== - dependencies: - pino "7.11.0" - tslib "1.14.1" - -"@walletconnect/relay-api@^1.0.9": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.9.tgz#f8c2c3993dddaa9f33ed42197fc9bfebd790ecaf" - integrity sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg== - dependencies: - "@walletconnect/jsonrpc-types" "^1.0.2" - tslib "1.14.1" - -"@walletconnect/relay-auth@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz#0b5c55c9aa3b0ef61f526ce679f3ff8a5c4c2c7c" - integrity sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ== - dependencies: - "@stablelib/ed25519" "^1.0.2" - "@stablelib/random" "^1.0.1" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/time" "^1.0.2" - tslib "1.14.1" - uint8arrays "^3.0.0" - -"@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.2.tgz#7237e5ca48046e4476154e503c6d3c914126fa77" - integrity sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA== - dependencies: - tslib "1.14.1" - -"@walletconnect/sign-client@2.7.0": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.7.0.tgz#c08c90a1fc95340d5d40d2cfd88f59d4d385a676" - integrity sha512-K99xa6GSFS04U+140yrIEi/VJJJ0Q1ov4jCaiqa9euILDKxlBsM7m5GR+9sq6oYyj18SluJY4CJTdeOXUJlarA== - dependencies: - "@walletconnect/core" "2.7.0" - "@walletconnect/events" "^1.0.1" - "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.7.0" - "@walletconnect/utils" "2.7.0" - events "^3.3.0" - -"@walletconnect/time@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" - integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g== - dependencies: - tslib "1.14.1" - -"@walletconnect/types@2.7.0": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.7.0.tgz#af639c463d0d80d0fd03da80f2fc593c73a93ae9" - integrity sha512-aMUDUtO79WSBtC/bDetE6aFwdgwJr0tJ8nC8gnAl5ELsrjygEKCn6M8Q+v6nP9svG9yf5Rds4cImxCT6BWwTyw== - dependencies: - "@walletconnect/events" "^1.0.1" - "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/keyvaluestorage" "^1.0.2" - "@walletconnect/logger" "^2.0.1" - events "^3.3.0" - -"@walletconnect/universal-provider@2.7.0": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.7.0.tgz#4bb36b353d2c2d7c466e89e2d8c576727c4388d0" - integrity sha512-aAIudO3ZlKD16X36VnXChpxBB6/JLK1SCJBfidk7E0GE2S4xr1xW5jXGSGS4Z+wIkNZXK0n7ULSK3PZ7mPBdog== - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.4" - "@walletconnect/jsonrpc-provider" "^1.0.11" - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/sign-client" "2.7.0" - "@walletconnect/types" "2.7.0" - "@walletconnect/utils" "2.7.0" - eip1193-provider "1.0.1" - events "^3.3.0" - -"@walletconnect/utils@2.7.0": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.7.0.tgz#18482834b8a27e0515ef160a1ff7e4632c9d77f5" - integrity sha512-k32jrQeyJsNZPdmtmg85Y3QgaS5YfzYSPrAxRC2uUD1ts7rrI6P5GG2iXNs3AvWKOuCgsp/PqU8s7AC7CRUscw== - dependencies: - "@stablelib/chacha20poly1305" "1.0.1" - "@stablelib/hkdf" "1.0.1" - "@stablelib/random" "^1.0.2" - "@stablelib/sha256" "1.0.1" - "@stablelib/x25519" "^1.0.3" - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/relay-api" "^1.0.9" - "@walletconnect/safe-json" "^1.0.2" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.7.0" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" - detect-browser "5.3.0" - query-string "7.1.1" - uint8arrays "^3.1.0" - -"@walletconnect/window-getters@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" - integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== - dependencies: - tslib "1.14.1" - -"@walletconnect/window-metadata@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5" - integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== - dependencies: - "@walletconnect/window-getters" "^1.0.1" - tslib "1.14.1" - -"@web3modal/core@2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@web3modal/core/-/core-2.2.1.tgz#290be7e0da628afc7651e552752fa8c1ee22d956" - integrity sha512-B2O1+uwnEA2pD+NH+W7xIUMqAkUOxuw6WuIbXZ96tXQO8Mqm8tkrJ6MoqmIo6ntLwHLXtcjitH//JvJHjWVt6A== - dependencies: - buffer "6.0.3" - valtio "1.10.3" - -"@web3modal/core@2.3.7": - version "2.3.7" - resolved "https://registry.yarnpkg.com/@web3modal/core/-/core-2.3.7.tgz#2c8863489695c3ed4b7b01e416e126cc5c8d18ad" - integrity sha512-ggl9+tkAzz43npj97iTj6p4oQYaklxADQyCKAX7AnMfglZg5bRseMDGnfmpvnjlDn8TI+DGGO6da3ITmYRIDYQ== - dependencies: - buffer "6.0.3" - valtio "1.10.4" - -"@web3modal/standalone@2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@web3modal/standalone/-/standalone-2.2.1.tgz#c6e6849eec86fc001e1b7d5e278420ded542284f" - integrity sha512-pHPL+UykZtOZhEhNl+l3wWnNvZZdm8cgJgVQVo8yL7m4N9kTyRbDArsQenlIeIm2xi0kFncXBJbe1kaxl8AWTA== - dependencies: - "@web3modal/core" "2.2.1" - "@web3modal/ui" "2.2.1" - -"@web3modal/standalone@^2.2.1": - version "2.3.7" - resolved "https://registry.yarnpkg.com/@web3modal/standalone/-/standalone-2.3.7.tgz#2536effb3a7c4b9384fa51c43dc67ff3caed0314" - integrity sha512-zgavWcimRVXnLdup2WQ0fFEnBnH+Wwn+k1/XzhwVpdJ//mrExWNYQaXt139RijxGUcux68ExRCyMqm1jkXTq3g== - dependencies: - "@web3modal/core" "2.3.7" - "@web3modal/ui" "2.3.7" - -"@web3modal/ui@2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@web3modal/ui/-/ui-2.2.1.tgz#92ea69900c4e1b0b6ce9457ea2081b17a5588413" - integrity sha512-7WfynySxcDYFzGTV+9HODKJ85VVVPB8GGcew2JWr9jYcYfRE6KBM75lo+PRb0zdMFRQtSPpU41fRLCk+vBJ4ww== - dependencies: - "@web3modal/core" "2.2.1" - lit "2.6.1" - motion "10.15.5" - qrcode "1.5.1" - -"@web3modal/ui@2.3.7": - version "2.3.7" - resolved "https://registry.yarnpkg.com/@web3modal/ui/-/ui-2.3.7.tgz#0867ec4262a5a221418acdb571101d05628e8d62" - integrity sha512-mNDXY4ElcvXXixKHZTLcEjKC9zs3O8BD1EtaC8cKIy+RKFyHMpLB1DOQmz77tn91jNjOkrvEryqUwCbsJ7hjfA== - dependencies: - "@web3modal/core" "2.3.7" - lit "2.7.3" - motion "10.15.5" - qrcode "1.5.3" - -"@webassemblyjs/ast@1.11.5", "@webassemblyjs/ast@^1.11.5": +"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.5.tgz#6e818036b94548c1fb53b754b5cae3c9b208281c" + resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz" integrity sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ== dependencies: "@webassemblyjs/helper-numbers" "1.11.5" @@ -3608,22 +2299,22 @@ "@webassemblyjs/floating-point-hex-parser@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz#e85dfdb01cad16b812ff166b96806c050555f1b4" + resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz" integrity sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ== "@webassemblyjs/helper-api-error@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz#1e82fa7958c681ddcf4eabef756ce09d49d442d1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz" integrity sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA== "@webassemblyjs/helper-buffer@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz#91381652ea95bb38bbfd270702351c0c89d69fba" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz" integrity sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg== "@webassemblyjs/helper-numbers@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz#23380c910d56764957292839006fecbe05e135a9" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz" integrity sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA== dependencies: "@webassemblyjs/floating-point-hex-parser" "1.11.5" @@ -3632,12 +2323,12 @@ "@webassemblyjs/helper-wasm-bytecode@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz#e258a25251bc69a52ef817da3001863cc1c24b9f" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz" integrity sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA== "@webassemblyjs/helper-wasm-section@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz#966e855a6fae04d5570ad4ec87fbcf29b42ba78e" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz" integrity sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA== dependencies: "@webassemblyjs/ast" "1.11.5" @@ -3647,26 +2338,26 @@ "@webassemblyjs/ieee754@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz#b2db1b33ce9c91e34236194c2b5cba9b25ca9d60" + resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz" integrity sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg== dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.5.tgz#482e44d26b6b949edf042a8525a66c649e38935a" + resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.5.tgz" integrity sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ== dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.5.tgz#83bef94856e399f3740e8df9f63bc47a987eae1a" + resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.5.tgz" integrity sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ== "@webassemblyjs/wasm-edit@^1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz#93ee10a08037657e21c70de31c47fdad6b522b2d" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz" integrity sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ== dependencies: "@webassemblyjs/ast" "1.11.5" @@ -3680,7 +2371,7 @@ "@webassemblyjs/wasm-gen@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz#ceb1c82b40bf0cf67a492c53381916756ef7f0b1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz" integrity sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA== dependencies: "@webassemblyjs/ast" "1.11.5" @@ -3691,7 +2382,7 @@ "@webassemblyjs/wasm-opt@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz#b52bac29681fa62487e16d3bb7f0633d5e62ca0a" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz" integrity sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw== dependencies: "@webassemblyjs/ast" "1.11.5" @@ -3699,9 +2390,9 @@ "@webassemblyjs/wasm-gen" "1.11.5" "@webassemblyjs/wasm-parser" "1.11.5" -"@webassemblyjs/wasm-parser@1.11.5", "@webassemblyjs/wasm-parser@^1.11.5": +"@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz#7ba0697ca74c860ea13e3ba226b29617046982e2" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz" integrity sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew== dependencies: "@webassemblyjs/ast" "1.11.5" @@ -3713,7 +2404,7 @@ "@webassemblyjs/wast-printer@1.11.5": version "1.11.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz#7a5e9689043f3eca82d544d7be7a8e6373a6fa98" + resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz" integrity sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA== dependencies: "@webassemblyjs/ast" "1.11.5" @@ -3721,22 +2412,22 @@ "@xtuc/ieee754@^1.2.0": version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== "@xtuc/long@4.2.2": version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== abab@^2.0.3, abab@^2.0.5: version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== dependencies: mime-types "~2.1.34" @@ -3744,7 +2435,7 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: acorn-globals@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz" integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== dependencies: acorn "^7.1.1" @@ -3752,76 +2443,71 @@ acorn-globals@^6.0.0: acorn-import-assertions@^1.7.6: version "1.8.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" + resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== acorn-jsx@^5.3.2: version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^7.1.1: version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.2.4, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: + version "8.8.2" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + acorn@^7.1.1: version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.2.4, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: - version "8.8.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== - address@^1.0.1, address@^1.1.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" + resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== adjust-sourcemap-loader@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz#fc4a0fd080f7d10471f30a7320f25560ade28c99" + resolved "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz" integrity sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A== dependencies: loader-utils "^2.0.0" regex-parser "^2.2.11" -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== - agent-base@6: version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" ajv-formats@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== dependencies: ajv "^8.0.0" ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== ajv-keywords@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== dependencies: fast-deep-equal "^3.1.3" -ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1: version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -3829,9 +2515,19 @@ ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.6.0, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0: version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ajv@^8.6.0, ajv@>=8: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== dependencies: fast-deep-equal "^3.1.1" @@ -3841,113 +2537,103 @@ ajv@^8.0.0, ajv@^8.6.0, ajv@^8.9.0: ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: type-fest "^0.21.3" ansi-html-community@^0.0.8: version "0.0.8" - resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" ansi-styles@^5.0.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== any-promise@^1.0.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== -any-signal@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-3.0.1.tgz#49cae34368187a3472e31de28fb5cb1430caa9a6" - integrity sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg== - anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" -apg-js@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/apg-js/-/apg-js-4.1.3.tgz#0cb9dc99f8830740d7a8f9fc0048fa618ae4d199" - integrity sha512-XYyDcoBho8OpnWPRnedMwyL+76ovCtsESerHZEfY39dO4IrEqN97mdEYkOyHa0XTX5+3+U5FmpqPLttK0f7n6g== - arg@^5.0.2: version "5.0.2" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== argparse@^1.0.7: version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" argparse@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== aria-query@^5.0.0, aria-query@^5.1.3: version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== dependencies: deep-equal "^2.0.5" array-buffer-byte-length@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== dependencies: call-bind "^1.0.2" is-array-buffer "^3.0.1" -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - array-flatten@^2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + array-includes@^3.1.5, array-includes@^3.1.6: version "3.1.6" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== dependencies: call-bind "^1.0.2" @@ -3958,12 +2644,12 @@ array-includes@^3.1.5, array-includes@^3.1.6: array-union@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array.prototype.flat@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz" integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== dependencies: call-bind "^1.0.2" @@ -3973,7 +2659,7 @@ array.prototype.flat@^1.3.1: array.prototype.flatmap@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== dependencies: call-bind "^1.0.2" @@ -3983,7 +2669,7 @@ array.prototype.flatmap@^1.3.1: array.prototype.reduce@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz#6b20b0daa9d9734dd6bc7ea66b5bbce395471eac" + resolved "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz" integrity sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q== dependencies: call-bind "^1.0.2" @@ -3994,7 +2680,7 @@ array.prototype.reduce@^1.0.5: array.prototype.tosorted@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" + resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz" integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== dependencies: call-bind "^1.0.2" @@ -4005,37 +2691,32 @@ array.prototype.tosorted@^1.1.1: asap@~2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== ast-types-flow@^0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== async@^3.2.3: version "3.2.4" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz" integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== at-least-node@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -atomic-sleep@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" - integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== - autoprefixer@^10.4.13: version "10.4.14" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz" integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== dependencies: browserslist "^4.21.5" @@ -4047,31 +2728,24 @@ autoprefixer@^10.4.13: available-typed-arrays@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== axe-core@^4.6.2: version "4.7.0" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" + resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz" integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== -axios@^0.21.0, axios@^0.21.2: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - axobject-query@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.1.1.tgz#3b6e5c6d4e43ca7ba51c5babf99d22a9c68485e1" + resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz" integrity sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg== dependencies: deep-equal "^2.0.5" babel-jest@^27.4.2, babel-jest@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz" integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== dependencies: "@jest/transform" "^27.5.1" @@ -4085,7 +2759,7 @@ babel-jest@^27.4.2, babel-jest@^27.5.1: babel-loader@^8.2.3: version "8.3.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== dependencies: find-cache-dir "^3.3.1" @@ -4095,7 +2769,7 @@ babel-loader@^8.2.3: babel-plugin-istanbul@^6.1.1: version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -4106,7 +2780,7 @@ babel-plugin-istanbul@^6.1.1: babel-plugin-jest-hoist@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz" integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== dependencies: "@babel/template" "^7.3.3" @@ -4116,7 +2790,7 @@ babel-plugin-jest-hoist@^27.5.1: babel-plugin-macros@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== dependencies: "@babel/runtime" "^7.12.5" @@ -4125,12 +2799,12 @@ babel-plugin-macros@^3.1.0: babel-plugin-named-asset-import@^0.3.8: version "0.3.8" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2" + resolved "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz" integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q== babel-plugin-polyfill-corejs2@^0.3.3: version "0.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz" integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== dependencies: "@babel/compat-data" "^7.17.7" @@ -4139,7 +2813,7 @@ babel-plugin-polyfill-corejs2@^0.3.3: babel-plugin-polyfill-corejs3@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz" integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== dependencies: "@babel/helper-define-polyfill-provider" "^0.3.3" @@ -4147,19 +2821,19 @@ babel-plugin-polyfill-corejs3@^0.6.0: babel-plugin-polyfill-regenerator@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz" integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== dependencies: "@babel/helper-define-polyfill-provider" "^0.3.3" babel-plugin-transform-react-remove-prop-types@^0.4.24: version "0.4.24" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" + resolved "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz" integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== babel-preset-current-node-syntax@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" @@ -4177,7 +2851,7 @@ babel-preset-current-node-syntax@^1.0.0: babel-preset-jest@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz" integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== dependencies: babel-plugin-jest-hoist "^27.5.1" @@ -4185,7 +2859,7 @@ babel-preset-jest@^27.5.1: babel-preset-react-app@^10.0.1: version "10.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz#ed6005a20a24f2c88521809fa9aea99903751584" + resolved "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz" integrity sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg== dependencies: "@babel/core" "^7.16.0" @@ -4207,27 +2881,17 @@ babel-preset-react-app@^10.0.1: balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.3.0, base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - batch@0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== -bech32@1.1.4, bech32@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - bfj@^7.0.2: version "7.0.2" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.0.2.tgz#1988ce76f3add9ac2913fd8ba47aad9e651bfbb2" + resolved "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz" integrity sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw== dependencies: bluebird "^3.5.5" @@ -4237,62 +2901,22 @@ bfj@^7.0.2: big.js@^5.2.2: version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== binary-extensions@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bl@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-5.1.0.tgz#183715f678c7188ecef9fe475d90209400624273" - integrity sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ== - dependencies: - buffer "^6.0.3" - inherits "^2.0.4" - readable-stream "^3.4.0" - -blob-to-it@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/blob-to-it/-/blob-to-it-1.0.4.tgz#f6caf7a4e90b7bb9215fa6a318ed6bd8ad9898cb" - integrity sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA== - dependencies: - browser-readablestream-to-it "^1.0.3" - -blockstore-core@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/blockstore-core/-/blockstore-core-3.0.0.tgz#08f52d954fe079d2735b745d218e737071badd97" - integrity sha512-5ZZB5nh6kErcjZ/CTK6lCwTIGlPdkTXbD8+2xLC4Fm0WGh7g2e2lW2bfURw7mvnPtSX1xV+sN4V2ndowSgIiHQ== - dependencies: - err-code "^3.0.1" - interface-blockstore "^4.0.0" - interface-store "^3.0.0" - it-all "^2.0.0" - it-drain "^2.0.0" - it-filter "^2.0.0" - it-take "^2.0.0" - multiformats "^11.0.0" - bluebird@^3.5.5: version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.2.0, bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - body-parser@1.20.1: version "1.20.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== dependencies: bytes "3.1.2" @@ -4310,7 +2934,7 @@ body-parser@1.20.1: bonjour-service@^1.0.11: version "1.1.1" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.1.1.tgz#960948fa0e0153f5d26743ab15baf8e33752c135" + resolved "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz" integrity sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg== dependencies: array-flatten "^2.1.2" @@ -4320,12 +2944,12 @@ bonjour-service@^1.0.11: boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -4333,36 +2957,26 @@ brace-expansion@^1.1.7: brace-expansion@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== dependencies: balanced-match "^1.0.0" braces@^3.0.2, braces@~3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - browser-process-hrtime@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + resolved "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browser-readablestream-to-it@^1.0.0, browser-readablestream-to-it@^1.0.1, browser-readablestream-to-it@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz#ac3e406c7ee6cdf0a502dd55db33bab97f7fba76" - integrity sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw== - -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5: +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5, "browserslist@>= 4", "browserslist@>= 4.21.0", browserslist@>=4: version "4.21.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz" integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== dependencies: caniuse-lite "^1.0.30001449" @@ -4372,42 +2986,34 @@ browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4 bser@2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== dependencies: node-int64 "^0.4.0" buffer-from@^1.0.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer@6.0.3, buffer@^6.0.1, buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - builtin-modules@^3.1.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== bytes@3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== bytes@3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== dependencies: function-bind "^1.1.1" @@ -4415,12 +3021,12 @@ call-bind@^1.0.0, call-bind@^1.0.2: callsites@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camel-case@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== dependencies: pascal-case "^3.1.2" @@ -4428,22 +3034,22 @@ camel-case@^4.1.2: camelcase-css@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== -camelcase@^5.0.0, camelcase@^5.3.1: +camelcase@^5.3.1: version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.2.0, camelcase@^6.2.1: version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-api@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== dependencies: browserslist "^4.0.0" @@ -4453,22 +3059,26 @@ caniuse-api@^3.0.0: caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001449, caniuse-lite@^1.0.30001464: version "1.0.30001482" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001482.tgz#8b3fad73dc35b2674a5c96df2d4f9f1c561435de" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001482.tgz" integrity sha512-F1ZInsg53cegyjroxLNW9DmrEQ1SuGRTO1QlpA0o2/6OpQ0gFeDRoq1yFmnr8Sakn9qwwt9DmbxHB6w167OSuQ== case-sensitive-paths-webpack-plugin@^2.4.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" + resolved "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz" integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== -cborg@^1.5.4, cborg@^1.6.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/cborg/-/cborg-1.10.1.tgz#24cfe52c69ec0f66f95e23dc57f2086954c8d718" - integrity sha512-et6Qm8MOUY2kCWa5GKk2MlBVoPjHv0hQBmlzI/Z7+5V3VJCeIkGehIB3vWknNsm2kOkAIs6wEKJFJo8luWQQ/w== +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" -chalk@^2.0.0, chalk@^2.4.1: +chalk@^2.4.1: version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -4477,7 +3087,7 @@ chalk@^2.0.0, chalk@^2.4.1: chalk@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== dependencies: ansi-styles "^4.1.0" @@ -4485,7 +3095,7 @@ chalk@^3.0.0: chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -4493,22 +3103,22 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: char-regex@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== char-regex@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz" integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== check-types@^11.1.1: version "11.2.2" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.2.tgz#7afc0b6a860d686885062f2dba888ba5710335b4" + resolved "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz" integrity sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA== chokidar@^3.4.2, chokidar@^3.5.3: version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: anymatch "~3.1.2" @@ -4523,38 +3133,29 @@ chokidar@^3.4.2, chokidar@^3.5.3: chrome-trace-event@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== ci-info@^3.2.0: version "3.8.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz" integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== cjs-module-lexer@^1.0.0: version "1.2.2" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== clean-css@^5.2.2: version "5.3.2" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.2.tgz#70ecc7d4d4114921f5d298349ff86a31a9975224" + resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz" integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== dependencies: source-map "~0.6.0" -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - cliui@^7.0.2: version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" @@ -4563,12 +3164,12 @@ cliui@^7.0.2: co@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== coa@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + resolved "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== dependencies: "@types/q" "^1.5.1" @@ -4577,95 +3178,95 @@ coa@^2.0.2: collect-v8-coverage@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@~1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + colord@^2.9.1: version "2.9.3" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" + resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== colorette@^2.0.10: version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== combined-stream@^1.0.8: version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" commander@^2.20.0: version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^4.0.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== commander@^7.2.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== commander@^8.3.0: version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== common-path-prefix@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" + resolved "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz" integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== common-tags@^1.8.0: version "1.8.2" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + resolved "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz" integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== commondir@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== compressible@~2.0.16: version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== dependencies: mime-db ">= 1.43.0 < 2" compression@^1.7.4: version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== dependencies: accepts "~1.3.5" @@ -4678,71 +3279,71 @@ compression@^1.7.4: concat-map@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== confusing-browser-globals@^1.0.11: version "1.0.11" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" + resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz" integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== connect-history-api-fallback@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== content-disposition@0.5.4: version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== dependencies: safe-buffer "5.2.1" content-type@~1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== cookie-signature@1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== cookie@0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== core-js-compat@^3.25.1: version "3.30.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.30.1.tgz#961541e22db9c27fc48bfc13a3cafa8734171dfe" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.1.tgz" integrity sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw== dependencies: browserslist "^4.21.5" core-js-pure@^3.23.3: version "3.30.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.30.1.tgz#7d93dc89e7d47b8ef05d7e79f507b0e99ea77eec" + resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.30.1.tgz" integrity sha512-nXBEVpmUnNRhz83cHd9JRQC52cTMcuXAmR56+9dSMpRdpeA4I1PX6yjmhd71Eyc/wXNsdBdUDIj1QTIeZpU5Tg== core-js@^3.19.2: version "3.30.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.30.1.tgz#fc9c5adcc541d8e9fa3e381179433cbf795628ba" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.30.1.tgz" integrity sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ== core-util-is@~1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== dependencies: "@types/parse-json" "^4.0.0" @@ -4753,7 +3354,7 @@ cosmiconfig@^6.0.0: cosmiconfig@^7.0.0: version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" @@ -4762,24 +3363,9 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -cosmjs-types@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.7.2.tgz#a757371abd340949c5bd5d49c6f8379ae1ffd7e2" - integrity sha512-vf2uLyktjr/XVAgEq0DjMxeAWh1yYREe7AMHDKd7EiHVqxBPCaBS+qEEQUkXbR9ndnckqr1sUG8BQhazh4X5lA== - dependencies: - long "^4.0.0" - protobufjs "~6.11.2" - -cross-fetch@^3.1.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== - dependencies: - node-fetch "2.6.7" - cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -4788,31 +3374,31 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: crypto-random-string@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== css-blank-pseudo@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz#36523b01c12a25d812df343a32c322d2a2324561" + resolved "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz" integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ== dependencies: postcss-selector-parser "^6.0.9" css-declaration-sorter@^6.3.1: version "6.4.0" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz#630618adc21724484b3e9505bce812def44000ad" + resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz" integrity sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew== css-has-pseudo@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz#57f6be91ca242d5c9020ee3e51bbb5b89fc7af73" + resolved "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz" integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== dependencies: postcss-selector-parser "^6.0.9" css-loader@^6.5.1: version "6.7.3" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.3.tgz#1e8799f3ccc5874fdd55461af51137fcc5befbcd" + resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz" integrity sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ== dependencies: icss-utils "^5.1.0" @@ -4826,7 +3412,7 @@ css-loader@^6.5.1: css-minimizer-webpack-plugin@^3.2.0: version "3.4.1" - resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f" + resolved "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz" integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== dependencies: cssnano "^5.0.6" @@ -4838,17 +3424,17 @@ css-minimizer-webpack-plugin@^3.2.0: css-prefers-color-scheme@^6.0.3: version "6.0.3" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" + resolved "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz" integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== css-select-base-adapter@^0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + resolved "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== css-select@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + resolved "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== dependencies: boolbase "^1.0.0" @@ -4858,7 +3444,7 @@ css-select@^2.0.0: css-select@^4.1.3: version "4.3.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== dependencies: boolbase "^1.0.0" @@ -4867,50 +3453,50 @@ css-select@^4.1.3: domutils "^2.8.0" nth-check "^2.0.1" -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== dependencies: mdn-data "2.0.14" source-map "^0.6.1" +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + css-what@^3.2.1: version "3.4.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== css-what@^6.0.1: version "6.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== css.escape@^1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + resolved "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz" integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== cssdb@^7.1.0: version "7.5.4" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.5.4.tgz#e34dafee5184d67634604e345e389ca79ac179ea" + resolved "https://registry.npmjs.org/cssdb/-/cssdb-7.5.4.tgz" integrity sha512-fGD+J6Jlq+aurfE1VDXlLS4Pt0VtNlu2+YgfGOdMxRyl/HQ9bDiHTwSck1Yz8A97Dt/82izSK6Bp/4nVqacOsg== cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== cssnano-preset-default@^5.2.14: version "5.2.14" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" + resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz" integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== dependencies: css-declaration-sorter "^6.3.1" @@ -4945,12 +3531,12 @@ cssnano-preset-default@^5.2.14: cssnano-utils@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" + resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz" integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== cssnano@^5.0.6: version "5.1.15" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" + resolved "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz" integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== dependencies: cssnano-preset-default "^5.2.14" @@ -4959,99 +3545,88 @@ cssnano@^5.0.6: csso@^4.0.2, csso@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== dependencies: css-tree "^1.1.2" cssom@^0.4.4: version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + resolved "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== cssom@~0.3.6: version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== cssstyle@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== dependencies: cssom "~0.3.6" csstype@^3.0.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== -dag-jose@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dag-jose/-/dag-jose-1.0.0.tgz#52e42d70cb5bee31ae4e8e3ab860615568d7ad73" - integrity sha512-U0b/YsIPBp6YZNTFrVjwLZAlY3qGRxZTIEcM/CcQmrVrCWq9MWQq9pheXVSPLIhF4SNwzp2SikPva4/BIrJY+g== - dependencies: - "@ipld/dag-cbor" "^6.0.3" - multiformats "^9.0.2" - damerau-levenshtein@^1.0.8: version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + resolved "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== data-urls@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + resolved "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz" integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== dependencies: abab "^2.0.3" whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -debug@2.6.9, debug@^2.6.0: +debug@^2.6.0: version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - debug@^3.2.7: version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== +debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4, debug@4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" decimal.js@^10.2.1: version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - dedent@^0.7.0: version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== deep-equal@^2.0.5: version "2.2.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.1.tgz#c72ab22f3a7d3503a4ca87dde976fe9978816739" + resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.1.tgz" integrity sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ== dependencies: array-buffer-byte-length "^1.0.0" @@ -5075,29 +3650,29 @@ deep-equal@^2.0.5: deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2: version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== default-gateway@^6.0.3: version "6.0.3" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== dependencies: execa "^5.0.0" define-lazy-prop@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== dependencies: has-property-descriptors "^1.0.0" @@ -5105,42 +3680,37 @@ define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -depd@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - depd@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + destroy@1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -detect-browser@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" - integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== - detect-newline@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== detect-node@^2.0.4: version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== detect-port-alt@^1.1.6: version "1.1.6" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + resolved "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== dependencies: address "^1.0.1" @@ -5148,127 +3718,113 @@ detect-port-alt@^1.1.6: didyoumean@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== diff-sequences@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz" integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== diff-sequences@^29.4.3: version "29.4.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz" integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== -dijkstrajs@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" - integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== - dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" dlv@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== dns-equal@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + resolved "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== -dns-over-http-resolver@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz#194d5e140a42153f55bb79ac5a64dd2768c36af9" - integrity sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA== - dependencies: - debug "^4.3.1" - native-fetch "^3.0.0" - receptacle "^1.3.2" - dns-packet@^5.2.2: version "5.6.0" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.0.tgz#2202c947845c7a63c23ece58f2f70ff6ab4c2f7d" + resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz" integrity sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ== dependencies: "@leichtgewicht/ip-codec" "^2.0.1" doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: version "0.5.16" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz" integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== dom-converter@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== dependencies: utila "~0.4" -dom-serializer@0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - dom-serializer@^1.0.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== dependencies: domelementtype "^2.0.1" domhandler "^4.2.0" entities "^2.0.0" -domelementtype@1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== +dom-serializer@0: + version "0.2.2" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" domelementtype@^2.0.1, domelementtype@^2.2.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== +domelementtype@1: + version "1.3.1" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + domexception@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + resolved "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== dependencies: webidl-conversions "^5.0.0" domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== dependencies: domelementtype "^2.2.0" domutils@^1.7.0: version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== dependencies: dom-serializer "0" @@ -5276,7 +3832,7 @@ domutils@^1.7.0: domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" @@ -5285,7 +3841,7 @@ domutils@^2.5.2, domutils@^2.8.0: dot-case@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== dependencies: no-case "^3.0.4" @@ -5293,125 +3849,69 @@ dot-case@^3.0.4: dotenv-expand@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== dotenv@^10.0.0: version "10.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== duplexer@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== -duplexify@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" - integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== - dependencies: - end-of-stream "^1.4.1" - inherits "^2.0.3" - readable-stream "^3.1.1" - stream-shift "^1.0.0" - ee-first@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -eip1193-provider@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/eip1193-provider/-/eip1193-provider-1.0.1.tgz#420d29cf4f6c443e3f32e718fb16fafb250637c3" - integrity sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g== - dependencies: - "@json-rpc-tools/provider" "^1.5.5" - ejs@^3.1.6: version "3.1.9" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" + resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz" integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== dependencies: jake "^10.8.5" -electron-fetch@^1.7.2: - version "1.9.1" - resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.9.1.tgz#e28bfe78d467de3f2dec884b1d72b8b05322f30f" - integrity sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA== - dependencies: - encoding "^0.1.13" - electron-to-chromium@^1.4.284: version "1.4.382" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.382.tgz#87e659b0f0d5f7b19759038871bac0a327191f82" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.382.tgz" integrity sha512-czMavlW52VIPgutbVL9JnZIZuFijzsG1ww/1z2Otu1r1q+9Qe2bTsH3My3sZarlvwyqHM6+mnZfEnt2Vr4dsIg== -elliptic@6.5.4, elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - emittery@^0.10.2: version "0.10.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz" integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== emittery@^0.8.1: version "0.8.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz" integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.2: version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== emojis-list@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== -encode-utf8@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" - integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== - encodeurl@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -encoding@^0.1.13: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - -end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - enhanced-resolve@^5.13.0: version "5.13.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz#26d1ecc448c02de997133217b5c1053f34a0a275" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz" integrity sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg== dependencies: graceful-fs "^4.2.4" @@ -5419,31 +3919,26 @@ enhanced-resolve@^5.13.0: entities@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -err-code@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-3.0.1.tgz#a444c7b992705f2b120ee320b09972eef331c920" - integrity sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA== - error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" error-stack-parser@^2.0.6: version "2.1.4" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + resolved "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz" integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== dependencies: stackframe "^1.3.4" es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21.2: version "1.21.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz" integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== dependencies: array-buffer-byte-length "^1.0.0" @@ -5483,12 +3978,12 @@ es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21 es-array-method-boxes-properly@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + resolved "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== es-get-iterator@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + resolved "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz" integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== dependencies: call-bind "^1.0.2" @@ -5503,12 +3998,12 @@ es-get-iterator@^1.1.3: es-module-lexer@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.2.1.tgz#ba303831f63e6a394983fde2f97ad77b22324527" + resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz" integrity sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg== es-set-tostringtag@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== dependencies: get-intrinsic "^1.1.3" @@ -5517,14 +4012,14 @@ es-set-tostringtag@^2.0.1: es-shim-unscopables@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== dependencies: has "^1.0.3" es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" @@ -5533,32 +4028,32 @@ es-to-primitive@^1.2.1: escalade@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escodegen@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== dependencies: esprima "^4.0.1" @@ -5570,7 +4065,7 @@ escodegen@^2.0.0: eslint-config-react-app@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz#73ba3929978001c5c86274c017ea57eb5fa644b4" + resolved "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz" integrity sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA== dependencies: "@babel/core" "^7.16.0" @@ -5590,7 +4085,7 @@ eslint-config-react-app@^7.0.1: eslint-import-resolver-node@^0.3.7: version "0.3.7" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz" integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== dependencies: debug "^3.2.7" @@ -5599,14 +4094,14 @@ eslint-import-resolver-node@^0.3.7: eslint-module-utils@^2.7.4: version "2.8.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz" integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== dependencies: debug "^3.2.7" eslint-plugin-flowtype@^8.0.3: version "8.0.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz#e1557e37118f24734aa3122e7536a038d34a4912" + resolved "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz" integrity sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ== dependencies: lodash "^4.17.21" @@ -5614,7 +4109,7 @@ eslint-plugin-flowtype@^8.0.3: eslint-plugin-import@^2.25.3: version "2.27.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz" integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== dependencies: array-includes "^3.1.6" @@ -5635,14 +4130,14 @@ eslint-plugin-import@^2.25.3: eslint-plugin-jest@^25.3.0: version "25.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz#ff4ac97520b53a96187bad9c9814e7d00de09a6a" + resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz" integrity sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ== dependencies: "@typescript-eslint/experimental-utils" "^5.0.0" eslint-plugin-jsx-a11y@^6.5.1: version "6.7.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976" + resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz" integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA== dependencies: "@babel/runtime" "^7.20.7" @@ -5664,12 +4159,12 @@ eslint-plugin-jsx-a11y@^6.5.1: eslint-plugin-react-hooks@^4.3.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== eslint-plugin-react@^7.27.1: version "7.32.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" + resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz" integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== dependencies: array-includes "^3.1.6" @@ -5690,14 +4185,14 @@ eslint-plugin-react@^7.27.1: eslint-plugin-testing-library@^5.0.1: version "5.10.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.10.3.tgz#e613fbaf9a145e9eef115d080b32cb488fae622e" + resolved "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.10.3.tgz" integrity sha512-0yhsKFsjHLud5PM+f2dWr9K3rqYzMy4cSHs3lcmFYMa1CdSzRvHGgXvsFarBjZ41gU8jhTdMIkg8jHLxGJqLqw== dependencies: "@typescript-eslint/utils" "^5.58.0" -eslint-scope@5.1.1, eslint-scope@^5.1.1: +eslint-scope@^5.1.1, eslint-scope@5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" @@ -5705,7 +4200,7 @@ eslint-scope@5.1.1, eslint-scope@^5.1.1: eslint-scope@^7.2.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz" integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== dependencies: esrecurse "^4.3.0" @@ -5713,17 +4208,17 @@ eslint-scope@^7.2.0: eslint-visitor-keys@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0: version "3.4.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz" integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== eslint-webpack-plugin@^3.1.1: version "3.2.0" - resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz#1978cdb9edc461e4b0195a20da950cf57988347c" + resolved "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz" integrity sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w== dependencies: "@types/eslint" "^7.29.0 || ^8.4.1" @@ -5732,9 +4227,9 @@ eslint-webpack-plugin@^3.1.1: normalize-path "^3.0.0" schema-utils "^4.0.0" -eslint@^8.3.0: +eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.0.0 || ^8.0.0", "eslint@^7.5.0 || ^8.0.0", eslint@^8.0.0, eslint@^8.1.0, eslint@^8.3.0, "eslint@>= 6": version "8.39.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.39.0.tgz#7fd20a295ef92d43809e914b70c39fd5a23cf3f1" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz" integrity sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og== dependencies: "@eslint-community/eslint-utils" "^4.2.0" @@ -5780,7 +4275,7 @@ eslint@^8.3.0: espree@^9.5.1: version "9.5.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4" + resolved "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz" integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg== dependencies: acorn "^8.8.0" @@ -5789,97 +4284,61 @@ espree@^9.5.1: esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.4.2: version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1: version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== estree-walker@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== etag@~1.8.1: version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== -ethers@^5.7.1: - version "5.7.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== - dependencies: - "@ethersproject/abi" "5.7.0" - "@ethersproject/abstract-provider" "5.7.0" - "@ethersproject/abstract-signer" "5.7.0" - "@ethersproject/address" "5.7.0" - "@ethersproject/base64" "5.7.0" - "@ethersproject/basex" "5.7.0" - "@ethersproject/bignumber" "5.7.0" - "@ethersproject/bytes" "5.7.0" - "@ethersproject/constants" "5.7.0" - "@ethersproject/contracts" "5.7.0" - "@ethersproject/hash" "5.7.0" - "@ethersproject/hdnode" "5.7.0" - "@ethersproject/json-wallets" "5.7.0" - "@ethersproject/keccak256" "5.7.0" - "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.1" - "@ethersproject/pbkdf2" "5.7.0" - "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.2" - "@ethersproject/random" "5.7.0" - "@ethersproject/rlp" "5.7.0" - "@ethersproject/sha2" "5.7.0" - "@ethersproject/signing-key" "5.7.0" - "@ethersproject/solidity" "5.7.0" - "@ethersproject/strings" "5.7.0" - "@ethersproject/transactions" "5.7.0" - "@ethersproject/units" "5.7.0" - "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.1" - "@ethersproject/wordlists" "5.7.0" - eventemitter3@^4.0.0: version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@^3.2.0, events@^3.3.0: +events@^3.2.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== execa@^5.0.0: version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: cross-spawn "^7.0.3" @@ -5894,12 +4353,12 @@ execa@^5.0.0: exit@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== expect@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" + resolved "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz" integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== dependencies: "@jest/types" "^27.5.1" @@ -5909,7 +4368,7 @@ expect@^27.5.1: expect@^29.0.0: version "29.5.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.5.0.tgz#68c0509156cb2a0adb8865d413b137eeaae682f7" + resolved "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz" integrity sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg== dependencies: "@jest/expect-utils" "^29.5.0" @@ -5920,7 +4379,7 @@ expect@^29.0.0: express@^4.17.3: version "4.18.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== dependencies: accepts "~1.3.8" @@ -5957,17 +4416,12 @@ express@^4.17.3: fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-fifo@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.2.0.tgz#2ee038da2468e8623066dee96958b0c1763aa55a" - integrity sha512-NcvQXt7Cky1cNau15FWy64IjuO8X0JijhTBBrJj1YlxlDfRkJXNaK9RFUjwpfDPzMdv7wB38jr53l9tkNLxnWg== - fast-glob@^3.2.12, fast-glob@^3.2.9: version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -5978,50 +4432,45 @@ fast-glob@^3.2.12, fast-glob@^3.2.9: fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -fast-redact@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.2.tgz#d58e69e9084ce9fa4c1a6fa98a3e1ecf5d7839aa" - integrity sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw== - fastq@^1.6.0: version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: reusify "^1.0.4" faye-websocket@^0.11.3: version "0.11.4" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== dependencies: websocket-driver ">=0.5.1" fb-watchman@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== dependencies: bser "2.1.1" file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" file-loader@^6.2.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== dependencies: loader-utils "^2.0.0" @@ -6029,31 +4478,26 @@ file-loader@^6.2.0: filelist@^1.0.1: version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== dependencies: minimatch "^5.0.1" filesize@^8.0.6: version "8.0.7" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" + resolved "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" -filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" - integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== - finalhandler@1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== dependencies: debug "2.6.9" @@ -6066,7 +4510,7 @@ finalhandler@1.2.0: find-cache-dir@^3.3.1: version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== dependencies: commondir "^1.0.1" @@ -6075,14 +4519,14 @@ find-cache-dir@^3.3.1: find-up@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" @@ -6090,7 +4534,7 @@ find-up@^4.0.0, find-up@^4.1.0: find-up@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" @@ -6098,7 +4542,7 @@ find-up@^5.0.0: flat-cache@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== dependencies: flatted "^3.1.0" @@ -6106,24 +4550,24 @@ flat-cache@^3.0.4: flatted@^3.1.0: version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== -follow-redirects@^1.0.0, follow-redirects@^1.14.0: +follow-redirects@^1.0.0: version "1.15.2" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== for-each@^0.3.3: version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: is-callable "^1.1.3" fork-ts-checker-webpack-plugin@^6.5.0: version "6.5.3" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" + resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz" integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== dependencies: "@babel/code-frame" "^7.8.3" @@ -6142,7 +4586,7 @@ fork-ts-checker-webpack-plugin@^6.5.0: form-data@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== dependencies: asynckit "^0.4.0" @@ -6151,22 +4595,22 @@ form-data@^3.0.0: forwarded@0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fraction.js@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== fresh@0.5.2: version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== fs-extra@^10.0.0: version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== dependencies: graceful-fs "^4.2.0" @@ -6175,7 +4619,7 @@ fs-extra@^10.0.0: fs-extra@^9.0.0, fs-extra@^9.0.1: version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: at-least-node "^1.0.0" @@ -6185,27 +4629,27 @@ fs-extra@^9.0.0, fs-extra@^9.0.1: fs-monkey@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" + resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz" integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@^2.3.2, fsevents@~2.3.2: version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== function.prototype.name@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== dependencies: call-bind "^1.0.2" @@ -6215,51 +4659,46 @@ function.prototype.name@^1.1.5: functions-have-names@^1.2.2, functions-have-names@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.1, get-caller-file@^2.0.5: +get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz" integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== dependencies: function-bind "^1.1.1" has "^1.0.3" has-symbols "^1.0.3" -get-iterator@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-1.0.2.tgz#cd747c02b4c084461fac14f48f6b45a80ed25c82" - integrity sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg== - get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== get-package-type@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== get-stream@^6.0.0: version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-symbol-description@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== dependencies: call-bind "^1.0.2" @@ -6267,57 +4706,57 @@ get-symbol-description@^1.0.0: glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.2: version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" glob-to-regexp@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== +glob@7.1.6: + version "7.1.6" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.1.1" + minimatch "^3.0.4" once "^1.3.0" path-is-absolute "^1.0.0" global-modules@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== dependencies: global-prefix "^3.0.0" global-prefix@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== dependencies: ini "^1.3.5" @@ -6326,26 +4765,26 @@ global-prefix@^3.0.0: globals@^11.1.0: version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0: version "13.20.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz" integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== dependencies: type-fest "^0.20.2" -globalthis@^1.0.1, globalthis@^1.0.3: +globalthis@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== dependencies: define-properties "^1.1.3" globby@^11.0.4, globby@^11.1.0: version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -6357,127 +4796,97 @@ globby@^11.0.4, globby@^11.1.0: gopd@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== dependencies: get-intrinsic "^1.1.3" graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== grapheme-splitter@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== gzip-size@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== dependencies: duplexer "^0.1.2" -hamt-sharding@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/hamt-sharding/-/hamt-sharding-3.0.2.tgz#a3fba1e4e6b58469388a0e1458768c78c0cd95f6" - integrity sha512-f0DzBD2tSmLFdFsLAvOflIBqFPjerbA7BfmwO8mVho/5hXwgyyYhv+ijIzidQf/DpDX3bRjAQvhGoBFj+DBvPw== - dependencies: - sparse-array "^1.3.1" - uint8arrays "^4.0.2" - handle-thing@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== harmony-reflect@^1.4.6: version "1.6.2" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + resolved "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz" integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== dependencies: get-intrinsic "^1.1.1" has-proto@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has-tostringtag@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== dependencies: has-symbols "^1.0.2" has@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - he@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hey-listen@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" - integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - hoopy@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + resolved "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz" integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== hpack.js@^2.1.6: version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== dependencies: inherits "^2.0.1" @@ -6487,24 +4896,24 @@ hpack.js@^2.1.6: html-encoding-sniffer@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== dependencies: whatwg-encoding "^1.0.5" html-entities@^2.1.0, html-entities@^2.3.2: version "2.3.3" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.3.tgz#117d7626bece327fc8baace8868fa6f5ef856e46" + resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz" integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== html-escaper@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== html-minifier-terser@^6.0.2: version "6.1.0" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" + resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== dependencies: camel-case "^4.1.2" @@ -6517,7 +4926,7 @@ html-minifier-terser@^6.0.2: html-webpack-plugin@^5.5.0: version "5.5.1" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.1.tgz#826838e31b427f5f7f30971f8d8fa2422dfa6763" + resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.1.tgz" integrity sha512-cTUzZ1+NqjGEKjmVgZKLMdiFg3m9MdRXkZW2OEe69WYVi5ONLMmlnSZdXzGGMOq0C8jGDrL6EWyEDDUioHO/pA== dependencies: "@types/html-minifier-terser" "^6.0.0" @@ -6528,7 +4937,7 @@ html-webpack-plugin@^5.5.0: htmlparser2@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: domelementtype "^2.0.1" @@ -6538,12 +4947,22 @@ htmlparser2@^6.1.0: http-deceiver@^1.2.7: version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-errors@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: depd "2.0.0" @@ -6552,24 +4971,14 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - http-parser-js@>=0.5.1: version "0.5.8" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== http-proxy-agent@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== dependencies: "@tootallnate/once" "1" @@ -6578,7 +4987,7 @@ http-proxy-agent@^4.0.1: http-proxy-middleware@^2.0.3: version "2.0.6" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== dependencies: "@types/http-proxy" "^1.17.8" @@ -6589,7 +4998,7 @@ http-proxy-middleware@^2.0.3: http-proxy@^1.18.1: version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== dependencies: eventemitter3 "^4.0.0" @@ -6598,7 +5007,7 @@ http-proxy@^1.18.1: https-proxy-agent@^5.0.0: version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== dependencies: agent-base "6" @@ -6606,63 +5015,53 @@ https-proxy-agent@^5.0.0: human-signals@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + iconv-lite@0.4.24: version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.2, iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== idb@^7.0.1: version "7.1.1" - resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.1.tgz#d910ded866d32c7ced9befc5bfdf36f572ced72b" + resolved "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz" integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ== identity-obj-proxy@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + resolved "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz" integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== dependencies: harmony-reflect "^1.4.6" -ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - ignore@^5.2.0: version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== - immer@^9.0.7: version "9.0.21" - resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" + resolved "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz" integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" @@ -6670,7 +5069,7 @@ import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: import-local@^3.0.2: version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== dependencies: pkg-dir "^4.2.0" @@ -6678,211 +5077,59 @@ import-local@^3.0.2: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, inherits@2, inherits@2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inherits@2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== ini@^1.3.5: version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -interface-blockstore@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/interface-blockstore/-/interface-blockstore-4.0.1.tgz#0dda1774d72ca7e990dc1921cfc524b3e9d1b9ca" - integrity sha512-ROWKGJls7vLeFaQtI3hZVCJOkUoZ05xAi2t2qysM4d7dwVKrfm5jUOqWh8JgLL7Iup3XqJ0mKXXZuwJ3s03RSw== - dependencies: - interface-store "^3.0.0" - multiformats "^11.0.0" - -interface-datastore@^6.0.2: - version "6.1.1" - resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-6.1.1.tgz#5150a00de2e7513eaadba58bcafd059cb50004c1" - integrity sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg== - dependencies: - interface-store "^2.0.2" - nanoid "^3.0.2" - uint8arrays "^3.0.0" - -interface-store@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/interface-store/-/interface-store-2.0.2.tgz#83175fd2b0c501585ed96db54bb8ba9d55fce34c" - integrity sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg== - -interface-store@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/interface-store/-/interface-store-3.0.4.tgz#670d95ef45f3b7061d154c3cbfaf39a538167ad7" - integrity sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ== - internal-slot@^1.0.3, internal-slot@^1.0.4, internal-slot@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== dependencies: get-intrinsic "^1.2.0" has "^1.0.3" side-channel "^1.0.4" -ip-regex@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" - integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== +ipaddr.js@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz" + integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== ipaddr.js@1.9.1: version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -ipaddr.js@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" - integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== - -ipfs-core-types@^0.10.0, ipfs-core-types@^0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/ipfs-core-types/-/ipfs-core-types-0.10.3.tgz#89ebe98199d4d829f2b20104bfa3299f808c80fe" - integrity sha512-GNid2lRBjR5qgScCglgk7w9Hk3TZAwPHQXxOLQx72wgyc0jF2U5NXRoKW0GRvX8NPbHmsrFszForIqxd23I1Gw== - dependencies: - "@ipld/dag-pb" "^2.1.3" - interface-datastore "^6.0.2" - ipfs-unixfs "^6.0.3" - multiaddr "^10.0.0" - multiformats "^9.5.1" - -ipfs-core-utils@^0.14.0: - version "0.14.3" - resolved "https://registry.yarnpkg.com/ipfs-core-utils/-/ipfs-core-utils-0.14.3.tgz#d04c631c472507bdefc58d4e8d1d9109efbb411c" - integrity sha512-aBkewVhgAj3NWXPwu6imj0wADGiGVZmJzqKzODOJsibDjkx6FGdMv8kvvqtLnK8LS/dvSk9yk32IDtuDyYoV7Q== - dependencies: - any-signal "^3.0.0" - blob-to-it "^1.0.1" - browser-readablestream-to-it "^1.0.1" - debug "^4.1.1" - err-code "^3.0.1" - ipfs-core-types "^0.10.3" - ipfs-unixfs "^6.0.3" - ipfs-utils "^9.0.6" - it-all "^1.0.4" - it-map "^1.0.4" - it-peekable "^1.0.2" - it-to-stream "^1.0.0" - merge-options "^3.0.4" - multiaddr "^10.0.0" - multiaddr-to-uri "^8.0.0" - multiformats "^9.5.1" - nanoid "^3.1.23" - parse-duration "^1.0.0" - timeout-abort-controller "^3.0.0" - uint8arrays "^3.0.0" - -ipfs-http-client@56.0.0: - version "56.0.0" - resolved "https://registry.yarnpkg.com/ipfs-http-client/-/ipfs-http-client-56.0.0.tgz#f42fa2bbf987bfa128ce0025de5d668586f4a815" - integrity sha512-JF3on9c0hB9XHk/UCxbyC6rSpERuj8F/0QcN/HImZoHNUKZ0/T8DpgVopocKdmGi1gr3Izlop7poaXomSt8Nug== - dependencies: - "@ipld/dag-cbor" "^7.0.0" - "@ipld/dag-json" "^8.0.1" - "@ipld/dag-pb" "^2.1.3" - any-signal "^3.0.0" - dag-jose "^1.0.0" - debug "^4.1.1" - err-code "^3.0.1" - ipfs-core-types "^0.10.0" - ipfs-core-utils "^0.14.0" - ipfs-utils "^9.0.2" - it-first "^1.0.6" - it-last "^1.0.4" - merge-options "^3.0.4" - multiaddr "^10.0.0" - multiformats "^9.4.13" - parse-duration "^1.0.0" - stream-to-it "^0.2.2" - uint8arrays "^3.0.0" - -ipfs-unixfs-importer@^12.0.0: - version "12.0.1" - resolved "https://registry.yarnpkg.com/ipfs-unixfs-importer/-/ipfs-unixfs-importer-12.0.1.tgz#316a52d8a793e9e006b1ee43edc50b83e00ef306" - integrity sha512-//VPZOqbONtc1HNtb+sBrw+nIGijHEloSm1O3LVR5orSlhHQ8X7+OCkeqceFBhu40tPMe/TwgAPrkvh+fXL+bA== - dependencies: - "@ipld/dag-pb" "^4.0.0" - "@multiformats/murmur3" "^2.0.0" - err-code "^3.0.1" - hamt-sharding "^3.0.0" - interface-blockstore "^4.0.0" - ipfs-unixfs "^9.0.0" - it-all "^2.0.0" - it-batch "^2.0.0" - it-first "^2.0.0" - it-parallel-batch "^2.0.0" - merge-options "^3.0.4" - multiformats "^11.0.0" - rabin-wasm "^0.1.4" - uint8arraylist "^2.3.3" - uint8arrays "^4.0.2" - -ipfs-unixfs@^6.0.3: - version "6.0.9" - resolved "https://registry.yarnpkg.com/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz#f6613b8e081d83faa43ed96e016a694c615a9374" - integrity sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ== - dependencies: - err-code "^3.0.1" - protobufjs "^6.10.2" - -ipfs-unixfs@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/ipfs-unixfs/-/ipfs-unixfs-9.0.1.tgz#d06e688e07ef4ce08d610337ba2fe8c143c386e7" - integrity sha512-jh2CbXyxID+v3jLml9CqMwjdSS9ZRnsGfQGGPOfem0/hT/L48xUeTPvh7qLFWkZcIMhZtG+fnS1teei8x5uGBg== - dependencies: - err-code "^3.0.1" - protobufjs "^7.0.0" - -ipfs-utils@^9.0.2, ipfs-utils@^9.0.6: - version "9.0.14" - resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-9.0.14.tgz#24f5fda1f4567685eb32bca2543d518f95fd8704" - integrity sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg== - dependencies: - any-signal "^3.0.0" - browser-readablestream-to-it "^1.0.0" - buffer "^6.0.1" - electron-fetch "^1.7.2" - err-code "^3.0.1" - is-electron "^2.2.0" - iso-url "^1.1.5" - it-all "^1.0.4" - it-glob "^1.0.1" - it-to-stream "^1.0.0" - merge-options "^3.0.4" - nanoid "^3.1.20" - native-fetch "^3.0.0" - node-fetch "^2.6.8" - react-native-fetch-api "^3.0.0" - stream-to-it "^0.2.2" - -is-arguments@^1.0.4, is-arguments@^1.1.1: +is-arguments@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== dependencies: call-bind "^1.0.2" @@ -6890,7 +5137,7 @@ is-arguments@^1.0.4, is-arguments@^1.1.1: is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== dependencies: call-bind "^1.0.2" @@ -6899,26 +5146,26 @@ is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-bigint@^1.0.1: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== dependencies: has-bigints "^1.0.1" is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" @@ -6926,124 +5173,100 @@ is-boolean-object@^1.1.0: is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-core-module@^2.11.0, is-core-module@^2.9.0: version "2.12.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz" integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== dependencies: has "^1.0.3" is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: has-tostringtag "^1.0.0" is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -is-electron@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-electron/-/is-electron-2.2.2.tgz#3778902a2044d76de98036f5dc58089ac4d80bb9" - integrity sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg== - is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-generator-fn@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" -is-ip@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" - integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== - dependencies: - ip-regex "^4.0.0" - is-map@^2.0.1, is-map@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz" integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== is-module@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + resolved "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== is-negative-zero@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-number-object@^1.0.4: version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: has-tostringtag "^1.0.0" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== is-path-inside@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - is-plain-obj@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== is-potential-custom-element-name@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== is-regex@^1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" @@ -7051,48 +5274,48 @@ is-regex@^1.1.4: is-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== is-root@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + resolved "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== is-set@^2.0.1, is-set@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz" integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== is-shared-array-buffer@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== dependencies: call-bind "^1.0.2" is-stream@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" -is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9: +is-typed-array@^1.1.10, is-typed-array@^1.1.9: version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== dependencies: available-typed-arrays "^1.0.5" @@ -7103,24 +5326,24 @@ is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9: is-typedarray@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-weakmap@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz" integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== is-weakref@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: call-bind "^1.0.2" is-weakset@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz" integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== dependencies: call-bind "^1.0.2" @@ -7128,44 +5351,34 @@ is-weakset@^2.0.1: is-wsl@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: is-docker "^2.0.0" isarray@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -iso-url@^1.1.5: - version "1.2.1" - resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-1.2.1.tgz#db96a49d8d9a64a1c889fc07cc525d093afb1811" - integrity sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng== - -isomorphic-ws@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" - integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== - istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== dependencies: "@babel/core" "^7.12.3" @@ -7176,7 +5389,7 @@ istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: istanbul-lib-report@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== dependencies: istanbul-lib-coverage "^3.0.0" @@ -7185,7 +5398,7 @@ istanbul-lib-report@^3.0.0: istanbul-lib-source-maps@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== dependencies: debug "^4.1.1" @@ -7194,97 +5407,15 @@ istanbul-lib-source-maps@^4.0.0: istanbul-reports@^3.1.3: version "3.1.5" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -it-all@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/it-all/-/it-all-1.0.6.tgz#852557355367606295c4c3b7eff0136f07749335" - integrity sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A== - -it-all@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/it-all/-/it-all-2.0.1.tgz#45d530ecf6e13fb81d7ba583cdfd55ffdb376b05" - integrity sha512-9UuJcCRZsboz+HBQTNOau80Dw+ryGaHYFP/cPYzFBJBFcfDathMYnhHk4t52en9+fcyDGPTdLB+lFc1wzQIroA== - -it-batch@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/it-batch/-/it-batch-2.0.1.tgz#a0822be9b18743c41d8525835f788a7f297ba41f" - integrity sha512-2gWFuPzamh9Dh3pW+OKjc7UwJ41W4Eu2AinVAfXDMfrC5gXfm3b1TF+1UzsygBUgKBugnxnGP+/fFRyn+9y1mQ== - -it-drain@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/it-drain/-/it-drain-2.0.1.tgz#f50f6ce5cb8592a9d6337c9b5e780348877b152d" - integrity sha512-ESuHV6MLUNxuSy0vGZpKhSRjW0ixczN1FhbVy7eGJHjX6U2qiiXTyMvDc0z/w+nifOOwPyI5DT9Rc3o9IaGqEQ== - -it-filter@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/it-filter/-/it-filter-2.0.2.tgz#c849b3de4a12a2de3cc45be734ee55f69a0ed284" - integrity sha512-gocw1F3siqupegsOzZ78rAc9C+sYlQbI2af/TmzgdrR613MyEJHbvfwBf12XRekGG907kqXSOGKPlxzJa6XV1Q== - -it-first@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/it-first/-/it-first-1.0.7.tgz#a4bef40da8be21667f7d23e44dae652f5ccd7ab1" - integrity sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g== - -it-first@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/it-first/-/it-first-2.0.1.tgz#75d66b254c385ae3a1906def060a69006a437cef" - integrity sha512-noC1oEQcWZZMUwq7VWxHNLML43dM+5bviZpfmkxkXlvBe60z7AFRqpZSga9uQBo792jKv9otnn1IjA4zwgNARw== - -it-glob@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/it-glob/-/it-glob-1.0.2.tgz#bab9b04d6aaac42884502f3a0bfee84c7a29e15e" - integrity sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q== - dependencies: - "@types/minimatch" "^3.0.4" - minimatch "^3.0.4" - -it-last@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/it-last/-/it-last-1.0.6.tgz#4106232e5905ec11e16de15a0e9f7037eaecfc45" - integrity sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q== - -it-map@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/it-map/-/it-map-1.0.6.tgz#6aa547e363eedcf8d4f69d8484b450bc13c9882c" - integrity sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ== - -it-parallel-batch@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/it-parallel-batch/-/it-parallel-batch-2.0.1.tgz#23eb07bbeb73521253d7c8a1566b53137103077c" - integrity sha512-tXh567/JfDGJ90Zi//H9HkL7kY27ARp0jf2vu2jUI6PUVBWfsoT+gC4eT41/b4+wkJXSGgT8ZHnivAOlMfcNjA== - dependencies: - it-batch "^2.0.0" - -it-peekable@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/it-peekable/-/it-peekable-1.0.3.tgz#8ebe933767d9c5aa0ae4ef8e9cb3a47389bced8c" - integrity sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ== - -it-take@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/it-take/-/it-take-2.0.1.tgz#f9e5ddf0b73a18ba00e62fb532d9d3cde3fe4ce6" - integrity sha512-DL7kpZNjuoeSTnB9dMAJ0Z3m2T29LRRAU+HIgkiQM+1jH3m8l9e/1xpWs8JHTlbKivbqSFrQMTc8KVcaQNmsaA== - -it-to-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/it-to-stream/-/it-to-stream-1.0.0.tgz#6c47f91d5b5df28bda9334c52782ef8e97fe3a4a" - integrity sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA== - dependencies: - buffer "^6.0.3" - fast-fifo "^1.0.0" - get-iterator "^1.0.2" - p-defer "^3.0.0" - p-fifo "^1.0.0" - readable-stream "^3.6.0" - jake@^10.8.5: version "10.8.5" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" + resolved "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz" integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== dependencies: async "^3.2.3" @@ -7294,7 +5425,7 @@ jake@^10.8.5: jest-changed-files@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz" integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== dependencies: "@jest/types" "^27.5.1" @@ -7303,7 +5434,7 @@ jest-changed-files@^27.5.1: jest-circus@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" + resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz" integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== dependencies: "@jest/environment" "^27.5.1" @@ -7328,7 +5459,7 @@ jest-circus@^27.5.1: jest-cli@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz" integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== dependencies: "@jest/core" "^27.5.1" @@ -7346,7 +5477,7 @@ jest-cli@^27.5.1: jest-config@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz" integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== dependencies: "@babel/core" "^7.8.0" @@ -7376,7 +5507,7 @@ jest-config@^27.5.1: jest-diff@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== dependencies: chalk "^4.0.0" @@ -7386,7 +5517,7 @@ jest-diff@^27.5.1: jest-diff@^29.5.0: version "29.5.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.5.0.tgz#e0d83a58eb5451dcc1fa61b1c3ee4e8f5a290d63" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz" integrity sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw== dependencies: chalk "^4.0.0" @@ -7396,14 +5527,14 @@ jest-diff@^29.5.0: jest-docblock@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" + resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz" integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== dependencies: detect-newline "^3.0.0" jest-each@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz" integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== dependencies: "@jest/types" "^27.5.1" @@ -7414,7 +5545,7 @@ jest-each@^27.5.1: jest-environment-jsdom@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" + resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz" integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== dependencies: "@jest/environment" "^27.5.1" @@ -7427,7 +5558,7 @@ jest-environment-jsdom@^27.5.1: jest-environment-node@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz" integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== dependencies: "@jest/environment" "^27.5.1" @@ -7439,17 +5570,17 @@ jest-environment-node@^27.5.1: jest-get-type@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz" integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== jest-get-type@^29.4.3: version "29.4.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz" integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg== jest-haste-map@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz" integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== dependencies: "@jest/types" "^27.5.1" @@ -7469,7 +5600,7 @@ jest-haste-map@^27.5.1: jest-jasmine2@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" + resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz" integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== dependencies: "@jest/environment" "^27.5.1" @@ -7492,7 +5623,7 @@ jest-jasmine2@^27.5.1: jest-leak-detector@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz" integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== dependencies: jest-get-type "^27.5.1" @@ -7500,7 +5631,7 @@ jest-leak-detector@^27.5.1: jest-matcher-utils@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz" integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== dependencies: chalk "^4.0.0" @@ -7510,7 +5641,7 @@ jest-matcher-utils@^27.5.1: jest-matcher-utils@^29.5.0: version "29.5.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz#d957af7f8c0692c5453666705621ad4abc2c59c5" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz" integrity sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw== dependencies: chalk "^4.0.0" @@ -7520,7 +5651,7 @@ jest-matcher-utils@^29.5.0: jest-message-util@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz" integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== dependencies: "@babel/code-frame" "^7.12.13" @@ -7535,7 +5666,7 @@ jest-message-util@^27.5.1: jest-message-util@^28.1.3: version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz" integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== dependencies: "@babel/code-frame" "^7.12.13" @@ -7550,7 +5681,7 @@ jest-message-util@^28.1.3: jest-message-util@^29.5.0: version "29.5.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.5.0.tgz#1f776cac3aca332ab8dd2e3b41625435085c900e" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz" integrity sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA== dependencies: "@babel/code-frame" "^7.12.13" @@ -7565,7 +5696,7 @@ jest-message-util@^29.5.0: jest-mock@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz" integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== dependencies: "@jest/types" "^27.5.1" @@ -7573,31 +5704,31 @@ jest-mock@^27.5.1: jest-pnp-resolver@^1.2.2: version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== jest-regex-util@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz" integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== jest-regex-util@^28.0.0: version "28.0.2" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz" integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== jest-resolve-dependencies@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz" integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== dependencies: "@jest/types" "^27.5.1" jest-regex-util "^27.5.1" jest-snapshot "^27.5.1" -jest-resolve@^27.4.2, jest-resolve@^27.5.1: +jest-resolve@*, jest-resolve@^27.4.2, jest-resolve@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz" integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== dependencies: "@jest/types" "^27.5.1" @@ -7613,7 +5744,7 @@ jest-resolve@^27.4.2, jest-resolve@^27.5.1: jest-runner@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz" integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== dependencies: "@jest/console" "^27.5.1" @@ -7640,7 +5771,7 @@ jest-runner@^27.5.1: jest-runtime@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz" integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== dependencies: "@jest/environment" "^27.5.1" @@ -7668,7 +5799,7 @@ jest-runtime@^27.5.1: jest-serializer@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" + resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz" integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== dependencies: "@types/node" "*" @@ -7676,7 +5807,7 @@ jest-serializer@^27.5.1: jest-snapshot@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz" integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== dependencies: "@babel/core" "^7.7.2" @@ -7704,7 +5835,7 @@ jest-snapshot@^27.5.1: jest-util@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz" integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== dependencies: "@jest/types" "^27.5.1" @@ -7716,7 +5847,7 @@ jest-util@^27.5.1: jest-util@^28.1.3: version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz" integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== dependencies: "@jest/types" "^28.1.3" @@ -7728,7 +5859,7 @@ jest-util@^28.1.3: jest-util@^29.5.0: version "29.5.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.5.0.tgz#24a4d3d92fc39ce90425311b23c27a6e0ef16b8f" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz" integrity sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ== dependencies: "@jest/types" "^29.5.0" @@ -7740,7 +5871,7 @@ jest-util@^29.5.0: jest-validate@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz" integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== dependencies: "@jest/types" "^27.5.1" @@ -7752,7 +5883,7 @@ jest-validate@^27.5.1: jest-watch-typeahead@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz#b4a6826dfb9c9420da2f7bc900de59dad11266a9" + resolved "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz" integrity sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw== dependencies: ansi-escapes "^4.3.1" @@ -7765,7 +5896,7 @@ jest-watch-typeahead@^1.0.0: jest-watcher@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz" integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== dependencies: "@jest/test-result" "^27.5.1" @@ -7778,7 +5909,7 @@ jest-watcher@^27.5.1: jest-watcher@^28.0.0: version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz" integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== dependencies: "@jest/test-result" "^28.1.3" @@ -7792,7 +5923,7 @@ jest-watcher@^28.0.0: jest-worker@^26.2.1: version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== dependencies: "@types/node" "*" @@ -7801,7 +5932,7 @@ jest-worker@^26.2.1: jest-worker@^27.0.2, jest-worker@^27.4.5, jest-worker@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" @@ -7810,16 +5941,16 @@ jest-worker@^27.0.2, jest-worker@^27.4.5, jest-worker@^27.5.1: jest-worker@^28.0.2: version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz" integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== dependencies: "@types/node" "*" merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^27.4.3: +"jest@^27.0.0 || ^28.0.0", jest@^27.4.3: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" + resolved "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz" integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== dependencies: "@jest/core" "^27.5.1" @@ -7828,27 +5959,22 @@ jest@^27.4.3: jiti@^1.18.2: version "1.18.2" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.18.2.tgz#80c3ef3d486ebf2450d9335122b32d121f2a83cd" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz" integrity sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg== js-sdsl@^4.1.4: version "4.4.0" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430" + resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz" integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== -js-sha3@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" @@ -7856,14 +5982,14 @@ js-yaml@^3.13.1: js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" jsdom@^16.6.0: version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + resolved "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz" integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== dependencies: abab "^2.0.5" @@ -7896,54 +6022,54 @@ jsdom@^16.6.0: jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== jsesc@~0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-schema@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json5@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" json5@^2.1.2, json5@^2.2.0, json5@^2.2.2: version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonfile@^6.0.1: version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" @@ -7952,62 +6078,47 @@ jsonfile@^6.0.1: jsonpointer@^5.0.0: version "5.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" + resolved "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz" integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3: version "3.3.3" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" + resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz" integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== dependencies: array-includes "^3.1.5" object.assign "^4.1.3" -jszip@^3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" - integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== - dependencies: - lie "~3.3.0" - pako "~1.0.2" - readable-stream "~2.3.6" - setimmediate "^1.0.5" - -keyvaluestorage-interface@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff" - integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g== - kind-of@^6.0.2: version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== kleur@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== klona@^2.0.4, klona@^2.0.5: version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + resolved "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz" integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== language-subtag-registry@~0.3.2: version "0.3.22" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" + resolved "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz" integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== language-tags@=1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + resolved "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz" integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== dependencies: language-subtag-registry "~0.3.2" launch-editor@^2.6.0: version "2.6.0" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.0.tgz#4c0c1a6ac126c572bd9ff9a30da1d2cae66defd7" + resolved "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz" integrity sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ== dependencies: picocolors "^1.0.0" @@ -8015,12 +6126,12 @@ launch-editor@^2.6.0: leven@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== levn@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" @@ -8028,99 +6139,30 @@ levn@^0.4.1: levn@~0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== dependencies: prelude-ls "~1.1.2" type-check "~0.3.2" -libsodium-wrappers@^0.7.6: - version "0.7.11" - resolved "https://registry.yarnpkg.com/libsodium-wrappers/-/libsodium-wrappers-0.7.11.tgz#53bd20606dffcc54ea2122133c7da38218f575f7" - integrity sha512-SrcLtXj7BM19vUKtQuyQKiQCRJPgbpauzl3s0rSwD+60wtHqSUuqcoawlMDheCJga85nKOQwxNYQxf/CKAvs6Q== - dependencies: - libsodium "^0.7.11" - -libsodium@^0.7.11: - version "0.7.11" - resolved "https://registry.yarnpkg.com/libsodium/-/libsodium-0.7.11.tgz#cd10aae7bcc34a300cc6ad0ac88fcca674cfbc2e" - integrity sha512-WPfJ7sS53I2s4iM58QxY3Inb83/6mjlYgcmZs7DJsvDlnmVUwNinBCi5vBT43P6bHRy01O4zsMU2CoVR6xJ40A== - -lie@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" - integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== - dependencies: - immediate "~3.0.5" - lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lit-connect-modal@^0.1.11: - version "0.1.11" - resolved "https://registry.yarnpkg.com/lit-connect-modal/-/lit-connect-modal-0.1.11.tgz#688fa9601b920c917856a5dbe8491a4fbaf1d6ab" - integrity sha512-EG6pcCqdxZQJt3MPDq3gJ5Sz4E5sJdydtAF7VFJu6z6GDHO1Ybp8WrTx8CUnHiF54/MQBRi6Nb7cbTvv+BKWvQ== - dependencies: - micromodal "^0.4.10" - -lit-element@^3.2.0, lit-element@^3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.3.2.tgz#9913bf220b85065f0e5f1bb8878cc44f36b50cfa" - integrity sha512-xXAeVWKGr4/njq0rGC9dethMnYCq5hpKYrgQZYTzawt9YQhMiXfD+T1RgrdY3NamOxwq2aXlb0vOI6e29CKgVQ== - dependencies: - "@lit-labs/ssr-dom-shim" "^1.1.0" - "@lit/reactive-element" "^1.3.0" - lit-html "^2.7.0" - -lit-html@^2.6.0, lit-html@^2.7.0: - version "2.7.3" - resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.7.3.tgz#903bfa61f9d3296a0ec94128695e452beb9b1a3a" - integrity sha512-9DyLzcn/kbRGowz2vFmSANFbRZTxYUgYYFqzie89w6GLpPUiBCDHfcdeRUV/k3Q2ueYxNjfv46yPCtKAEAPOVw== - dependencies: - "@types/trusted-types" "^2.0.2" - -lit-siwe@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/lit-siwe/-/lit-siwe-1.1.8.tgz#6a393069012816d629c518bb8aa410f1e4a78bd7" - integrity sha512-gXI8GG0GAClw6G7T9p4p6Kn9ywDo8j2d90ShaYArJdsqqO9gwXfzxF84SMeY+bpsNqqQ3FahrhEwTCHd6w7wNw== - dependencies: - "@spruceid/siwe-parser" "1.1.3" - "@stablelib/random" "^1.0.1" - apg-js "^4.1.1" - -lit@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/lit/-/lit-2.6.1.tgz#5951a2098b9bde5b328c73b55c15fdc0eefd96d7" - integrity sha512-DT87LD64f8acR7uVp7kZfhLRrHkfC/N4BVzAtnw9Yg8087mbBJ//qedwdwX0kzDbxgPccWRW6mFwGbRQIxy0pw== - dependencies: - "@lit/reactive-element" "^1.6.0" - lit-element "^3.2.0" - lit-html "^2.6.0" - -lit@2.7.3: - version "2.7.3" - resolved "https://registry.yarnpkg.com/lit/-/lit-2.7.3.tgz#7f7920dbaba12828d359ca3439cd6f73619061da" - integrity sha512-0a+u+vVbmgSfPu+fyvqjMPBX0Kwbyj9QOv9MbQFZhWGlV2cyk3lEwgfUQgYN+i/lx++1Z3wZknSIp3QCKxHLyg== - dependencies: - "@lit/reactive-element" "^1.6.0" - lit-element "^3.3.0" - lit-html "^2.7.0" - loader-runner@^4.2.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== loader-utils@^2.0.0, loader-utils@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== dependencies: big.js "^5.2.2" @@ -8129,12 +6171,12 @@ loader-utils@^2.0.0, loader-utils@^2.0.4: loader-utils@^3.2.0: version "3.2.1" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.1.tgz#4fb104b599daafd82ef3e1a41fb9265f87e1f576" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== locate-path@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" @@ -8142,453 +6184,361 @@ locate-path@^3.0.0: locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" lodash.debounce@^4.0.8: version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== -lodash.isequal@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - lodash.memoize@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== lodash.merge@^4.6.2: version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== lodash.sortby@^4.7.0: version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== lodash.uniq@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -long@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" - integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== - -long@^5.0.0: - version "5.2.3" - resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" - integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== - loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" lower-case@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== dependencies: tslib "^2.0.3" lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" lz-string@^1.4.4: version "1.5.0" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" + resolved "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz" integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== magic-string@^0.25.0, magic-string@^0.25.7: version "0.25.9" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== dependencies: sourcemap-codec "^1.4.8" make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" makeerror@1.0.12: version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== dependencies: tmpl "1.0.5" mdn-data@2.0.14: version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== mdn-data@2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== media-typer@0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== memfs@^3.1.2, memfs@^3.4.3: version "3.5.1" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.5.1.tgz#f0cd1e2bfaef58f6fe09bfb9c2288f07fea099ec" + resolved "https://registry.npmjs.org/memfs/-/memfs-3.5.1.tgz" integrity sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA== dependencies: fs-monkey "^1.0.3" merge-descriptors@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== -merge-options@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-3.0.4.tgz#84709c2aa2a4b24c1981f66c179fe5565cc6dbb7" - integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== - dependencies: - is-plain-obj "^2.1.0" - merge-stream@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== methods@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: braces "^3.0.2" picomatch "^2.3.1" -micromodal@^0.4.10: - version "0.4.10" - resolved "https://registry.yarnpkg.com/micromodal/-/micromodal-0.4.10.tgz#d6f59c21d2f4a5af480f65909eb9608a1d558c73" - integrity sha512-BUrEnzMPFBwK8nOE4xUDYHLrlGlLULQVjpja99tpJQPSUEWgw3kTLp1n1qv0HmKU29AiHE7Y7sMLiRziDK4ghQ== - -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": +"mime-db@>= 1.43.0 < 2", mime-db@1.52.0: version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" mime@1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mimic-fn@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== min-indent@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== mini-css-extract-plugin@^2.4.5: version "2.7.5" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz#afbb344977659ec0f1f6e050c7aea456b121cfc5" + resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz" integrity sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ== dependencies: schema-utils "^4.0.0" -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: +minimalistic-assert@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" minimatch@^5.0.1: version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== dependencies: brace-expansion "^2.0.1" -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.6: version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== mkdirp@~0.5.1: version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: minimist "^1.2.6" -motion@10.15.5: - version "10.15.5" - resolved "https://registry.yarnpkg.com/motion/-/motion-10.15.5.tgz#d336ddbdd37bc28bb99fbb243fe309df6c685ad6" - integrity sha512-ejP6KioN4pigTGxL93APzOnvtLklParL59UQB2T3HWXQBxFcIp5/7YXFmkgiA6pNKKzjvnLhnonRBN5iSFMnNw== - dependencies: - "@motionone/animation" "^10.15.1" - "@motionone/dom" "^10.15.5" - "@motionone/svelte" "^10.15.5" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - "@motionone/vue" "^10.15.5" +"monaco-editor@>= 0.21.0 < 1", "monaco-editor@>= 0.25.0 < 1": + version "0.39.0" + resolved "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.39.0.tgz" + integrity sha512-zhbZ2Nx93tLR8aJmL2zI1mhJpsl87HMebNBM6R8z4pLfs8pj604pIVIVwyF1TivcfNtIPpMXL+nb3DsBmE/x6Q== + +ms@^2.1.1, ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== ms@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== ms@2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multiaddr-to-uri@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz#65efe4b1f9de5f6b681aa42ff36a7c8db7625e58" - integrity sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA== - dependencies: - multiaddr "^10.0.0" - -multiaddr@^10.0.0: - version "10.0.1" - resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-10.0.1.tgz#0d15848871370860a4d266bb44d93b3dac5d90ef" - integrity sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg== - dependencies: - dns-over-http-resolver "^1.2.3" - err-code "^3.0.1" - is-ip "^3.1.0" - multiformats "^9.4.5" - uint8arrays "^3.0.0" - varint "^6.0.0" - multicast-dns@^7.2.5: version "7.2.5" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== dependencies: dns-packet "^5.2.2" thunky "^1.0.2" -multiformats@^11.0.0: - version "11.0.2" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-11.0.2.tgz#b14735efc42cd8581e73895e66bebb9752151b60" - integrity sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg== - -multiformats@^9.0.2, multiformats@^9.4.13, multiformats@^9.4.2, multiformats@^9.4.5, multiformats@^9.5.1, multiformats@^9.5.4: - version "9.9.0" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" - integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== - -murmurhash3js-revisited@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz#6bd36e25de8f73394222adc6e41fa3fac08a5869" - integrity sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g== - mz@^2.7.0: version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== dependencies: any-promise "^1.0.0" object-assign "^4.0.1" thenify-all "^1.0.0" -nanoid@^3.0.2, nanoid@^3.1.20, nanoid@^3.1.23, nanoid@^3.3.6: +nanoid@^3.3.6: version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== -native-fetch@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/native-fetch/-/native-fetch-3.0.0.tgz#06ccdd70e79e171c365c75117959cf4fe14a09bb" - integrity sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw== - natural-compare-lite@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== negotiator@0.6.3: version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== neo-async@^2.6.2: version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== no-case@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== dependencies: lower-case "^2.0.2" tslib "^2.0.3" -node-fetch@2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@^2.6.1, node-fetch@^2.6.8: - version "2.6.9" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" - integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== - dependencies: - whatwg-url "^5.0.0" - node-forge@^1: version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-int64@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== node-releases@^2.0.8: version "2.0.10" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz" integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-range@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== normalize-url@^6.0.1: version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== npm-run-path@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" nth-check@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== dependencies: boolbase "~1.0.0" nth-check@^2.0.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== dependencies: boolbase "^1.0.0" nwsapi@^2.2.0: version "2.2.4" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.4.tgz#fd59d5e904e8e1f03c25a7d5a15cfa16c714a1e5" + resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.4.tgz" integrity sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g== object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-hash@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== object-inspect@^1.12.3, object-inspect@^1.9.0: version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== object-is@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== dependencies: call-bind "^1.0.2" @@ -8596,12 +6546,12 @@ object-is@^1.1.5: object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.3, object.assign@^4.1.4: version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== dependencies: call-bind "^1.0.2" @@ -8611,7 +6561,7 @@ object.assign@^4.1.3, object.assign@^4.1.4: object.entries@^1.1.6: version "1.1.6" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz" integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== dependencies: call-bind "^1.0.2" @@ -8620,7 +6570,7 @@ object.entries@^1.1.6: object.fromentries@^2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" + resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz" integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== dependencies: call-bind "^1.0.2" @@ -8629,7 +6579,7 @@ object.fromentries@^2.0.6: object.getownpropertydescriptors@^2.1.0: version "2.1.6" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz#5e5c384dd209fa4efffead39e3a0512770ccc312" + resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz" integrity sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ== dependencies: array.prototype.reduce "^1.0.5" @@ -8640,7 +6590,7 @@ object.getownpropertydescriptors@^2.1.0: object.hasown@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" + resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz" integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== dependencies: define-properties "^1.1.4" @@ -8648,7 +6598,7 @@ object.hasown@^1.1.2: object.values@^1.1.0, object.values@^1.1.6: version "1.1.6" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== dependencies: call-bind "^1.0.2" @@ -8657,43 +6607,38 @@ object.values@^1.1.0, object.values@^1.1.6: obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -on-exit-leak-free@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" - integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== - on-finished@2.4.1: version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: ee-first "1.1.1" on-headers@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -once@^1.3.0, once@^1.4.0: +once@^1.3.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" onetime@^5.1.2: version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" open@^8.0.9, open@^8.4.0: version "8.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== dependencies: define-lazy-prop "^2.0.0" @@ -8702,7 +6647,7 @@ open@^8.0.9, open@^8.4.0: optionator@^0.8.1: version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== dependencies: deep-is "~0.1.3" @@ -8714,7 +6659,7 @@ optionator@^0.8.1: optionator@^0.9.1: version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== dependencies: deep-is "^0.1.3" @@ -8724,57 +6669,44 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -p-defer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" - integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== - -p-fifo@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-fifo/-/p-fifo-1.0.0.tgz#e29d5cf17c239ba87f51dde98c1d26a9cfe20a63" - integrity sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A== - dependencies: - fast-fifo "^1.0.0" - p-defer "^3.0.0" - p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" p-limit@^3.0.2: version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" p-locate@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-locate@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" p-retry@^4.5.0: version "4.6.2" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== dependencies: "@types/retry" "0.12.0" @@ -8782,17 +6714,12 @@ p-retry@^4.5.0: p-try@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pako@~1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - param-case@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== dependencies: dot-case "^3.0.4" @@ -8800,19 +6727,14 @@ param-case@^3.0.4: parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" -parse-duration@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/parse-duration/-/parse-duration-1.0.3.tgz#b6681f5edcc2689643b34c09ea63f86f58a35814" - integrity sha512-o6NAh12na5VvR6nFejkU0gpQ8jmOY9Y9sTU2ke3L3G/d/3z8jqmbBbeyBGHU73P4JLXfc7tJARygIK3WGIkloA== - parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -8822,17 +6744,17 @@ parse-json@^5.0.0, parse-json@^5.2.0: parse5@6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== pascal-case@^3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== dependencies: no-case "^3.0.4" @@ -8840,133 +6762,98 @@ pascal-case@^3.1.2: path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-to-regexp@0.1.7: version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== path-type@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== performance-now@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== picocolors@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== picocolors@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pify@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== -pino-abstract-transport@v0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" - integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== - dependencies: - duplexify "^4.1.2" - split2 "^4.0.0" - -pino-std-serializers@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" - integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== - -pino@7.11.0: - version "7.11.0" - resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6" - integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== - dependencies: - atomic-sleep "^1.0.0" - fast-redact "^3.0.0" - on-exit-leak-free "^0.2.0" - pino-abstract-transport v0.5.0 - pino-std-serializers "^4.0.0" - process-warning "^1.0.0" - quick-format-unescaped "^4.0.3" - real-require "^0.1.0" - safe-stable-stringify "^2.1.0" - sonic-boom "^2.2.1" - thread-stream "^0.15.1" - pirates@^4.0.1, pirates@^4.0.4: version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== pkg-dir@^4.1.0, pkg-dir@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" pkg-up@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== dependencies: find-up "^3.0.0" -pngjs@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" - integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== - postcss-attribute-case-insensitive@^5.0.2: version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz#03d761b24afc04c09e757e92ff53716ae8ea2741" + resolved "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz" integrity sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ== dependencies: postcss-selector-parser "^6.0.10" postcss-browser-comments@^4: version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz#bcfc86134df5807f5d3c0eefa191d42136b5e72a" + resolved "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz" integrity sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg== postcss-calc@^8.2.3: version "8.2.4" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" + resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== dependencies: postcss-selector-parser "^6.0.9" @@ -8974,35 +6861,35 @@ postcss-calc@^8.2.3: postcss-clamp@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" + resolved "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz" integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== dependencies: postcss-value-parser "^4.2.0" postcss-color-functional-notation@^4.2.4: version "4.2.4" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz#21a909e8d7454d3612d1659e471ce4696f28caec" + resolved "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz" integrity sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg== dependencies: postcss-value-parser "^4.2.0" postcss-color-hex-alpha@^8.0.4: version "8.0.4" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz#c66e2980f2fbc1a63f5b079663340ce8b55f25a5" + resolved "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz" integrity sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ== dependencies: postcss-value-parser "^4.2.0" postcss-color-rebeccapurple@^7.1.1: version "7.1.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz#63fdab91d878ebc4dd4b7c02619a0c3d6a56ced0" + resolved "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz" integrity sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg== dependencies: postcss-value-parser "^4.2.0" postcss-colormin@^5.3.1: version "5.3.1" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" + resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz" integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== dependencies: browserslist "^4.21.4" @@ -9012,7 +6899,7 @@ postcss-colormin@^5.3.1: postcss-convert-values@^5.1.3: version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" + resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz" integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== dependencies: browserslist "^4.21.4" @@ -9020,55 +6907,55 @@ postcss-convert-values@^5.1.3: postcss-custom-media@^8.0.2: version "8.0.2" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz#c8f9637edf45fef761b014c024cee013f80529ea" + resolved "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz" integrity sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg== dependencies: postcss-value-parser "^4.2.0" postcss-custom-properties@^12.1.10: version "12.1.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz#d14bb9b3989ac4d40aaa0e110b43be67ac7845cf" + resolved "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz" integrity sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ== dependencies: postcss-value-parser "^4.2.0" postcss-custom-selectors@^6.0.3: version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz#1ab4684d65f30fed175520f82d223db0337239d9" + resolved "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz" integrity sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg== dependencies: postcss-selector-parser "^6.0.4" postcss-dir-pseudo-class@^6.0.5: version "6.0.5" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz#2bf31de5de76added44e0a25ecf60ae9f7c7c26c" + resolved "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz" integrity sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA== dependencies: postcss-selector-parser "^6.0.10" postcss-discard-comments@^5.1.2: version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" + resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== postcss-discard-duplicates@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" + resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== postcss-discard-empty@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" + resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz" integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== postcss-discard-overridden@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" + resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== postcss-double-position-gradients@^3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz#b96318fdb477be95997e86edd29c6e3557a49b91" + resolved "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz" integrity sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" @@ -9076,50 +6963,50 @@ postcss-double-position-gradients@^3.1.2: postcss-env-function@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz#7b2d24c812f540ed6eda4c81f6090416722a8e7a" + resolved "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz" integrity sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA== dependencies: postcss-value-parser "^4.2.0" postcss-flexbugs-fixes@^5.0.2: version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz#2028e145313074fc9abe276cb7ca14e5401eb49d" + resolved "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz" integrity sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ== postcss-focus-visible@^6.0.4: version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz#50c9ea9afa0ee657fb75635fabad25e18d76bf9e" + resolved "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz" integrity sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw== dependencies: postcss-selector-parser "^6.0.9" postcss-focus-within@^5.0.4: version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz#5b1d2ec603195f3344b716c0b75f61e44e8d2e20" + resolved "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz" integrity sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ== dependencies: postcss-selector-parser "^6.0.9" postcss-font-variant@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" + resolved "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz" integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== postcss-gap-properties@^3.0.5: version "3.0.5" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz#f7e3cddcf73ee19e94ccf7cb77773f9560aa2fff" + resolved "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz" integrity sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg== postcss-image-set-function@^4.0.7: version "4.0.7" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz#08353bd756f1cbfb3b6e93182c7829879114481f" + resolved "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz" integrity sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw== dependencies: postcss-value-parser "^4.2.0" postcss-import@^15.1.0: version "15.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" + resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== dependencies: postcss-value-parser "^4.0.0" @@ -9128,19 +7015,19 @@ postcss-import@^15.1.0: postcss-initial@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" + resolved "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz" integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== postcss-js@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" + resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== dependencies: camelcase-css "^2.0.1" postcss-lab-function@^4.2.1: version "4.2.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz#6fe4c015102ff7cd27d1bd5385582f67ebdbdc98" + resolved "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz" integrity sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" @@ -9148,7 +7035,7 @@ postcss-lab-function@^4.2.1: postcss-load-config@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz" integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA== dependencies: lilconfig "^2.0.5" @@ -9156,7 +7043,7 @@ postcss-load-config@^4.0.1: postcss-loader@^6.2.1: version "6.2.1" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" + resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz" integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== dependencies: cosmiconfig "^7.0.0" @@ -9165,17 +7052,17 @@ postcss-loader@^6.2.1: postcss-logical@^5.0.4: version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" + resolved "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz" integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== postcss-media-minmax@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5" + resolved "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz" integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ== postcss-merge-longhand@^5.1.7: version "5.1.7" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" + resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz" integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== dependencies: postcss-value-parser "^4.2.0" @@ -9183,7 +7070,7 @@ postcss-merge-longhand@^5.1.7: postcss-merge-rules@^5.1.4: version "5.1.4" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" + resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz" integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== dependencies: browserslist "^4.21.4" @@ -9193,14 +7080,14 @@ postcss-merge-rules@^5.1.4: postcss-minify-font-values@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" + resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz" integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== dependencies: postcss-value-parser "^4.2.0" postcss-minify-gradients@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" + resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz" integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== dependencies: colord "^2.9.1" @@ -9209,7 +7096,7 @@ postcss-minify-gradients@^5.1.1: postcss-minify-params@^5.1.4: version "5.1.4" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" + resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz" integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== dependencies: browserslist "^4.21.4" @@ -9218,19 +7105,19 @@ postcss-minify-params@^5.1.4: postcss-minify-selectors@^5.2.1: version "5.2.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" + resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== dependencies: postcss-selector-parser "^6.0.5" postcss-modules-extract-imports@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== postcss-modules-local-by-default@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== dependencies: icss-utils "^5.0.0" @@ -9239,28 +7126,28 @@ postcss-modules-local-by-default@^4.0.0: postcss-modules-scope@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== dependencies: postcss-selector-parser "^6.0.4" postcss-modules-values@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: icss-utils "^5.0.0" postcss-nested@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" + resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz" integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== dependencies: postcss-selector-parser "^6.0.11" postcss-nesting@^10.2.0: version "10.2.0" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz#0b12ce0db8edfd2d8ae0aaf86427370b898890be" + resolved "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz" integrity sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA== dependencies: "@csstools/selector-specificity" "^2.0.0" @@ -9268,47 +7155,47 @@ postcss-nesting@^10.2.0: postcss-normalize-charset@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" + resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz" integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== postcss-normalize-display-values@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" + resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz" integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-positions@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" + resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-repeat-style@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" + resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz" integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-string@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" + resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz" integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-timing-functions@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" + resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz" integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-unicode@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" + resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz" integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== dependencies: browserslist "^4.21.4" @@ -9316,7 +7203,7 @@ postcss-normalize-unicode@^5.1.1: postcss-normalize-url@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" + resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== dependencies: normalize-url "^6.0.1" @@ -9324,14 +7211,14 @@ postcss-normalize-url@^5.1.0: postcss-normalize-whitespace@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" + resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== dependencies: postcss-value-parser "^4.2.0" postcss-normalize@^10.0.1: version "10.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-10.0.1.tgz#464692676b52792a06b06880a176279216540dd7" + resolved "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz" integrity sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA== dependencies: "@csstools/normalize.css" "*" @@ -9340,12 +7227,12 @@ postcss-normalize@^10.0.1: postcss-opacity-percentage@^1.1.2: version "1.1.3" - resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz#5b89b35551a556e20c5d23eb5260fbfcf5245da6" + resolved "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz" integrity sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A== postcss-ordered-values@^5.1.3: version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" + resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== dependencies: cssnano-utils "^3.1.0" @@ -9353,26 +7240,26 @@ postcss-ordered-values@^5.1.3: postcss-overflow-shorthand@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz#7ed6486fec44b76f0eab15aa4866cda5d55d893e" + resolved "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz" integrity sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A== dependencies: postcss-value-parser "^4.2.0" postcss-page-break@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" + resolved "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz" integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== postcss-place@^7.0.5: version "7.0.5" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.5.tgz#95dbf85fd9656a3a6e60e832b5809914236986c4" + resolved "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz" integrity sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g== dependencies: postcss-value-parser "^4.2.0" postcss-preset-env@^7.0.1: version "7.8.3" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz#2a50f5e612c3149cc7af75634e202a5b2ad4f1e2" + resolved "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz" integrity sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag== dependencies: "@csstools/postcss-cascade-layers" "^1.1.1" @@ -9427,14 +7314,14 @@ postcss-preset-env@^7.0.1: postcss-pseudo-class-any-link@^7.1.6: version "7.1.6" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab" + resolved "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz" integrity sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w== dependencies: postcss-selector-parser "^6.0.10" postcss-reduce-initial@^5.1.2: version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" + resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz" integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== dependencies: browserslist "^4.21.4" @@ -9442,26 +7329,26 @@ postcss-reduce-initial@^5.1.2: postcss-reduce-transforms@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" + resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== dependencies: postcss-value-parser "^4.2.0" postcss-replace-overflow-wrap@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" + resolved "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz" integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== postcss-selector-not@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz#8f0a709bf7d4b45222793fc34409be407537556d" + resolved "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz" integrity sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ== dependencies: postcss-selector-parser "^6.0.10" postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: version "6.0.12" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz#2efae5ffab3c8bfb2b7fbf0c426e3bca616c4abb" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz" integrity sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg== dependencies: cssesc "^3.0.0" @@ -9469,7 +7356,7 @@ postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-select postcss-svgo@^5.1.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" + resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz" integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== dependencies: postcss-value-parser "^4.2.0" @@ -9477,51 +7364,51 @@ postcss-svgo@^5.1.0: postcss-unique-selectors@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" + resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== dependencies: postcss-selector-parser "^6.0.5" postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^7.0.35: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^8.3.5, postcss@^8.4.19, postcss@^8.4.23, postcss@^8.4.4: +"postcss@^7.0.0 || ^8.0.1", postcss@^8, postcss@^8.0.0, postcss@^8.0.3, postcss@^8.0.9, postcss@^8.1.0, postcss@^8.1.4, postcss@^8.2, postcss@^8.2.14, postcss@^8.2.15, postcss@^8.2.2, postcss@^8.3, postcss@^8.3.5, postcss@^8.4, postcss@^8.4.19, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.4, postcss@^8.4.6, "postcss@>= 8", postcss@>=8, postcss@>=8.0.9: version "8.4.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.23.tgz#df0aee9ac7c5e53e1075c24a3613496f9e6552ab" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz" integrity sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA== dependencies: nanoid "^3.3.6" picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@^7.0.35: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prelude-ls@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== pretty-error@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" + resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== dependencies: lodash "^4.17.20" @@ -9529,7 +7416,7 @@ pretty-error@^4.0.0: pretty-format@^27.0.2, pretty-format@^27.5.1: version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz" integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== dependencies: ansi-regex "^5.0.1" @@ -9538,7 +7425,7 @@ pretty-format@^27.0.2, pretty-format@^27.5.1: pretty-format@^28.1.3: version "28.1.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz" integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== dependencies: "@jest/schemas" "^28.1.3" @@ -9548,7 +7435,7 @@ pretty-format@^28.1.3: pretty-format@^29.0.0, pretty-format@^29.5.0: version "29.5.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.5.0.tgz#283134e74f70e2e3e7229336de0e4fce94ccde5a" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz" integrity sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw== dependencies: "@jest/schemas" "^29.4.3" @@ -9557,24 +7444,19 @@ pretty-format@^29.0.0, pretty-format@^29.5.0: process-nextick-args@~2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process-warning@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" - integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== - promise@^8.1.0: version "8.3.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" + resolved "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz" integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== dependencies: asap "~2.0.6" prompts@^2.0.1, prompts@^2.4.2: version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== dependencies: kleur "^3.0.3" @@ -9582,164 +7464,75 @@ prompts@^2.0.1, prompts@^2.4.2: prop-types@^15.8.1: version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" object-assign "^4.1.1" react-is "^16.13.1" -protobufjs@^6.10.2, protobufjs@^6.8.8, protobufjs@~6.11.2, protobufjs@~6.11.3: - version "6.11.3" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74" - integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/long" "^4.0.1" - "@types/node" ">=13.7.0" - long "^4.0.0" - -protobufjs@^7.0.0: - version "7.2.3" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.3.tgz#01af019e40d9c6133c49acbb3ff9e30f4f0f70b2" - integrity sha512-TtpvOqwB5Gdz/PQmOjgsrGH1nHjAQVCN7JG4A6r1sXRWESL5rNMAiRcBQlCAdKxZcAbstExQePYG8xof/JVRgg== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/node" ">=13.7.0" - long "^5.0.0" - proxy-addr@~2.0.7: version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: forwarded "0.2.0" ipaddr.js "1.9.1" -proxy-compare@2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.0.tgz#0387c5e4d283ba9b1c0353bb20def4449b06bbd2" - integrity sha512-f1us0OsVAJ3tdIMXGQx2lmseYS4YXe4W+sKF5g5ww/jV+5ogMadPt+sIZ+88Ga9kvMJsrRNWzCrKPpr6pMWYbA== - psl@^1.1.33: version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== punycode@^2.1.0, punycode@^2.1.1: version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== q@^1.1.2: version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== -qrcode@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.1.tgz#0103f97317409f7bc91772ef30793a54cd59f0cb" - integrity sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg== - dependencies: - dijkstrajs "^1.0.1" - encode-utf8 "^1.0.3" - pngjs "^5.0.0" - yargs "^15.3.1" - -qrcode@1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" - integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== - dependencies: - dijkstrajs "^1.0.1" - encode-utf8 "^1.0.3" - pngjs "^5.0.0" - yargs "^15.3.1" - qs@6.11.0: version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== dependencies: side-channel "^1.0.4" -query-string@7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.1.tgz#754620669db978625a90f635f12617c271a088e1" - integrity sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w== - dependencies: - decode-uri-component "^0.2.0" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - querystringify@^2.1.1: version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -quick-format-unescaped@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" - integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== - -rabin-wasm@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/rabin-wasm/-/rabin-wasm-0.1.5.tgz#5b625ca007d6a2cbc1456c78ae71d550addbc9c9" - integrity sha512-uWgQTo7pim1Rnj5TuWcCewRDTf0PEFTSlaUjWP4eY9EbLV9em08v89oCz/WO+wRxpYuO36XEHp4wgYQnAgOHzA== - dependencies: - "@assemblyscript/loader" "^0.9.4" - bl "^5.0.0" - debug "^4.3.1" - minimist "^1.2.5" - node-fetch "^2.6.1" - readable-stream "^3.6.0" - raf@^3.4.1: version "3.4.1" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + resolved "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz" integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== dependencies: performance-now "^2.1.0" randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== raw-body@2.5.1: version "2.5.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== dependencies: bytes "3.1.2" @@ -9749,7 +7542,7 @@ raw-body@2.5.1: react-app-polyfill@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz#95221e0a9bd259e5ca6b177c7bb1cb6768f68fd7" + resolved "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz" integrity sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w== dependencies: core-js "^3.19.2" @@ -9761,7 +7554,7 @@ react-app-polyfill@^3.0.0: react-dev-utils@^12.0.1: version "12.0.1" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" + resolved "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== dependencies: "@babel/code-frame" "^7.16.0" @@ -9789,9 +7582,9 @@ react-dev-utils@^12.0.1: strip-ansi "^6.0.1" text-table "^0.2.0" -react-dom@^18.2.0: +"react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", react-dom@^18.0.0, react-dom@^18.2.0: version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== dependencies: loose-envify "^1.1.0" @@ -9799,39 +7592,32 @@ react-dom@^18.2.0: react-error-overlay@^6.0.11: version "6.0.11" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" + resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== react-is@^16.13.1: version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-is@^17.0.1: version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== react-is@^18.0.0: version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -react-native-fetch-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz#81e1bb6562c292521bc4eca52fe1097f4c1ebab5" - integrity sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA== - dependencies: - p-defer "^3.0.0" - -react-refresh@^0.11.0: +react-refresh@^0.11.0, "react-refresh@>=0.10.0 <1.0.0": version "0.11.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" + resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz" integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== react-scripts@5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-5.0.1.tgz#6285dbd65a8ba6e49ca8d651ce30645a6d980003" + resolved "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz" integrity sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ== dependencies: "@babel/core" "^7.16.0" @@ -9884,23 +7670,23 @@ react-scripts@5.0.1: optionalDependencies: fsevents "^2.3.2" -react@^18.2.0: +"react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^18.0.0, react@^18.2.0, "react@>= 16": version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== dependencies: loose-envify "^1.1.0" read-cache@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== dependencies: pify "^2.3.0" -readable-stream@^2.0.1, readable-stream@~2.3.6: +readable-stream@^2.0.1: version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: core-util-is "~1.0.0" @@ -9911,9 +7697,9 @@ readable-stream@^2.0.1, readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@^3.0.6: version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== dependencies: inherits "^2.0.3" @@ -9922,38 +7708,21 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" -readonly-date@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/readonly-date/-/readonly-date-1.0.0.tgz#5af785464d8c7d7c40b9d738cbde8c646f97dcd9" - integrity sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ== - -real-require@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" - integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== - -receptacle@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/receptacle/-/receptacle-1.3.2.tgz#a7994c7efafc7a01d0e2041839dab6c4951360d2" - integrity sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A== - dependencies: - ms "^2.1.1" - recursive-readdir@^2.2.2: version "2.2.3" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" + resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== dependencies: minimatch "^3.0.5" redent@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== dependencies: indent-string "^4.0.0" @@ -9961,36 +7730,36 @@ redent@^3.0.0: regenerate-unicode-properties@^10.1.0: version "10.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== dependencies: regenerate "^1.4.2" regenerate@^1.4.2: version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.9: version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== regenerator-transform@^0.15.1: version "0.15.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz" integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== dependencies: "@babel/runtime" "^7.8.4" regex-parser@^2.2.11: version "2.2.11" - resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" + resolved "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz" integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz" integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== dependencies: call-bind "^1.0.2" @@ -9999,7 +7768,7 @@ regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.0: regexpu-core@^5.3.1: version "5.3.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== dependencies: "@babel/regjsgen" "^0.8.0" @@ -10011,19 +7780,19 @@ regexpu-core@^5.3.1: regjsparser@^0.9.1: version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== dependencies: jsesc "~0.5.0" relateurl@^0.2.7: version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== renderkid@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" + resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== dependencies: css-select "^4.1.3" @@ -10034,44 +7803,39 @@ renderkid@^3.0.0: require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - requires-port@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== resolve-cwd@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: resolve-from "^5.0.0" resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-from@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve-url-loader@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz#d50d4ddc746bb10468443167acf800dcd6c3ad57" + resolved "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz" integrity sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA== dependencies: adjust-sourcemap-loader "^4.0.0" @@ -10082,12 +7846,12 @@ resolve-url-loader@^4.0.0: resolve.exports@^1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" + resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz" integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== resolve@^1.1.7, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2: version "1.22.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz" integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== dependencies: is-core-module "^2.11.0" @@ -10096,38 +7860,33 @@ resolve@^1.1.7, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22 resolve@^2.0.0-next.4: version "2.0.0-next.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" + resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz" integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== dependencies: is-core-module "^2.9.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -retimer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/retimer/-/retimer-3.0.0.tgz#98b751b1feaf1af13eb0228f8ea68b8f9da530df" - integrity sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA== - retry@^0.13.1: version "0.13.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== reusify@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" rollup-plugin-terser@^7.0.0: version "7.0.2" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" + resolved "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz" integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== dependencies: "@babel/code-frame" "^7.10.4" @@ -10135,23 +7894,23 @@ rollup-plugin-terser@^7.0.0: serialize-javascript "^4.0.0" terser "^5.0.0" -rollup@^2.43.1: +"rollup@^1.20.0 || ^2.0.0", rollup@^1.20.0||^2.0.0, rollup@^2.0.0, rollup@^2.43.1: version "2.79.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" + resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz" integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== optionalDependencies: fsevents "~2.3.2" run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" safe-array-concat@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060" + resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz" integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== dependencies: call-bind "^1.0.2" @@ -10159,48 +7918,43 @@ safe-array-concat@^1.0.0: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: +safe-buffer@^5.1.0, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1: version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-json-utils@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1" - integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ== +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-regex-test@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== dependencies: call-bind "^1.0.2" get-intrinsic "^1.1.3" is-regex "^1.1.4" -safe-stable-stringify@^2.1.0: - version "2.4.3" - resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" - integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== - "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sanitize.css@*: version "13.0.0" - resolved "https://registry.yarnpkg.com/sanitize.css/-/sanitize.css-13.0.0.tgz#2675553974b27964c75562ade3bd85d79879f173" + resolved "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz" integrity sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA== sass-loader@^12.3.0: version "12.6.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" + resolved "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz" integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== dependencies: klona "^2.0.4" @@ -10208,44 +7962,53 @@ sass-loader@^12.3.0: sax@~1.2.4: version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== saxes@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + resolved "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== dependencies: xmlchars "^2.2.0" scheduler@^0.23.0: version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== dependencies: loose-envify "^1.1.0" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - schema-utils@^2.6.5: version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== dependencies: "@types/json-schema" "^7.0.5" ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.1.2: +schema-utils@^3.0.0: + version "3.1.2" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz" + integrity sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz" + integrity sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.2.tgz#36c10abca6f7577aeae136c804b0c741edeadc99" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz" integrity sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg== dependencies: "@types/json-schema" "^7.0.8" @@ -10254,7 +8017,7 @@ schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.1.2: schema-utils@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.1.tgz#eb2d042df8b01f4b5c276a2dfd41ba0faab72e8d" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz" integrity sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ== dependencies: "@types/json-schema" "^7.0.9" @@ -10262,38 +8025,63 @@ schema-utils@^4.0.0: ajv-formats "^2.1.1" ajv-keywords "^5.1.0" -scrypt-js@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" select-hose@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== selfsigned@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" + resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz" integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== dependencies: node-forge "^1" semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: +semver@^7.3.2: + version "7.5.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz" + integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.5: + version "7.5.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz" + integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.7: + version "7.5.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz" + integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.8: version "7.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz" integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== dependencies: lru-cache "^6.0.0" send@0.18.0: version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" @@ -10312,21 +8100,21 @@ send@0.18.0: serialize-javascript@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== dependencies: randombytes "^2.1.0" serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz" integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== dependencies: randombytes "^2.1.0" serve-index@^1.9.1: version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== dependencies: accepts "~1.3.4" @@ -10339,7 +8127,7 @@ serve-index@^1.9.1: serve-static@1.15.0: version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== dependencies: encodeurl "~1.0.2" @@ -10347,46 +8135,36 @@ serve-static@1.15.0: parseurl "~1.3.3" send "0.18.0" -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - setprototypeof@1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== setprototypeof@1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.7.3: version "1.8.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== side-channel@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: call-bind "^1.0.0" @@ -10395,53 +8173,46 @@ side-channel@^1.0.4: signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== sisteransi@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== slash@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slash@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== sockjs@^0.3.24: version "0.3.24" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== dependencies: faye-websocket "^0.11.3" uuid "^8.3.2" websocket-driver "^0.7.4" -sonic-boom@^2.2.1: - version "2.8.0" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" - integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== - dependencies: - atomic-sleep "^1.0.0" - source-list-map@^2.0.0, source-list-map@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== source-map-js@^1.0.1, source-map-js@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== source-map-loader@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.2.tgz#af23192f9b344daa729f6772933194cc5fa54fee" + resolved "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz" integrity sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg== dependencies: abab "^2.0.5" @@ -10450,42 +8221,37 @@ source-map-loader@^3.0.0: source-map-support@^0.5.6, source-map-support@~0.5.20: version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1, source-map@0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@^0.7.3: version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== source-map@^0.8.0-beta.0: version "0.8.0-beta.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz" integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== dependencies: whatwg-url "^7.0.0" sourcemap-codec@^1.4.8: version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== -sparse-array@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/sparse-array/-/sparse-array-1.3.2.tgz#0e1a8b71706d356bc916fe754ff496d450ec20b0" - integrity sha512-ZT711fePGn3+kQyLuv1fpd3rNSkNF8vd5Kv2D+qnOANeyKs3fx6bUMGWRPvgTTcYV64QMqZKZwcuaQSP3AZ0tg== - spdy-transport@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== dependencies: debug "^4.1.0" @@ -10497,7 +8263,7 @@ spdy-transport@^3.0.0: spdy@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== dependencies: debug "^4.1.0" @@ -10506,80 +8272,67 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== - -split2@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" - integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== - sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== stable@^0.1.8: version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== stack-utils@^2.0.3: version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== dependencies: escape-string-regexp "^2.0.0" stackframe@^1.3.4: version "1.3.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + resolved "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz" integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== state-local@^1.0.6: version "1.0.7" - resolved "https://registry.yarnpkg.com/state-local/-/state-local-1.0.7.tgz#da50211d07f05748d53009bee46307a37db386d5" + resolved "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz" integrity sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w== -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - "statuses@>= 1.4.0 < 2": version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + stop-iteration-iterator@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + resolved "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz" integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== dependencies: internal-slot "^1.0.4" -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -stream-to-it@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/stream-to-it/-/stream-to-it-0.2.4.tgz#d2fd7bfbd4a899b4c0d6a7e6a533723af5749bd0" - integrity sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ== +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: - get-iterator "^1.0.2" + safe-buffer "~5.2.0" -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" string-length@^4.0.1: version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== dependencies: char-regex "^1.0.2" @@ -10587,7 +8340,7 @@ string-length@^4.0.1: string-length@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-5.0.1.tgz#3d647f497b6e8e8d41e422f7e0b23bc536c8381e" + resolved "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz" integrity sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow== dependencies: char-regex "^2.0.0" @@ -10595,12 +8348,12 @@ string-length@^5.0.1: string-natural-compare@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" + resolved "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz" integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -10609,7 +8362,7 @@ string-width@^4.1.0, string-width@^4.2.0: string.prototype.matchall@^4.0.6, string.prototype.matchall@^4.0.8: version "4.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" + resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz" integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== dependencies: call-bind "^1.0.2" @@ -10623,7 +8376,7 @@ string.prototype.matchall@^4.0.6, string.prototype.matchall@^4.0.8: string.prototype.trim@^1.2.7: version "1.2.7" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" + resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz" integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== dependencies: call-bind "^1.0.2" @@ -10632,7 +8385,7 @@ string.prototype.trim@^1.2.7: string.prototype.trimend@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== dependencies: call-bind "^1.0.2" @@ -10641,30 +8394,16 @@ string.prototype.trimend@^1.0.6: string.prototype.trimstart@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" es-abstract "^1.20.4" -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - stringify-object@^3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== dependencies: get-own-enumerable-property-symbols "^3.0.0" @@ -10673,58 +8412,58 @@ stringify-object@^3.3.0: strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== dependencies: ansi-regex "^6.0.1" strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== strip-bom@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== strip-comments@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b" + resolved "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz" integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw== strip-final-newline@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-indent@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== dependencies: min-indent "^1.0.0" strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== style-loader@^3.3.1: version "3.3.2" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.2.tgz#eaebca714d9e462c19aa1e3599057bc363924899" + resolved "https://registry.npmjs.org/style-loader/-/style-loader-3.3.2.tgz" integrity sha512-RHs/vcrKdQK8wZliteNK4NKzxvLBzpuHMqYmUVWeKa6MkaIQ97ZTOS0b+zapZhy6GcrgWnvWYCMHRirC3FsUmw== stylehacks@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" + resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz" integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== dependencies: browserslist "^4.21.4" @@ -10732,7 +8471,7 @@ stylehacks@^5.1.1: sucrase@^3.32.0: version "3.32.0" - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.32.0.tgz#c4a95e0f1e18b6847127258a75cf360bc568d4a7" + resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz" integrity sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ== dependencies: "@jridgewell/gen-mapping" "^0.3.2" @@ -10745,28 +8484,28 @@ sucrase@^3.32.0: supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-color@^8.0.0: version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" supports-hyperlinks@^2.0.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== dependencies: has-flag "^4.0.0" @@ -10774,17 +8513,17 @@ supports-hyperlinks@^2.0.0: supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== svg-parser@^2.0.2: version "2.0.4" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== svgo@^1.2.2: version "1.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + resolved "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== dependencies: chalk "^2.4.1" @@ -10803,7 +8542,7 @@ svgo@^1.2.2: svgo@^2.7.0: version "2.8.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" + resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== dependencies: "@trysound/sax" "0.2.0" @@ -10814,19 +8553,14 @@ svgo@^2.7.0: picocolors "^1.0.0" stable "^0.1.8" -symbol-observable@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-2.0.3.tgz#5b521d3d07a43c351055fa43b8355b62d33fd16a" - integrity sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA== - symbol-tree@^3.2.4: version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== tailwindcss@^3.0.2: version "3.3.2" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.2.tgz#2f9e35d715fdf0bbf674d90147a0684d7054a2d3" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz" integrity sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w== dependencies: "@alloc/quick-lru" "^5.2.0" @@ -10855,22 +8589,22 @@ tailwindcss@^3.0.2: tapable@^1.0.0: version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== temp-dir@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" + resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== tempy@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.6.0.tgz#65e2c35abc06f1124a97f387b08303442bde59f3" + resolved "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz" integrity sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw== dependencies: is-stream "^2.0.0" @@ -10880,7 +8614,7 @@ tempy@^0.6.0: terminal-link@^2.0.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== dependencies: ansi-escapes "^4.2.1" @@ -10888,7 +8622,7 @@ terminal-link@^2.0.0: terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.7: version "5.3.7" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz#ef760632d24991760f339fe9290deb936ad1ffc7" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz" integrity sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw== dependencies: "@jridgewell/trace-mapping" "^0.3.17" @@ -10899,7 +8633,7 @@ terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.7: terser@^5.0.0, terser@^5.10.0, terser@^5.16.5: version "5.17.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.17.1.tgz#948f10830454761e2eeedc6debe45c532c83fd69" + resolved "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz" integrity sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw== dependencies: "@jridgewell/source-map" "^0.3.2" @@ -10909,7 +8643,7 @@ terser@^5.0.0, terser@^5.10.0, terser@^5.16.5: test-exclude@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: "@istanbuljs/schema" "^0.1.2" @@ -10918,72 +8652,58 @@ test-exclude@^6.0.0: text-table@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== thenify-all@^1.0.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== dependencies: thenify ">= 3.1.0 < 4" "thenify@>= 3.1.0 < 4": version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== dependencies: any-promise "^1.0.0" -thread-stream@^0.15.1: - version "0.15.2" - resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4" - integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== - dependencies: - real-require "^0.1.0" - throat@^6.0.1: version "6.0.2" - resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" + resolved "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz" integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== thunky@^1.0.2: version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== -timeout-abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz#dd57ffca041652c03769904f8d95afd93fb95595" - integrity sha512-O3e+2B8BKrQxU2YRyEjC/2yFdb33slI22WRdUaDx6rvysfi9anloNZyR2q0l6LnePo5qH7gSM7uZtvvwZbc2yA== - dependencies: - retimer "^3.0.0" - tmpl@1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" toidentifier@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== tough-cookie@^4.0.0: version "4.1.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz" integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== dependencies: psl "^1.1.33" @@ -10993,36 +8713,31 @@ tough-cookie@^4.0.0: tr46@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== dependencies: punycode "^2.1.0" tr46@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + resolved "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz" integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== dependencies: punycode "^2.1.1" -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - tryer@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + resolved "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz" integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== ts-interface-checker@^0.1.9: version "0.1.13" - resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" + resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== tsconfig-paths@^3.14.1: version "3.14.2" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz" integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== dependencies: "@types/json5" "^0.0.29" @@ -11030,75 +8745,67 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@1.14.1, tslib@^1.8.1: +tslib@^1.8.1: version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.3, tslib@^2.3.0, tslib@^2.3.1: +tslib@^2.0.3: version "2.5.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== tsutils@^3.21.0: version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" -tweetnacl-util@^0.13.3: - version "0.13.5" - resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.13.5.tgz#e39cd5d99709ee7125a18b03895b45a1299e475f" - integrity sha512-/4Q3hpPFAnbBjNLLOmdTdyvInBfZcQBTWy+LWbypmWxAKwOpSQOyyv4ZZts4CoiYtS8Skyix5CkOWytf7XNK9A== - -tweetnacl-util@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" - integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== - -tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== - -type-check@^0.4.0, type-check@~0.4.0: +type-check@^0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-check@~0.3.2: version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== dependencies: prelude-ls "~1.1.2" +type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-detect@4.0.8: version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== type-fest@^0.16.0: version "0.16.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== -type-fest@^0.20.2: +type-fest@^0.20.2, "type-fest@>=0.17.0 <4.0.0": version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== type-fest@^0.21.3: version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== type-is@~1.6.18: version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== dependencies: media-typer "0.3.0" @@ -11106,7 +8813,7 @@ type-is@~1.6.18: typed-array-length@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== dependencies: call-bind "^1.0.2" @@ -11115,40 +8822,19 @@ typed-array-length@^1.0.4: typedarray-to-buffer@^3.1.5: version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== dependencies: is-typedarray "^1.0.0" -typescript@^4.9.5: +"typescript@^3.2.1 || ^4", typescript@^4.9.5, "typescript@>= 2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta": version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -uint8arraylist@^2.3.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/uint8arraylist/-/uint8arraylist-2.4.3.tgz#1148aa979b407d382e4eb8d9c8f2b4bf3f5910d5" - integrity sha512-oEVZr4/GrH87K0kjNce6z8pSCzLEPqHNLNR5sj8cJOySrTP8Vb/pMIbZKLJGhQKxm1TiZ31atNrpn820Pyqpow== - dependencies: - uint8arrays "^4.0.2" - -uint8arrays@^3.0.0, uint8arrays@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" - integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== - dependencies: - multiformats "^9.4.2" - -uint8arrays@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-4.0.3.tgz#43109c03c4c10d312e7f2e9f4d53e5cd2398c7fd" - integrity sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg== - dependencies: - multiformats "^11.0.0" - unbox-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: call-bind "^1.0.2" @@ -11158,12 +8844,12 @@ unbox-primitive@^1.0.2: unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== unicode-match-property-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: unicode-canonical-property-names-ecmascript "^2.0.0" @@ -11171,49 +8857,49 @@ unicode-match-property-ecmascript@^2.0.0: unicode-match-property-value-ecmascript@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== unicode-property-aliases-ecmascript@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== unique-string@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== dependencies: crypto-random-string "^2.0.0" universalify@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== universalify@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== -unpipe@1.0.0, unpipe@~1.0.0: +unpipe@~1.0.0, unpipe@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== unquote@~1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + resolved "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== upath@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== update-browserslist-db@^1.0.10: version "1.0.11" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz" integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== dependencies: escalade "^3.1.1" @@ -11221,32 +8907,27 @@ update-browserslist-db@^1.0.10: uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" url-parse@^1.5.3: version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== dependencies: querystringify "^2.1.1" requires-port "^1.0.0" -use-sync-external-store@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== util.promisify@~1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== dependencies: define-properties "^1.1.3" @@ -11254,91 +8935,59 @@ util.promisify@~1.0.0: has-symbols "^1.0.1" object.getownpropertydescriptors "^2.1.0" -util@^0.12.4: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - utila@~0.4: version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== utils-merge@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== uuid@^8.3.2: version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== v8-to-istanbul@^8.1.0: version "8.1.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" + resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz" integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== dependencies: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" source-map "^0.7.3" -valtio@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.10.3.tgz#273eda9ba6459869798b4f58c84514e18fb80ed8" - integrity sha512-t3Ez/+baJ+Z5tIyeaI6nCAbW/hrmcq2jditwg/X++o5IvCdiGirQKTOv1kJq0glgUo13v5oABCVGcinggBfiKw== - dependencies: - proxy-compare "2.5.0" - use-sync-external-store "1.2.0" - -valtio@1.10.4: - version "1.10.4" - resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.10.4.tgz#762647d102f14060111ed21e8afa28f424c2be78" - integrity sha512-gqGWh0DjtDMAy8Jaui8ufFoxlQB1k1NiA/QHrpKoTUk9EeY331WKeYhvtGn1u703RcefrDCez7PT+qeCu9lWEw== - dependencies: - proxy-compare "2.5.0" - use-sync-external-store "1.2.0" - -varint@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" - integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== - vary@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== w3c-hr-time@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + resolved "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== dependencies: browser-process-hrtime "^1.0.0" w3c-xmlserializer@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz" integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== dependencies: xml-name-validator "^3.0.0" walker@^1.0.7: version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== dependencies: makeerror "1.0.12" watchpack@^2.4.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: glob-to-regexp "^0.4.1" @@ -11346,44 +8995,34 @@ watchpack@^2.4.0: wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== dependencies: minimalistic-assert "^1.0.0" web-vitals@^2.1.4: version "2.1.4" - resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-2.1.4.tgz#76563175a475a5e835264d373704f9dde718290c" + resolved "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz" integrity sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg== -web-vitals@^3.0.4: - version "3.3.1" - resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-3.3.1.tgz#f80e4fd01784476c023c8b2c4219075bbe96f64d" - integrity sha512-LTfY5GjcY3ngFzNsYFSYL+AmVmlWrzPTUxSMDis2rZbf+SzT7HH3NH4Y/l45XOlrAIunOBeURN9qtBHkRskAiA== - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - webidl-conversions@^4.0.2: version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== webidl-conversions@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== webidl-conversions@^6.1.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== webpack-dev-middleware@^5.3.1: version "5.3.3" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" + resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== dependencies: colorette "^2.0.10" @@ -11392,9 +9031,9 @@ webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@^4.6.0: +webpack-dev-server@^4.6.0, "webpack-dev-server@3.x || 4.x": version "4.13.3" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.13.3.tgz#9feb740b8b56b886260bae1360286818a221bae8" + resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.3.tgz" integrity sha512-KqqzrzMRSRy5ePz10VhjyL27K2dxqwXQLP5rAKwRJBPUahe7Z2bBWzHw37jeb8GCPKxZRO79ZdQUAPesMh/Nug== dependencies: "@types/bonjour" "^3.5.9" @@ -11430,7 +9069,7 @@ webpack-dev-server@^4.6.0: webpack-manifest-plugin@^4.0.2: version "4.1.1" - resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz#10f8dbf4714ff93a215d5a45bcc416d80506f94f" + resolved "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz" integrity sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow== dependencies: tapable "^2.0.0" @@ -11438,7 +9077,7 @@ webpack-manifest-plugin@^4.0.2: webpack-sources@^1.4.3: version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== dependencies: source-list-map "^2.0.0" @@ -11446,7 +9085,7 @@ webpack-sources@^1.4.3: webpack-sources@^2.2.0: version "2.3.1" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.1.tgz#570de0af163949fe272233c2cefe1b56f74511fd" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz" integrity sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA== dependencies: source-list-map "^2.0.1" @@ -11454,12 +9093,12 @@ webpack-sources@^2.2.0: webpack-sources@^3.2.3: version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.64.4: +"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^4.4.0 || ^5.9.0", "webpack@^4.44.2 || ^5.47.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.64.4, "webpack@>= 4", webpack@>=2, "webpack@>=4.43.0 <6.0.0": version "5.82.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.82.0.tgz#3c0d074dec79401db026b4ba0fb23d6333f88e7d" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.82.0.tgz" integrity sha512-iGNA2fHhnDcV1bONdUu554eZx+XeldsaeQ8T67H6KKHl2nUSwX8Zm7cmzOA46ox/X1ARxf7Bjv8wQ/HsB5fxBg== dependencies: "@types/eslint-scope" "^3.7.3" @@ -11487,9 +9126,9 @@ webpack@^5.64.4: watchpack "^2.4.0" webpack-sources "^3.2.3" -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: +websocket-driver@^0.7.4, websocket-driver@>=0.5.1: version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== dependencies: http-parser-js ">=0.5.1" @@ -11498,46 +9137,47 @@ websocket-driver@>=0.5.1, websocket-driver@^0.7.4: websocket-extensions@>=0.1.1: version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== whatwg-encoding@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== dependencies: iconv-lite "0.4.24" whatwg-fetch@^3.6.2: version "3.6.2" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" + resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz" integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== whatwg-mimetype@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - whatwg-url@^7.0.0: version "7.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== dependencies: lodash.sortby "^4.7.0" tr46 "^1.0.1" webidl-conversions "^4.0.2" -whatwg-url@^8.0.0, whatwg-url@^8.5.0: +whatwg-url@^8.0.0: + version "8.7.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + +whatwg-url@^8.5.0: version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== dependencies: lodash "^4.7.0" @@ -11546,7 +9186,7 @@ whatwg-url@^8.0.0, whatwg-url@^8.5.0: which-boxed-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== dependencies: is-bigint "^1.0.1" @@ -11557,7 +9197,7 @@ which-boxed-primitive@^1.0.2: which-collection@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz" integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== dependencies: is-map "^2.0.1" @@ -11565,14 +9205,9 @@ which-collection@^1.0.1: is-weakmap "^2.0.1" is-weakset "^2.0.1" -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - -which-typed-array@^1.1.2, which-typed-array@^1.1.9: +which-typed-array@^1.1.9: version "1.1.9" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== dependencies: available-typed-arrays "^1.0.5" @@ -11584,26 +9219,26 @@ which-typed-array@^1.1.2, which-typed-array@^1.1.9: which@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" which@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== workbox-background-sync@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz#3141afba3cc8aa2ae14c24d0f6811374ba8ff6a9" + resolved "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz" integrity sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g== dependencies: idb "^7.0.1" @@ -11611,14 +9246,14 @@ workbox-background-sync@6.5.4: workbox-broadcast-update@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz#8441cff5417cd41f384ba7633ca960a7ffe40f66" + resolved "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz" integrity sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw== dependencies: workbox-core "6.5.4" workbox-build@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-6.5.4.tgz#7d06d31eb28a878817e1c991c05c5b93409f0389" + resolved "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz" integrity sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA== dependencies: "@apideck/better-ajv-errors" "^0.3.1" @@ -11661,19 +9296,19 @@ workbox-build@6.5.4: workbox-cacheable-response@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz#a5c6ec0c6e2b6f037379198d4ef07d098f7cf137" + resolved "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz" integrity sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug== dependencies: workbox-core "6.5.4" workbox-core@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-6.5.4.tgz#df48bf44cd58bb1d1726c49b883fb1dffa24c9ba" + resolved "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz" integrity sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q== workbox-expiration@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-6.5.4.tgz#501056f81e87e1d296c76570bb483ce5e29b4539" + resolved "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz" integrity sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ== dependencies: idb "^7.0.1" @@ -11681,7 +9316,7 @@ workbox-expiration@6.5.4: workbox-google-analytics@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz#c74327f80dfa4c1954cbba93cd7ea640fe7ece7d" + resolved "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz" integrity sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg== dependencies: workbox-background-sync "6.5.4" @@ -11691,14 +9326,14 @@ workbox-google-analytics@6.5.4: workbox-navigation-preload@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz#ede56dd5f6fc9e860a7e45b2c1a8f87c1c793212" + resolved "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz" integrity sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng== dependencies: workbox-core "6.5.4" workbox-precaching@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-6.5.4.tgz#740e3561df92c6726ab5f7471e6aac89582cab72" + resolved "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz" integrity sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg== dependencies: workbox-core "6.5.4" @@ -11707,14 +9342,14 @@ workbox-precaching@6.5.4: workbox-range-requests@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz#86b3d482e090433dab38d36ae031b2bb0bd74399" + resolved "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz" integrity sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg== dependencies: workbox-core "6.5.4" workbox-recipes@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-recipes/-/workbox-recipes-6.5.4.tgz#cca809ee63b98b158b2702dcfb741b5cc3e24acb" + resolved "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz" integrity sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA== dependencies: workbox-cacheable-response "6.5.4" @@ -11726,21 +9361,21 @@ workbox-recipes@6.5.4: workbox-routing@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-6.5.4.tgz#6a7fbbd23f4ac801038d9a0298bc907ee26fe3da" + resolved "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz" integrity sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg== dependencies: workbox-core "6.5.4" workbox-strategies@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-6.5.4.tgz#4edda035b3c010fc7f6152918370699334cd204d" + resolved "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz" integrity sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw== dependencies: workbox-core "6.5.4" workbox-streams@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-6.5.4.tgz#1cb3c168a6101df7b5269d0353c19e36668d7d69" + resolved "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz" integrity sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg== dependencies: workbox-core "6.5.4" @@ -11748,12 +9383,12 @@ workbox-streams@6.5.4: workbox-sw@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-6.5.4.tgz#d93e9c67924dd153a61367a4656ff4d2ae2ed736" + resolved "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz" integrity sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA== workbox-webpack-plugin@^6.4.1: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz#baf2d3f4b8f435f3469887cf4fba2b7fac3d0fd7" + resolved "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz" integrity sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg== dependencies: fast-json-stable-stringify "^2.1.0" @@ -11764,24 +9399,15 @@ workbox-webpack-plugin@^6.4.1: workbox-window@6.5.4: version "6.5.4" - resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-6.5.4.tgz#d991bc0a94dff3c2dbb6b84558cff155ca878e91" + resolved "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz" integrity sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug== dependencies: "@types/trusted-types" "^2.0.2" workbox-core "6.5.4" -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -11790,12 +9416,12 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^3.0.0: version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== dependencies: imurmurhash "^0.1.4" @@ -11803,102 +9429,59 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - -ws@^7, ws@^7.4.0, ws@^7.4.6, ws@^7.5.1: +ws@^7.4.6: version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== ws@^8.13.0: version "8.13.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + resolved "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz" integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== xml-name-validator@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== xmlchars@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xstream@^11.14.0: - version "11.14.0" - resolved "https://registry.yarnpkg.com/xstream/-/xstream-11.14.0.tgz#2c071d26b18310523b6877e86b4e54df068a9ae5" - integrity sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw== - dependencies: - globalthis "^1.0.1" - symbol-observable "^2.0.3" - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - y18n@^5.0.5: version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^3.0.2: version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yallist@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yaml@^2.1.1: version "2.2.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.2.tgz#ec551ef37326e6d42872dad1970300f8eb83a073" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz" integrity sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA== -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^20.2.2: version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - yargs@^16.2.0: version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: cliui "^7.0.2" @@ -11911,5 +9494,5 @@ yargs@^16.2.0: yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From cda0f1d612d1e84f9f07d5ee8d80c921c8e2a297 Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Fri, 16 Jun 2023 16:02:31 -0700 Subject: [PATCH 031/193] Couple of important bug fixes + tidy up --- packages/crypto/src/lib/crypto.spec.ts | 11 ++++- packages/crypto/src/lib/crypto.ts | 41 +++++++------------ packages/encryption/project.json | 8 +++- .../src/lib/lit-node-client-nodejs.ts | 6 +-- 4 files changed, 33 insertions(+), 33 deletions(-) diff --git a/packages/crypto/src/lib/crypto.spec.ts b/packages/crypto/src/lib/crypto.spec.ts index 1e08b2a544..e631b15682 100644 --- a/packages/crypto/src/lib/crypto.spec.ts +++ b/packages/crypto/src/lib/crypto.spec.ts @@ -47,7 +47,12 @@ describe('crypto', () => { ]; // execute - const plaintext = decryptWithSignatureShares(ciphertext, signatureShares); + const plaintext = decryptWithSignatureShares( + ciphertext, + signatureShares.map((s) => ({ + ProofOfPossession: s, + })) + ); // assert expect(plaintext).toEqual(secretMessage); @@ -67,7 +72,9 @@ describe('crypto', () => { publicKey, identityParam, ciphertext, - signatureShares + signatureShares.map((s) => ({ + ProofOfPossession: s, + })) ); // assert diff --git a/packages/crypto/src/lib/crypto.ts b/packages/crypto/src/lib/crypto.ts index 5dc737df8c..f4333b2f08 100644 --- a/packages/crypto/src/lib/crypto.ts +++ b/packages/crypto/src/lib/crypto.ts @@ -2,12 +2,7 @@ import * as blsSdk from '@lit-protocol/bls-sdk'; -import { - LIT_ERROR, - SessionKeyPair, - SigShare, - SYMM_KEY_ALGO_PARAMS, -} from '@lit-protocol/constants'; +import { LIT_ERROR, SessionKeyPair, SigShare } from '@lit-protocol/constants'; import * as wasmECDSA from '@lit-protocol/ecdsa-sdk'; @@ -15,8 +10,8 @@ import { isBrowser, log, throwError } from '@lit-protocol/misc'; import { uint8arrayFromString, - uint8arrayToString, uint8ArrayToBase64, + uint8arrayToString, } from '@lit-protocol/uint8arrays'; import { nacl } from '@lit-protocol/nacl'; @@ -62,6 +57,10 @@ if (!globalThis.wasmECDSA) { } /** ---------- Exports ---------- */ +export interface BlsSignatureShare { + ProofOfPossession: string; +} + /** * Encrypt data with a BLS public key. * @@ -77,8 +76,8 @@ export const encrypt = ( ): string => { return blsSdk.encrypt( publicKey, - uint8arrayToString(data, 'base16'), - uint8arrayToString(identity, 'base16') + uint8arrayToString(data, 'base64'), + uint8arrayToString(identity, 'base64') ); }; @@ -91,14 +90,10 @@ export const encrypt = ( */ export const decryptWithSignatureShares = ( ciphertext: string, - shares: string[] + shares: BlsSignatureShare[] ): Uint8Array => { // Format the signature shares - const sigShares = shares.map((s) => - JSON.stringify({ - ProofOfPossession: s, - }) - ); + const sigShares = shares.map((s) => JSON.stringify(s)); // Decrypt const privateData = blsSdk.decrypt_with_signature_shares( @@ -123,14 +118,10 @@ export const verifyAndDecryptWithSignatureShares = ( publicKey: string, identity: Uint8Array, ciphertext: string, - shares: string[] + shares: BlsSignatureShare[] ): Uint8Array => { // Format the signature shares - const sigShares = shares.map((s) => - JSON.stringify({ - ProofOfPossession: s, - }) - ); + const sigShares = shares.map((s) => JSON.stringify(s)); // Decrypt const privateData = blsSdk.verify_and_decrypt_with_signature_shares( @@ -150,13 +141,9 @@ export const verifyAndDecryptWithSignatureShares = ( * @param shares hex-encoded array of the BLS signature shares * @returns hex-encoded string of the combined signature */ -export const combineSignatureShares = (shares: string[]): string => { +export const combineSignatureShares = (shares: BlsSignatureShare[]): string => { // Format the signature shares - const sigShares = shares.map((s) => - JSON.stringify({ - ProofOfPossession: s, - }) - ); + const sigShares = shares.map((s) => JSON.stringify(s)); return blsSdk.combine_signature_shares(sigShares); }; diff --git a/packages/encryption/project.json b/packages/encryption/project.json index 7b63718dbd..f55ea1990f 100644 --- a/packages/encryption/project.json +++ b/packages/encryption/project.json @@ -7,7 +7,13 @@ "build": { "executor": "nx:run-commands", "options": { - "command": "yarn build:target encryption" + "commands": [ + "yarn build:target constants --skip", + "yarn build:target misc --skip", + "yarn build:target uint8arrays --skip", + "yarn build:target encryption" + ], + "parallel": false } }, "_buildTsc": { diff --git a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts index 73b0014080..e492cb1ee9 100644 --- a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts +++ b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts @@ -1899,8 +1899,8 @@ export class LitNodeClientNodeJs extends LitCore { // ========== Result ========== const decryptedData = this.#decryptWithSignatureShares( - this.networkPubKeySet!, - uint8arrayFromString(identityParam, 'base16'), + this.subnetPubKey, + uint8arrayFromString(identityParam, 'utf8'), ciphertext, signatureShares ); @@ -1913,7 +1913,7 @@ export class LitNodeClientNodeJs extends LitCore { hashOfPrivateDataStr: string ): string => { return new LitAccessControlConditionResource( - `${hashOfConditionsStr}${hashOfPrivateDataStr}` + `${hashOfConditionsStr}/${hashOfPrivateDataStr}` ).getResourceKey(); }; From 802851eccf232a7842bb5941c5d138292eae4afd Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Fri, 16 Jun 2023 16:03:23 -0700 Subject: [PATCH 032/193] Demo using human-readable strings --- apps/demo-encrypt-decrypt-react/src/App.tsx | 40 +++++++++++++++------ 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/apps/demo-encrypt-decrypt-react/src/App.tsx b/apps/demo-encrypt-decrypt-react/src/App.tsx index 64cb9a3543..8f6a2055f1 100644 --- a/apps/demo-encrypt-decrypt-react/src/App.tsx +++ b/apps/demo-encrypt-decrypt-react/src/App.tsx @@ -1,9 +1,9 @@ -import './App.css'; +import * as LitJsSdk from '@lit-protocol/lit-node-client'; +import Editor from '@monaco-editor/react'; import { useState } from 'react'; +import './App.css'; import LitLogo from './LitLogo'; -import Editor from '@monaco-editor/react'; import { benchmark } from './utils'; -import * as LitJsSdk from '@lit-protocol/lit-node-client'; function App() { @@ -20,7 +20,7 @@ function App() { description: 'Threadshold cryptography for the win!', } }); - const [str, setStr] = useState(toHexString('This test is working! Omg!')); + const [str, setStr] = useState('This test is working! Omg!'); const go = async () => { let code = `import * as LitJsSdk from '@lit-protocol/lit-node-client'; @@ -55,7 +55,7 @@ const res = await LitJsSdk.encryptString({ accessControlConditions: accs, authSig, chain: 'ethereum', - dataToEncrypt: '${str}', + dataToEncrypt: 'toHexString(${str})', }, litNodeClient); // { Loading... } @@ -68,12 +68,13 @@ const dataToEncryptHash = res.dataToEncryptHash; // { Loading... } const decryptedString = await litNodeClient.decryptToString({ accessControlConditions: accs, - toDecrypt: toDecrypt, + ciphertext, + dataToEncryptHash, authSig: authSig, chain: 'ethereum', }); -console.log("decryptedString:", "Loading..."); +console.log("hexToString(decryptedString):", "Loading..."); `; @@ -114,13 +115,12 @@ console.log("decryptedString:", "Loading..."); // --------- NEXT STEP --------- - console.log("str:", str) const encryptRes = await benchmark(async () => { return LitJsSdk.encryptString({ accessControlConditions: accs, authSig: authRes.result, chain: 'ethereum', - dataToEncrypt: str, + dataToEncrypt: toHexString(str), }, litNodeClient); }); @@ -142,7 +142,7 @@ console.log("decryptedString:", "Loading..."); code = code.replace('// { ms }', `// { ${decryptRes.duration} }`); code = code.replace('// { Loading... }', `// [string] ${decryptRes.result}`); - code = code.replace('"Loading..."', `"${decryptRes.result}"`); + code = code.replace('"Loading..."', `"${hexToString(trimLeadingZeros(decryptRes.result))}"`); setData(code); } @@ -203,3 +203,23 @@ function toHexString(str: string) { } return '0x' + hex; } + +// Function to convert hex string into utf-8 string. +function hexToString(hex: string) { + var hex = hex.toString();//force conversion + var str = ''; + for (var i = 0; i < hex.length; i += 2) + str += String.fromCharCode(parseInt(hex.substr(i, 2), 16)); + return str; +} + +// Function to trim leading padded zero bytes from a hex string. +function trimLeadingZeros(hex: string) { + var hex = hex.toString();//force conversion + var str = ''; + var i = 0; + while (hex.substr(i, 2) == '00') { + i += 2; + } + return hex.substr(i); +} From 3e5b46a48aaf81440cb04f4cb8ba58f5e1e77c64 Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Fri, 16 Jun 2023 17:11:17 -0700 Subject: [PATCH 033/193] Update comments and JSDocs --- packages/encryption/src/lib/encryption.ts | 73 ++++++++++--------- .../src/lib/lit-node-client-nodejs.ts | 10 +++ packages/types/src/lib/interfaces.ts | 6 ++ 3 files changed, 55 insertions(+), 34 deletions(-) diff --git a/packages/encryption/src/lib/encryption.ts b/packages/encryption/src/lib/encryption.ts index 0d3b43be80..4f463e78a3 100644 --- a/packages/encryption/src/lib/encryption.ts +++ b/packages/encryption/src/lib/encryption.ts @@ -41,11 +41,11 @@ import * as ipfsClient from 'ipfs-http-client'; /** * - * Encrypt a string or file, save the key to the Lit network, and upload all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to IPFS using the ipfs-client-http SDK & returns the IPFS CID. + * Encrypt a string or file using the LIT network public key and upload all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to IPFS using the ipfs-client-http SDK & returns the IPFS CID. * - * @param { EncryptToIpfsProps } + * @param { EncryptToIpfsProps } - The params required to encrypt & upload to IPFS * - * @returns { Promise } + * @returns { Promise } - IPFS CID * */ export const encryptToIpfs = async ( @@ -152,9 +152,9 @@ export const encryptToIpfs = async ( * * Decrypt & return the string or file (in Uint8Array format) using its metadata stored on IPFS with the given ipfsCid. * - * @param { DecryptFromIpfsProps } + * @param { DecryptFromIpfsProps } - The params required to decrypt from IPFS * - * @returns { Promise } + * @returns { Promise } - The decrypted string or file (in Uint8Array format) * */ export const decryptFromIpfs = async ( @@ -232,8 +232,10 @@ export const decryptFromIpfs = async ( * * Encrypt a string. This is used to encrypt any string that is to be locked via the Lit Protocol. * - * @param params - * @returns Promise A promise containing the ciphertext and the hash of the data that was encrypted. + * @param { EncryptStringRequest } params - The params required to encrypt a string + * @param { ILitNodeClient } litNodeClient - The Lit Node Client + * + * @returns { Promise } - The encrypted string and the hash of the string */ export const encryptString = async ( params: EncryptStringRequest, @@ -260,12 +262,12 @@ export const encryptString = async ( /** * - * Decrypt a string that was encrypted with the encryptString function. - * - * @param { AcceptedFileType } encryptedStringBlob The encrypted string as a Blob - * @param { Uint8Array } symmKey The symmetric key used that will be used to decrypt this. + * Decrypt ciphertext into a string that was encrypted with the encryptString function. * - * @returns { Promise } A promise containing the decrypted string + * @param { DecryptRequest } params - The params required to decrypt a string + * @param { ILitNodeClient } litNodeClient - The Lit Node Client + + * @returns { Promise } - The decrypted string */ export const decryptToString = async ( params: DecryptRequest, @@ -293,9 +295,10 @@ export const decryptToString = async ( * * Zip and encrypt a string. This is used to encrypt any string that is to be locked via the Lit Protocol. * - * @param { string } string The string to zip and encrypt + * @param { EncryptStringRequest } params - The params required to encrypt a string + * @param { ILitNodeClient } litNodeClient - The Lit Node Client * - * @returns { Promise } A promise containing the encryptedZip as a Blob and the symmetricKey used to encrypt it, as a Uint8Array. The encrypted zip will contain a single file called "string.txt" + * @returns { Promise } - The encrypted string and the hash of the string */ export const zipAndEncryptString = async ( params: EncryptStringRequest, @@ -331,9 +334,11 @@ export const zipAndEncryptString = async ( * * Zip and encrypt multiple files. * - * @param { Array } files An array of the files you wish to zip and encrypt + * @param { Array } files - The files to encrypt + * @param { EncryptRequestBase } paramsBase - The params required to encrypt a file + * @param { ILitNodeClient } litNodeClient - The Lit Node Client * - * @returns {Promise} A promise containing the encryptedZip as a Blob and the symmetricKey used to encrypt it, as a Uint8Array. The encrypted zip will contain a folder "encryptedAssets" and all of the files will be inside it. + * @returns { Promise } - The encrypted file and the hash of the file */ export const zipAndEncryptFiles = async ( @@ -388,10 +393,10 @@ export const zipAndEncryptFiles = async ( * * Decrypt and unzip a zip that was created using encryptZip, zipAndEncryptString, or zipAndEncryptFiles. * - * @param { AcceptedFileType } encryptedZipBlob The encrypted zip as a Blob - * @param { SymmetricKey } symmKey The symmetric key used that will be used to decrypt this zip. + * @param { DecryptRequest } params - The params required to decrypt a string + * @param { ILitNodeClient } litNodeClient - The Lit Node Client * - * @returns { Promise } A promise containing a JSZip object indexed by the filenames of the zipped files. For example, if you have a file called "meow.jpg" in the root of your zip, you could get it from the JSZip object by doing this: const imageBlob = await decryptedZip['meow.jpg'].async('blob') + * @returns { Promise<{ [key: string]: JSZip.JSZipObject }>} - The decrypted zip file */ export const decryptToZip = async ( params: DecryptRequest, @@ -427,11 +432,12 @@ export const decryptToZip = async ( /** * - * Encrypt a zip file created with JSZip using a new random symmetric key via WebCrypto. + * Encrypt a zip file created with JSZip. * - * @param { JSZip } zip The JSZip instance to encrypt + * @param { EncryptZipRequest } params - The params required to encrypt a zip + * @param { ILitNodeClient } litNodeClient - The Lit Node Client * - * @returns { Promise } A promise containing the encryptedZip as a Blob and the symmetricKey used to encrypt it, as a Uint8Array string. + * @returns { Promise } - The encrypted zip file and the hash of the zip file */ export const encryptZip = async ( params: EncryptZipRequest, @@ -472,11 +478,11 @@ export const encryptZip = async ( /** * - * Encrypt a single file, save the key to the Lit network, and then zip it up with the metadata. + * Encrypt a single file and then zip it up with the metadata. * - * @param { EncryptFileAndZipWithMetadataProps } + * @param { EncryptFileAndZipWithMetadataProps } params - The params required to encrypt a file and zip it up with the metadata * - * @returns { Promise } + * @returns { Promise } - The encrypted zip file and the hash of the zip file * */ export const encryptFileAndZipWithMetadata = async ( @@ -572,7 +578,7 @@ export const encryptFileAndZipWithMetadata = async ( * * Given a zip file with metadata inside it, unzip, load the metadata, and return the decrypted file and the metadata. This zip file would have been created with the encryptFileAndZipWithMetadata function. * - * @param { DecryptZipFileWithMetadataProps } + * @param { DecryptZipFileWithMetadataProps } params - The params required to decrypt a zip file with metadata * * @returns { Promise } A promise containing an object that contains decryptedFile and metadata properties. The decryptedFile is an ArrayBuffer that is ready to use, and metadata is an object that contains all the properties of the file like it's name and size and type. */ @@ -652,12 +658,12 @@ export const decryptZipFileWithMetadata = async ( /** * - * Encrypt a file without doing any zipping or packing. This is useful for large files. A 1gb file can be encrypted in only 2 seconds, for example. A new random symmetric key will be created and returned along with the encrypted file. + * Encrypt a file without doing any zipping or packing. This is useful for large files. A 1gb file can be encrypted in only 2 seconds, for example. * - * @param { Object } params - * @param { AcceptedFileType } params.file The file you wish to encrypt + * @param { EncryptFileRequest } params - The params required to encrypt a file + * @param { ILitNodeClient } litNodeClient - The lit node client to use to encrypt the file * - * @returns { Promise } A promise containing an object with keys encryptedFile and symmetricKey. encryptedFile is a Blob, and symmetricKey is a Uint8Array that can be used to decrypt the file. + * @returns { Promise } - The encrypted file and the hash of the file */ export const encryptFile = async ( params: EncryptFileRequest, @@ -689,11 +695,10 @@ export const encryptFile = async ( * * Decrypt a file that was encrypted with the encryptFile function, without doing any unzipping or unpacking. This is useful for large files. A 1gb file can be decrypted in only 1 second, for example. * - * @property { Object } params - * @property { AcceptedFileType } params.file The file you wish to decrypt - * @property { Uint8Array } params.symmetricKey The symmetric key used that will be used to decrypt this. + * @param { DecryptRequest } params - The params required to decrypt a file + * @param { ILitNodeClient } litNodeClient - The lit node client to use to decrypt the file * - * @returns { Promise } A promise containing the decrypted file. The file is an ArrayBuffer. + * @returns { Promise } - The decrypted file */ export const decryptToFile = async ( params: DecryptRequest, diff --git a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts index e492cb1ee9..efb9e868dc 100644 --- a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts +++ b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts @@ -1703,6 +1703,11 @@ export class LitNodeClientNodeJs extends LitCore { return true; }; + /** + * + * Encrypt data using the LIT network public key. + * + */ encrypt = async (params: EncryptRequest): Promise => { // ========== Validate Params ========== // -- validate if it's ready @@ -1784,6 +1789,11 @@ export class LitNodeClientNodeJs extends LitCore { return { ciphertext, dataToEncryptHash: hashOfPrivateDataStr }; }; + /** + * + * Decrypt ciphertext with the LIT network. + * + */ decrypt = async (params: DecryptRequest): Promise => { const { sessionSigs, chain, ciphertext, dataToEncryptHash } = params; diff --git a/packages/types/src/lib/interfaces.ts b/packages/types/src/lib/interfaces.ts index 8e3692541b..c27a2fe7bf 100644 --- a/packages/types/src/lib/interfaces.ts +++ b/packages/types/src/lib/interfaces.ts @@ -434,11 +434,14 @@ export interface EncryptRequestBase { } export interface EncryptRequest extends EncryptRequestBase { + // The data that you wish to encrypt as a Uint8Array dataToEncrypt: Uint8Array; } export interface EncryptResponse { + // The base64-encoded ciphertext ciphertext: string; + // The hash of the data that was encrypted dataToEncryptHash: string; } @@ -456,11 +459,14 @@ export interface EncryptFileRequest extends EncryptRequestBase { } export interface DecryptRequest extends EncryptRequestBase { + // The base64-encoded ciphertext ciphertext: string; + // The hash of the data that was encrypted dataToEncryptHash: string; } export interface DecryptResponse { + // The decrypted data as a Uint8Array decryptedData: Uint8Array; } From 4d751ad5fb43e50039ae6cd58b58f79ada73803b Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Tue, 20 Jun 2023 18:09:11 -0700 Subject: [PATCH 034/193] Fix bugs, update all e2e & manual tests, simplify encryptString to just arrayify utf-16 strings --- apps/demo-encrypt-decrypt-react/src/App.tsx | 37 +- apps/html/manual.html | 35 +- apps/html/manual_tests.html | 538 +++--------------- apps/html/manual_tests_cosmos.html | 45 +- apps/html/manual_tests_error_messages.html | 212 +------ .../manual_tests_evm_contract_conditions.html | 43 +- apps/html/manual_tests_files.html | 97 ++-- apps/html/manual_tests_session_keys.html | 86 ++- apps/html/manual_tests_sol.html | 43 +- apps/html/manual_tests_unified.html | 71 ++- apps/nodejs/manual-test.ts | 11 - consolelog-test.md | 56 +- cypress/e2e/spec.cy.ts | 422 +++++--------- packages/encryption/src/lib/encryption.ts | 9 +- .../encryption/src/lib/params-validators.ts | 15 +- .../src/lib/lit-node-client-nodejs.ts | 47 +- packages/types/src/lib/interfaces.ts | 2 +- 17 files changed, 512 insertions(+), 1257 deletions(-) diff --git a/apps/demo-encrypt-decrypt-react/src/App.tsx b/apps/demo-encrypt-decrypt-react/src/App.tsx index 8f6a2055f1..da57d93f12 100644 --- a/apps/demo-encrypt-decrypt-react/src/App.tsx +++ b/apps/demo-encrypt-decrypt-react/src/App.tsx @@ -55,7 +55,7 @@ const res = await LitJsSdk.encryptString({ accessControlConditions: accs, authSig, chain: 'ethereum', - dataToEncrypt: 'toHexString(${str})', + dataToEncrypt: '${str}', }, litNodeClient); // { Loading... } @@ -74,7 +74,7 @@ const decryptedString = await litNodeClient.decryptToString({ chain: 'ethereum', }); -console.log("hexToString(decryptedString):", "Loading..."); +console.log("decryptedString:", "Loading..."); `; @@ -120,7 +120,7 @@ console.log("hexToString(decryptedString):", "Loading..."); accessControlConditions: accs, authSig: authRes.result, chain: 'ethereum', - dataToEncrypt: toHexString(str), + dataToEncrypt: str, }, litNodeClient); }); @@ -142,7 +142,7 @@ console.log("hexToString(decryptedString):", "Loading..."); code = code.replace('// { ms }', `// { ${decryptRes.duration} }`); code = code.replace('// { Loading... }', `// [string] ${decryptRes.result}`); - code = code.replace('"Loading..."', `"${hexToString(trimLeadingZeros(decryptRes.result))}"`); + code = code.replace('"Loading..."', `"${decryptRes.result}"`); setData(code); } @@ -194,32 +194,3 @@ console.log("hexToString(decryptedString):", "Loading..."); export default App; - -// Function to convert utf-8 string into hex string. -function toHexString(str: string) { - var hex = ''; - for (var i = 0; i < str.length; i++) { - hex += '' + str.charCodeAt(i).toString(16); - } - return '0x' + hex; -} - -// Function to convert hex string into utf-8 string. -function hexToString(hex: string) { - var hex = hex.toString();//force conversion - var str = ''; - for (var i = 0; i < hex.length; i += 2) - str += String.fromCharCode(parseInt(hex.substr(i, 2), 16)); - return str; -} - -// Function to trim leading padded zero bytes from a hex string. -function trimLeadingZeros(hex: string) { - var hex = hex.toString();//force conversion - var str = ''; - var i = 0; - while (hex.substr(i, 2) == '00') { - i += 2; - } - return hex.substr(i); -} diff --git a/apps/html/manual.html b/apps/html/manual.html index 63db712024..a554c8aae7 100644 --- a/apps/html/manual.html +++ b/apps/html/manual.html @@ -45,9 +45,10 @@

(Manual) HTML Test

'somethingThatWillBeReplacedWithWildcard' ); + const chain = 'ethereum'; const sessionSigs = await litNodeClient.getSessionSigs({ expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), // 24 hours - chain: 'ethereum', + chain, resourceAbilityRequests: [ { resource: litResource, @@ -56,14 +57,34 @@

(Manual) HTML Test

], switchChain: false, }); - console.log('sessionSigs before saving encryption key: ', sessionSigs); - - const { encryptedZip, symmetricKey } = await LitJsSdk.zipAndEncryptString( - 'this is a secret message' + console.log('sessionSigs before zip and encrypt string:', sessionSigs); + + const accessControlConditions = [ + { + contractAddress: '', + standardContractType: '', + chain, + method: 'eth_getBalance', + parameters: [':userAddress', 'latest'], + returnValueTest: { + comparator: '>=', + value: '10000000000000', + }, + }, + ]; + + const { ciphertext, dataToEncryptHash } = await LitJsSdk.zipAndEncryptString( + { + dataToEncrypt: 'this is a secret message', + accessControlConditions, + chain, + sessionSigs, + }, + litNodeClient, ); - console.log('encryptedZip:', encryptedZip); - console.log('symmetricKey:', symmetricKey); + console.log('ciphertext:', ciphertext); + console.log('dataToEncryptHash:', dataToEncryptHash); })()">zipAndEncryptString diff --git a/apps/html/manual_tests.html b/apps/html/manual_tests.html index 139f1f32d4..6dad4ec13e 100644 --- a/apps/html/manual_tests.html +++ b/apps/html/manual_tests.html @@ -35,7 +35,7 @@ type: 'text/plain', }); - const { zipBlob } = await LitJsSdk.encryptFileAndZipWithMetadata({ + const zipBlob = await LitJsSdk.encryptFileAndZipWithMetadata({ file, accessControlConditions, evmContractConditions, @@ -1055,195 +1055,27 @@ { accessControlConditions } )}`; - const { encryptedZip, symmetricKey } = - await LitJsSdk.zipAndEncryptString('this is a secret message'); - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - accessControlConditions, - symmetricKey, - authSig, - chain, - }); - - console.log('encrypted symmetric key', encryptedSymmetricKey); - - const retrievedSymmKey = await litNodeClient.getEncryptionKey({ - accessControlConditions, - toDecrypt: LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - 'base16' - ), - chain, - authSig, - }); - - const decryptedFiles = await LitJsSdk.decryptZip( - encryptedZip, - retrievedSymmKey - ); - const decryptedString = await decryptedFiles['string.txt'].async( - 'text' - ); - console.log('decrypted string', decryptedString); - - document.getElementById( - 'status' - ).innerText = `${testName}: Success. Decrypted string is: ${decryptedString}`; - }; - - var EncryptDecryptString = async () => { - const testName = 'EncryptDecryptString'; - document.getElementById('status').innerText = `Testing ${testName}...`; - const authSig = await LitJsSdk.checkAndSignAuthMessage({ - chain, - }); - const accessControlConditions = [ + const { ciphertext, dataToEncryptHash } = await LitJsSdk.zipAndEncryptString( { - contractAddress: '', - standardContractType: '', + dataToEncrypt: 'this is a secret message', + accessControlConditions, chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '10000000000000', - }, + authSig, }, - ]; - - document.getElementById( - 'humanized' - ).innerText = `Humanized: ${await LitJsSdk.humanizeAccessControlConditions( - { accessControlConditions } - )}`; - - const { encryptedString, symmetricKey } = await LitJsSdk.encryptString( - 'this is a secret message' - ); - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - accessControlConditions, - symmetricKey, - authSig, - chain, - }); - - console.log('encrypted symmetric key', encryptedSymmetricKey); - - const retrievedSymmKey = await litNodeClient.getEncryptionKey({ - accessControlConditions, - toDecrypt: LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - 'base16' - ), - chain, - authSig, - }); - - const decryptedString = await LitJsSdk.decryptString( - encryptedString, - retrievedSymmKey + litNodeClient, ); - console.log('decrypted string', decryptedString); - - document.getElementById( - 'status' - ).innerText = `${testName}: Success. Decrypted string is: ${decryptedString}`; - }; - - var EncryptDecryptWithAnUpdate = async () => { - const testName = 'EncryptDecryptWithAnUpdate'; - document.getElementById('status').innerText = `Testing ${testName}...`; - const authSig = await LitJsSdk.checkAndSignAuthMessage({ - chain, - }); - const accessControlConditions = [ + const decryptedFiles = await LitJsSdk.decryptToZip( { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '100000000000000000000000', // 100000 eth (or matic, really) - }, - }, - ]; - - document.getElementById( - 'humanized' - ).innerText = `Humanized: ${await LitJsSdk.humanizeAccessControlConditions( - { accessControlConditions } - )}`; - - const { encryptedZip, symmetricKey } = - await LitJsSdk.zipAndEncryptString('this is a secret message'); - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - accessControlConditions, - symmetricKey, - authSig, - chain, - permanant: false, - }); - - console.log('encrypted symmetric key', encryptedSymmetricKey); - - let retrievedSymmKey; - try { - retrievedSymmKey = await litNodeClient.getEncryptionKey({ accessControlConditions, - toDecrypt: LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - 'base16' - ), - chain, - authSig, - }); - } catch (e) { - console.log('error getting symmetric key - this is expected', e); - console.log('trying to update the condition'); - const newAccessControlConditions = [ - { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '10000000000000', - }, - }, - ]; - - const newEncryptedSymmetricKey = - await litNodeClient.saveEncryptionKey({ - accessControlConditions: newAccessControlConditions, - encryptedSymmetricKey, - authSig, - chain, - permanant: false, - }); - console.log('updated the condition'); - - retrievedSymmKey = await litNodeClient.getEncryptionKey({ - accessControlConditions: newAccessControlConditions, - toDecrypt: LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - 'base16' - ), chain, authSig, - }); - } - - const decryptedFiles = await LitJsSdk.decryptZip( - encryptedZip, - retrievedSymmKey + ciphertext, + dataToEncryptHash, + }, + litNodeClient, ); + const decryptedString = await decryptedFiles['string.txt'].async( 'text' ); @@ -1254,8 +1086,8 @@ ).innerText = `${testName}: Success. Decrypted string is: ${decryptedString}`; }; - var EncryptDecryptWithAnUnauthorizedUpdate = async () => { - const testName = 'EncryptDecryptWithAnUnauthorizedUpdate'; + var EncryptDecryptString = async () => { + const testName = 'EncryptDecryptString'; document.getElementById('status').innerText = `Testing ${testName}...`; const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain, @@ -1269,7 +1101,7 @@ parameters: [':userAddress', 'latest'], returnValueTest: { comparator: '>=', - value: '100000000000000000000000', // 100000 eth (or matic, really) + value: '10000000000000', }, }, ]; @@ -1280,235 +1112,32 @@ { accessControlConditions } )}`; - const { encryptedZip, symmetricKey } = - await LitJsSdk.zipAndEncryptString('this is a secret message'); - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - accessControlConditions, - symmetricKey, - authSig, - chain, - permanant: false, - }); - - console.log('encrypted symmetric key', encryptedSymmetricKey); - - try { - console.log( - 'trying to update the condition with an unauthorized address' - ); - const newAccessControlConditions = [ - { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '10000000000000', - }, - }, - ]; - - let unauthorizedAuthSig = { - sig: '0x2229236873d413f301c1afb7650959dee9f9a984c7421c9a44e41009940a5e410925d03374ddaf51590c7899253f30d589f1d7fec694f15829c8157c24f999f81c', - derivedVia: 'web3.eth.personal.sign', - signedMessage: - 'I am creating an account to use Lit Protocol at 2022-01-27T02:07:14.289Z', - address: '0xb962537314b11c6bcd6d9ff63feb048a9e91e7ae', - }; - - const newEncryptedSymmetricKey = - await litNodeClient.saveEncryptionKey({ - accessControlConditions: newAccessControlConditions, - encryptedSymmetricKey, - authSig: unauthorizedAuthSig, - chain, - permanant: false, - }); - console.log('updated the condition'); - } catch (e) { - console.log('error getting symmetric key - this is expected', e); - if (isNodeStorageError(e.errorCode)) { - document.getElementById( - 'status' - ).innerText = `${testName}: Success. We were unable to update.`; - } else { - document.getElementById( - 'status' - ).innerText = `${testName}: Failure. When we tried to update with an unauthorized acct, we got an error that isn't a storage error`; - } - return; - } - - document.getElementById( - 'status' - ).innerText = `${testName}: Failure. We updated a condition we shouldn't been able to! OMG FIX THIS`; - }; - - var EncryptDecryptPermanantCondition = async () => { - const testName = 'EncryptDecryptPermanantCondition'; - document.getElementById('status').innerText = `Testing ${testName}...`; - const authSig = await LitJsSdk.checkAndSignAuthMessage({ - chain, - }); - const accessControlConditions = [ + const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( { - contractAddress: '', - standardContractType: '', + dataToEncrypt: 'this is a secret message', + accessControlConditions, chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '100000000000000000000000', // 100000 eth (or matic, really) - }, + authSig, }, - ]; - - document.getElementById( - 'humanized' - ).innerText = `Humanized: ${await LitJsSdk.humanizeAccessControlConditions( - { accessControlConditions } - )}`; - - const { encryptedZip, symmetricKey } = - await LitJsSdk.zipAndEncryptString('this is a secret message'); - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - accessControlConditions, - symmetricKey, - authSig, - chain, - permanant: true, - }); - - console.log('encrypted symmetric key', encryptedSymmetricKey); - - try { - console.log('trying to update the permanant condition'); - const newAccessControlConditions = [ - { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '10000000000000', - }, - }, - ]; - - const newEncryptedSymmetricKey = - await litNodeClient.saveEncryptionKey({ - accessControlConditions: newAccessControlConditions, - encryptedSymmetricKey, - authSig, - chain, - }); - console.log('updated the condition'); - } catch (e) { - console.log('error getting symmetric key - this is expected', e); - if (isNodeStorageError(e.errorCode)) { - document.getElementById( - 'status' - ).innerText = `${testName}: Success. We were unable to update.`; - } else { - document.getElementById( - 'status' - ).innerText = `${testName}: Failure. When we tried to update with an unauthorized acct, we got an error that isn't a storage error`; - } - return; - } - - document.getElementById( - 'status' - ).innerText = `${testName}: Failure. We updated a condition we shouldn't been able to! OMG FIX THIS`; - }; + litNodeClient, + ); - var EncryptDecryptPermanentCondition = async () => { - const testName = 'EncryptDecryptPermanentCondition'; - document.getElementById('status').innerText = `Testing ${testName}...`; - const authSig = await LitJsSdk.checkAndSignAuthMessage({ - chain, - }); - const accessControlConditions = [ + const decryptedString = await LitJsSdk.decryptToString( { - contractAddress: '', - standardContractType: '', + accessControlConditions, chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '100000000000000000000000', // 100000 eth (or matic, really) - }, + authSig, + ciphertext, + dataToEncryptHash, }, - ]; - - document.getElementById( - 'humanized' - ).innerText = `Humanized: ${await LitJsSdk.humanizeAccessControlConditions( - { accessControlConditions } - )}`; - - const { encryptedZip, symmetricKey } = - await LitJsSdk.zipAndEncryptString('this is a secret message'); - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - accessControlConditions, - symmetricKey, - authSig, - chain, - permanent: true, - }); - - console.log('encrypted symmetric key', encryptedSymmetricKey); - - try { - console.log('trying to update the permanent condition'); - const newAccessControlConditions = [ - { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '10000000000000', - }, - }, - ]; + litNodeClient, + ); - const newEncryptedSymmetricKey = - await litNodeClient.saveEncryptionKey({ - accessControlConditions: newAccessControlConditions, - encryptedSymmetricKey, - authSig, - chain, - }); - console.log('updated the condition'); - } catch (e) { - console.log('error getting symmetric key - this is expected', e); - if (isNodeStorageError(e.errorCode)) { - document.getElementById( - 'status' - ).innerText = `${testName}: Success. We were unable to update.`; - } else { - document.getElementById( - 'status' - ).innerText = `${testName}: Failure. When we tried to update with an unauthorized acct, we got an error that isn't a storage error`; - } - return; - } + console.log('decrypted string', decryptedString); document.getElementById( 'status' - ).innerText = `${testName}: Failure. We updated a condition we shouldn't been able to! OMG FIX THIS`; + ).innerText = `${testName}: Success. Decrypted string is: ${decryptedString}`; }; var EncryptDecryptAGroup = async () => { @@ -1567,32 +1196,27 @@ { accessControlConditions } )}`; - const { encryptedZip, symmetricKey } = - await LitJsSdk.zipAndEncryptString('this is a secret message'); - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - accessControlConditions, - symmetricKey, - authSig, - chain, - }); - - console.log('encrypted symmetric key', encryptedSymmetricKey); - - const retrievedSymmKey = await litNodeClient.getEncryptionKey({ - accessControlConditions, - toDecrypt: LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - 'base16' - ), - chain, - authSig, - }); + const { ciphertext, dataToEncryptHash } = await LitJsSdk.zipAndEncryptString( + { + dataToEncrypt: 'this is a secret message', + accessControlConditions, + chain, + authSig, + }, + litNodeClient, + ); - const decryptedFiles = await LitJsSdk.decryptZip( - encryptedZip, - retrievedSymmKey + const decryptedFiles = await LitJsSdk.decryptToZip( + { + accessControlConditions, + chain, + authSig, + ciphertext, + dataToEncryptHash, + }, + litNodeClient, ); + const decryptedString = await decryptedFiles['string.txt'].async( 'text' ); @@ -2324,32 +1948,25 @@ { accessControlConditions } )}`; - const { encryptedString, symmetricKey } = await LitJsSdk.encryptString( - 'this is a secret message' + const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( + { + dataToEncrypt: 'this is a secret message', + accessControlConditions, + chain, + authSig, + }, + litNodeClient, ); - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - accessControlConditions, - symmetricKey, - authSig, - chain, - }); - - console.log('encrypted symmetric key', encryptedSymmetricKey); - - const retrievedSymmKey = await litNodeClient.getEncryptionKey({ - accessControlConditions, - toDecrypt: LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - 'base16' - ), - chain, - authSig, - }); - - const decryptedString = await LitJsSdk.decryptString( - encryptedString, - retrievedSymmKey + const decryptedString = await LitJsSdk.decryptToString( + { + accessControlConditions, + chain, + authSig, + ciphertext, + dataToEncryptHash, + }, + litNodeClient, ); console.log('decrypted string', decryptedString); @@ -2573,29 +2190,6 @@

Manual tests



- -
-
- -
-
- -
-
- -
-
diff --git a/apps/html/manual_tests_cosmos.html b/apps/html/manual_tests_cosmos.html index de640c0b5d..2257c0ab60 100644 --- a/apps/html/manual_tests_cosmos.html +++ b/apps/html/manual_tests_cosmos.html @@ -87,32 +87,27 @@ { unifiedAccessControlConditions } )}`; - const { encryptedZip, symmetricKey } = - await LitJsSdk.zipAndEncryptString('this is a secret message'); - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - unifiedAccessControlConditions, - symmetricKey, - chain, - authSig, - }); - - console.log('encrypted symmetric key', LitJsSdk.uint8arrayToString(encryptedSymmetricKey, 'base16')); - - const retrievedSymmKey = await litNodeClient.getEncryptionKey({ - unifiedAccessControlConditions, - toDecrypt: LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - 'base16' - ), - authSig, - chain, - }); + const { ciphertext, dataToEncryptHash } = await LitJsSdk.zipAndEncryptString( + { + dataToEncrypt: 'this is a secret message', + unifiedAccessControlConditions, + chain, + authSig, + }, + litNodeClient, + ); - const decryptedFiles = await LitJsSdk.decryptZip( - encryptedZip, - retrievedSymmKey + const decryptedFiles = await LitJsSdk.decryptToZip( + { + unifiedAccessControlConditions, + chain, + authSig, + ciphertext, + dataToEncryptHash, + }, + litNodeClient, ); + const decryptedString = await decryptedFiles['string.txt'].async( 'text' ); @@ -157,7 +152,7 @@ returnValueTest: { key: '$.balances[0].amount', comparator: '>=', - value: '1000000', // equals 1 ATOM + value: '1000', // equals 0.001 ATOM }, }, ]; diff --git a/apps/html/manual_tests_error_messages.html b/apps/html/manual_tests_error_messages.html index 1d69939b14..8fdf24abb2 100644 --- a/apps/html/manual_tests_error_messages.html +++ b/apps/html/manual_tests_error_messages.html @@ -80,6 +80,7 @@ var testProvisoningEncryptingAndDecrypting = async ({ evmContractConditions, + chain, doNotStoreCondition = false, testName, }) => { @@ -94,37 +95,27 @@ // { accessControlConditions } // )}`; - const { encryptedZip, symmetricKey } = - await LitJsSdk.zipAndEncryptString("this is a secret message"); - - let encryptedSymmetricKey = new Uint8Array([ - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - ]); // random data - if (!doNotStoreCondition) { - encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ + const { ciphertext, dataToEncryptHash } = await LitJsSdk.zipAndEncryptString( + { + dataToEncrypt: 'this is a secret message', evmContractConditions, - symmetricKey, - authSig, chain, - }); - } - - console.log("encrypted symmetric key", encryptedSymmetricKey); - - const retrievedSymmKey = await litNodeClient.getEncryptionKey({ - evmContractConditions, - toDecrypt: LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - "base16" - ), - chain, - authSig, - }); + authSig, + }, + litNodeClient, + ); - const decryptedFiles = await LitJsSdk.decryptZip( - encryptedZip, - retrievedSymmKey + const decryptedFiles = await LitJsSdk.decryptToZip( + { + evmContractConditions, + chain, + authSig, + ciphertext, + dataToEncryptHash, + }, + litNodeClient, ); + const decryptedString = await decryptedFiles["string.txt"].async( "text" ); @@ -469,66 +460,6 @@ } }; - var UnstoredEncSymmKeyEncryptDecrypt = async () => { - var evmContractConditions = [ - { - contractAddress: "0x7C7757a9675f06F3BE4618bB68732c4aB25D2e88", - functionName: "balanceOf", - functionParams: [":userAddress", "8"], - functionAbi: { - type: "function", - stateMutability: "view", - outputs: [ - { - type: "uint256", - name: "", - internalType: "uint256", - }, - ], - name: "balanceOf", - inputs: [ - { - type: "address", - name: "account", - internalType: "address", - }, - { - type: "uint256", - name: "id", - internalType: "uint256", - }, - ], - }, - chain, - returnValueTest: { - key: "", - comparator: ">", - value: "0", - }, - }, - ]; - - try { - await testProvisoningEncryptingAndDecrypting({ - evmContractConditions, - doNotStoreCondition: true, - testName: "UnstoredEncSymmKeyEncryptDecrypt", - }); - document.getElementById( - "status" - ).innerText = `UnstoredEncSymmKeyEncryptDecrypt: Failed. It should have thrown an exception but it didn't.`; - } catch (e) { - console.log("Error on UnstoredEncSymmKeyEncryptDecrypt", e); - document.getElementById( - "status" - ).innerText = `UnstoredEncSymmKeyEncryptDecrypt: Success. Failed with error ${JSON.stringify( - e, - null, - 2 - )}`; - } - }; - var UnauthorizedEncryptDecrypt = async () => { var evmContractConditions = [ { @@ -559,7 +490,7 @@ }, ], }, - chain, + chain: "polygon", returnValueTest: { key: "", comparator: ">", @@ -571,6 +502,7 @@ try { await testProvisoningEncryptingAndDecrypting({ evmContractConditions, + chain: "polygon", testName: "UnauthorizedEncryptDecrypt", }); document.getElementById( @@ -588,99 +520,6 @@ } }; - var EncryptDecryptWithAnUnauthorizedUpdate = async () => { - const testName = "EncryptDecryptWithAnUnauthorizedUpdate"; - document.getElementById("status").innerText = `Testing ${testName}...`; - const authSig = await LitJsSdk.checkAndSignAuthMessage({ - chain, - }); - const accessControlConditions = [ - { - contractAddress: "", - standardContractType: "", - chain, - method: "eth_getBalance", - parameters: [":userAddress", "latest"], - returnValueTest: { - comparator: ">=", - value: "100000000000000000000000", // 100000 eth (or matic, really) - }, - }, - ]; - - document.getElementById( - "humanized" - ).innerText = `Humanized: ${await LitJsSdk.humanizeAccessControlConditions( - { accessControlConditions } - )}`; - - const { encryptedZip, symmetricKey } = - await LitJsSdk.zipAndEncryptString("this is a secret message"); - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - accessControlConditions, - symmetricKey, - authSig, - chain, - permanant: false, - }); - - console.log("encrypted symmetric key", encryptedSymmetricKey); - - try { - console.log( - "trying to update the condition with an unauthorized address" - ); - const newAccessControlConditions = [ - { - contractAddress: "", - standardContractType: "", - chain, - method: "eth_getBalance", - parameters: [":userAddress", "latest"], - returnValueTest: { - comparator: ">=", - value: "10000000000000", - }, - }, - ]; - - let unauthorizedAuthSig = { - sig: "0x2229236873d413f301c1afb7650959dee9f9a984c7421c9a44e41009940a5e410925d03374ddaf51590c7899253f30d589f1d7fec694f15829c8157c24f999f81c", - derivedVia: "web3.eth.personal.sign", - signedMessage: - "I am creating an account to use Lit Protocol at 2022-01-27T02:07:14.289Z", - address: "0xb962537314b11c6bcd6d9ff63feb048a9e91e7ae", - }; - - const newEncryptedSymmetricKey = - await litNodeClient.saveEncryptionKey({ - accessControlConditions: newAccessControlConditions, - encryptedSymmetricKey, - authSig: unauthorizedAuthSig, - chain, - permanant: false, - }); - console.log("updated the condition"); - } catch (e) { - console.log("error getting symmetric key - this is expected", e); - if (isNodeStorageError(e.errorCode)) { - document.getElementById( - "status" - ).innerText = `${testName}: Success. We were unable to update.`; - } else { - document.getElementById( - "status" - ).innerText = `${testName}: Failure. When we tried to update with an unauthorized acct, we got an error that isn't a storage error`; - } - return; - } - - document.getElementById( - "status" - ).innerText = `${testName}: Failure. We updated a condition we shouldn't been able to! OMG FIX THIS`; - }; - var logout = async () => { const testName = "Logout"; document.getElementById("status").innerText = `Testing ${testName}...`; @@ -736,22 +575,11 @@

Manual tests



- -
-


- -
-

diff --git a/apps/html/manual_tests_evm_contract_conditions.html b/apps/html/manual_tests_evm_contract_conditions.html index ebdd0b2f5a..84e4890ddb 100644 --- a/apps/html/manual_tests_evm_contract_conditions.html +++ b/apps/html/manual_tests_evm_contract_conditions.html @@ -98,32 +98,27 @@ // { accessControlConditions } // )}`; - const { encryptedZip, symmetricKey } = - await LitJsSdk.zipAndEncryptString("this is a secret message"); - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - evmContractConditions, - symmetricKey, - authSig, - chain, - }); - - console.log("encrypted symmetric key", encryptedSymmetricKey); - - const retrievedSymmKey = await litNodeClient.getEncryptionKey({ - evmContractConditions, - toDecrypt: LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - "base16" - ), - chain, - authSig, - }); + const { ciphertext, dataToEncryptHash } = await LitJsSdk.zipAndEncryptString( + { + dataToEncrypt: 'this is a secret message', + evmContractConditions, + chain, + authSig, + }, + litNodeClient, + ); - const decryptedFiles = await LitJsSdk.decryptZip( - encryptedZip, - retrievedSymmKey + const decryptedFiles = await LitJsSdk.decryptToZip( + { + evmContractConditions, + chain, + authSig, + ciphertext, + dataToEncryptHash, + }, + litNodeClient, ); + const decryptedString = await decryptedFiles["string.txt"].async( "text" ); diff --git a/apps/html/manual_tests_files.html b/apps/html/manual_tests_files.html index 2e6c76bb2f..4e4bc39579 100644 --- a/apps/html/manual_tests_files.html +++ b/apps/html/manual_tests_files.html @@ -34,68 +34,71 @@ chain: "ethereum", }); - let encryptedFile, symmetricKey, before, after; + let before, after; if (zip) { before = new Date(); - const res = await LitJsSdk.zipAndEncryptFiles([file]); + const { ciphertext, dataToEncryptHash } = await LitJsSdk.zipAndEncryptFiles( + [file], + { + unifiedAccessControlConditions, + authSig: { + ethereum: ethAuthSig, + }, + }, + litNodeClient, + ); after = new Date(); log += `zipAndEncryptFiles took ${after - before}ms\n`; totalTimeElapsed += after - before; - encryptedFile = res.encryptedZip; - symmetricKey = res.symmetricKey; - } else { + before = new Date(); - const res = await LitJsSdk.encryptFile({ - file, - }); + const decryptedFiles = await LitJsSdk.decryptToZip( + { + unifiedAccessControlConditions, + authSig: { + ethereum: ethAuthSig, + }, + chain: "ethereum", + ciphertext, + dataToEncryptHash, + }, + litNodeClient, + ); after = new Date(); - log += `encryptFile took ${after - before}ms\n`; + log += `decryptToZip took ${after - before}ms\n`; totalTimeElapsed += after - before; - encryptedFile = res.encryptedFile; - symmetricKey = res.symmetricKey; - } - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - unifiedAccessControlConditions, - symmetricKey, - authSig: { - ethereum: ethAuthSig, - }, - }); - - console.log("encrypted symmetric key", encryptedSymmetricKey); - - const retrievedSymmKey = await litNodeClient.getEncryptionKey({ - unifiedAccessControlConditions, - toDecrypt: LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - "base16" - ), - authSig: { - ethereum: ethAuthSig, - }, - }); - - if (zip) { + } else { before = new Date(); - const decryptedFiles = await LitJsSdk.decryptZip( - encryptedFile, - retrievedSymmKey + const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptFile( + { + file, + unifiedAccessControlConditions, + authSig: { + ethereum: ethAuthSig, + }, + }, + litNodeClient, ); after = new Date(); - log += `decryptZip took ${after - before}ms\n`; + log += `encryptFile took ${after - before}ms\n`; totalTimeElapsed += after - before; - console.log("decrypted files", decryptedFiles); - } else { + before = new Date(); - const decryptedFile = await LitJsSdk.decryptFile({ - file: encryptedFile, - symmetricKey: retrievedSymmKey, - }); + const decryptedFile = await LitJsSdk.decryptToFile( + { + unifiedAccessControlConditions, + authSig: { + ethereum: ethAuthSig, + }, + chain: "ethereum", + ciphertext, + dataToEncryptHash, + }, + litNodeClient, + ); after = new Date(); log += `decryptFile took ${after - before}ms\n`; totalTimeElapsed += after - before; - console.log("decrypted file", decryptedFile); } log += `total time to encrypt then decrypt was ${totalTimeElapsed}ms\n`; @@ -154,7 +157,7 @@ file: selectedFile, zip: true, unifiedAccessControlConditions, - testName: "BasicEncrypt", + testName: "ZipAndEncrypt", }); }; diff --git a/apps/html/manual_tests_session_keys.html b/apps/html/manual_tests_session_keys.html index 44130a42d1..6a6cabe6e4 100644 --- a/apps/html/manual_tests_session_keys.html +++ b/apps/html/manual_tests_session_keys.html @@ -15,8 +15,7 @@ diff --git a/apps/html/manual_tests_sol.html b/apps/html/manual_tests_sol.html index b874327ba2..e1bca133bb 100644 --- a/apps/html/manual_tests_sol.html +++ b/apps/html/manual_tests_sol.html @@ -94,32 +94,27 @@ { solRpcConditions } )}`; - const { encryptedZip, symmetricKey } = - await LitJsSdk.zipAndEncryptString("this is a secret message"); - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - solRpcConditions, - symmetricKey, - authSig, - chain, - }); - - console.log("encrypted symmetric key", encryptedSymmetricKey); - - const retrievedSymmKey = await litNodeClient.getEncryptionKey({ - solRpcConditions, - toDecrypt: LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - "base16" - ), - chain, - authSig, - }); + const { ciphertext, dataToEncryptHash } = await LitJsSdk.zipAndEncryptString( + { + dataToEncrypt: 'this is a secret message', + solRpcConditions, + chain, + authSig, + }, + litNodeClient, + ); - const decryptedFiles = await LitJsSdk.decryptZip( - encryptedZip, - retrievedSymmKey + const decryptedFiles = await LitJsSdk.decryptToZip( + { + solRpcConditions, + chain, + authSig, + ciphertext, + dataToEncryptHash, + }, + litNodeClient, ); + const decryptedString = await decryptedFiles["string.txt"].async( "text" ); diff --git a/apps/html/manual_tests_unified.html b/apps/html/manual_tests_unified.html index 5720848736..39a29b8636 100644 --- a/apps/html/manual_tests_unified.html +++ b/apps/html/manual_tests_unified.html @@ -103,34 +103,34 @@ { unifiedAccessControlConditions } )}`; - const { encryptedZip, symmetricKey } = - await LitJsSdk.zipAndEncryptString("this is a secret message"); - - const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ - unifiedAccessControlConditions, - symmetricKey, - authSig: { - ethereum: ethAuthSig, - solana: solAuthSig, + const { ciphertext, dataToEncryptHash } = await LitJsSdk.zipAndEncryptString( + { + dataToEncrypt: 'this is a secret message', + unifiedAccessControlConditions, + authSig: { + ethereum: ethAuthSig, + solana: solAuthSig, + }, }, - }); - - console.log("encrypted symmetric key", encryptedSymmetricKey); + litNodeClient, + ); if (sleepTime) { let failed = false; try { - const retrievedSymmKey = await litNodeClient.getEncryptionKey({ - unifiedAccessControlConditions, - toDecrypt: LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - "base16" - ), - authSig: { - ethereum: ethAuthSig, - solana: solAuthSig, + const decryptedFiles = await LitJsSdk.decryptToZip( + { + unifiedAccessControlConditions, + chain: "ethereum", + authSig: { + ethereum: ethAuthSig, + solana: solAuthSig, + }, + ciphertext, + dataToEncryptHash, }, - }); + litNodeClient, + ); } catch (e) { console.log("exception thrown when unlocking", e); if (isNodeNotAuthorized(e.errorCode)) { @@ -151,21 +151,18 @@ await new Promise((resolve) => setTimeout(resolve, sleepTime)); } - const retrievedSymmKey = await litNodeClient.getEncryptionKey({ - unifiedAccessControlConditions, - toDecrypt: LitJsSdk.uint8arrayToString( - encryptedSymmetricKey, - "base16" - ), - authSig: { - ethereum: ethAuthSig, - solana: solAuthSig, + const decryptedFiles = await LitJsSdk.decryptToZip( + { + unifiedAccessControlConditions, + chain: "ethereum", + authSig: { + ethereum: ethAuthSig, + solana: solAuthSig, + }, + ciphertext, + dataToEncryptHash, }, - }); - - const decryptedFiles = await LitJsSdk.decryptZip( - encryptedZip, - retrievedSymmKey + litNodeClient, ); const decryptedString = await decryptedFiles["string.txt"].async( "text" @@ -396,7 +393,7 @@ ); function isNodeNotAuthorized(errorCode) { - return errorCode === 'not_authorized' || errorCode === 'NodeNotAuthorized'; + return errorCode === 'not_authorized' || errorCode === 'NodeNotAuthorized' || errorCode === 'NodeAccessControlConditionsReturnedNotAuthorized'; } diff --git a/apps/nodejs/manual-test.ts b/apps/nodejs/manual-test.ts index 029fd10bb9..985097c6f4 100644 --- a/apps/nodejs/manual-test.ts +++ b/apps/nodejs/manual-test.ts @@ -232,15 +232,4 @@ export const manualTest = async () => { }); console.log('res:', res); - - // const test = await litNodeClient.zipAndEncryptString( - // 'this is a secret message' - // ); - // useRandomPrivateKey(); - // useCustomPrivateKey(); - // mintWithPKPWallet(); - // mintWithPKPWalletUtil(); - // useCustomSigner(); - // getUtilStuff(); - // console.log('test:', test); }; diff --git a/consolelog-test.md b/consolelog-test.md index c4ebebe373..f52f979465 100644 --- a/consolelog-test.md +++ b/consolelog-test.md @@ -1,4 +1,8 @@ -# This file contains test cases that can be tested in the browser's console +# Browser Console Test + +This file contains test cases that can be tested in the browser's console. + +To start, run `node apps/html/server.js` and head over to http://127.0.0.1:4002/. ## Encrypt and decrypt file @@ -32,41 +36,25 @@ state.accs = [ }, ]; -state.zipFiles = await LitJsSdk_encryption.zipAndEncryptFiles([state.file]); -state.encryptedZipBase64 = await LitJsSdk_miscBrowser.blobToBase64String( - state.zipFiles.encryptedZip -); - -state.encryptedSymmetricKey = await state.litNodeClient.saveEncryptionKey({ - accessControlConditions: state.accs, - symmetricKey: state.zipFiles.symmetricKey, - authSig: state.authSig, - chain: state.chain, -}); - -state.toDecrypt = await LitJsSdk_uint8arrays.uint8arrayToString( - state.encryptedSymmetricKey, - 'base16' -); - -state.encryptionKey = await state.litNodeClient.getEncryptionKey({ - accessControlConditions: state.accs, - toDecrypt: state.toDecrypt, - authSig: state.authSig, - chain: 'etheruem', -}); - -state.decryptFileBlob = LitJsSdk_miscBrowser.base64StringToBlob( - state.encryptedZipBase64 +state.encryptResponse = await LitJsSdk_encryption.zipAndEncryptFiles( + [state.file], + { + accessControlConditions: state.accs, + authSig: state.authSig, + chain: state.chain, + }, + state.litNodeClient, ); -state.decryptedZip = await LitJsSdk_encryption.decryptFile({ - file: state.decryptFileBlob, - symmetricKey: state.encryptionKey, -}); - -state.decryptedFile = await LitJsSdk_uint8arrays.uint8arrayToString( - state.decryptedZip +state.decryptedFiles = await LitJsSdk_encryption.decryptToZip( + { + accessControlConditions: state.accs, + authSig: state.authSig, + chain: state.chain, + ciphertext: state.encryptResponse.ciphertext, + dataToEncryptHash: state.encryptResponse.dataToEncryptHash + }, + state.litNodeClient, ); console.warn('⬇️⬇️⬇️⬇️'); diff --git a/cypress/e2e/spec.cy.ts b/cypress/e2e/spec.cy.ts index 5d81f33856..f189e47955 100644 --- a/cypress/e2e/spec.cy.ts +++ b/cypress/e2e/spec.cy.ts @@ -4,6 +4,7 @@ import { LitAbility, LitAccessControlConditionResource, } from '@lit-protocol/auth-helpers'; +import { uint8arrayFromString, uint8arrayToString } from '@lit-protocol/uint8arrays'; let window: any; let savedParams: any = { @@ -24,7 +25,7 @@ let savedParams: any = { }; let LitJsSdk: any; -describe('Encrypt and Decrypt String', () => { +describe('Auth + Setup', () => { // -- before before(() => { cy.visit('/', { @@ -62,257 +63,185 @@ describe('Encrypt and Decrypt String', () => { }); it('authSig is saved', () => { - // window = await cy.window(); // expect saveParams not empty expect(savedParams.authSig).to.be.an('object'); }); it('connect lit node client', () => { - cy.window().then(async (window) => { + cy.window().then(async () => { const client = new LitJsSdk.LitNodeClient({ litNetwork: 'serrano' }); await client.connect(); savedParams.litNodeClient = client; expect(client.config.litNetwork).to.be.eq('serrano'); }); }); +}); - it('encrypts string', async () => { - const res = await LitJsSdk.encryptString('This test is working! Omg!'); - savedParams.encryptedString = res.encryptedString; - savedParams.symmetricKey = res.symmetricKey; - expect(savedParams.encryptedString).to.be.a('Blob'); - expect(savedParams.symmetricKey).to.be.a('Uint8Array'); - }); - - it('turns blob to base64 string', async () => { - const base64 = await LitJsSdk.blobToBase64String( - savedParams.encryptedString - ); - savedParams.encryptedString = base64; - expect(savedParams.encryptedString).to.be.a('string'); - }); - - it('saves encryption key', async () => { - // const { encryptedString, symmetricKey } = savedParams; - - const encryptedSymmetricKey = - await savedParams.litNodeClient.saveEncryptionKey({ +describe('Encrypt and Decrypt', () => { + it('encrypts', async () => { + cy.window().then(async () => { + const encryptResponse = await savedParams.litNodeClient.encrypt({ + accessControlConditions: savedParams.accs, + authSig: savedParams.authSig, + chain: 'ethereum', + dataToEncrypt: uint8arrayFromString('This test is working! Omg!', 'base16'), + }) + savedParams.encryptResponse = encryptResponse; + + const { ciphertext, dataToEncryptHash } = encryptResponse; + expect(ciphertext).to.be.an('string'); + expect(dataToEncryptHash).to.be.an('string'); + }) + }); + + it('decrypts', async () => { + cy.window().then(async () => { + const decryptResponse = await savedParams.litNodeClient.decrypt({ accessControlConditions: savedParams.accs, - symmetricKey: savedParams.symmetricKey, authSig: savedParams.authSig, chain: 'ethereum', + ciphertext: savedParams.encryptResponse.ciphertext, + dataToEncryptHash: savedParams.encryptResponse.dataToEncryptHash, }); - - savedParams.encryptedSymmetricKey = encryptedSymmetricKey; - - expect(savedParams.encryptedSymmetricKey).to.be.an('Uint8Array'); - }); - - it('gets toDecrypt by turning encryptedSymmetricKey(uint8array) to string', async () => { - savedParams.toDecrypt = await LitJsSdk.uint8arrayToString( - savedParams.encryptedSymmetricKey, - 'base16' - ); - expect(savedParams.toDecrypt).to.be.a('string'); - }); - - it('gets encryption key', async () => { - const encryptionKey = await savedParams.litNodeClient.getEncryptionKey({ - accessControlConditions: savedParams.accs, - toDecrypt: savedParams.toDecrypt, - authSig: savedParams.authSig, - chain: 'ethereum', + savedParams.decryptResponse = decryptResponse; + + expect(savedParams.decryptResponse.decryptedData).to.be.a('Uint8Array'); + expect(uint8arrayToString(savedParams.decryptResponse.decryptedData, 'base16')).to.be.eq('This test is working! Omg!'); }); - - savedParams.encryptionKey = encryptionKey; - - expect(savedParams.encryptionKey).to.be.a('Uint8Array'); }); +}) - it('turns base64 to Blob', async () => { - const blob = await LitJsSdk.base64StringToBlob(savedParams.encryptedString); - savedParams.encryptedStringBlob = blob; - expect(savedParams.encryptedStringBlob).to.be.a('Blob'); +describe('Encrypt and Decrypt String', () => { + it('encrypts string', async () => { + cy.window().then(async () => { + const encryptResponse = await LitJsSdk.encryptString( + { + dataToEncrypt: 'this is a secret message', + accessControlConditions: savedParams.accs, + chain: 'ethereum', + authSig: savedParams.authSig, + }, + savedParams.litNodeClient, + ); + savedParams.encryptResponse = encryptResponse; + + const { ciphertext, dataToEncryptHash } = encryptResponse; + expect(ciphertext).to.be.an('string'); + expect(dataToEncryptHash).to.be.an('string'); + }); }); it('decrypts string', async () => { - const decryptedString = await LitJsSdk.decryptString( - savedParams.encryptedStringBlob, - savedParams.encryptionKey - ); - expect(decryptedString).to.eq('This test is working! Omg!'); + cy.window().then(async () => { + const decryptedString = await LitJsSdk.decryptToString( + { + accessControlConditions: savedParams.accs, + chain: 'ethereum', + authSig: savedParams.authSig, + ciphertext: savedParams.encryptResponse.ciphertext, + dataToEncryptHash: savedParams.encryptResponse.dataToEncryptHash, + }, + savedParams.litNodeClient, + ); + + expect(decryptedString).to.be.eq('this is a secret message'); + }); }); }); describe('Zip and encrypt string then decrypt zip', () => { - it('zips string', async () => { - const zip = await LitJsSdk.zipAndEncryptString( - 'This test is working! Omg!' - ); - savedParams.zip = zip; - expect(savedParams.zip.symmetricKey).to.be.a('Uint8Array'); - expect(savedParams.zip.encryptedZip).to.be.a('Blob'); - }); - - it('saves encryption key', async () => { - const encryptedSymmetricKey = - await savedParams.litNodeClient.saveEncryptionKey({ - accessControlConditions: savedParams.accs, - symmetricKey: savedParams.zip.symmetricKey, - authSig: savedParams.authSig, - chain: 'ethereum', - }); - - console.log("savedParams.zip.symmetricKey:", savedParams.zip.symmetricKey) - - savedParams.encryptedSymmetricKey = encryptedSymmetricKey; - - expect(savedParams.encryptedSymmetricKey).to.be.an('Uint8Array'); - }); - - it('gets encryption key', async () => { - const toDecrypt = await LitJsSdk.uint8arrayToString( - savedParams.encryptedSymmetricKey, - 'base16' - ); - - const encryptionKey = await savedParams.litNodeClient.getEncryptionKey({ - accessControlConditions: savedParams.accs, - toDecrypt, - authSig: savedParams.authSig, - chain: 'ethereum', + it('zips and encrypt string', async () => { + cy.window().then(async () => { + const encryptResponse = await LitJsSdk.zipAndEncryptString( + { + dataToEncrypt: 'this is a secret message', + accessControlConditions: savedParams.accs, + chain: 'ethereum', + authSig: savedParams.authSig, + }, + savedParams.litNodeClient, + ); + const { ciphertext, dataToEncryptHash } = encryptResponse; + savedParams.encryptResponse = encryptResponse; + + expect(ciphertext).to.be.an('string'); + expect(dataToEncryptHash).to.be.an('string'); }); - - savedParams.encryptionKey = encryptionKey; - - expect(savedParams.encryptionKey).to.be.a('Uint8Array'); - }); - - it('decrypt zip', async () => { - const decryptedZip = await LitJsSdk.decryptZip( - savedParams.zip.encryptedZip, - savedParams.encryptionKey - ); - - savedParams.decryptZip = decryptedZip; - expect(savedParams.decryptZip).to.be.an('Object'); }); - it('gets the decrypted zip content', async () => { - const decryptedString = await savedParams.decryptZip['string.txt'].async( - 'text' - ); - expect(decryptedString).to.eq('This test is working! Omg!'); + it('decrypts into zip', async () => { + cy.window().then(async () => { + const decryptedFiles = await LitJsSdk.decryptToZip( + { + accessControlConditions: savedParams.accs, + chain: 'ethereum', + authSig: savedParams.authSig, + ciphertext: savedParams.encryptResponse.ciphertext, + dataToEncryptHash: savedParams.encryptResponse.dataToEncryptHash, + }, + savedParams.litNodeClient, + ); + + expect(decryptedFiles).to.be.an('array'); + const decryptedString = await decryptedFiles['string.txt'].async( + 'text' + ); + expect(decryptedString).to.eq('this is a secret message'); + }); }); }); describe('Encrypt and decrypt file', () => { it('zip and encrypt files', async () => { - // create a new file - const file = new File(['Hello, world!'], 'hello.txt', { - type: 'text/plain', - }); - - savedParams.zipFiles = await LitJsSdk.zipAndEncryptFiles([file]); - - expect(savedParams.zipFiles.symmetricKey).to.be.a('Uint8Array'); - }); - - it('turns blob to base 64 string', async () => { - const base64 = await LitJsSdk.blobToBase64String( - savedParams.zipFiles.encryptedZip - ); - savedParams.encryptedZipBase64 = base64; - expect(savedParams.encryptedZipBase64).to.be.a('string'); - }); - - it('saves encryption key', async () => { - const encryptedSymmetricKey = - await savedParams.litNodeClient.saveEncryptionKey({ - accessControlConditions: savedParams.accs, - symmetricKey: savedParams.zipFiles.symmetricKey, - authSig: savedParams.authSig, - chain: 'ethereum', + cy.window().then(async () => { + // create a new file + const file = new File(['Hello, world!'], 'hello.txt', { + type: 'text/plain', }); - - savedParams.encryptedSymmetricKey = encryptedSymmetricKey; - - expect(savedParams.encryptedSymmetricKey).to.be.an('Uint8Array'); - }); - - it('gets encryption key', async () => { - const toDecrypt = await LitJsSdk.uint8arrayToString( - savedParams.encryptedSymmetricKey, - 'base16' - ); - - const encryptionKey = await savedParams.litNodeClient.getEncryptionKey({ - accessControlConditions: savedParams.accs, - toDecrypt, - authSig: savedParams.authSig, - chain: 'ethereum', - }); - - savedParams.encryptionKey = encryptionKey; - - expect(savedParams.encryptionKey).to.be.a('Uint8Array'); - }); - - it('decrypt file', async () => { - const blob = LitJsSdk.base64StringToBlob(savedParams.encryptedZipBase64); - - const decryptedZip = await LitJsSdk.decryptFile({ - file: blob, - symmetricKey: savedParams.encryptionKey, - }); - - savedParams.decryptZip = decryptedZip; - - // turn uint8array into string - const decryptedFile = await LitJsSdk.uint8arrayToString(decryptedZip); - - expect(decryptedFile).to.contains('Hello, world!'); - }); -}); - -describe('Encrypt and zip metadata', () => { - it('encrypts file and zips with metadata', async () => { - const file = new File(['Hello, world!'], 'hello.txt', { - type: 'text/plain', - }); - const { zipBlob } = await LitJsSdk.encryptFileAndZipWithMetadata({ - file, - accessControlConditions: savedParams.accs, - authSig: savedParams.authSig, - chain: 'ethereum', - litNodeClient: savedParams.litNodeClient, - readme: 'this is a test', + + const encryptResponse = await LitJsSdk.zipAndEncryptFiles( + [file], + { + accessControlConditions: savedParams.accs, + authSig: { + ethereum: ethAuthSig, + }, + }, + savedParams.litNodeClient, + ); + savedParams.encryptResponse = encryptResponse; + + const { ciphertext, dataToEncryptHash } = encryptResponse; + expect(ciphertext).to.be.an('string'); + expect(dataToEncryptHash).to.be.an('string'); }); - - savedParams.zipBlob = zipBlob; - expect(savedParams.zipBlob).to.be.a('Blob'); - }); - - it('turns blob to base64 string', async () => { - const base64 = await LitJsSdk.blobToBase64String(savedParams.zipBlob); - savedParams.zipBlobBase64 = base64; - expect(savedParams.zipBlobBase64).to.be.a('string'); }); - it('decrypts zip file with metadata', async () => { - const file = LitJsSdk.base64StringToBlob(savedParams.zipBlobBase64); - - const { decryptedFile } = await LitJsSdk.decryptZipFileWithMetadata({ - authSig: savedParams.authSig, - litNodeClient: savedParams.litNodeClient, - file, + it('decrypts into zip', async () => { + cy.window().then(async () => { + const decryptedFiles = await LitJsSdk.decryptToZip( + { + accessControlConditions: savedParams.accs, + authSig: { + ethereum: ethAuthSig, + }, + ciphertext, + dataToEncryptHash, + }, + savedParams.litNodeClient, + ); + + expect(decryptedFiles).to.be.an('array'); + const decryptedFile = await decryptedFiles['hello.txt'].async( + 'text' + ); + + const decryptedFileContents = await LitJsSdk.uint8arrayToString( + decryptedFile + ); + + expect(decryptedFileContents).to.eq('Hello, world!'); }); - - const decryptedFileString = await LitJsSdk.uint8arrayToString( - decryptedFile - ); - - expect(decryptedFileString).to.contains('Hello, world!'); }); }); @@ -605,60 +534,6 @@ describe('Lit Action', () => { expect(res).to.have.property('success', true); }); - // // Error: bad request - // it('Get signing share',async () => { - // const { iat, exp } = savedParams.litNodeClient.getJWTParams(); - // let randomPath: string = - // '/' + - // Math.random().toString(36).substring(2, 15) + - // Math.random().toString(36).substring(2, 15); - // const resourceId = { - // baseUrl: 'my-dynamic-content-server.com', - // path: randomPath, - // orgId: '', - // role: '', - // extraData: '', - // }; - // const params: JsonSigningRetrieveRequest = { - // accessControlConditions: savedParams.accs, - // chain: 'ethereum', - // authSig: savedParams.authSig, - // resourceId, - // iat, - // exp, - // }; - - // // Error: bad request - // const url = 'https://serrano.litgateway.com:7379'; - // const res = await savedParams.litNodeClient.getSigningShare(url, params); - // }); - - // // Error: bad request - // it('Get Decryption Share', async () => { - // const params: JsonEncryptionRetrieveRequest = { - // accessControlConditions: savedParams.accs, - // chain: 'ethereum', - // authSig: savedParams.authSig, - // toDecrypt: savedParams.toDecrypt, - // }; - // const url = 'https://serrano.litgateway.com:7379'; - // // Error - // const res = await savedParams.litNodeClient.getDecryptionShare(url, params); - // }); - - // // Error: 404 Not found - // it('Sign ECDSA', async () => { - // const { iat, exp } = savedParams.litNodeClient.getJWTParams(); - // const params: SignWithECDSA = { - // message: 'msg', - // chain: 'ethereum', - // iat, - // exp, - // } - // const res = await savedParams.litNodeClient.signECDSA('https://serrano.litgateway.com:7370', params); - // console.log(res); - // }); - it('Handshake with Sgx', async () => { const params: HandshakeWithSgx = { url: 'https://serrano.litgateway.com:7371', @@ -672,19 +547,6 @@ describe('Lit Action', () => { 'subnetPublicKey' ); }); - - // // Error: 404 - // it('Execute JS', async () => { - // const data: ExecuteJsProps = { - // authSig: savedParams.authSig, - // jsParams: {}, - // code: "LitActions.setResponse({response: JSON.stringify({hello: 'world'})})", - // debug: true, - // } - - // // Error: 404 - // const res = await savedParams.litNodeClient.executeJs(data); - // }); }); describe('Session', () => { diff --git a/packages/encryption/src/lib/encryption.ts b/packages/encryption/src/lib/encryption.ts index 4f463e78a3..6e58eb4a3e 100644 --- a/packages/encryption/src/lib/encryption.ts +++ b/packages/encryption/src/lib/encryption.ts @@ -256,7 +256,7 @@ export const encryptString = async ( return litNodeClient.encrypt({ ...params, - dataToEncrypt: uint8arrayFromString(params.dataToEncrypt, 'base16'), + dataToEncrypt: uint8arrayFromString(params.dataToEncrypt, 'utf8'), }); }; @@ -288,7 +288,7 @@ export const decryptToString = async ( const { decryptedData } = await litNodeClient.decrypt(params); - return uint8arrayToString(decryptedData, 'base16'); + return uint8arrayToString(decryptedData, 'utf8'); }; /** @@ -645,7 +645,10 @@ export const decryptZipFileWithMetadata = async ( solRpcConditions: metadata.solRpcConditions, unifiedAccessControlConditions: metadata.unifiedAccessControlConditions, chain: metadata.chain, - ciphertext: uint8arrayToString(encryptedFile, 'base64'), + ciphertext: uint8arrayToString( + new Uint8Array(await encryptedFile.arrayBuffer()), + 'base64' + ), dataToEncryptHash: metadata.dataToEncryptHash, }, litNodeClient diff --git a/packages/encryption/src/lib/params-validators.ts b/packages/encryption/src/lib/params-validators.ts index 750ee501fb..c968190e91 100644 --- a/packages/encryption/src/lib/params-validators.ts +++ b/packages/encryption/src/lib/params-validators.ts @@ -87,12 +87,7 @@ export const paramsValidators: { encryptString: (params: EncryptStringRequest) => [ new AccessControlConditionsValidator('encryptString', params), new AuthMaterialValidator('encryptString', params, true), - new StringValidator( - 'encryptString', - params.dataToEncrypt, - 'dataToEncrypt', - true - ), + new StringValidator('encryptString', params.dataToEncrypt, 'dataToEncrypt'), ], encryptZip: (params: EncryptZipRequest) => [ @@ -110,17 +105,13 @@ export const paramsValidators: { new StringValidator('decrypt', params.ciphertext, 'ciphertext'), ], - decryptFile: (params: DecryptFileProps) => [ - new FileValidator('decryptFile', params.file), - ], - decryptZipFileWithMetadata: (params: DecryptZipFileWithMetadataProps) => [ new AuthMaterialValidator('decryptZipFileWithMetadata', params), new FileValidator('decryptZipFileWithMetadata', params.file), ], - decryptZip: (params: any) => [ - new FileValidator('decryptZip', params.encryptedZipBlob), + decryptToZip: (params: any) => [ + new FileValidator('decryptToZip', params.encryptedZipBlob), ], encryptToIpfs: (params: EncryptToIpfsProps) => [ diff --git a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts index efb9e868dc..c732f85204 100644 --- a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts +++ b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts @@ -39,6 +39,7 @@ import { DecryptRequest, DecryptResponse, EncryptRequest, + EncryptRequestBase, EncryptResponse, ExecuteJsProps, ExecuteJsResponse, @@ -1795,7 +1796,8 @@ export class LitNodeClientNodeJs extends LitCore { * */ decrypt = async (params: DecryptRequest): Promise => { - const { sessionSigs, chain, ciphertext, dataToEncryptHash } = params; + const { authSig, sessionSigs, chain, ciphertext, dataToEncryptHash } = + params; // ========== Validate Params ========== // -- validate if it's ready @@ -1877,6 +1879,9 @@ export class LitNodeClientNodeJs extends LitCore { // ========== Get Network Signature ========== const requestId = this.getRequestId(); const nodePromises = this.getNodePromises((url: string) => { + // -- if session key is available, use it + let authSigToSend = sessionSigs ? sessionSigs[url] : authSig; + return this.getSigningShareForDecryption( url, { @@ -1887,8 +1892,7 @@ export class LitNodeClientNodeJs extends LitCore { formattedUnifiedAccessControlConditions, dataToEncryptHash, chain, - authSig: sessionSigs ? undefined : params.authSig, - sessionSigs: sessionSigs ? sessionSigs[url] : undefined, + authSig: authSigToSend, }, requestId ); @@ -1918,6 +1922,43 @@ export class LitNodeClientNodeJs extends LitCore { return { decryptedData }; }; + getLitResourceForEncryption = async ( + params: EncryptRequest + ): Promise => { + // ========== Hashing Access Control Conditions ========= + // hash the access control conditions + let hashOfConditions: ArrayBuffer | undefined = + await this.getHashedAccessControlConditions(params); + + if (!hashOfConditions) { + return throwError({ + message: `You must provide either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions`, + errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, + errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, + }); + } + + const hashOfConditionsStr = uint8arrayToString( + new Uint8Array(hashOfConditions), + 'base16' + ); + + // ========== Hashing Private Data ========== + // hash the private data + const hashOfPrivateData = await crypto.subtle.digest( + 'SHA-256', + params.dataToEncrypt + ); + const hashOfPrivateDataStr = uint8arrayToString( + new Uint8Array(hashOfPrivateData), + 'base16' + ); + + return new LitAccessControlConditionResource( + `${hashOfConditionsStr}/${hashOfPrivateDataStr}` + ); + }; + #getIdentityParamForEncryption = ( hashOfConditionsStr: string, hashOfPrivateDataStr: string diff --git a/packages/types/src/lib/interfaces.ts b/packages/types/src/lib/interfaces.ts index c27a2fe7bf..9664716da0 100644 --- a/packages/types/src/lib/interfaces.ts +++ b/packages/types/src/lib/interfaces.ts @@ -446,7 +446,7 @@ export interface EncryptResponse { } export interface EncryptStringRequest extends EncryptRequestBase { - // Hex-encoded string that you wish to encrypt + // String that you wish to encrypt dataToEncrypt: string; } From 4bb0a14bba4f12c7703be0445bce3327caadbbd2 Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Sat, 24 Jun 2023 09:59:21 -0700 Subject: [PATCH 035/193] Update bls-sdk,crypto with verify_signature, implement demo-locked-express-app --- apps/demo-locked-express-app/README.md | 16 + apps/demo-locked-express-app/index.html | 81 + apps/demo-locked-express-app/index.ts | 82 + apps/demo-locked-express-app/package.json | 28 + apps/demo-locked-express-app/tsconfig.json | 13 + apps/demo-locked-express-app/yarn.lock | 1790 ++++++ packages/bls-sdk/src/lib/bls-sdk.d.ts | 8 + packages/bls-sdk/src/lib/bls-sdk.spec.ts | 30 + packages/bls-sdk/src/lib/bls-sdk.ts | 4945 +++++++++-------- packages/crypto/src/lib/crypto.spec.ts | 74 + packages/crypto/src/lib/crypto.ts | 19 + packages/encryption/src/lib/encryption.ts | 29 +- .../encryption/src/lib/params-validators.ts | 6 + .../src/lib/lit-node-client-nodejs.ts | 413 +- packages/types/src/lib/ILitNodeClient.ts | 43 +- packages/types/src/lib/interfaces.ts | 119 +- packages/uint8arrays/src/lib/uint8arrays.ts | 4 +- 17 files changed, 4918 insertions(+), 2782 deletions(-) create mode 100644 apps/demo-locked-express-app/README.md create mode 100644 apps/demo-locked-express-app/index.html create mode 100644 apps/demo-locked-express-app/index.ts create mode 100644 apps/demo-locked-express-app/package.json create mode 100644 apps/demo-locked-express-app/tsconfig.json create mode 100644 apps/demo-locked-express-app/yarn.lock diff --git a/apps/demo-locked-express-app/README.md b/apps/demo-locked-express-app/README.md new file mode 100644 index 0000000000..b3cc97cdc4 --- /dev/null +++ b/apps/demo-locked-express-app/README.md @@ -0,0 +1,16 @@ +# Demo Locked Express App + +This example code shows how to lock a server-side app behind an access control condition. + +## Getting Started + +Setup: + +- Edit the `MY_OWN_WALLET_ADDRESS` parameter in `index.ts` to a wallet address that you own. +- Set `PORT` in your shell environment - by deafult port `3001` is used. + +Running the app: + +- Run `yarn` to install dependencies. +- Run `yarn start` to start the app. +- Go to `http://localhost:3001` (or whichever port you set) \ No newline at end of file diff --git a/apps/demo-locked-express-app/index.html b/apps/demo-locked-express-app/index.html new file mode 100644 index 0000000000..2dbc4013ee --- /dev/null +++ b/apps/demo-locked-express-app/index.html @@ -0,0 +1,81 @@ + + + + + LIT Protocol Minimal JWT Example + + + + + + +

LIT Protocol Minimal JWT Example

+ +

Step 1: Request a JWT to authenticate the user

+ +
+
+
+ +

+ Step 2: Visit the protected server and include the JWT as a url parameter +

+ +
+
+

+    
+ + diff --git a/apps/demo-locked-express-app/index.ts b/apps/demo-locked-express-app/index.ts new file mode 100644 index 0000000000..2a6e7e0d24 --- /dev/null +++ b/apps/demo-locked-express-app/index.ts @@ -0,0 +1,82 @@ +import express, { Express, Request, Response } from 'express'; +import path from "path"; +import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; +import cookieParser from "cookie-parser"; +import { MultipleAccessControlConditions } from '@lit-protocol/types'; + +const app: Express = express(); +const port = process.env.PORT || 3001; + +const MY_OWN_WALLET_ADDRESS = "0x4259E44670053491E7b4FE4A120C70be1eAD646b"; + +const accessControlCondtionsForProtectedPath1: MultipleAccessControlConditions = { + accessControlConditions: [{ + chain: 'polygon', + contractAddress: '', + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: MY_OWN_WALLET_ADDRESS, + }, + standardContractType: '', + }] +}; + +app.use(cookieParser()); + +app.use("/packages", express.static(path.join(__dirname, 'packages'))); + +app.get('/', function(req, res) { + res.sendFile(path.join(__dirname, '/index.html')); +}); + +app.get('/protected-path-1', async function(req: Request, res: Response) { + const jwt = req.query?.jwt || req.cookies?.jwt; + + console.log("JWT is ", jwt, jwt == "eyJhbGciOiJCTFMxMi0zODEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJMSVQiLCJzdWIiOiIweDQyNTllNDQ2NzAwNTM0OTFlN2I0ZmU0YTEyMGM3MGJlMWVhZDY0NmIiLCJjaGFpbiI6ImV0aGVyZXVtIiwiaWF0IjoxNjg3NTg0MTY0LCJleHAiOjE2ODc2MjczNjQsImFjY2Vzc0NvbnRyb2xDb25kaXRpb25zIjpbeyJjb250cmFjdEFkZHJlc3MiOiIiLCJjaGFpbiI6ImV0aGVyZXVtIiwic3RhbmRhcmRDb250cmFjdFR5cGUiOiIiLCJtZXRob2QiOiIiLCJwYXJhbWV0ZXJzIjpbIjp1c2VyQWRkcmVzcyJdLCJyZXR1cm5WYWx1ZVRlc3QiOnsiY29tcGFyYXRvciI6Ij0iLCJ2YWx1ZSI6IjB4NDI1OUU0NDY3MDA1MzQ5MUU3YjRGRTRBMTIwQzcwYmUxZUFENjQ2YiJ9fV0sImV2bUNvbnRyYWN0Q29uZGl0aW9ucyI6bnVsbCwic29sUnBjQ29uZGl0aW9ucyI6bnVsbCwidW5pZmllZEFjY2Vzc0NvbnRyb2xDb25kaXRpb25zIjpudWxsfQ.oymXPMn_DDRl/s50GBFfFVpLzZ6EurN/kGVvlrHIYNU599EInb7MmW-pXzo0loF1BnTp81wGxIzu20KGe7Kw7Xh7a/Oha+fGVTlDySOUv8uSoAoOEVGwnlRgePllWhEK"); + + if (!jwt) { + res.status(401).send("Unauthorized"); + return; + } + + const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ + litNetwork: "serrano", + }); + await litNodeClient.connect(); + + try { + // Verify the JWT is signed by the Lit network + const { verified, header, payload } = LitJsSdk.verifyJwt({ jwt, publicKey: litNodeClient.networkPubKey! }); + console.log("JWT verified", verified); + console.log("JWT header", header); + console.log("JWT payload", payload); + + // Verify the access control conditions in the JWT claims are as expected. + const expectedAccessControlConditionsHash = (await litNodeClient.getHashedAccessControlConditions(accessControlCondtionsForProtectedPath1))!.toString(); + const actualAccessControlConditionsHash = (await litNodeClient.getHashedAccessControlConditions(payload))!.toString(); + if (expectedAccessControlConditionsHash !== actualAccessControlConditionsHash) { + console.error("Access control conditions in JWT are not as expected"); + res.status(401).send("Unauthorized"); + return; + } + + // Set cookie. + res.cookie("jwt", jwt, { + secure: process.env.NODE_ENV !== "development", + httpOnly: true, + sameSite: "lax", + }); + + return res.status(200).send("Congrats! You have access to /protected-path-1!") + } catch (e) { + console.error("JWT verification failed", e); + res.status(401).send("Unauthorized"); + return; + } +}); + +app.listen(port, () => { + console.log(`⚡️[server]: Server is running at http://localhost:${port}`); +}); \ No newline at end of file diff --git a/apps/demo-locked-express-app/package.json b/apps/demo-locked-express-app/package.json new file mode 100644 index 0000000000..e1b77272cf --- /dev/null +++ b/apps/demo-locked-express-app/package.json @@ -0,0 +1,28 @@ +{ + "name": "y", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "dependencies": { + "@lit-protocol/lit-node-client-nodejs": "file:../../packages/lit-node-client-nodejs", + "cookie-parser": "^1.4.6", + "express": "^4.18.2" + }, + "scripts": { + "build": "yarn clean && npx tsc && yarn copy-files", + "start:local": "node dist/index.js", + "start": "npm-run-all build start:local", + "clean": "rimraf dist/", + "copy-files": "copyfiles **/*.html dist/ && copyfiles -u 3 ../../dist/packages/lit-node-client-vanilla/lit-node-client.js dist/" + }, + "devDependencies": { + "@types/cookie-parser": "^1.4.3", + "@types/express": "^4.17.17", + "@types/node": "^20.3.1", + "copyfiles": "^2.4.1", + "nodemon": "^2.0.22", + "npm-run-all": "^4.1.5", + "rimraf": "^5.0.1", + "typescript": "^5.1.3" + } +} diff --git a/apps/demo-locked-express-app/tsconfig.json b/apps/demo-locked-express-app/tsconfig.json new file mode 100644 index 0000000000..2ba709eed2 --- /dev/null +++ b/apps/demo-locked-express-app/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "module": "commonjs", /* Specify what module code is generated. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + "strict": true, /* Enable all strict type-checking options. */ + "skipLibCheck": true, /* Skip type checking all .d.ts files. */ + "outDir": "./dist", /* Redirect output structure to the directory. */ + }, + "include": ["**/*.ts", "index.html"], + "exclude": ["node_modules", "**/*.spec.ts"] /* Exclude files from compilation. */ +} diff --git a/apps/demo-locked-express-app/yarn.lock b/apps/demo-locked-express-app/yarn.lock new file mode 100644 index 0000000000..2b374da695 --- /dev/null +++ b/apps/demo-locked-express-app/yarn.lock @@ -0,0 +1,1790 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@lit-protocol/lit-node-client-nodejs@file:../../packages/lit-node-client-nodejs": + version "2.2.11" + resolved "file:../../packages/lit-node-client-nodejs" + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@types/body-parser@*": + version "1.19.2" + resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/cookie-parser@^1.4.3": + version "1.4.3" + resolved "https://registry.npmjs.org/@types/cookie-parser/-/cookie-parser-1.4.3.tgz" + integrity sha512-CqSKwFwefj4PzZ5n/iwad/bow2hTCh0FlNAeWLtQM3JA/NX/iYagIpWG2cf1bQKQ2c9gU2log5VUCrn7LDOs0w== + dependencies: + "@types/express" "*" + +"@types/express-serve-static-core@^4.17.33": + version "4.17.35" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz" + integrity sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*", "@types/express@^4.17.17": + version "4.17.17" + resolved "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz" + integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/http-errors@*": + version "2.0.1" + resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz" + integrity sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ== + +"@types/mime@*": + version "3.0.1" + resolved "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz" + integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== + +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + +"@types/node@*", "@types/node@^20.3.1": + version "20.3.1" + resolved "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz" + integrity sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg== + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/send@*": + version "0.17.1" + resolved "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz" + integrity sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-static@*": + version "1.15.2" + resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz" + integrity sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw== + dependencies: + "@types/http-errors" "*" + "@types/mime" "*" + "@types/node" "*" + +abbrev@1: + version "1.1.1" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +chalk@^2.4.1: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chokidar@^3.5.2: + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +cookie-parser@^1.4.6: + version "1.4.6" + resolved "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz" + integrity sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA== + dependencies: + cookie "0.4.1" + cookie-signature "1.0.6" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz" + integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +copyfiles@^2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz" + integrity sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg== + dependencies: + glob "^7.0.5" + minimatch "^3.0.3" + mkdirp "^1.0.4" + noms "0.0.0" + through2 "^2.0.1" + untildify "^4.0.0" + yargs "^16.1.0" + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.21.2" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz" + integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== + dependencies: + array-buffer-byte-length "^1.0.0" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.2.0" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.3" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.7" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +express@^4.18.2: + version "4.18.2" + resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functions-have-names@^1.2.2, functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: + version "1.2.1" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^10.2.5: + version "10.3.0" + resolved "https://registry.npmjs.org/glob/-/glob-10.3.0.tgz" + integrity sha512-AQ1/SB9HH0yCx1jXAT4vmCbTOPe5RQ+kCurjbel5xSCGhebumUv+GJZfa1rEqor3XIViqwSEmlkZCQD43RWrBg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.0.3" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2" + path-scurry "^1.7.0" + +glob@^7.0.5: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.2: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ignore-by-default@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz" + integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@^2.0.1, inherits@~2.0.1, inherits@~2.0.3, inherits@2, inherits@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.11.0: + version "2.12.1" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz" + integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +jackspeak@^2.0.3: + version "2.2.1" + resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz" + integrity sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +lru-cache@^9.1.1: + version "9.1.2" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.2.tgz" + integrity sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memorystream@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" + integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^9.0.1: + version "9.0.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.2.tgz" + integrity sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg== + dependencies: + brace-expansion "^2.0.1" + +"minipass@^5.0.0 || ^6.0.2": + version "6.0.2" + resolved "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz" + integrity sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w== + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +ms@^2.1.1, ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +nodemon@^2.0.22: + version "2.0.22" + resolved "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz" + integrity sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ== + dependencies: + chokidar "^3.5.2" + debug "^3.2.7" + ignore-by-default "^1.0.1" + minimatch "^3.1.2" + pstree.remy "^1.1.8" + semver "^5.7.1" + simple-update-notifier "^1.0.7" + supports-color "^5.5.0" + touch "^3.1.0" + undefsafe "^2.0.5" + +noms@0.0.0: + version "0.0.0" + resolved "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz" + integrity sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow== + dependencies: + inherits "^2.0.1" + readable-stream "~1.0.31" + +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" + integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2: + version "2.5.0" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-all@^4.1.5: + version "4.1.5" + resolved "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz" + integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== + dependencies: + ansi-styles "^3.2.1" + chalk "^2.4.1" + cross-spawn "^6.0.5" + memorystream "^0.3.1" + minimatch "^3.0.4" + pidtree "^0.3.0" + read-pkg "^3.0.0" + shell-quote "^1.6.1" + string.prototype.padend "^3.0.0" + +object-inspect@^1.12.3, object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.7.0: + version "1.9.2" + resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz" + integrity sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg== + dependencies: + lru-cache "^9.1.1" + minipass "^5.0.0 || ^6.0.2" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pidtree@^0.3.0: + version "0.3.1" + resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz" + integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +pstree.remy@^1.1.8: + version "1.1.8" + resolved "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz" + integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" + integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +readable-stream@~1.0.31: + version "1.0.34" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz" + integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +regexp.prototype.flags@^1.4.3: + version "1.5.0" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz" + integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + functions-have-names "^1.2.3" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +resolve@^1.10.0: + version "1.22.2" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz" + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== + dependencies: + is-core-module "^2.11.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +rimraf@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz" + integrity sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg== + dependencies: + glob "^10.2.5" + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +semver@^5.5.0, semver@^5.7.1, "semver@2 || 3 || 4 || 5": + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@~7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +send@0.18.0: + version "0.18.0" + resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.6.1: + version "1.8.1" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz" + integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== + +simple-update-notifier@^1.0.7: + version "1.1.0" + resolved "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz" + integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg== + dependencies: + semver "~7.0.0" + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.13" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz" + integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.padend@^3.0.0: + version "3.1.4" + resolved "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz" + integrity sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trim@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz" + integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +supports-color@^5.3.0, supports-color@^5.5.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +through2@^2.0.1: + version "2.0.5" + resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +touch@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz" + integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== + dependencies: + nopt "~1.0.10" + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typescript@^5.1.3: + version "5.1.3" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz" + integrity sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +undefsafe@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz" + integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== + +unpipe@~1.0.0, unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs@^16.1.0: + version "16.2.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" diff --git a/packages/bls-sdk/src/lib/bls-sdk.d.ts b/packages/bls-sdk/src/lib/bls-sdk.d.ts index 5a5e6cadda..d9584f0c64 100644 --- a/packages/bls-sdk/src/lib/bls-sdk.d.ts +++ b/packages/bls-sdk/src/lib/bls-sdk.d.ts @@ -45,3 +45,11 @@ export function decrypt_with_signature_shares( * @returns {string} */ export function combine_signature_shares(shares: any): string; + +/** + *Verifies the signature. + * @param {string} public_key + * @param {string} message + * @param {string} signature + */ +export function verify_signature(public_key, message, signature): void; diff --git a/packages/bls-sdk/src/lib/bls-sdk.spec.ts b/packages/bls-sdk/src/lib/bls-sdk.spec.ts index 4bef51614f..706c448ddd 100644 --- a/packages/bls-sdk/src/lib/bls-sdk.spec.ts +++ b/packages/bls-sdk/src/lib/bls-sdk.spec.ts @@ -95,6 +95,36 @@ describe('blsSdk', () => { secretMessage ); }); + + it('should combine signature shares', async () => { + const signatureShares = [ + '01b2b44a0bf7184f19efacad98e213818edd3f8909dd798129ef169b877d68d77ba630005609f48b80203717d82092a45b06a9de0e61a97b2672b38b31f9ae43e64383d0375a51c75db8972613cc6b099b95c189fd8549ed973ee94b08749f4cac', + '02a8343d5602f523286c4c59356fdcfc51953290495d98cb91a56b59bd1a837ea969cc521382164e85787128ce7f944de303d8e0b5fc4becede0c894bec1adc490fdc133939cca70fb3f504b9bf7b156527b681d9f0619828cd8050c819e46fdb1', + '03b1594ab0cb56f47437b3720dc181661481ca0e36078b79c9a4acc50042f076bf66b68fbd12a1d55021a668555f0eed0a08dfe74455f557b30f1a9c32435a81479ca8843f5b74b176a8d10c5845a84213441eaaaf2ba57e32581584393541c5aa', + ].map((s) => ({ + ProofOfPossession: s, + })); + + // execute + const combinedSignature = blsSdk.combine_signature_shares( + signatureShares.map((s) => JSON.stringify(s)) + ); + + // assert + expect(combinedSignature.length).toEqual(192); + }); + + it('should verify signature', async () => { + const publicKey = + 'ad1bd6c66f849ccbcc20fa08c26108f3df7db0068df032cc184779cc967159da4dd5669de563af7252b540f0759aee5a'; + + // execute + blsSdk.verify_signature( + publicKey, + 'ZXlKaGJHY2lPaUpDVEZNeE1pMHpPREVpTENKMGVYQWlPaUpLVjFRaWZRLmV5SnBjM01pT2lKTVNWUWlMQ0p6ZFdJaU9pSXdlRFF5TlRsbE5EUTJOekF3TlRNME9URmxOMkkwWm1VMFlURXlNR00zTUdKbE1XVmhaRFkwTm1JaUxDSmphR0ZwYmlJNkltVjBhR1Z5WlhWdElpd2lhV0YwSWpveE5qZzNOVFl5TWpjMUxDSmxlSEFpT2pFMk9EYzJNRFUwTnpVc0ltRmpZMlZ6YzBOdmJuUnliMnhEYjI1a2FYUnBiMjV6SWpwYmV5SmpiMjUwY21GamRFRmtaSEpsYzNNaU9pSWlMQ0pqYUdGcGJpSTZJbVYwYUdWeVpYVnRJaXdpYzNSaGJtUmhjbVJEYjI1MGNtRmpkRlI1Y0dVaU9pSWlMQ0p0WlhSb2IyUWlPaUlpTENKd1lYSmhiV1YwWlhKeklqcGJJanAxYzJWeVFXUmtjbVZ6Y3lKZExDSnlaWFIxY201V1lXeDFaVlJsYzNRaU9uc2lZMjl0Y0dGeVlYUnZjaUk2SWowaUxDSjJZV3gxWlNJNklqQjROREkxT1VVME5EWTNNREExTXpRNU1VVTNZalJHUlRSQk1USXdRemN3WW1VeFpVRkVOalEyWWlKOWZWMHNJbVYyYlVOdmJuUnlZV04wUTI5dVpHbDBhVzl1Y3lJNmJuVnNiQ3dpYzI5c1VuQmpRMjl1WkdsMGFXOXVjeUk2Ym5Wc2JDd2lkVzVwWm1sbFpFRmpZMlZ6YzBOdmJuUnliMnhEYjI1a2FYUnBiMjV6SWpwdWRXeHNmUQ==', + 'trkIFY8XLxWAHvErjc5sEMfyEMjDVW0m4zSEiO8Ladb+F2vsaUmBMPIR4axyHdayDJ7/qdxUsxM1Xt/AUMcYRCVbUqNZZmkAGtOFGODAjieGdv9Q3aPnsrQXkDzW0ITP' + ); + }); }); function base64ToArrayBuffer(base64) { diff --git a/packages/bls-sdk/src/lib/bls-sdk.ts b/packages/bls-sdk/src/lib/bls-sdk.ts index 41c822209e..4141587c2d 100644 --- a/packages/bls-sdk/src/lib/bls-sdk.ts +++ b/packages/bls-sdk/src/lib/bls-sdk.ts @@ -460,6 +460,45 @@ export function combine_signature_shares(shares) { } } +/** + * @private + *Verifies the signature. + * @param {string} public_key + * @param {string} message + * @param {string} signature + */ +export function verify_signature(public_key, message, signature) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0( + public_key, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc + ); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0( + message, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc + ); + const len1 = WASM_VECTOR_LEN; + const ptr2 = passStringToWasm0( + signature, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc + ); + const len2 = WASM_VECTOR_LEN; + wasm.verify_signature(retptr, ptr0, len0, ptr1, len1, ptr2, len2); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + function handleError(f, args) { try { return f.apply(this, args); @@ -777,7 +816,7 @@ function __wbg_init_memory(imports, maybe_memory) {} function __wbg_finalize_init(instance, module) { wasm = instance.exports; - init.__wbindgen_wasm_module = module; + __wbg_init.__wbindgen_wasm_module = module; cachedFloat64Memory0 = null; cachedInt32Memory0 = null; cachedUint8Memory0 = null; @@ -801,7 +840,7 @@ function initSync(module) { return __wbg_finalize_init(instance, module); } -async function init(input) { +async function __wbg_init(input) { if (wasm !== undefined) return wasm; const imports = __wbg_get_imports(); @@ -813,4807 +852,4909 @@ async function init(input) { } export { initSync }; -export default init; +export default __wbg_init; export async function initWasmBlsSdk() { var b = ''; b += - 'eNrsvQt0VUd2IHq+915JV9IFBAgkUJ2DwMLGtr5Xko1lLv+fP+222+5ud2MJScaCBiPwpxMuKGl'; + 'eNrsvQt0VUd2IHrP794r6Uq6AgECCVTnILCwsa3vlWRjmcv/50+77ba7290gIclY0GAE/nSGC0p'; + b += + 'anWheSJ7eekyGzjAZ0qEDSXC3kjATukPe0AmTKB2yoqzHS5Q8sp7eWkyG94bMaCakH2uFSb/9qV'; + b += + 'On7j1Hum4b3OmOkF2n9t51Prdq165du3btivUc+YIRi8WMPzOW7zFPnDBOYBrbY53wU8AYnMT22'; + b += + 'CcI7ZzgawzQ8RMndCRg7BPqruM+GUCkH8ebYnsSJ/ybSjhz/PjxAAtlrePqSUBInlDlLXqEg0+i'; + b += + 'zzku33yMwWMSzDGIF/Pvy1utd3vfWLZ797u9bx7se6P/4O5DvYP9e4/u7hs69Nbuof6BmIMFFmk'; + b += + 'FjhwdevPgG7sP9r8bi81Ce6P/aMwopB18+wu9/UMBrVqjvXlEvjdmI2mpRho88k7Pgd0HDh060r'; + b += + '+7/zC/crFG7z106EB/z0F6rl343P6hoUNDwafS76RP393T29fTkenv7Gzt7ensaR+IJbFAHRc4c'; + b += + 'rRn7/7dmfbOlo6ugf62tva25r0DGf5sWYSfPNDZ3pzJdPQMdDT37h3YK4ss5yJ7h7741tFDu/e2'; + b += + 'dfZ0dLT1NrW09LU09ezlr1zBZd4aOrS3/8iR3S1dnR2tbXsHWtrbezo72/u4UD0Xeqd/6Mibhw4'; + b += + 'e2d3f0t/R2d/c2tbf2t/e19TMpWrlrzrU17+7eW9fR097X2d7a19vf09HV7hKoKq5lfK+Y6j/8N'; + b += + 'tvDvXv7hxo6tzb37+3f2/TQNtAfz9Xi/yOLxzZyD+pd29vV0dTpq1poL2pp7m/kx+1mktBQ7zUc'; + b += + '7Dv0Bc+1XPg7f4ju1s7Bnpa9vZ09bf1N0G2l+tolXwvldzy5oEDn/ziwb27+/Y293f1ZJr2Nrd3'; + b += + 'trZm+risUM128FDP0BtHdu/t6s80tbX2dvb0dbY1N3Vx6/r10P/e0d0Dbb17m/q7Mv09mY6+noz'; + b += + '8wsX59TDw9sG9R6FimSgb9h386t0tA239Ay1NrZnegZ6+ls7+vPZ482j/UM9RaP6OvR397Z0DmZ'; + b += + 'b+3s62jqYmri35HUf6Dwzs7mhr6euDr+ht7e9qaW6W9SkZ5F34lEPvAoM0dfV3tDb39ba39jT1t'; + b += + '3AZV9bmgUO9PQde3gef29vRtLepq721s7OtrXmgpS/vWVwO2r+jJdPc0dbV3N/X0dzVxmWW5P/u'; + b += + 'tw/29Q+8ebBfctky1W67O1qbWvv7WvoHmloyvS0D7VyxkkfePJIdGur54u6mtv72roHejtaBjs6'; + b += + 'e3vZefor8jgP9B984um93Z0vT3o7OTFdHK3S0vs4eLvO4fNBB6GAH9/YfGthNT9zw9sAASAao8E'; + b += + 'xrS09PU19b78DAQGced+/tOXBgd3t7R08L/PL+nr174Se25LU7l+js6G1t6u/vae1v6mptbYlZh'; + b += + 'ZwBnJ1p7oc+2dTf0dLTlcl7S9+hg/27ezM9vb0tHX1tLb2Z1s5MR97v6+VvbW/v7enoyfQ293a1'; + b += + '9Lf4nbpZMeq7bx7d1/vFo/ATB470w4/t8+uls6+5r7MXeu9AV1tvVy9/nyaXmrq6WkFe9DW1NA0'; + b += + '0tXXJyl0bqrhX3jx4tJPbA+RBF/TFHqiYnhaQaHxLQ963+K/vgr7d09YE39DV3Lm3JY+tj7zd20'; + b += + 'MP7Ots6e1vas/09fe2Afd38EfmN3BTT09vx8BAX6a9p6+5q4CV4Cfvbs10dfa37u1pb+7qbd3bu'; + b += + 'jdmqnrOH2n2HsBKx6GmkBsH2lv3Qq9p6Wre29rZ3NvHza0zM3zh22/48oxkRVqjHt03dOhdRldp'; + b += + '6C/0f+HQ0BehZ/y+fc0247ZtGqZhxE3TjtsJsyQBkG2UGSXlgIxD3oklzJhlwv+WGaeyJpDgBoA'; + b += + 'Rb1oG/GfEDdN0bKMiZhgxx4xVxUpiJSUl5oLSWDwWM834QtOsgIzlGDETrjHDjCUTcSNhmgkzHo'; + b += + 'N7jGrDSGMZ+BR4Wynck4gvApwVixv4DMOwrAQ83TKS8P4YFoKrZdjwKfGEY9qANMw4fB/8g69OJ'; + b += + 'Kx4HG7Ef/B5kIVvNAhcbMM1DkUNLA0k+MmGHUsYJYZjGPAzDMuEt1lOiVlCX+OYibgD/8WtmAMP'; + b += + 'Tpj8llL4KrihEp9jw21QQaYDv96ht1BlJeJxm1+En2c7QHb4V0P1leOvipUlSpcsrY0ZSIuZcbj'; + b += + 'Zwjp0YvBAQMG3xeC1NvwKxzSpIsrw91v4gwFrwX1wQwJvxu+KOQ5+FNYpoOCdMRtfC/9iNjzAsG'; + b += + '0bcHAfgDEs6MB9Dv3MWKwSE7gBylhQBP7F5D+D6oh+qW3HkljIqEylUo6dMN4y3oc//IqqeAkod'; + b += + '9nh4avws75ipuLMbtCebx588+ibPQfe/LH+2H+3E/0HST+I/ZnRCOP7mwNf3A1SAhiasLuxz+4+'; + b += + '8uYbB3uOvg3D8pF9PUP9R2L/u7F87gL/q1mz99AXgNH7w7S/MdPyRYoU+10jr2OABD20N/YP5gI'; + b += + 'NOdTP2G9Y9Rq2p69vNygCrCi9dQiEUf9Q7NftSq3IwBCoD//dylPH3kMV8RC8+H+xS/4KWDFrlF'; + b += + '00vmv/B+OnjZ+1f8P+/6xfNb5mfte+aX3XnrK/a/+lfdP+P+1TkPsz+2eMn7T+CnL/jf6+Drmfs'; + b += + 'n8f7v2u/Rf2n9v/w8K7fwugb9t/bXzmsv331kXjl00kf9P+W4thhH7Xvg7X37N/y/obeMk/h///'; + b += + 'q3XeeN/8qsEQ/t22fx1yP2v9P5D/aes71u9b36S/37GuWL9t/Z75Letb1m9YYzbf+3XTf/qENW7'; + b += + '/pvW35jeMn7J/1v59oP+O+UfwpL+1xwD+OeMcfM//bUzYP2deN//Q/hfmn5hfMf6l+Qf2/2b9lP'; + b += + '2L1h9Y/8L+S+s/mJPmrxgXzP9knDbOm3fh3gvWVeO2ccf8Ofvv7El42p+aF+3T5vvwk0/bf239n'; + b += + 'fVd62fguUCz371i/Ir5DftbxlfMP7VLx39r0TX79hfNZ44fP7Eylj2b3O+tb4gJI3vGHGw0Y+5P'; + b += + 'GJA/TXnInPIzY37mpJ8Z9TMjfmbYz9w3ZOaen7nrZ2aMQa+Xs3d83G0/c8vPTPuZm35mys/c8DO'; + b += + 'Tfua6n5nwM9dkptG8aoj12bPOoNcD6Kvw7r2iN/064KatQW+TQOggQDP2oJdFKDs+8u1Y9n9870'; + b += + 'g2lX5OZPGPil+FAhtEj9iUXwCeEx/0NosNYm+6W2yGPzM7HRuEvOnX588bkOf6dP8V5rlK3TOY5'; + b += + '1p1/zXmuWLdX8A81637bzDP1euexTzXsPuLmOdKdr+Kea5n95cwz1XtnsM81nYfQl9DiCvc/WXM'; + b += + 'c5275zHP1e5ewDzXvPsrmOfKd38V81z/7q9hnpvAvYh5bgX3fcxzQ7hfxzy3hfsNzHNzuOOQxxZ'; + b += + 'xfx0bZRga4DUgYqP0iz6q5bPmoPeKQAgbZYwaBaDoRtkkXhOv5JNeAWQ/VP4r8GfIhlgPTzqZGP'; + b += + 'Q+3Q4csb4d+lgOMKOA+YzETBBmBDCflZhrhBkGzOsSc5Uw96Gxt0jMFcLcA8xWiblMmLuA2SYxl'; + b += + 'wgzA5jtEjNOmDuA2SExFwlzGzA7JeYCYW4BZpfEnENMuzkdx/SsmfOsDeKnjnlpSlOUllNaQWkp'; + b += + 'pWWUOpQmKS2hNEFpfEP9T2549qc8e8Ov/R//8L3KLwlrw/fgX+WXjnlWN75pl7AB8/d/UvYlkfZ'; + b += + 'JUEiMUoGY2En0P/mfgJ6Kou8A+j987xt/Z3xJlEfRtwP93J3f+7fw6ooo+jagn/3a730z/iVRGk'; + b += + 'XfCvR//7VTZ+D+sij6FqCP/Mu/+iW434mivw70P/+Lr/+8/SWRjKJ/Fuj/7k/+yxTQS6LonwH6z'; + b += + '//x9/7I+pJIRNE/DfT/95dGJuH3xyUB0euzV4CtPic+R02bvQ8c/xsG5LHJLwPl84y/B/jf9PGX'; b += - '6opVh1tNbQyYkIR11Nx1IgrtJD0noCXmhE16imZAVzVu8CZOQiTLDZFjvseZpZTHrMRPe9NufOn'; + 'AL+b8XcBf8nHjwN+D+NnAP9vffxFwD/H+DuA/3c+/gLgn2f8bcD/lo8/B/gXGH8L8Jd9/FnAv8j'; b += - 'Xq3nOk63aDO90RsuvU3rvO51bt2rVr165dRu+hL5iGYZj/zlz2hnXsmHkMU+MN+1iQAsbkxHjDO'; + '4acB/08efAfwnGH8T8N/y8acB/xLjpwD/2z7+FOA/yfgbgL/i48cAv1Gy+CRw9UfjZ0wtxdWy6q'; b += - 'UZo9xhfDUAnjh3TkYBx5NUw8MajQQnAYJGjULSMMUePHjXeSB5TZPuouh8IKUk4FpbBDzrKrzp6'; + '1jQTPFVTOplk1oKMkMJRpK8k9SQ0mWczSU5NIyDSUZu1RDyb5QoaFk9ynPQ1GPS2ko2T9VJ8QKG'; b += - 'jD7nqHzzEQaPSDDPIF6sv69ss9/re3Pprl3v9b21v//Ngf27DvQNDew+vKt/+MDbu4YHBg0XCyz'; + 'qUKGqUKGqUKGqUKGqUKGqUKGqUKGqUKGqUKQtb0+fDzgrh0t4jjZY9I4OU5UYKX50USLy8IBy8v'; b += - 'UChw6PPzW/jd37R94zzBmoL05cNgwi2n73/lC38BwSKvRaG8dku81HCQt0UhDh97t3bdr34EDhw'; + 'ijK8fEKU4uUlUYGXT4pyvGwUKbzgwLcZRPJG/IPra8IQm1D2knQfEKbYwJK43bxjkNCzSKDdJuA'; b += - 'Z2DRzkVy7S6H0HDuwb6N1Pz3WKnzswPHxgOPxU+p306bt6+/p7O7MDXV1tfb1dvR2DRgoL1HOBQ'; + 'CA7cIOMfANAFnGbhJwBkGpgg4zcANAk4xMEnAGAPXCTjJwAQBowxcI2CEgasEDFsPX6Tim+YUqd'; b += - '4d7d+/dle3oau3sHhxob+9ob9k9mOXPlkX4yYNdHS3ZbGfvYGdL3+7B3bLIMi6ye/iLbx8+sGt3'; + 'f8ArPJ1AkuMLtQvc4FZpeqk1xgdrF6gwvMLlenuMDsgvUmF5hdsk5zgdlF6y0uMLtsvc0FQsIVW'; b += - 'e1dvZ2d7X3Nra39rc+9u/srlXObt4QO7Bw4d2tXa3dXZ1r57sLWjo7erq6OfCzVwoXcHhg+9dWD'; + 'QulE4iYfVI6WYO+aALkm1I0KSRoYt6glEsKCSqZt5+RkwoJupl3gJHXFRKUNO9TjJxQSNDWvFcZ'; b += - '/oV0DrQOdXQMtbe0DbQMd/c0tXKpO/qoD/QO7Wnb3d/Z29Hd1tPX3DfR2dkerBKqaW6ngO4YHDr'; + 'eU0hQW3zNjDyqkKC/ua9zMgrCgmKnLeJkZcVEjQ6L8vISz6y3Zwh1h3/GFgX3pQtog1sKqINvFx'; b += - '7z1vDArq7B5q7dAwO7B3Y3D7YPDgxwtcjv+MKhDfyT+nb3dXc2Z9ubBzuae1sGuvhRq7gUNMRLv'; + 'EG9hQRBt4tYg28Kki2sCBItrA/iLawGARbeDNItrAvtm0AVBSYWIxIAZIAR7D5sfhHFucpx5QNZ'; b += - 'fv7D3zhU7373hk4tKutc7C3dXdv90D7QDNk+7iOVsr3UsnNb+3b98kv7t+9q393y0B3b7Z5d0tH'; + 'voiuIMFecrhmKBUYQvB/AIwpcCeBjh8QA+hspBAL6HOkEAHkVVIADfQg0gAA9g1wrAfdipArAPu'; b += - 'V1tbtp/LCtVs+w/0Dr95aNfu7oFsc3tbX1dvf1d7S3M3t25QDwPvH9412N63u3mgOzvQm+3s783'; + '1MA7iFJbHwMrJkoIlXvJopI1XuJIlL1fqKIVB1OFpGqI8kiUnU0WUSqnkwWkapjySJS9VSyiFQ9'; b += - 'KL1xUWA+D7+zffRgqlomyYd/Fr97VOtg+MNja3JbtG+ztb+0aKGiPtw4PDPcehubv3N050NE1mG'; + 'nYyWqmeS0Lk3FE58N+EfsOUGErkzoMi9UTAzBp7eIKdi60kVGIYJzY8boBsg+g3QGDYSW9O87HP'; b += - '0d6Otq72xu5tqS33FoYN/grs721v5++Iq+toHu1pYWWZ+SQd6DTznwHjBIc/dAZ1tLf19HW2/zQ'; + 'EODQh+zxlaSa2m7I0BdtDWZp7PUdZmnQ9T1mabb1AWZpmvUhZml99grI0sXqJsjSj+qTPpjDNQf'; b += - 'CuX8WRt7jvQ17vv5T3wuX2dzbubuzvaurra21sGW/sLnsXloP07W7Mtne3dLQP9nS3d7VxmceHv'; + '3zYxj8i7HptWJsOlGMTa8XY9PJRLHBP1Fs8E8UG/wTxQb/RLHBP1Fs8E/MMvgncMB2UGwCZ0VbD'; b += - 'fmd//8DgW/sHJJctVe22q7OtuW2gv3VgsLk129c62MEVK3nkrUO54eHeL+5qbh/o6B7s62wb7Oz'; + 'HqA7WAEBmb9HaPQjnMRuPMV4AV3DQpFAF5D4FEUiQD0IPAYCkQAvoDAWhSHABxE4HEUhgAcQuAJ'; b += - 'q7evo46fI79g3sP/Nw3t2dbU27+7synZ3tkFH6+/q5TKPywfthw62f/fAgcFd9MT17wwOgmSACs'; + 'FIUAvIXAkyjUATiMQBNqEgAMIdCMygIARxBoQXUCgKMItJLojrtVpMc6bgNe17qrSJN13NV4bXQ'; b += - '+2tfb2Nve39w0ODnYVcPfu3n37dnV0dPa2wi8f6N29G35ia0G7c4muzr625oGB3raB5u62tlbDL'; + 'fIV3WcRvx2uC2kTbruO14FW6GTBSO24HXOreT7BOO24XXGvcpMk447tN4rXbXkSLhuM/gNe12k4'; b += - 'uYM4OxsywD0yeaBztbe7mzBW/oP7B/Y1Zft7etr7exvb+3LtnVlOwt+Xx9/a0dHX29nb7avpa+7'; + 'buuM/iNeUuIB3dcZfiNekuI8XccWvxGnPrSGl33OV4td1Kkgf3nUAFiynVxglUMIW86wQqmELOO'; b += - 'daA16NQtilHfe+vwnr4vHoafOHhoAH5sf1AvXf0t/V190HsHu9v7uvv4+zS51Nzd3Qbyor+5tXm'; + 'IEKppB3nEAFU8jbTqCCKeQtJ1DBFHLaUSrY+v0Sd9NRGtg6v9yUoxSwTh93w1H6V5sa4iYdTJvm'; b += - 'wub1bVu6aSMW98tb+w13cHiAPuqEv9kLF9LaCRONbGgu+JXh9N/Tt3vZm+Ibulq7drQVsfeidvl'; + 'Z60f16xVPgnbDXrK29AO3oqcErPYdIB+B9H1OVVr2HqAfhfRIqdqDjkL0O8h2s2p2kPeAvQXEe3'; b += - '56YH9Xa99Ac0e2f6CvHbi/kz+ysIGbe3v7OgcH+7Mdvf0t3UWsBD95V1u2u2ugbXdvR0t3X9vut'; + 'lVA0idwH6xxC9MqdqEfkL0P8M0dU5VZMoYgB9DNGLcqo2UXMDdA7Ri3OqRlGBA/RxRC/JqVpFPQ'; b += - 't2Gpeq5cKTZvQ8rHYeaYm4c7GjbDb2mtbtld1tXS18/N7fOzPCF77wZyDOSFRmNenjP8IH3GD1P'; + '7QJxBdk1M1i+ocoIfRguLZD5L3Fmq8tzDMewvDvLcwzHsLw7y3MMx7C8O8tzDMewvDvLcwzHsLw'; b += - 'Q39h4AsHhr8IPeOi823HSjiOZVqmmbAsJ+EkrbIkQI5ZYZZVATIBeddIWoZtwf+2laCyFpDgBoA'; + '7y38CHyns5wOpfprKXzk85EOufo7KLziM4YS7Rml00tagIOeVDNHqqsdDfKtmxU1aapRlI84Yto'; b += - 'Rb9km/AdYy3XMasM0DdcyMmVGWVmZNa88YVhWYr5lVRtQA65hAggahWWkkgnDTFpW0oKr4ZoL4A'; + 'DVnPPOGLaEDZAjzhi2hz2TY84YtgE9lqPOGL4CzZnjzhi2BG2dI84YvgX8kDPOGLYHnJHTzhi+g'; b += - 'FQBj4DCpRjoUQyUWOaC20jYSZQC4EXG3YSEjOFT7HgTaZtOvAdiaRrOUA3zAR+BnyIkbQTeBNiI'; + 'lkm94wqf3qHgwE4Q52QrFRDlRr27PCaFelROu+qyc8NRPyImV6ufmRLWqmpxYpKoxJxarKs+JJa'; b += - 'AOfDflFDiQJKIIfmwY8/E7TMZJmGSDg2+EJtu2WWWX0Da6VTLjwX8I23CT8s/jR5QZkzDQ+w4F7'; + 'p5cqJGNWVO2KrFfe33gzPPIkoXU7qE0hrJTtWR2m9MnBDVPjdFTt+PE524KXL6Dr/V56bI6fsxo'; b += - 'oEYsF36viy8DEtyUcPgV+KWO67pJl38n1FYV3lyRLF+8pM4wXbzPSsCdNlaZa8DTAAUfZePjTBc'; + 'Etuipy+/zOgS26KnL7/GNAlN0VO378IdMlN8QK6TfN40SBW5cRq8UhONIq2nGgXmZzoEJ050SWe'; b += - 'rAcvDi234OgM+34aboHQS78QPMlzXdPFFBj4M3mc4+Er4Zzhwv+k4jom/2gbQMLD6TRfudPEHQn'; + 'yomnxbqceEZ058SzYkFOLBXLcmK5qMyJWlH3IKV4pcZzlWH+rAyzdGW4F1SGO05luK9VhrtnZbh'; b += - 'kjbcENDr4RWte2DfkPfhvVjUM/03GMlAHlzHRlZaXrJM23za/DH37IvEQZ6HG5kZErRkXyy1ZFg'; + 'HV4aFQGVYblSGRU3lQ5TiazQp/qgmxR/TpPhaTYo/rknxJzQp/qQmxZs0Kd6sSfFWbUxv0SR61X'; b += - 'pkLWvCt/W8dfqt331s/MWBMOcmB/aQNGNfNJhjN3xr84i6QCcC+hN2FPXTXobfe3N97+B0YhA/t'; + 'yz/4g3e2FTY/M/2MG7MnLwPgsTk6iqVYP3Ob/AbKP3BS4w+/B9kQvMPn6Pc4HZB/BLXGD2EfwyF'; b += - '6R0eOGT8W3PZ7AX+mVW7+8AXgK0HorS/tgpYHmTjgd3G/2PN15DDA4z9it2gYXv7+3fBEM8q0Ns'; + '5h9CL/CBWYfw69ygdkH8WtcYPZRfIILRAzj15GyRhvGH9WG8ce0YXytNow/rg3jT2jD+JPaMN6k'; b += - 'HQMwMDBunnWqtyOAwKAZ/ZRcoWu+j8ndgeMC4b5f9a+C2nFnxNfNnzf9u/7LzH+2vmaetW86/tr'; + 'DePN2jDeqg3jLdowXhUaxuMfyZRVwFh5w/hwXBwJGCseNU6+B+OkbJFF2mRQaUVHA76LXEZ4F+6'; b += - '9r3nL+0LnlXHX+2Pkj53v2Lee7DtK/Drj/15pw/pr+fgGgv7P/AMp+1fkVyP+B8787t+k5ZwH3L'; + 'XDbZY0ePB/UMBW0YuM7wD98v2XBJ1/+GAayOXId6G+2Vz18gbEf1WwMuRqxOHAlaOVG8OBpwcqd'; b += - 'edvzc98w/lb+5z5y/DQW86vOv/BZhihC84EXH8Tcv8DqH9hnzG/an3F/Bvzmvk1609NiTU/APq3'; + '58IWDkSPWmJ+DjSPXmtYCNI9WbVwIuTmirDz9u4H+b0UqLppw2QTavdkHWrowgO1eHIAtXpyDbV'; b += - 'APp3zjh8xPesPwf4vnXJvmifpb/fsH/d/jX7knXOPmd/1f57m5/0dSt4z2/bv+R8zf7P1m+Yf2f'; + 'pcgq9ZTguxZTwuyZK0TZLZ6RpApq5udbNwV7Frj1rNDjSvYjcZ12XnG9dhlxl3JjjJuNbvHsLXr'; b += - '/d5Ajt5xvW9+BUn/j/BI8/w+snzP/F+u8/Xf2mP1b9ojzHwH/8/bvmf/F/A/WTzn/yfnfoOQfWj'; + 'osnmrgsmm7vOmmzvGo6zVeqc6TaiJo1WAEH+Ex6oVTj5F+Q14S3NCZzzC/KV8EDbwqm+IA8JrzY'; b += - '/vjFmn4Id9yfk/7Cn7b+yfhTv/k/O7znvfMb9i/aLzO+b/al12ykdOLPy2c/uL1jNHjx5bYeTGU'; + 'ncIYvyC/Cq8sJnNgL8obwlucEzucF+UB4oKDhNF6Q5wNO5nH2LsjfAefwOGkX5OWAU3ecqwvybc'; b += - '3v9dY2GMHOnraEmy/B+2oT8KcpD5mSQGQsyJ4LMaJA5HmRGgsx9U2buBZm7QWbaHPL7OHsnwN0O'; + 'AZO03R2bHhwU7UqzR5VBUWXlVhgVcVFpJVYcFaFRbGVWEBXhUW+lXhgaIqPLhUhQekqoc41i/Qx'; b += - 'MreCzFSQuRlkbgSZ60FmMshcCzITQeaqzDRZV0yxLjfuDvm9gL4C794t+jKvA27KHvI3CoT2AzT'; + 'vql2li/TBvra7Wxvk4b65drY33l9z9Rt0ITdW7ApZQuo7SW0jpKl1NaWWRmVTXrzKpqNoksZyZt'; b += - 'tDPk5hHIXvvRdI/f/fe9QLp15TuTwj4pfgQLrRa/YWFgAnpMY8jeJ9WJ3pkdsgj8rN2UMQd4K6v'; + 'aLVoR3NFBu0UHWig6ETLRBeaJJ5CW8TToiEn1uEM5hmxOie6RSNOVB55kGy7QGPbBWG2XRBm2wV'; b += - 'MXTchzfXq/hHmuUu805rlWvV/GPFes9xXMc916v4J5rl5vHPNcw95XMc+V7H0N81zP3tcxz1Xtn'; + 'htl0QZtsFYbZdEGbbBWG2XRBm2wVhtl0QZtsFP2T2pQaNbVdpbLtaY9tHJNs2htn2o2kSC2bXJB'; b += - 'cE81nY/Qt9AiCvc+1XMc517ZzHP1e6dwzzXvPdrmOfK934d81z/3m9gnpvAO495bgXvA8xzQ3jf'; + 'bMqUkcD4TI0mhNYsGcmkQukEvLojWJBXNqEpqoq43WJBbMqUn8s0B61kXd/1bAphXRFgklkJdH3'; b += - 'xDy3hfctzHNzeBcgjy3i/SY2ygg0wGtAxEYZEP1Uy+PWkP+KQAgbZYwaBaD4RtkoXhOvFJJeAeQ'; + 'X8o4PzSaIuFkvGVUfcfDDpTWbQmVxXW5LT7vxD0Tydak6uaU5PrCbp8MlqTq5pTk3stkCIl0Zpc'; b += - 'AVP4r8GfKhlgHTzqRHPI/3QEcsa7DumblATMKmM9IzARhjgPmsxJzlTAjgHldYq4Q5j409maJuU'; + 'VZQm94pYEKUJbRZ7RT85sPWSK/L88vT88vSDXp7eGF6Y9v0lNwPDFS5JIyu4CVKebTfO/j/sAH4'; b += - 'yYe4DZIjGXCHMXMFsl5iJhpgGzTWIuEOYOYLZLzHnC3AbMDok5R5hbgNkpMWcQ02FNJTAdt/K+v'; + 'VlQzpo50QcRwyaKRlr2zfi3zCziPsEL7D+fV8wnbh+6ZP5hO2Cd+N/UY+YavwPd6n8glbhO8cfz'; b += - 'V78zBE/Q2ma0kpKqygtp7SCUpfSFKVllCYpTaxv+Cfrn/0Z31n/G//n//xe9ZeEvf578K/6S0d8'; + 'Of4H+874N/x5a9CX1Abdmd0AXUlv0Ji6tHzM7NjuTmwGedOpAjObnAX32nT0MmLvBV38E05t8CP'; b += - 'uwfftFM4gPn7P6v4ksgEJCgkRqmAIXYQ/c9+FujpOPp2oP/P733rv5lfEpVx9G1AP3PnD38LXl0'; + '/XtTGPWLfBR38Y05toC//StTGOGLfBN38I05tUCv3SniF+6U8Qv3Snil+5EeaJtFL4n9gyzF/r4'; b += - 'VR98K9PFv/OF3El8S5XH0LUD//W+cPA33V8TRNwP9+M//1dfhfjeO/jrQ//zff/MXnS+JVBz9s0'; + 'Sqftuzavemst+pKQjt73wrRPCOkcfj9Me1FIh/JhJ0R7QUgn9JEw7XkhHddHw7TnhHR2PxmmyZ8'; b += - 'D/7T/7rzeAXhZH/wzQf/FPv/cn9pdEMo7+aaD/X18/Pgm/PyEJiF6Xuwxs9TnxOWra3H3g+G+bk'; + 'lve3PyALSyf60BKVv/SkJSpf6sbynfUAmVLUWyYOy1iJ5UNZaJA/KWovkQVlrkTwoay2SB2WtRf'; b += - 'McmvwSUzzP+HuD/ZYC/CPhdjL8L+IsB/gLg32D8NOB/K8CfB/xzjL8D+N8O8OcA/zzjbwP+dwL8'; + 'LgniI8uLsID36+CA9+LpoHNRk3beXy+zRKB2sWUXfbmkXU3bFmEXUz1iyi7q41i6i7Z80i6u5bc'; b += - 'GcC/wPhbgL8U4McB/yLjpwD/nQB/GvCfYPxNwP+rAH8K8C8x/gbgfzfAnwT8Jxl/HfCXA/wY4Dd'; + '4q6k5qoG9VE3Ygm6obnRd0PRtSNhUTdqTlE3ek5RN2ZOUTdWXt2UXfOnl3UXbBnF3UX7SKi7oqd'; b += - 'IFp8Erv7B+BlTW3G1rHr7SNhMCdVMqmWTGkoyQ5mGkvyT0lCS5VwNJbm0QkNJxi7XULIvVGko2X'; + 'J+ou23mi7pKdJ+rG7XlR9/GKOtwxM5DuHor8J37eEP/KEGcM8a8N8QuG+DeGOGuIXzTEVw3xS4Y'; b += - '0qC1DU49IaSvZP1QmxgkapgkapgkapgkapgkapgkapgkapgkapgkapgpA1Az78vCAu3SUSeHlDJ'; + '4Z4ivGeKXDXHeEBcM8SuG+FVD/JohLhrifUN83RDfMMS4IX7diH76kPupbMx91VrPO2PFq+iAvk'; b += - 'PHynCjDy/MihZcXhIuXF0UFXj4hyvHykqjCyydFJV42iDRecODbBCJ5A/7B9TVhio0oe0m6DwpL'; + 'EYmHlZfKq20Yxl0EEjS9svs+JlyOjopI9O5qFTPjqloV/Npge9V7Nnza3lsTLxE8aQ+zK8ewO8G'; b += - 'rGdJ3GHdMUno2STQbhNwjoFbBJxhYIqAcQZuEnCagRsEnGLgOgEnGZgkYIyBawScYGCCgFEGrhJ'; + '25hV3f8hA14r4kXQ7zs37sJ35vFxMBEwycRn0R8UsPTJ2zw3wUPTg42xMp+4hNm94nVx1fGslcT'; b += - 'wnIErBIzYD1+k4ptmFalXgwIzydQJLjCzUL3GBWaWqpNcYGaxep0LzCxXb3CBmQXrTS4ws2Sd4g'; + '+z27ISZs3JQEP9cAxdtGT3t4TtOg5wiHELjTNw5khnBHahlBBwFC9/xShPJV9VL8o+LozV8p4qI'; b += - 'Izi9ZbXGBm2XqbC0SEK7IWSicQMXukdLKHAtEEyLekaFJI0MT8ISmXFBJUMn8vIycVEnQzfx8jr'; + 'sv0ClqEzvokK7hM07U716UU+3wKtrcX+14X+C2jnsqo3Datew2jKs9gurzcJqp7DaJqz2CKsNwm'; b += - 'ykkKGn+pxg5oZCgrfmvMvKqQoLa5q9n5BWFBP3Nf5mRlxUSFDl/IyMvKSRodH6OkRcDZIc1Tax7'; + 'p3sNwa7HD2jo+77Wdu+ZlpP3PTz0z5mRt+ZtLPXPczE35G7vzt4I2/okzu962TtYsbAJeIOlm7u'; b += - '4WNgXXhTroQ2sLGENvByCW1gfQlt4NUS2sCnSmgD+0poA3tLaANDJbSBt0poA3tm0gZASYWJxaA'; + 'Ak7hVB+5aXwD4pDrYol+SSbnMqF3Nq9XNSlu4ON7J1qH7vbpXayu0+pvezu02o3u7tO7Wd3n1E7'; b += - 'YJAV4DJsfh3NscZ56QNVspCuKM1ScL5uKBUYRvhTCxxG+GMIjCF8I4SOoHITg+6gThOBhVAVC8G'; + '2t1utafdfVbtanfXq33tbrna2e6m5d72EgRq1O52d6na3+6uUDvc3WVqj7tbpXa5uwvUPnd3odr'; b += - '3UAEJwH3atENyDnSoE+7E7heAbJInNj4E1kyWk6t1kCal6L1lCqt5PlpCqI6kSUvV4qoRUHU2Vk'; + 'p7larve7uIrXbHWaE/n53N6l2vMN8kfa8u45YIpaLEubJOPYuhLCSJ4GhKxDKr8kK/IPiUMXQt/'; b += - 'KonUiWk6liqhFQ9mSohVU+l4qXq6RR07vXFE9+N+AdsuZ5E7jQocm8WzYyBp9fLqdg6UgVGYELz'; + 'JIlr1eNRV3iBIqagsbF3oAd9/k4cPGBR+A7wXwNYTvBvBVhGcC+ArCdwL4MsK3A/gSwrcCeBzh6'; b += - 'UyboBoh+EzSGDcTWNC/7HDEOTcg+T1maie2iLE3B3qAszb2eoyxNup6nLM22XqAsTbNepCzNrz5'; + 'QC+iPDNAL6A8FQAn0P4RgCfNTHFzaYbaGR7ntJNlG6mdAulWyndRul2SndQupPSXZQ+J0fFjb5N'; b += - 'BWZpYvURZmlF9MmBTmOag/vkxDP6l2PRqKTadKMWm10qx6WSy1OCfLDX4J0sN/slSg3+y1OCfLD'; + 'ZYOyqWwgHc0WG32byvNqbNhAYwMUuOUXIJvKpnCB21xA2lQ2hwvc4QLSprIlXGCGC0ibytZwgbt'; b += - 'X4J2cY/JM4YLsoNoGz4i0GvcB2MAIDs/6eWWzHOQ/c+QrwgrcahSIAryHwKIpEAHoReAwFIgBfQ'; + 'cQNpUtoUL3OMC0qayPVzgPheQQ+iOcIHhBBWQY+jOcIERLiAH0V3hAqNcQI6iz0lKt3kygfzsoI'; b += - 'GANikMA9iPwOApDAA4g8ASKQgDeRuBJFOoAHESgGTUJAIYRaEFlAYBDCLSiOgHAYQTaSHQnvHmk'; + 'AGjsxn2jL8YwnuIMMu4Y6QX6gE/iwQGSCeqa+gHIebykTHLOOyO+QuRocu9OdCdy7xLOj75SIta'; b += - 'x7peI17XeCtJk3W9VXht8h4hXdb1mvDa6LWTNut6HXgVXpZMFK7Xidd6r4vsE67Xjdda7ykyTrj'; + 'sRSsUIsE1VigVgoqsUikFZJ4YjELA/qHAIZwd9WLupJbpXDH48+pQDZFB8hzeEkxHLApOFPdj+k'; b += - 'e03it8daSIuF6z+A14/WQhu56z+I17c0nHd31luA15S0lxdz16vBqePWktLveMrw6XjXJg/tuqI'; + 'Q/4ilFiGio2dvS7nqnb2AiCrGDmhkOcAuYCR1xTyLCAXMvKqQp4BZDUjryjkaUAuYuRlhTwFyDg'; b += - 'IZSrVxQxVMIe+6oQqmkNNuqIIp5B03VMEU8rYbqmAKecsNVTCFnHKVCrZur8TddJUGtjYod8NVC'; + 'jLynkGCCTjBxXyJOATDDyokKOAtJh5AWFHAGkxchzjuqzwxb1XOfh91l4kzVnnwUlcs4uGxOJOX'; b += - 'lhXgLvuKv2rXQ1xky6mzXOz1o9r1iqfhO0GPeUdaAd/eV6JWWw6QL+L6Ia8qjVsPUC/h2iRVzWH'; + 'tsDLhirg4bA76Zq7/GgLPm6q4x4L25emsMuHOuzhoD/p2rr8aAw+fqqjHoAxE9FRv0JratkK17X'; b += - 'nAXo9xHt5VXtIW8B+ouI9vOqBpG7AP0TiF6RV7WI/AXon0R0TV7VJIoYQB9B9MK8qk3U3ACdR/S'; + 'zX5VMCv9xTyRsCvdxVyMuDXGYW8HvDrHYWcCPj1tkJeC/j1lkJeDfh1WiGvBPx6UyEvB/w6pZCX'; b += - 'ivKpRVOAAfRTRi/OqVlGPA/QxRNfmVc2iOgfoEbSg+M6D5L0FGu8tiPLegijvLYjy3oIo7y2I8t'; + 'An69oZDjgFzKyElGfkSOxXSD4ltZuRuOBQ3xnGoI1Xa7NJRs7p0aSnLIDg0lmWq7hpJ8uE1DSdb'; b += - '6CKO8tiPLegijvLYjy3oIo7y14iLynM5zOZTpr6fykM5HOOTq76DyiM8ZirdllU4vakEMeVLNHK'; + 'dqqEkt2/RULKDbM5DUZ/apKFkD1TdDCtolCpolCpolCpolCpolCpolCpolCpolCpolCoImc/ntC'; b += - 'ivTg7ItF1e1GaqRNE/4YlpD1jNP+GIaULYAT/hi2ly2DU/4YthEthpP+GI4S7YnT/himFG2NE/4'; + 'oh+fg5Zvdd3Ct2cufZwX1sO3fFbdxjt3LH3oIXS2zGy1KxCS84IhggbnGkMEksY9ygFQCxvj8GE'; b += - 'YvhX8gBP+GJYXnIHT/hieonkG57w6T0qEc4EYU62XDFRXjSo2/NCqFflhac+Ky989RPyYoX6uXl'; + '5MK0k6VNsTWbakKsXlb6kFs35ZKEBu4pQbEBnOp/rBZXeo+bHyXig+b6KXWw4Z8qfKwuV/qO7hi'; b += - 'Ro6omLxaqasyLRarK82Kxap68qFVNmReOavFA+/3wzLOQ0kWULqa0VrJTTaz2a4hjoibgptjp+1'; + 'oCk7uFzwsAUnvmlOwXnOLKLsXDCLKDsXzSLKzrhZRNm5ZBZRdi6bRZSdK2YRZeeqWUTZuWYWUXY'; b += - 'GiEzfFTt/htwbcFDt9PwJ0yU2x0/efBLrkptjp+08AXXJT7PT9i0CX3JQoojs0jxeNYmVerBKP5'; + 'mzGhlB1mLVW1/zD+jJA4Gi5Ey9LRCYqQYKUNPKSSGiZEydEwhMUaMlKEnFRIDxEgZOqqQGB1Gyt'; b += - 'EWTaM+LDpHNi07RlRfd4qm8eFqszYtnRE9ePCvm58USsTQvlonqvKgT9Q9SildrPFcd5c/qKEtX'; + 'ARhcTQMFKGDiskxoWRMtRfBSC93Jeh9xQSI8JIGeqvM5CGjunMx8C68Kb5Mf9hjPlZmKTC/5a1n'; b += - 'R3tBdbTjVEf7WnW0e1ZHe3R1VAhUR+VGdVTUVD9EKb5ak+KPalL8MU2Kr9Gk+OOaFH9Ck+JPalK'; + 'vVWAfNQJ1tNlgEnm5bXlLwm5dXmKyaWNFdZIp6tAcaDST6ZdqyssR+SE0cOZ+vfdpP4HnoH6M74'; b += - '8WZPiLZoUb9PG9FZNos+ba/Yf82Yvbmps/gc7eFfHDt7jMDGJq1o1eJ8JCsw0ep/jAjMP3+e5wM'; + 'joRIwN2gaxj0RsgfEcnDwjqCRqIEWrVADeES8nV59GQePVlAj6ORKS6NTOrN8tepN9sP+80C//F'; b += - 'zj9wUuMPMAfpELzDyCX+ICMw/hl7nAzGP4FS4w8yB+lQvMPIpPcIGYYfwaUlZrw/ij2jD+mDaMr'; + 'swKJhCafnDjByRf5QdN/UhqJ7pjYU3TW1oWjG1IaiO6Y2FN02taHolqkNRdOmNhTdNLWhaMrUhq'; b += - '9GG8ce1YfwJbRh/UhvGm7VhvEUbxtu0YbxVG8bnRYbxxA9kyipirIJhfCQhDoWMlYgbJ9+HcVK2'; + 'Ib5vy8+0dv3l2LrJY/ma7FP+I+Rxqd4oVGUFvNtstpwmvLCa/FE1qxAq4OTHOX+kx8kWZ+Ny1mL'; b += - 'yEJtMqi0osMh38UuI7wH98sGW6ToifD+4ZAtY5cZ3oX7ZXsujrv/YMi1scsQ78D9srlr5Y2Ifjv'; + 'gKmGDhHwA0GzhIwycAZAq4zcJqACQZOEXCNgTECrjJwkoArDIwScJmBEQIuWdpEFCPuzDPxjwAT'; b += - 'k5djViQMhK8eqN/tDTo5Vb74QMnKsetMb8nGsevNayMax6s0rIRcntdWHnzLxv01opUVTTrsgm1'; + 'p5DVom3NIIBFAfvarNpjujbHmj2mjTlW7DFtyLFej6nIsVqPaV2OtXpMa3Ks1GNazaoO5dM5Vuk'; b += - 'eHIGtXVpCdq1OQhatLkG2rW5BV6ylB9qynBVmy1goyWz0jyJTVw0423nJ2rfEa2KHGE+xG43nsP'; + 'xTbHQpnySZTbl5eyB8g90VvlCeC72Uje9SLwQnrm9RHX7yW76KipQMNv7JBV4uZt+AhQIzRBfpg'; b += - 'OP57DLjrWBHGa+G3WPY2nXeYnPXOYvNXeMW27tGEmyVOmN5TahJoxVAkP+ED2oVTv4FeU34S/IC'; + 'KvdNPvhQKhWeUrVOBT3VQ5UCA0E/0UFXi1m2oSCoRmr69Sgde6qdqhQGjG+xoV+HQ3tREUCM2SP'; b += - '5/yCfCV80LZwqi/IQ8Kvywuc4Qvyi/Dr8wIn9oK8IfxleYHzeUE+ED4oaDiNF+T5gJN5nL0L8nf'; + '00FPtNNDQoFQjPrz1CBz3ZT60OB0Gz8s1RgYzexChTQp+5+L0QZyDEy3M+hiszZz6NizNndaEfg'; b += - 'AOTxO2gV5OeDUHefqgnwbcMZOU3R2bHiwE/V5mjyaFxVe86ICb15USM6LCtZ5UWE8LyrA50WF/r'; + '7B40eHC2B80cnO1F4wZn90KWolu4fZCjmBZuP+QokoU7ADmKX+G+QYLScV8kGem4r5N4dNznSTI'; b += - 'zoQDEvOrjMiw5I8x7iWD9fG+uXaGP9Um2sr9PG+nptrF+mjfXV3/9E3Y5M1LkBl1C6lNI6SuspX'; + '67iYSio67meSh424hUei4W0kKOu420i1sdzupFba7g5V1dydem9xdpGDYruw01x0l3JixWZ9W8D'; b += - 'UZpdYmZ1bwZZ1bzZpLIcmbSjlaLDjRXZNFO0YkGii60THSjSeIptEU8LRrzYi3OYJ4Rq/KiRzTh'; + 'UHakqDrzpQtRp8xYG20ODLDjSeBl9yoLU1eNwB9tDgiw7wkwZfcIABNficAxyrwWcdYHF/UxVL+'; b += - 'ROWRB8m28zW2nR9l2/lRtp0fZdv5UbadH2Xb+VG2nR9l2/lRtp0fZdv5Ubad/yNmX2rU2Halxra'; + 'hcofYnST1L6MqWvUPopSl+l9DVKP03pZyj9rOxknwhL+o20W88WL4rP5cTr4vM58bzYnRObxJ6c'; b += - 'rNLZ9RLJtU5RtfzBNYv7MmsT8WTWJo6EQWRKvScyfVZPIh3JpabwmMX9WTUITdXXxmsT8WTWJnw'; + '2Cx6cmKL6M2JrWJvTmwTfTmxXfTnxA4xkBPPiTdyYqfY9SClwIthKfA6DAPIuy+GpcDrxMLPwzD'; b += - 'ylZ33c/W+HbFoVb5FQAnlZ3P0HQs4vj7dYKBlfHXf//rAzVcRrcvOimpx2/xfC/unGa3LzZtXke'; + 'gFyiQAs9TgU0wDHCBkBSQ5h4YBrhASApISxAMA1RJYSkgjUQwDHCBkBSQ9iMYBrhASApI0xKMB1'; b += - 'sMun4rX5ObNqsm9FkqRsnhNbl6cJveKmB+nCW0Su8UAObD1kSvy3PL03PL0g16e3hBdmA78JTcB'; + 'wgJAWk1akbugUVCEkBaZDqhv5DBUJSQNqquqGjUYFACkj7VTd0RaB8wq/jFzQbmW8+8QtQHb8UY'; b += - 'wxUvSSMreElSnh0vwf4/7AB+BZUM6aOdFAkcMmikZa/swIt8wikgbBeBw/m1QsI2EfimTxYStor'; + 'T7hArKOPxlhPuECso5fjjCfcAFZx69EmE+4gKzjT0WYT7iArONXI8wnXEDW8WsR5hMuIOv40xHm'; b += - 'Ajf16IWGLCDzebxQSNovAOf5mISH4+MAH/44jexP6gDqyO6ELqCP7ExZXj5iZm13JzaHPOnUgV3'; + 'Ey4g6/gzEeYTLiDr+LOB+cRhWXTfUS1Dff2eo5qS4LuOanuCZxzFLATfcRR3sRLgKHZkRcBR/Mv'; b += - 'Jykb/6joCGTFzkq76dacy/RX7q25jGrFvko76Vacy1Rf7pW5jGDFvkm76ZacyrRX7pbgm/dLeEX'; + 'KgKMYnhUCR/UQVgoc1aVYMXBU72PlwIGOli+LHqIpxCmidd5wimidU04RrfOmU0TrnHaKaJ23nC'; b += - '7pbwi/djfNE2yACT+xpZi/08ZVO23cdXvXWWvQlIR2970VpnxDSOfx+lPaikA7lI26E9oKQTujH'; + 'Ja522niNZ5xymidc44RbTOu04RrfOeE611AvvhOl+aJzw0NNrZk0awfI7waAAjv2dHAhg7SHY4g'; b += - 'o7TnhXRcH43SnhPS2f1ElCZ/lvS2Py0LSCf7UxKUvvUnJShd6scKnvYhmVDVWiwPylqL5UFZa7E'; + 'LFHZe/HguVzhO8FMPbZ7N0Axk6enQlglArZOwGMYiR7O4BR7mRvBTCOVu3mno/BoFyMFc8VY8UL'; b += - '8KGstlgdlrcXyoKy1WB6UtRbLg2+U4MFdJXjw8yV48HPxPKjJuCk7X9inUTrYM4i62/YMou6OPY'; + 'xVjxYjFWHC/GipeKseLlYqx4pRgrXi3GiteKseLELKyoSURbxRRliWirmKIsEW0VU5Qloq1iirJ'; b += - 'Oom7ZnEHV37RlE3T17BlF3355V1J3QRN2oJuqOa6JuZE7U/XBE3VhE1J2cRdSdmkXUnZ5F1I07M'; + 'EtFVQUZaItooqyhLRVmFFWSLaKq4oS0RbBRZliWiryKIsEW0VWpQlos2xRefF4Q+/OIww3kq7rV'; b += - '4u6M87Mou6cM7OoO++UEHWXnQJRd8kpEHUXnQJRd8GZE3Ufr6jDHTODmZ7h2H/iF03xS6Y4bYpf'; + 'jsO/b5llMymuropI9O5qFTPjqloePoiagZbhPkg0hWU355Au8y8WKIGv8ueqOlfBA1fBLxvg9iT'; b += - 'NsVXTPErphg3xVdN8TVTfN0UZ0zxDVP8qinOmuKcKX7NFL9uit8wxXlTfGCKb5riW6a4YIrfNOO'; + 'd7LE76R1sZYkw2xsj9fZ244UUs+iPH9ntEQE7FGc9h0Tbh7/X4RS//Ptrke3m00mpu2l+MBJp2D'; b += - 'fPux9Kmd4r9rreGeseBUd0NcLEzMvi0/VNVlGFh00crT9MidehoyOTgXoVAE6HaDTGvrVXGbIfz'; + 'hEXMOhs+NHvBHPTWo2m44X28+aLprXp/g/jJEWB8C+YR593VwH8m8P559xHIGdAjzrs2KZDnXYc'; b += - 'U3bm2pNCrET5vD3svw7vXwbriFXd3xE9bjvRZeTPFycO9GfG8OExMTDZ9CfArxKQ1Pn7A+eBc8O'; + 'U5fOuSyr3ebcRHjhqDrpZ9DdzBskFbQKu6H92Ga4L2RuOPM/uGYPkdnYbrovZP81dwr5n5OYGgx'; b += - 'DXUaFT89CesnmOrjq4wcleSe32n0RAObkqCn2uC4u2gpz08p3nId4VLCNzpmwAyQ7gjtYKg/QCh'; + 'X5uMGgQ15tMHi46M8IE1m3Lnv3Oz/+F3F3TfY3/nL0jxLuo9n/MvHjX7Hcx7L/cebbPx1312ZL3'; b += - 'e345QoWqejn+UXH05q8WCVFRWKBaVGd2UqGdwuGdqX6DaKBb4NV1uL/aDD5B7Rz21MZhtWtYbRl'; + 'cdl/glJe1KWbZL3Nku4RdJbZfk2SW+XcEbSO2T5Tknvgt86bg6usWJQI57pPsV14Fnu08J0y4Xl'; b += - 'W+4XVZmG1U1htE1Z7hNUGYbU7WG4Ndjl7J8DdDjK3gsxUkLkZZG4EmetBZjLIXAsyE0FG7vzt5I'; + 'VsC1DK4lUBLDhG+gsjDXjaF9HYGNMKPdBJPgjTDx3QST3o0w4YVGGDW9uLsOcydNL+E+AzewZ6G'; b += - '2/okLu962XtYsbABeLelm7uAk7jVBh5aXxD4pDrYrFhSSHnMqF3Nq9TNRnesKN7F1qH7vXrXaye'; + 'XdLsRfcr0St1nRdxdLhLuCpF0U6LUrQTYA3glwPUAC2DEx210KoRZvpcWLchHhijJoKHeEGUZtN'; b += - '0+pveze02o3u7dW7Wf3nlE72r0etafde1btavfWqX3tXqXa2e5l5N72MgRq1e52b4na3+4tVzvc'; + 'Ebwsmged4QqzNomTdERQaN8oYoz6A93hBuBk3xhngkg1Z4QzydQQO8IZ7KoO3dEI0Z8wxe7Yx5G'; b += - 'vaVqj7s3T+1y9+arfe7eArXT3atRe929hWq3O8wIg/3uXkrteIf5Iu1591yxWCwTZcyTCexdCGE'; + 'q9WBj4PrmbGHMPrqgz8Crg2ZOB3wXVHhzWM1+0d1j0Drts6rBm8bumwbuN1V4c1jdetHdYUXjd2'; b += - 'lTwJDVyFUWJNV+AfFoYqhbxWQbGedairuEGVU1BEOLvQA7r7Fw4eDCz4A3wvhqwjfDeErCE+H8G'; + 'WJN43dRhTeBVZDCgvSHqM+j4aYiV8P149eD78VoJ34/XFHw/XlfA9+N1OXw/Xp+F78drN3w/Xp+'; b += - 'WE74TwJYRvh/BFhG+F8AWEp0L4PMI3Q/gcwjdC+AzC10N43MIUN5uup5HteUo3UrqJ0s2UbqF0K'; + 'B78frOvh+vJbC9+M1Cd+P10QGo2OD6MhgVGxDdGUwGrYhOjMYBdsQHRnzGFwyGfM9uLRnzKNwac'; b += - '6XbKN1O6Q5Kd1L6nBwVNwQ2lfXKprKedDRHbAhsKs+rsWE9jQ1Q4FZQgGwqG6MFbnMBaVPZFC1w'; + 'qYb8HlyYx5AC5PZMx9cFmTMfvg8mjG3AOXxzLm63BZmzHxUIPmjPkyXFoz5i64tGXMbdBuF8jDb'; b += - 'hwtIm8rmaIFpLiBtKluiBe5yAWlT2RotcI8LSJvKtmiB+1xADqHbowVGklRAjqE7ogWOcwE5iO6'; + 'Gn2aix9w8Y+gI6sJiBAPpWuMWMdFjboUsrdRvffMZJnaWAtJhlrLKjeUSRNAA+42K2gCMK34eqk'; b += - 'MFhjlAnIUfU5SeqwTSeRnFwU0cGQh01bgH0twFxl2MXeEwkJl8GeDyADxTH0F5TjcVCE6ZxiXvW'; + '/7MJ0mEhPi+unrfQf54l6pBSrih1lIPH1aExnm9egEUSqsiC4OZapFQoSq1/c21wcxUWSaoiVcH'; b += - 'FvETp0oT8XunOJZ0HfrxQZUSuWiOViqZgn5osFokYsBGmVEq5IzvCgrmGQEfxtlaKB5FYl/PHoU'; + 'Ny5BSpijL/JuX+Tfzj8Nk1Pwy9MBs+l3JYIB6DZPTgN/I+NMSvw+TC4DfwvgLEv8eJpcBv43x1B'; b += - 'w6QQ/ERMhxOQiwDTAb+ZPdDOuTPQ4mlqNg4uWtyrurkzgFyHiMnFPIMIOcz8qpCjgNyASOvKORp'; + 'GwGhE/BvjtjB+T5fdgchbwOxh/VuLfwmQc8JsZPy7xw5ReBcJWJlDPI3lBIHWQjQqk/rRFgdT9t'; b += - 'QNYw8rJCngLkQkZeUsiTgEww8qJCjgEyxcgLCnkCkElGnlfIUUC6jDynkMcBaTPyjKv67IhNPdd'; + 'imQeut2BVJn26FA6pubFUhdeasCoeeXiGqfoUzIQjWXqGquDhqgBinLFaXGb4CaoPUiWWYJ3rdC'; b += - '9+H0W3mTP2mdBiZy1yxoiOWuPNYArZuuwBvDNbP3VAM6arbsawHuz9VYDuHO2zmoA/87WVw3g8N'; + 'UZb49y0J7ovklsV4X0pRFvv3LQ7ui2SURXhfpaIs8u9blMcoE5SOGsQpqXdlVwbUFKWnDWIVJJy'; b += - 'm6qgF9IKanYoPexLYVsnXvqya/EfLrPYW8HvLrXYWcDPl1WiGvhfx6RyEnQn69rZBXQ369pZBXQ'; + 'WhNuUXjCIV5BwQRLuUXrZIGZBwmVJmKR0zCBuQcKYJExTetYgdkHCWUmYoXTcIH5BwrgkoIAEfj'; b += - 'n6dUsjLIb/eVMhLIb/eUMiLIb9eV8gLgFzCyElG/oAci+l6xbeyctcfCRviOdUQqu12aijZ3Ds0'; + 'GIX5BAko75BUESSBsVSPJriwJJ3G1TIEnH7Qok4bZDgSQLNyuQROdWBaKkRTEUCCFTREieSJnjF'; b += - 'lOSQ7RpKMtU2DSX5cKuGkqy7RUNJbt+soWQH2VSAoj61UUPJHqi6GVbQKFXQKFXQKFXQKFXQKFX'; + 'uGUueVKJJPMLU0i+eP7kiHJWWRIchYZkpxFhiRnkSHJWWRIchYZkpxNhiTzZUgyX4Yk82VIMl+G'; b += - 'QKFXQKFXQKFXQKFUQMl/AafOE5OPnmN13cq/YwZ1nO/exbdwVt3KP3cIdezNebLEJL0vERrzgiG'; + 'JPNlSDJfhiTzZUgyX4YkWYYwT2hyJFKEfAjp8SEEx4eQGXOKC+AI0MqQAdyd1E7uc9Ts7vPUOu4'; b += - 'CCuMWRwiKxjHGDlgPE+v4YTEyqSDtV2hBbt6UqxOZtqQexfVsqQWzglhoQG8yl+sNmdan7sPFdK'; + 'L1Njui9wm7ie407svsYBxP8l93X2Z5Yr7Cndx91MsTtxXuWe7r7EUcT/NosPdxGLK3cgSA5RCkk'; b += - 'j5sopdaDxvypcrD5n6p7+CKgabs4HLBwxac+KZZBecZq4Syc84qoeyct0ooOxesEsrORauEsnPJ'; + '7uNhYUoBySUAIFkeSDu5llEWiTBuqDoPkRG7ufQXgMo1/B9RxGySI2dj+L8FmMlgXXSxgNi9jYf'; b += - 'KqHsXLZKKDtXrBLKzlWrhLIzYcUrO8harGoHY/5pJXEwWIyUoacUEiPFSBl6UiExTIyUoWMKiTF'; + 'R3hcYyKBddrGBWL2Nj9HG34wOhYaa1zPyKVx8915CuNqySXvN7BnNYg+4WQzPTZDmbIetmPVkqe'; b += - 'ipAw9oZAYIEbK0FGFxOgwUoYeV0gMDSNl6IhCYlwYKUODVQDSywMZek8hMSKMlKHBOgNp6JhOfw'; + '+0wH860n+91WqRxulsrhDqkcbpfK4TapHG6ZRTncKj5N/SMhZZfYLF77ssesnPDl6GbOXwlEXcI'; b += - 'ysC2+aG/Mfxpifg0kq/G/b61hvFTAPdXM1ZBlwcxl5TctrSl4dvmJiS3OVLRK5WmA8mOSTacfOm'; + 'X4zvEq9QhE74o3C4+9WVvuypEAno75y8GgjThjw/bxCskABK+ZN0iXv6yt0UVIsm/hfNnAjGd8A'; b += - 'XshOXboYK7hHS+F76F3gO6M70iKJNwNuoZJb4T8IZE6KOxDaCRKolUL1BAuIV9XQE8V0FNF9AQa'; + 'eejeKTJHASvqDeJF76srdJFaIhZRPntUEg4Y9on+ggOSFe7EB5JF7oQHEinu9AqSWe60ChI3Z2o'; b += - 'mRLSyKTeLH+derPzsN8s8B/PBmwalnB67gIjVxUORfctbSi6Z2lD0V1LG4qmLW0oumNpQ9FtSxu'; + 'GxDPXvbPynhPq8gfjAF8UdZuM/rgvO64LwuOK8LfjBx8XjW2O8+zp3Q2+53Q1IfUI/C/u/t8CXA'; b += - 'KblnaUDRlaUPRTUsbim5Y2lB03Zqbd//4zbvrkNUKJ9N1+Efc50qjU6LYCOqo2XYlTXgdOeG1eU'; + 'TkKv5L7sbfF783OErmQx4m3zBcnzhF7BIsHb6guFFwj9LEsjb5cvj14k9DMsWbxNvmz5BKFLWah'; b += - 'IrlsPVhWnukoCJz9PM76bNzEXADQbOEHCdgXECJhk4TcA1Bk4RMMHASQKuMjBGwBUGThBwmYFRA'; + '5G32x9hKhE8JXe0A33Oln68VzfnY5OVJQNiVe8LPrxIt+tlt8ws/GyTeLskmRbqSDhUA/3Oa24W'; b += - 'i4xcJyAi7Y2EcWIO3NM/GPAxGlktXhbMwhgUcS+Dqv2mK7Js2aPaVOeFXtMG/Os12Mq8qzWY1qf'; + 'WX24qXl91mvLzmrsXL6+5jeNnjPoqXPncNXva5T+DlgPskXt5ym/By1G3Hy3tuBi/H3A68gGrdi'; b += - 'Z60e09o8K/WY1rCqQ/lMnlV6TNMstCmfYplNeTl7oPwDnVW+EJ2LvdRDLxIvRGduL1HdfrKHvoo'; + 'dcRAzdZo03UtfB6klRXUnFXSdWX7Nug4j6N1zOma0tVt1GqwE/hFVTdCrxeRJWWVV5XqsLleAWV'; b += - 'KFM32PkkFXu6hnwAFIjPEl6nAKz30e6FAZFb5ChX4VA9VDhSIzEQ/RQVe7aGahAKR2eurVOC1Hq'; + 'twSvV0gFJtXXkSpxWcpwRIy05c14hVt3SkOgJQ2BFhsC75tsCbxnsinwrsm2wBmTjYF3TLYG3jb'; b += - 'p2KBCZ8b5GBT7dQ20EBSKz5E9Tgc/0UINCgcjM+jNU4LM91PpQIDIb/ywV2NBDrAIF9Kl70AtRB'; + 'ZHHjLZHvgtMkGwZsmWwSnTDYJ3sBrSwa3EpBt8LrJxsEJqVtfs6Qh1JKGUEsaQi1pCLWkIdSShl'; b += - 'nKMDO9zqCJz9vOoGHN2F9oROPsGGjw424tmDs72oXGDs7shS9EtvH7IUUwLbwByFMnCG4Qcxa/w'; + 'BLGkItaQi1pCHUkoZQSxpCLWkItaQh1JKGUEsaQi1pyLWlIdeShlxLGnItaci1pCHXkrq6JXV1S'; b += - '3iRB6Xovkox0vddJPLre8yQZXW8jCUXX20Ty0PU2kyh0vS0kBV1vK+kWjreN1ArH287KurcDr83'; + 'xqibWmItqUh2pZzClsaom1piLalIdqWhmhbGqJtaYi2pSHaloZoWxqibWmItqUh2paGaLSATtq4'; b += - 'eTlIwHE92mmuuEm7M2KxPK/iqCzWlwVdcqFoNvuxCW2jwJRcaT4MvutDaGnzBBfbQ4PMu8JMGn3'; + 'sx/jPajxKku5CYqkYON2rA06dQPlppCKsSV2Eha3u/jZ4SA7Yw+K9cHN6+EKU7wY9En7mIeSmfY'; b += - 'OBATX4jAscq8HjLrB4sKmKJf0LlL5E6ScpfZnSVyj9FKWvUvoapZ+m9DOUflZ2sk9EJf0G2q3ni'; + 'dxcTGbh40NtNqC7nyGLgBR3CZGJFMIo0i6WQBySDSPfym+7ZO2iRNwk24koR7Ys30f7OkTZm2+J'; b += - 'BfF5/LidfH5vHhe7MqLjeKNvNgkevNis+jLiy1id15sFf15sU0M5MV2MZgXz4k382KH2PkgpcCL'; + 'uDvDBEXbAt/W2U5I1YeMIa5KJoMgbZjHTqSmvTf48qgBhkMzIWivMzaFLZkP4WPqNmkK3LSJZ31'; b += - 'USnwOgwDyLsvRqXA68TCz8MwEBQokgLPU4GNMAxwgYgUkOYeGAa4QEQKSEsQDANUSVEpII1EMAx'; + '2BSl/4md1TDo458yvDM/V48izvj4i/Ucu88iae620cHua+/x08fNuA7CEtRCPoYe8BHJhl+bRAg'; b += - 'wgYgUkPYjGAa4QEQKSNMSjAdcICIFpNWpB7oFFYhIAWmQ6oH+QwUiUkDaqnqgo1GBUApI+1UPdE'; + 'j7LbBlEoNpovCnPQLc/SghgvB1bQesg4be0uxeaRwp/OEEuJch2Fx6ZViqSOwqPYPFofVCg80W0'; b += - 'WgfCKo4xc0G1lgPgkKUB2/FGM+4QKyjj8ZYz7hArKOX44xn3ABWcevxJhPuICs40/FmE+4gKzjV'; + 'lrdipgYSVogsO8i5lZzDLo88wRgDhsWsMsxZlz0J2Ay4v/cHXvzL2nwHxIsC4/PTXP/OVsVaeqI'; b += - '2PMJ1xA1vFrMeYTLiDr+NMx5hMuIOv4MzHmEy4g6/izofnEZVl031UtQ339nquakuC7rmp7gqdd'; + '3LgBTYgL5BH0epLG7zMbPp7V59bfbWL8Iw/H9ZXgmNSvGOWFJQdhyyMbkSVAKDsaagTdj4/DIYO'; b += - 'xSwE33EVd7ES4Cp2ZEXAVfzLyoCrGJ4VAlf1EFYKXNWlWDFwVe9j5cCFjlYoix6iKcQtoXVed0t'; + 'zXkjEM/QMiRUL6jcidWuIeNDi/cL+prPXpxqjZ7V764PnhxffDiEhjMtadPyVdW6sjh+Ad5ZSp4'; b += - 'onTfcElrnTbeE1jnlltA6b7kltM7bbgmt845bQuucdktonXfdElrnPTde6wT2w3W+DE94aGh0ci'; + '5chX+ZWVwSsrg1eWCU9/+hg/vUSs1LFn4/gh0a8s014Zx1eatdlTX52reuO4FrxfmLXAbmWQ5wf'; b += - 'fMcPkc4dEQRn7PHQ9h7CC5kRDGHpW7b4TL5wjfC2Hss7m7IYydPDcdwigVcndCGMVI7nYIo9zJ3'; + 'B2FmBekQFMEkaGbsUL6XAa3ApB/5KIwsn8JJIGWVl0Eppf5GW1oEbzTQm1ek/s0QsG4PRxkxZZT'; b += - 'QphHK06rDc+BoNyKVY8U4oVz5VixfOlWPFCKVa8WIoVL5VixculWPFKKVa8WooVJ2ZgRU0iOiqm'; + 'H4y967eDWWbc+Ov4/KlxnDeDJ0I60Cc1+wPesFG9eAreyNX4Nio1SMg6iYR2lPFGaNQXwuxjuJz'; b += - 'KEtER8UUZYnoqJiiLBEdFVOUJaKjgoqyRHRUVFGWiI4KK8oS0VFxRVkiOiqwKEtER0UWZYnoqNC'; + 'y8szy8szy8szy8szy8sz9sN5xeW542J88bEeWPivDFxfmF5fmF5fmF5fmF5XkGcX1ie1wXndcF5'; b += - 'iLBEdji06Jw5/9MVhjPFW2m3FosCxL7CcktFUR6cCdKoAnQ7QaQ2dQE9EzXCbJB9Espryy5N4l4'; + 'XXBeF5xfWJ5fWJ5fWJ5fWJ5fWJ5fWP4RX1i+/A0Yhqd/AAvLE/LFH+PC8pR85ce4sHx7zur9+Be'; b += - 'UXU9QGd9EbbeWDqOFTiA98EGsLXp4MjLQOxppsNCr+fK21/lgd+SAm9vpmoyGMJmvE8iy4e91eY'; + 'WJ79FC8ujv/2BFpYvfPMDLyz/pzaz7cRSXFietvZ7VgPyzkk+YmIVr83ijQaGpuDMsJ+5H5OZe3'; b += - 'WT+h22tg3ebTdbGbZV4gEnXEGERs9aBD82ds4b8dWgabvwAbz5v+Ss/WC/+yXFgfBvmEWe9VcB/'; + '7mrp+Z8TN3/MxtP3OLMqwV7IFPxcCWjjwopVJUFhxIQSG2Mc5gZShEG/yUpoIo/6b/5U14Vgpnm'; b += - 'FvD+We8RyJnQI856DimQZz2XFOWznkcq91mvCR44ag15OfQ3c4fIBW0Cruh/dgmuC9gbjjzP7pl'; + '/G0FM624HkpnG3FE1P4S9rwzBTOtuOpKZzN4LkpnE3huSkxeQqIKX+Ji/wjf0sSzzzZAyLLonNB'; b += - 'D5HZ2G66L2D/NW8y+Z+TmBoMV+bjBoENebTB4eOjPCBNZrz5399/81L9PeKtz3/6L0T9Jeo/m/u'; + 'SjmUv5cW6cJfg0e/lIjSQgLGnDZCv8aCG276MdOtdpjR5QAz5QdMB8xlwtzwo6UD5hJhJv1Q6YA'; b += - 'vET/2C7T2W+8/T3/2nCW9Nrtx7XOafkLQnZdlmeW+LhFslvU2Wb5f0DglnJb1Tlu+S9G74rReso'; + 'ZJ8x1P046YC4SBiOnL5aYC4TBsOlLJOYcYTBmeo3EnCXMFT/iOWDOEOayfzQBYE4TBkOl10rMKc'; b += - 'dW2ATXiW95TXAe+7T0tLK9S2F4VXCvgWgYlMUz4eioLc10D7esIbIAZ7UaYBG+Aie9GmPRugAkv'; + 'RgIEVMMZJDhxbD4SlKn6Z0HaXPUNpN6bOUrqc0K6NXYbpRRnLo9CM5dKhIDh3d+KZa0RmOYdVBA'; b += - 'NMKo5Se8tZg7YflJ7xm4gT0L/ZTXg+iTll/uPSsS3jKR9JaLlJcW5V41wD7AKwBuAFgAIz7uoFM'; + 'Qo6OIZtpx/I4ako+lKgyzgOT0fRa4Auwzisi6IvAbqM4vBMFH0x0GUQh+4o+iKgyxgOz0bRq4Eu'; b += - 'hzPL9jGhFPjJFWRYN9aaoyKKN3hRuFs3zpliVRcu8KaqyaJQ3RWUW7fGm8LJoijfFI1m0wpvi6S'; + 'Qzisj6IvBLqM4JCNoi8AugzgsCGKXgV0Gb9hoyRQXH/8w4CJdAJPBY5+heyNXA/cX3isDzU+jPe'; b += - 'wa4E3xVBZt76Zoylqn8epkrVN4tbPweXC1stYYXldm4VfAtTELvwuu2zvtEbxu67TvmXDd2mlP4'; + 'Q3mF+GCXgNgMjBNxiYJiAaQaOYXKT8+9hMsX5o5jc4PxbmExy/gAm1zm/D5MJzvdhco3zezC5+j'; b += - '3Vzp30brzs77Sm8bum0b+B1Q6c9ideNnfYEXkUWA9qboiGLjp+mWAHfj1cfvh+v1fD9eE3D9+N1'; + 'FwIrxoTkbsk/TZGHEf0WdnxANEn50R3yL67Ix4lOizM+J7RJ+dEY8RfXZGxJackxNHuMDsrDjKB'; b += - 'OXw/XpfB9+P1Wfh+vPbA9+P1Gfh+vK6F78drOXw/XlPw/XhNZjE6NoiOLEbFNkV3FqNhm6Iri1G'; + 'UK8iKzE53jxYVwO/hWyXGkhio6AKeRYPHqlQVSEbsfDkyhobZiRYeZnUWBQC+MsY9pI+buUb6D8'; b += - 'wTdGZtY7AJZu13odLR9Y6DJfmrPU2XJ7MWvvg8kTW2gOX1VmrHy6PZq034PJY1nodLmuyFh5q0J'; + 'DOUF5e9Qvo7ytylfQ/lblK+m/DTl05S/SfkU5acon6T8DcrblJ+kfCz3EdkX0w7FxLKeO44FjbJ'; b += - 'K1XoZLW9baCZf2rLUV2u0ceZgtyV0xMr/vYB9AR1YLECCfyldbRqeNDbqEcrfR/XeM5FkGWItJ5'; + 'RNYpqyA0aSjZ+VkNJflmvoSSLPauhJFd2ayjJyM9oKMn76zSU7C5P56Gohz2loWR3VJ0OK2iUKm'; b += - 'mobqncUSRPAAx52KyiC8G24upm/skA6LMDnJdTzFgTPs0U9UioVpZ5y8Lh6NMbzzfOxSFIVmR/e'; + 'iUKmiUKmiUKmiUKmiUKmiUKsg/YsLjmHzEdPJJwBgX5ekg3uac6u+ocQG6BNFbcqrWAI3H8VQge'; b += - 'XIeUKkWpC26uC2+eh0VSqsi88OalSKlQlKXBzUuDm/nHYTJqfRl6YC7znmQwQL2GySnAb2D8KYn'; + 'mtO1RwqPYCuQ/S2nKo9QOORPMsRvT2nahDQeCjPCkTvyKlaBDQey1OP6J05VZOoYwBaIHpXTtUm'; b += - 'fg8k5wG9m/DmJfx+TS4DfynjqCFiNiB8D/DbGj8nyb2AyDvjtjB+X+LcxuQD4TYy/IPEjlF4Bwh'; + 'oPFoHhfRz+VUjQIa54seop/PqVoFNB7PsxLRL+RUzZJ4trzOB8l1XRrXdYW5rivMdV1hrusKc11'; b += - 'YmUM8jeUEgdZANCqT+tFmB1P22KpB66zYFUmfbrkDqm5sUSF15iwKh55eJmoChLMhCNZepaq4JG'; + 'XmOu6wlzXFea6rjDXdYW5rivMdV0Pket0VtP5S2cqnZN09tF5RmcUnTt0lnhea3DZ1OKFgDceVL'; b += - '6AWKcsUpTZogNqw9WJZZjHet1xRFgf3LQ7vi+WWRXhfWlEWBfctCu+LZZSFeF+1oiwM7ltYwCgT'; + 'OHKmuTPJ8homo5euhT3SQCo5pDVnQ3ycuoJpRt0E3CNarZZfN0kySOYhXZct0ktqPYSzZqN8n4K'; b += - 'lI6axCnp92RXBtQNSk+ZxCpIOCUJtyk9ZxKvIOGcJNyj9JJJzIKES5IwSemYSdyChDFJmKJ03CR'; + 'JaU7d1NA0IUG0tW6KbRI4r1syoKFxcIdZcNfhTie1wg6Fsb/TEVRy+xWbETxp0NIvRu1aL3blNf'; b += - '2QcK4JExTesEkfkHCBUlAAQn8YhK/IIEkHfMLgiSQNiiQ5NdmBZK426pAko7bFEjCbbsCSRZuUi'; + 'hsFo16v8DvWbMSptt8rvUrWJIWvXqfzzqp1y4gXVqDnRGUTDfOiq2LAlVhaZFHhFJgVukUmBKDI'; b += - 'CJzi0KREmLYigUQpaIkTyxMscrwSmzy5VYJpldmsTyx/clQ1IzyJDUDDIkNYMMSc0gQ1IzyJDUD'; + 'pqC8yKVhRZFKwvMikoK7IpKCiyKSgpMikwImeFDTAX0hJctSEFQfJEjVZxbGxQk1UcUisU5NUHA'; b += - 'DIkNZMMSRXKkFShDEkVypBUoQxJFcqQVKEMSRXKkFShDEmxDGGe0ORIrAj5CNLjIwiOjyAzZhUX'; + 'mXqwkqDoAr1OQUx716NTHF4U6oSSmOcq6akOLg5qnJKI5pK9VEFIcyGsF4Kjo/jv2TGsc6QuPYv'; b += - 'wBGglSEDeDuonbznqNm956l1vBeosb0XuU28T3Cn915iAeN9kvu69zLLFe8V7uLep1iceK9yz/Z'; + 'Lj54RM3tqgUaT4yJCx2fDvZdTMnfAvZBOR929g1yPtWsauQ9+1hVyDvW8IuQ963gV2CvG/9Goe8'; b += - 'eYynifZpFh7eRxZS3gSUGKIUknbytLChAOSShBAoiyQdvE8si0CZN1AdB8yM29j6D8BhGv4LrGY'; + 'b/e6CHnf4nUB8r6t65yp2brOmvOTs499cgZDgKnPymAQMPXpGAwDpj4Pg3HA1Cdg7eZJU595tZu'; b += - 'ySRWzsfRbhcYyWBdeLGA2L2Nh7HeELGBULrlcxKhaxsfc52vCB0bEyWud+RCqPn+ssVBpXSi55v'; + 'jpj7lajdHTH2uBaOJqU+y2s37hj67ajfvGfq0qt28a+TPp2bmTaI/5CbRAiPok9rRv02iWbSIVt'; b += - 'ZM5rVH2CyGZ6bOdzJANsh+tkDz3mU7mW1/2uy1SOdwklcPtUjncJpXDrVI53DyDcrhFfJr6R1LK'; + 'Em2kVGpES5iIuESGqnA7upbMwtt9ZLg1M5Ln/hWiFkkiIVBLS1OVxuEiPTauikj07moVM+OqWhc'; b += - 'LrFJvPZln1k5GcjRTZy/HIq6ZCDGt4tXqUMmA1G4TXzqy/42VYgE9DbOnw8FaTIYH7aKV0gAJAP'; + 'RHKK8+O8cFqq4bUaWoxjMFbJr+A4vKaeDFE0r+1DF+bUKFxNXxykJZIefkqmfcFcf9VFh6k2RAr'; b += - 'Julm8/GV/sypEkn8z50+HYjoZDDwbxCdJ4CQDQb1RvPRlf6MqREPKRs5rg0AyGNE+0UlyQrzYif'; + '+81VRuWJlbHscHy/ZzbgStRpZ5BWouVyqkkL7LjqrBCjhKgJEMOESAeIeza/3UcIg9dhbVrTw11'; b += - 'JIvNCJ4kQ834lSSzzXiUJH7OhE2YZ69tZ/VMJ9TkH8cArij7Nwn9MF53TBOV1wThf8cOLi8Zy51'; + 'U5fDTC1aJhmlRyQwT0LJt0J0FhCZsGTuM5zPSjcLByKR1qwS2ZegVNhrPS8IEXBuyMCZyIWGSVs'; b += - '3ucO6G/LeiGpD6gHoX9398eSIAdhF7BfdnfHPTm5whdzWLE3xoIkucJvZxFgr8lEAovEPpZlkb+'; + 'gqIggOLplZYQKeXFoqnAhCDJu6MuLlNnJcaYhAi1CFv9nBta1k+CG4+JUSZmFlYIXGC58Lf+nPP'; b += - 'zkAevUjoZ1iy+BsD2fIJQpezUPM3BGLtJUInRaD2gG64I8g2iOeC7DJypKBsWrwQZNeKF4Nsj/h'; + 'dRr5YN7pfP9P+oB/OCSB/cDkh/+UUbxW+2P/qHWP4pHJD74I+wH1zgf4sMfwG91Pvoj0h/8EeUP'; b += - 'EkE2QbxZlUyLTRAcLgX641WvHy06vDS8vey14ec1bg5fXvcfw8ob3KF76vdV42eM9gZd93pN4ed'; + 'vv9b/yi6R8U/CsZNff+PSDz4Fkn9QBj5ATRisWvpQ5WBD1DOP8Bh9gHwx0dokdSHv7X0B3Lrx8D'; b += - 'trxsthrwMv73tZvBzxOvECqnUXXo+buMkabaIeWa1PkOpKKu5KqfqSfRtU3KfxetryHKnqNkkV+'; + 'gZQ+PwT/CYGD9QMbMD/Hh9j+qvvEQh+UHwCfGQ9UXH+CtP1jue4A98oemxj8Eg5b8o6im1A9LDf'; b += - 'Cm8gqpbhdfzqNKyyutJVbgSr6DyluH1MqnApPq6UiWuSJuuMEhb3oRXuHWHNATa0hBosyHwvsWW'; + '9TutX6gYi7AjUpFmXxGSbv6O+sMetOrDouzVboHW2RBaecbmka9NgjEg1KJShj0gfRAwcKLAhLn'; b += - 'wHsWmwLvWmwLnLbYGHjHYmvgbYvNgbcstgdOWWwQvGmxRfCGxSbB63htzeJWArINXrPYODghdeu'; + 'AX4R8XRPlMjygs7Rrm00FRLa9AiKowmpgpRLRbRs9GulEQo/9Yk/kHxEnhIwZSkQtq1FksLzRLl'; b += - 'rtjSE2tIQaktDqC0NobY0hNrSEGpLQ6gtDaG2NITa0hBqS0OoLQ2htjSE2tIQaktDqC0NuY405N'; + 'wxkXi8USeirayRYilH/rQvyD4vDMwjqLw6uSdHy2RYe3k6syHdxm0fnt5Kjsw+csdlP24bMWOyn'; b += - 'rSkGtLQ64tDbm2NOTaUle3pa5uS0O0Iw3RjjREO3JO4UhDtCMN0Y40RDvSEO1IQ7QjDdGONEQ70'; + '78BmLXZR9+LTFDso+fMpi92QfHrPYOdmHT1rsmuzDoxY7JvvwiMVuyT7Ma8B4uns92c89SldS2k'; b += - 'hDtSEO0Iw3RjjREO9IQjRbQSQd39mO8BzVe5Sg3QZEUHNyOtV6nrqfcDaRibIkdhMXtLkF2JMxO'; + 'DpKkpXU/oIpY2UrqH0UUofo3SttL0L3/Zer2zv9ewEKnzTu6dMy/VkWq5nJ1Dhm95Xhun7iC5N7'; b += - 'O0NiXXjzOrjCFM+APukc8VEy074jQ2zo4UFjE622kCuPiRtwBJcxiGQRaRRJJ4pIJpHu4Tfdd3T'; + 'w1h+gGiS9P7qjD9LaJL0/vqMP0o0aXp/ZEw/T2iS9N7Y5h+jOjS9L4mTCcnUOHb3h8NFxjhAtL4'; b += - 'SRmkSbsaVJNwTa2Vu2tKmTFv8rSFeGKIu2J75bZTkTVh4wh7iomgyBtmMdOpKazKo7+TEEJuRsV'; + '/li4wCgXkNb3tZIinUDRNJpGTsxnzjT+AXMC1/peyYXcC6MS9QPsEXhuPPJyKdrnfZ6+g88/Y7K'; b += - 'CCn0GTysbMt/AZtUNsXUayvLsWk/rMN7mjmj515JOmb+31EzncGZd4oY575wk81d05PMR9/X1++'; + 'zHztvIgaju5X5mFuIOWWyiz47ciJmDDApH3MTMScBU+ljphAzarIjPbt2ImbEZEd6dvBEzLDJjv'; b += - 'ogJ30FYikLQz9h9ATLF8GtDAPmU3TqEQrHJelFYQ15ljhbEeDmwitZDLtDW7nJsHin86QyxtKjU'; + 'Q5dmsGzH2D/QZz7NwMmHsGuwzm2MUZMHcN9hbMsaOzv8r0sDk9VoTT7SKcnizC6akinJ4uwunVR'; b += - 'UXhsWrVI6Sg8is2n9UGFwhPdVtCKnRpIWCk65yLvUnYaszz6jGAEEB67xjBrU3YcsutxeemPv/k'; + 'Ti9pgin1xXhdFGE0RuK8HljNJuvFbiKUDDhwNUdZNQ4sGzBCIrc6tajOLTp/HdPILe6uG/tMmMa'; b += - 'LY/83IF4EGJef/vaf/cJYG0/ULsiAFNiAgUEfR6kcbvOxcpltfkNdbuwMDMN/YvtlNColOo2UoO'; + 'aKHcXYUikTGrBXKr+wg+izGNArnVXYP+rox5lJa/3cfQ1ZUxa2kR3O1EL1fGdNFSuPsUDlqMeZo'; b += - 'wFyBpyJagMBmNNQZtw8PkVMHZqyGmXfoCQI6F8R/UOrHAfGx1euFc01Pn04nRdbly+uCF8cUP44'; + '8fNx12JUY8wx5+bjd2JUY8yx5+ri4BnaKMVnmWXcDyXrb3Rj0SJD1tuqMIOht1Q9BytuqC4KIt1'; b += - 'jIYzLWn35CvrNaRI4kP88p0+MoL8pXV4Surw1dWCF9/+hg/vUys0LHjCfyQ+FdWaK9M4CututyV'; + 'XvazfvW6rjtZv3LNXn2s27lupu8EpL9TR4m6U6GbzNUv0L3mZpXWsaBhGXusfjlD5B6ZOUNlHaT'; b += - 'Was3gWvBe4VVB+xWAXl+EIydVahHVAGTZJCxy/FSDrwGl0rgrwyycBIvybRZUQGtlAkWaWkduMn'; + 'GkLpa2UtlHaTmkmb51faOv8ilkyilkUf7VrKMmSbRpKcnGrhpKM36KhZF9p1lCyezVpKNkjn9RQ'; b += - 'KYFKTAWlv5AwYbay0XWHAX+7ct64YuY7cFFwyf2QZGE+GbqRVYO4Ljm+/4OAasJ0b+SYU+zIV4y'; + 'shM/kYeifv+4hpJCwlVCQhCru5Q+TukTlD5JaROlzZS2UNpKaRul7QXr/Ojj0a7B6OfRpsHo69G'; b += - 'Aq1mHaE4VZcwifi/FOEnMLy3MLy3MLy3MLy3MLy3N2w7mF5Tlj4pwxcc6YOGdMnFtYnltYnltYn'; + 'qwejv0aLB6PPRrMHo99Gkwej78aQGo//HExqMPiCPazD6gbgajL4gQoPRHeRBskmoct1uYsiopu'; b += - 'ltYnlMQ5xaW53TBOV1wThec0wXnFpbnFpbnFpbnFpbnFpbnFpZ/zBeWb/8mDMPXfggLy/fkiz/G'; + 'AahwLXDF0GPxEuMGHoQvjJcIHrhi6Fm8IFJg1dDDeHC9wwdDncEi4wZeiCuDVc4KahS+K2cIHpP'; b += - 'heXRb/MrP8aF5VPfnq16P/6F5ZHfo4XlS7/3oRaWb/zuh15Y/i/tVvuxJbiwPGXv9e1G5J0TfMT'; + 'J2jPVzgVp7OkQkXuJ2nc3RISjdJIFEvvJxYKRpyYpVYnROPiMacWCMezYnHxFp0a+3KiafE0zmx'; b += - 'ESl6bxRtNDE3BmZEgc9+QmXtB5m6QmQ4yd4LM7SBzizKsFbwBn4qBLV15UEq1qC46kIJCbGOcwe'; + 'TjyTE93i2ZxYL7I5YP6ND3YQDoaKiGElYiSKGLwixruIITJiVI0YiCPG7ojhPkJDiFAnWFLw0Oh'; b += - 'pIiDb4Kc1FUf6t4Mub8awUzrbgaSmcbcXzUjjbhiem8Je045kpnO3AU1M4m8VzUzibxnNTDHkKi'; + 'RupLSBkpXUbqa0kcobaR0DaWP5m/XuG+y1v9ogLonUWsC1F2JagxQMxL1SIC6I1GrA9RtiVoVoG'; b += - 'CV/iYf8I39LCs88eQNElk3ngpRzKH8/IzLFvwaPfikT5cUEjDltRn6NDTfcDGKm2x0wo8tj0wYB'; + '5JVEOAmpaolQHqpkR5AWpKouoD1A2J0kXJpPnwlbkZQ6yYU5tDD8G5tDn0EJxLm4uJ2jm1OXRJm'; b += - '0wFziTDXg2jpgLlImMkgVDpgLhDmWhAnHTDnCYOR0xdJzDnCYNj0xRJzhjAYM71WYsYJczmIeA6'; + 'kubQ5ekubS5mKicU5uLidSc2hy6/MylzeGu87m0OfRgjNDmaOe4iIPq5qtwpaImvUvuDHbEAspP'; b += - 'Y04S5FBxNAJhThMFQ6XUScxIxGEgRU4zk0KnFcHiK0qcpXUvpM5T2UPospesozcnoVZhukJEcuo'; + 'UoSCUuH4cxGa6/gHt8vtk+rgdrmDUh3cLjdRqoPbeR+lOredt1KqY9t5N6U6tZ03VKpD23lPpTq'; b += - 'JIDp0qkkNnD76pTnRFY1h1UoCCTo5h2xUEcngqjr4E6DKOw9Nx9FqgyzAOa+Poi4Euozg8E0dfB'; + 'znbdVqiPbeWelOrHd31w59jHMNs46RaYb55wi840LTpEJx0WnyIxj3Cky5bjkFJlzXHaKTDquOE'; b += - 'HQZxKEnjr4Q6DKGw7Nx9BqgyxAO6+LoC4AuIzjk4ujzgS4DOKyPo88DuozfsEESKK4//mHARDqB'; + 'VmHVedItOOa06ReceEEz3xuO7wJsuy8E7KMvwj3kwhr6AXUqFBrVSYUCCGDzChK6CVDMfOePogb'; b += - 'pwpHv2L2Rq4H7i8+1ocaH8Z7SO8wP4wScJuB4wTcYmCEgCkGjmByk/PvY3KD84cxuc75tzGZ5Pw'; + 'XT3quARCQQwygxcq+CPYDJMOaJaLMZbaHqOYZrQaJWSD6qk60EM5VBoYvP3KDtQuOCbcJNoCd2F'; b += - '+TK5xfg8mE5zvx+Qq59/A5MrHwInwolkZsV/SZ2LEPUSfmRH3EX1mRnyb6DMz4mGiz8yI7xN9Zk'; + 'k/2DBJdLeCFcK0RF1kr3oOWArhyRwEYXLvquMXINS4gqeU9pupuuFfJXpOGaQlMifSFeDwqTAi5'; b += - 'Y8QvSZGRFbclZOPM4FZmbFUS4Q4UVkJT7Hiw/jcvGvmOXKi1F0BEwxx+LRK42iKnI7Hp5EQWujj'; + 'EmCehasJfiOEZauguEwTBQYItCZfBtUSUZE34sqRI0hXpJZKOvyiGXww1Xw5fFsN6pF+IMy22ZV'; b += - 'AwzP5sCg9oYZxnTJsrfpXwj5acpLyh/h/L1lL9N+VrK36J8DeWnKJ+h/E3Kpyl/g/Ipyl+nvEP5'; + '58zKw+UYO2zLGE74J3lmPEcKNY8F2+c5zBryZbJsY0scK16VBxtGU6UEt2lC8d3PVL3wZZCF8Rh'; b += - 'Scob+R+QfTHtVEws67nzSNgoG1SjqIZcr6Fk4+c0lOSXdRpKstizGkpyZY+Gkoz8jIaSvL9WQ8n'; + '+ZnAySKPfhmmtCZaGIh6WHSnM5EA4sP30L4VABPIzwWwDcRPhnAUwiPBvANhEcCeBLh4QC+jvB9'; b += - 'u8nQBinrYUxpKdkfV6bCCRqmCRqmCRqmCRqmCRqmCRqmCRqmCgiMmfI7JR0wnnwSMcV6eDuJvyq'; + 'Q8ETCN8L4GsI3w1gULBNNqYsJhFVQ+lSSpdRWktpHaXLKV1BKYtDQakrRSOLtyW+eFusxNvibow'; b += - 'v+Dmg8jKcM0ZvzqtYAjcfxVCF6S17VHCo9gK5H9Na8qj1A45E8yxC9La9qENB4KM9yRG/Pq1oEN'; + 'KZ4olvnirUb12MfVaKHDOL0DibWm4wAUuIMXbsnCBi1xAirfacIFxLiDFW124wCUuIMXb8nCBy1'; b += - 'B7L04DoHXlVk6hjAFogemde1Sag8WgeD9HP5VWNAhrniz6in8+rWgU0Hs+zAtEv5FXNkni2/a4H'; + 'xAircV4QJXuIAUb/XhAle5gBRvIlzgGheQ4s0NF5jgAlK8eZLSjfG12EkTxV8imrltChJz1hwMC'; b += - 'yXXdGtd1R7muO8p13VGu645yXXeU67qjXNcd5bruKNd1R7muO8p13Q+R63RW0/lLZyqdk3T20Xl'; + 'xlLbjtPUFe2s9NQwBd4CZCXY19mGE+O+GXIduNALmJ+z/SqspNfhY5hE+KMycFZkPc5c8rPjPmZ'; b += - 'GZxSdO3SWeF5rcNnU4oWQNx5Us0cqa6M8nyGmajl66FM9JALjmkNWdA/Jy7gmlG3QQ8I1rtll8/'; + 'k35m1M+M+JlhP3PfkJl7fuaun5nxM3f8zG0/c8vPTPuZm35mys/c8DOTfua6n5nwM9dkphH6yVD'; b += - 'SQJI5jFdlyPSS249hLNmoPyfg4lpTt3UMDQhwbS1boodEjjvVzKgoXF4h0l/VBFOJ7XCDsWxuCM'; + '0P9fKxlybfI5t9BDGmsCVCzs7+bVvg+yyAg/ia4p0o5A0oUhThaTrBntQ29mb+SQbvZ+hmWLkks'; b += - 'RVHL7FJsRPGnQ0j9G7RovduVV+GwWjXqfx29ZsxKm2Pyu9UtYkha9eq/POqnfLiBdWoedEVRsN8'; + 'xyLwljDtWMFHy40GIDzqLRoWp2kYcS0qIPKBDteC/K25lf/HaMskn4pQnipBgNb7yuE0eo0CDNa'; b += - '6KrYiC1WlJgU+CUmBV6JSYEoMSloKDEpWF5iUrCsxKSgvsSkoKrEpKCsxKTAjZ8UNMJfREly1YQ'; + 'iEvACXCD0d90SKTX5y+AmFiK+IvGFK6Q0WS/hpV3Be4awG+GVPyrBHAqQBsAPBGAAr0MA7AOgCv'; b += - 'VB8kyNVnFsbFKTVRxSKxXk1QcCZepCSoOgMvV5BTHvQY1McXhTqhJKY5ynpqQ4uDmq8kojmkr1E'; + 'B2ANgBMBiEtW1wIwDeD6/T6EAXTWKRp8VrZTQehT3aagGCZND1++TseLyNdb8SLy9Xa8iHy9Ey8'; b += - 'QUhzIawXgqOjeO/aMaxzoj49icuPnREzeOqBYZPjIkKnYCO9k1Ky8CC9kE5APb2FXIB1axK5AP7'; + 'iX2fiReTr3XgR+XovXkS+3o8Xka/DiSLydSRRRL6OJqLl68mE8lwPrbcG8hV5YTqOoqBgL1eCOJ'; b += - 'GGXIR9Ywi5BPrCBXYR8YP26APnA7nUe8oHF6xzkA1vXGUuzdY1bc5Ozj31yBkOApc/KYBCw9OkY'; + 'olLeoOdoSHfRx7YSjyB3K/VGTipJmkRw2Xe+vYOZLEtC0AvmkGwAjvfHjg2a8VUFBsCYwaZu3HH'; b += - 'DAOWPg+DccDSJ2Ad1glLn3l1WKOWPuXqsI5b+lwLRhNLn2R1WPdNfXbVYd0z9WlVh3XXLJxPTc+'; + '9RoztjwbrhOx48cFtaRDHMUIO5Kwq34EeEw6ZYk3ZOk2wHptiTdl6Q7AemOJA07TJoJSDOSNCJJ'; b += - 'ZRH/ETaJFRtAntaN/m0WLaBVtol10iKxIi0qREEmR0k4H9tI5w6u010mDUyUuf+FaIWRSIh0GtH'; + 'dwPSXUkalaR7AemeJJ2UpPsB6b4kjUnScEKRiEMAdUqSRgLSiCSdlqTRgDQqSWck6WRAOilJV+V'; b += - 'U4XG4KI9Nq6FSAThWg0wE6raFxEcqvzI3xwWorh9VpagbG4K2QX0BxeS28mCIV3FqBr02q0LgaP'; + 'PHg4+Y1h+xjVJGglII5I0IUmjAWlUkq5L0smAdFKSJiVpLCCNSdINSToVkE5J0pQknQ5IpyXppi'; b += - 'jVES6S8fJUq+IJE8CobD9JsNCr+5Uqz+tgKIzeS2OtbjbgSdcodopVouZxq0QI7rjorxCghakPE'; + 'SdCUhnJGlaks4GpLOSdEuSzgWkc5J0W5IuBKQLknRHki4GpIu4b4cGMUHHAFl4YFSChzAaWQGmw'; b += - 'CCEyIeKew28PEMLkdViH1vRwF1Ul/PSiVaIRWlSyogS0bJt0ZxGhGVvGieL5jHSzeDCyaN0qiW0'; + 'okjOPhZcv8Ql8LdRIX0pHqKRduKfLp1hAfPVN7giT0Wo+lwF6su6EPt0MTuEtKvHXcxXkcTbg3p'; b += - 'ZeYWDxvOyKAHXhmyMiVxMmKQVsqoYgotLZnaUgCeXlgs3hmBgU1fHvNxBjiuPEGgRqvg3u7i2lY'; + '1467FK8jCXcZ6deOW4vX4YRbR/q14y7H6/24uwKvVxy3Hq/34q7A62XHdfF6F0+/guslx11JGnn'; b += - 'o+BBe/0sIqrgys0ETxc+Ev87mHeq1+cK90v/9HPYAfXPbgfkDqoz/KLH2r84N/qP0P4hHJD/8I5'; + 'cbcDruOOuonlF3F2N14uO+wjNK+JuI14vOO4amkfE3UfxetZxH6N5Rtxdi9dzjvs4/SzUDkppgd'; b += - '8E1zkf48AfwW90f/BGZD/+Iygff/+1/EN2j6h8E46a//0ckH3yLpH8ojPwAGrHUtfyhysAHKOcf'; + 'jkMWJDjDu7h1GGl+TEUlGTE7ViWU4sF3U5US9W5AR8I9qFPbQLN6BdeDXahRtz4nG0Cz8mHn3Yw'; b += - '4DD7APjjB2iR9Ee/tfyHcuvHwOAVD4/Bf4DBwP6hjJkf4cOdf1B94yEOyw+AT8yHqi8+wFt/uNz'; + '9p57mkYQRE7IzIE9lcvyV0awxxir8ctOigY0IcFZYdXweLFq2QJ5KVZSHkLcMMTSjJvoabDeXat'; b += - '3AHvkj0yNfwQGLfsHUU3pH5Ua/sd0q/1DEXdFapIRZ/EZIe/of7Paqj+28qg0W6F3tE0WnEq6pX'; + 'tyhrHPasWrFwjjH0vLBr3z8mFr3PXwo1aNXSb0dr7nlvYbb+qKg5nzXeGZLCc8Ec4y09jKn8IME'; b += - 'nIZ49INCiVoYzJ7EcPHCgwPypx5uMfFUf7TK2oLO4YldJCUyOtQQupMJqYqkSNWEjPRrtSCqHCW'; + 'G4Zrz3gJ80EJ+Dkna9BzDMj+HqPI5Nf5z0vicBfwcEsuVc4ze/ByiFj6nEp+T5ueQDK+YY5Dn5x'; b += - '1P4B8XL4CFFU5IqaddaJC00i5UPZ0IsEovpqWgnW4BQ4a0L8A+KwzOL6ywBr0rR8dk2Hd5Orsp0'; + 'C18DkV+JxKfg4J/PI5dAF+DlELn1OOz6ng59DokJpDZeDnELXwOSl8Tjk/h4aSsjk0C34OUQufU'; b += - 'cJtN57eTo3IAn7HZTTmAx212Ug7g0za7KAfwKZsdlAP4pM3uyQE8ZrNzcgCfsNk1OYBHbXZMDuD'; + '4bPSfFzaNxJzqGA8HOIWvicJD6njJ9Dg1RiDj2Fn0PUwuck8DlJfg6NaPGwOsO3EzLv9iXnQSzC'; b += - 'jNrslBzCvAePp7g1kP/cpXUFpI6UrKV1F6SOUNlG6mtJHKX2M0jXS9i4C23uDsr03sBOoCEzvvj'; + '7Qm+XepCGD0bkDYjYbwjwwxI1hJQRZbhpA4nMLgBkSy9cRLL72dxTmAc3u/xzACQh9+HN/A200T'; b += - 'ItN5BpuYGdQEVgel8Rpe8hujS9N0bp+4guTe8ro/S3iS5N76ui9MNEl6b3R6L094kuTe9NUfoRo'; + '2ko8TcVSa8S3HiGwT+bJOTmrkJJGv6OSURk4R+apOTmvkNJGv6eRqRYa2zACIJSb0EjVaiVTGrK'; b += - 'kvT++oonZxARWB7fzRa4DgXkMb3x6IFRrmAtL6vkRTpBIqm0QxyYiFzZvAPmBO4NvBKLuZeGJWo'; + 'ES1/USdVqJ8oxZRyUm9RJCK1GRMQWVuKGXaNBKVGYAxBJTeolGrUQ6YzZmbzLVXYDUtS7Gi7cxb'; b += - 'H2CPwHPjkZfL0T4f8PQdfP5pi5392HkTMRjdrSLA3ELMSYtd9NmREzFjgEkHmJuIOQGY6gBzAzG'; + 'Gqcmgso3GIxxidZRsUZaTMyxYWlvMHKTWv9FD+iUutv+NkVWr/BH1qu8T9WTUrjY6pMsQA+f7H2'; b += - 'jFjvSs2snYo5b7EjPDp6IGbHYkT7Pbs2AuW+y32CenZsBc89kl8E8uzgD5q7J3oJ5dnQOVpkeNq'; + '7QlNojQKO+AwyXZrAVcmf0Lak0huueD7U+QiaIXi2RX6IFr0V5reuYwy1WE3wzAqa6QPU2maGoO'; b += - 'cbJTjdKcHpqRKcni7B6ZkSnF5TgtNrS3B6fQlOFyUYvbEEnzfFs/kagasIRRMOXN1BRk0AyxaNo'; + 'GXUr5aZkvFUa6O2/iz9ZBzJJOUiKUwlJyRG14LqEtx0iHodinlx5RO5/jtPVY6jT5Ck2ewpJvcp'; b += - 'MitXgOKQ4fOf/cFcquH+9YuMaaRFsq9lSgSGbNKILd6j+CzGNMkkFu91ejvyphHafnbewxdXRmz'; + 'imsMhKd0rM8vxbsSIfcDv2wb+A6sZIZ2Fekj2CQyfWF1YlXtGKWyXtQybNTsYSaK39idVmvfQ8t'; b += - 'hhbBvS70cmVMNy2Fe0/hoMWYp8nDx1uLXYkxz5CXj9eDXYkxz5Knj4drYCcZk2Oe9daTrHe8DWG'; + 'XxrLVukpbWWbBEYTJ3sCjMGG3Kd2ewKVyn0bHgLszR0l0kTNxlnaeKWlCZ6f2dyWaHNgliFpnGh'; b += - 'PBFnvqM4Igt5R/RCkvKO6IIh4R/W+Duu+rTpeh3XPVn2uw7prq+4Gr7RVT4O32aqTwdts1b/gbb'; + 'rT5JaSIjqwNF+r6CgXH9af4oYi4bvpecSStYJq5geeU+Zhgx4waHzyPMMUBcNHxHOhPXsUxcx/L'; b += - 'bWtaZgEPGoezxO6ROUPklpM6UtlLZS2kZpO6UdlGYL1vmFts6vmCWrmEXxV4eGkizZrqEkF7dpK'; + 'SPuIoIM4ZvjueiWtZJq5lUcBcQhxAi7PB8XIJsQ9NzgaHyyVEH9qcDY6WS4g9mOCalvsh17F0rw'; b += - 'Mn4rRpK9pUWDSW7V7OGkj3ySQ0lO/ETBSjq949rKCkkPCUkBLG6R+njlD5B6ZOUNlPaQmkrpW2U'; + '/W3rxI/w0y+nq+QtUQdks45xcgJWlVuMAFLiC1n9XhAhe5gFRrHgkXGOcCUl9pDBe4xAWkIrImX'; b += - 'tlPaUbTOjz4eHRqMfh7tGoy+Hm0ajP4erRqMPh8tGox+H80ajL4fT2ow+n88ocHoA/K4BqMfiKf'; + 'OAyF5AaxqPhAle4gFQdHgsXuMoFpE6wNsKPhQvIwT7C0WWCC8hR/Anlv3FdGsTQ4dOKdqkzySaB'; b += - 'B6AsiNBjdQR4km0Qq1+shhoxrCq5xKHDV1GXwE9ECE6YuhJ+MFrhm6lK4OVpg0tTFcEu0wHVTl8'; + 'psDFYauvwQuy0rqWz+I6c+tsrTO0xsoaE2vsqzGuxrIas2psOs+gP5IMaoV5MxC0SVHAlch1OCl'; b += - 'Ot0QI3TF0Qt0UL3DR1SdweLTBVoHN0RAvcKtA5stECtwt0jk5J6SEJJBqEnxcrRGNerBSr8uIR0'; + 'WnsowE06xeyctpVFAb5gNl7ODJy2nUUhvmBFXsIsnLamRLzLMiivZyZOW1cgbGWbGyJ8wMaalNf'; b += - 'ZQXq8WjefGYWINurd158ZR4Oi/Wimfyokc8mxfrRC4PzL/hwQ7C4VARM6zEjEQxg1fMeBczRMaM'; + 'JHdp9gF9KneHmNPJLdp4lj3XW8xEY+ye4zxLpuNy+zkVey+yzxsLuel9oogKmbJWaGOqDlNope6'; b += - 'qjEDcczYHTPcx2gIMeoESwoeGn1KV1DaSOlKSldR+gilTZSupvTRwu0a9y3W+h8NUfckanWIuit'; + 'm5krnY38ZqbuzkYTDiMtBxHOIy0HEI4jLQcPTiMNA8cHEaaxwwOI83DBYeR5pGCw0jzIMFhpHl8'; b += - 'RTSFqWqIeCVF3JGpViLotUStD1C2JagxRUxK1IkTdlCg/RN2QqIYQdV2idFEyaT18ZW7aFMtn1e'; + '4DDSPDRwGGm/02EY6ZUf0pMP005Ku1Snk/zQdSxgnk7FPIrhOjSUZNKMhpKM3a6hZGdo01CyA7V'; b += - 'bQQ3A2bQ49BGfT5gxRN6s2hy5Js2lz6JI0mzZniOpZtTlDpGfV5tDlZzZtDnedz6bNoQdjjDZHO'; + 'qKNnpWjSU7KjNGkp27qY8FAmEJzWUFB/K7yLPjesDO3xiZRUGeTIp9nKHBjbm1O+nZQzNM9SkIM'; b += - '8dFAlS3QIUrF7WZnXJnsCvmU36SIhSUCzeYi9BcJzi4XW6fVAe3yx2U6uB2uYlSHdzO+yjVue28'; + 'xtGlin+YWaFIq5RQOrNa9QkwIyN2lgSvMJNSks80oNtDVnLpOCMz9I1ghV6ErcXGJG1T5X8spuO'; b += - 'lVId2867KdWp7byhUh3aznsq1ZntvK1SHdnOOyvVie3B5sqxj2G2Me6WmG6ccUvMN865JSYc590'; + 'j4losEUfZ8ujJvD9AO6LG4J09/SRXFrmH5Ul8RtYfp7uiBuD9OP6XI4E6ZjJ4/qFqrAiKHL4c5w'; b += - 'SM44Lbokpx0W3xJzjklti0nHZLTHruOKWmHZcdUvMOybc+InHNZc3WVZEd1JW4B/xZhp5Bb2Qig'; + 'gVFDl8NdkkKbS0zhzubj+bh4YnYfT7FJbH6wQ3EwSkQMKRHDUMTQFTHcRQyREcNqxFAcMXxHDPk'; b += - '1q5cKCAgY+wIKugFYyHDsTmf200d2fB49IIoBRZuA6D/4IJsOUK2rEIryFpucYpgmNVmn5oGq67'; + 'RakKEUuFpLuEf2LkTK2uUKkuTCmpdc22A8tc2HwtQ/vrmowHKX+NcE6D8dc7GAOWvdT4SoPz1zt'; b += - 'sdQDsUmtmCPsguFi74JN4mW0V042d9PcKWEF8C1SlTl7EwvWg7oyhEJHHThou8aI9ewpJgn7ynP'; + 'UBSq55rgow6wqcQdXapxtg2gpcQXkN9GFrc2OGWDSnNodh1eZS5jCs2ly6HIZVm0uVQx/LuTS5m'; b += - '9NC1Sv6KDFzTaEqkL8TrfmFRwIUY8yRUTfQLMTxDLd1lgSDYT7At4Qq4lomynAVflhIpuiK9TNL'; + 'EjPqcihj+dcehxGoZxLjYuJ8jm1OHTRmkuJQy+3CB1OOylD6m0loiS9iybiuwQeIxTXHKAczflp'; b += - 'xFxn4xVDzlfBlBtYj/UKcabEt8/xjVs2xWrRljiUDF7xxjhHDjWLDdwXOcSa/mmyZGNPEjtamS8'; + 'ieb4VKM5PS3VHJ6Wac5OtZqjU53m5LRcc3BaoTk31WuOTSLs1DQ/ffgRmD7E+GCMktnW3GPhOQR'; b += - 'XRlulCLTlxvnRw19e+C7IQviIBzc8GSBR78M00obPQxELSw6I5nYUGlgC+hfDJEJ5CeCyEbyJ8I'; + 'aoGzpEWlJv8M8WG4WZt9MPnKD/Gakf6ZB82K0NJWh/QoEGvpPwnSarmz8NtAFhp6FxqQYzaHZb7'; b += - 'oRvIDwawtcRPh7CkwiPhPA1hO+bCp5A+F4IX0X4bgiDgm2xMWURiahaSpdQupTSOkrrKV1G6XJK'; + 'IE7sGrKd/MJqdhChk42WAK9lgct/Z7dgN5WsUGBb/R5qh8RuG+c+5ofCKex56q6mCoCnUwlDoWS'; b += - 'WRwKSj0pGlm8LQ7E2yIl3hb1YFQ4SywOxFut6rWLqNdCgTNBARJvS6IFznEBKd6WRguc5wJSvNV'; + 'h0KpY6EUgdCqeOg1GFQ6igodRBUcAzUYjoGCj4LV2F9R54Cm5lNzkOuNLo5hWR19Fa5OnrLXaIO'; b += - 'FC1zgAlK81UcLXOQCUrwtixa4xAWkeFseLXCZC0jx1hAtcIULSPEmogWucgEp3rxogQkuIMWbLy'; + '33Jr1PFb7lJ1AJe7TB3B5daqQ7jcOnUMl7tcHcSFx5D6B1jVB4dxCT6+00MfCXIbLTwOxV6PPlp'; b += - 'k9GF+LnTRR/CXjmduhIDHj1lBUyNhy23mSurKTm4ICgcBLgrwcO84wnhzxDcj24EAujKBn+vNyk'; + 'kFKQi3kqxMmwZtsK2x2T69TKxWIuJWTEEbbBE1IilYpmoFXViuVgh6oUQnlaofMitVC8M2R3Z9w'; b += - '1+FjuEQ4rTFwVmQ9zlzMsiMBZkTQWY0yBwPMiNB5r4pM/eCzN0gMx1k7gSZ20HmVpCZCjI3g8yN'; + 'tNNKnCykUGLSMbT5TPMn96eciug05xHp6nAll/v4iNDnJegpH3FPKWwdNsyN5VyGlp24TsjELeN'; b += - 'IHM9yEwGmWtBZiLIXJWZJugnw/H/PDtneA75HDvoIYw1gSsXTm7yzHdBdtmhB/FVRbpeTJpQpBv'; + 'PhAEHy8Qk5JayU+XiFvSIslPl4hJ6XVEh+vkNel5RIfr5AT0nqJj1fIa9KCiY/3kSTrbd5A0vAh'; b += - 'FpGsme1A7uZuFJAe9n6GZDHJJZrmXgjGHakYKPlxocQBn0+gwb2aRhxLSpg8oEu14L8rb6fHvGp'; + '5bs+oWFZv8qX9Uqgew20F20RSXCS9YGkZiWvgZWLVb6ofySKvhDoUtI3RtEXAF0K+jVR9CqgSzn'; b += - 'RNwS9NEicZNLzxuk4CoWKDNKuFvACUjD4c9UWbTH4J+gqEia2Iv2BI6YkUSQVrVIlA4K4B+Kah5'; + '/aBQ9DXQp5h+LopcAXUr5tVH0UqBLIf94FN0BupTxT0TRE0CXIv7JKLoFdCnhmySBdZJUocArp8'; b += - 'FkTgDdCsBHA6yEo0MM4BOsBvBaCtQBOhCAuWV0NwQyA6/YGEAbQWato8Fm5LgWhT3W7ggxMmh++'; + 'gRBV1hhkI+lIsUh8vGaPyY4sZJG4PxYzrBwCUCrjEwTsBVBi4ScIWBCwRcZuAcAZcYOEvAOANnC'; b += - 'fJ1KlJCvtxIl5OvtRAn5eidRQr5OJ0rI17uJEvL1XqKEfL2fKCFfR5Il5OvxZAn5OpqMl68nksp'; + 'LjIwGkCLjBwioBzDIwRcPYB82KIoSJ4MIpj9VkHrVrih4vVtDyJny0azntL6Gx3O4oteaYCZWro'; b += - 'zPbLeGspX5IWpBIqCor1cSeJolrSoOzgxHvYJ7IWRyB/I/VKRSZBmkvkZ0+PeOvZ1ksS0LQC+aR'; + 'WHZ7DtY87y2lo+DtOdjzvLeMjmi352DR814tnU5vz8Gm5706OhfenoNVz3vL6QR6ew52Pe+toDP'; b += - 'rAGO98eOD4mSIKii2BUcPsvfiDmqxpB94N16nEoYPCPpRljgLEXUm4lTgkXCbdkqR7knQ7JN2Wp'; + 'i7TlY9rxXnyG2CrPteU/QefToYEReSMLBpBQTXFijY6ZFFSYLMFmISTUmizCx0aMY3R+GRGpI1A'; b += - 'PuSdCck3ZGkEZdJ0yFpWpKOS9LdkHRXkkYl6V5IuidJJyTpfki6L0ljkjSSVCTiEECdlKTjIem4'; + 'yJpUNi2ZCoHRJ1Q2L5kFgxJOqHhMjzNPasrLEfBqQTRw5n6992E9mYa1nr5dhMXt8OrzwaCJXS4'; b += - 'JJ2SpNGQNCpJpyXpREg6IUlX5E8eCT9jRH7GVUk6HpKOS9KEJI2GpFFJuiZJJ0LSCUmalKSxkDQ'; + 'l3CX350ePmxhEuU+v5SGj2pnuDQ4bI+3ZH+VCnc+sDxj9WbcWTV32zh+uPDfLNw4Y/HPKtwzLPC'; b += - 'mSdcl6WRIOilJNyTpVEg6JUk3Jel0SDotSVOSNB6SxiXpliSdCUlnJOm2JJ0LSeck6Y4knQ9J53'; + 'g7UdOX6H1/V46LXCqyOLC63WZYWxeWyWQJiuzbEAwrQxx/IH0wYeqCgvcix9MK1jsUX5GpZalK9'; b += - 'HfDg1igo4BsvHAqCQPYTSyAkyFk4dw8LPl/iEuhbuJiukp9RSbthUFdPsQD57pgsETeyxG0+EuV'; + 'moUX5NMssyqdYZFE+yRKL8jYLLMrHHv44iC+afRxcTXMeO2oglLKoW/6EKdNtxusN023hMdxtnU'; b += - 'lPUhzqgib3FpF+73iK8jia9WtKvXW8JXo8nvaWkX7teHV5Hkl496deutwyv9xPecrxedr0GvN5L'; + 'sUNXbLerhpum3R8kjaVbpl5U2bbnu0UJKml25Z47dMNxMtmaR1pls2023T7YgWT9KA0y3b9o7pd'; b += - 'eAKvl1zPw+tdPP0KrhddbwVp5AmvEa8XXG8lzSsS3iq8nne9R2hekfCa8HrO9VbTPCLhPYrXcdd'; + 'kbLqLUcLKBbMsSM6XZFCyoZT6BbctFdPAo+UlrJkAPdkvXu4Vny+SKLrdOraDZFDHvfVHPRnHha'; b += - '7jOYZCW8NXs+43uP0s1A7KKcFYovHiPUGd3YfowwvzoslojYv6sTSvFgm6vOiQSzPC/hGtAv7aB'; + 'PQtNgE+ofJf6atwDvlblO1T95ERGVWpOtKuWyIk21Xw50ax4ICdaFMPkRKviq4fPtJNzMm0DncN'; b += - 'duRLvwKrQLN+XF42gXfkw8+rCHtbPc0zCCInZGZAjsr36KuzSGOcRej1t0UDCgDwvKDr+KxYtfz'; + 'lz6m9TZnRzKkK3DTnHCTpHC57TgXuljnn8EjncNlzqnB3zDkHRjqHy55Tibtrzjkk0jlcdpQad9'; b += - 'RLIz7CQ8ufjhieUZP4CTYfznTp/Yc486Nt1YsEsY+hZ4dR9cEQs/IC/FGrQrqPfjtbcs/6CXMNh'; + '+kWUyUeLyPccN8YyZxKCr2AYzvVGZM6hM4Wwhg/FXKgEm9EOcIAYz1pkyX1O8BlnZLkhcArlNUb'; b += - 'UXs2Z747LIXn/FnGW3oYU/lBgg3CtWf9+figBfwckrSZWYZlfg5R5XNqg+dk8Dnz+TkklqtnGb3'; + 'EjfYkniB8A2BU5SH2qa58gfBY4sVJH4JAoKN1cRfRJFRfRJFBX550CQFpHS0Hg4uq4eGeSdRT5G'; b += - '5OUQtfk41PifDzyEZXjXLIM/PIWrxc6rwOdX8HBL4lbPoAvwcohY/pxKfU8XPodEhPYvKwM8hav'; + '/HLpykSz/8rgLtq0gedPYKLhk4P0AfxyhTfw5YavCtm4168hVvaXrll3ogktSjO2H88Pd7CWkwW'; b += - 'Fz0vicSn4ODSUVs2gW/ByiFj+nAp+T5ufQuJOaRQHh5xC1+DkpfE4FP4cGqeQsego/h6jFz0nic'; + 'qW4byq5D2Gf8k7zKioNpTKa1gaelRRZ5bVAZjMaUppNgYHYPA7lTLpI2slszBZaKKSjRRfEAqUC'; b += - '1L8HBrRElF1hm8nZMHti8+CWITbk3y71IUwejYgHUbCeEeGGZCsZaCKLMVJHU5gcAMiWXoTJJY/'; + 'd9t5arqHwLaQNLt4qo57oyEFm1H8iJI+u5DTIcme2Hc+IIe+5qGZRskR/UiSPtuY0yNJnjh3bii'; b += - 'yOGcwDy41+eZASAPfgBv4G2mydzFACcSqDTjW44Q2SHyJZ2c0sgpIl/WyWmNnCbyFZ2c0cgZIl/'; + 'HvuozJA2WI/wBNH3nPXyjBlaARxhYrA5z4ug5UtYVcAPxKf+6QMWZZspxPY/Yh8oLhw4DJyO2hR'; b += - 'VyTWKDG2ZBRBLTOglarUS6axVSyWu6SXqtRKVWaueSkzqJYRWoiprCSpxXS/RqJWozgKIJW7oJZ'; + 'kflAgeHwZWglASXFj9AHaggHMSOXhAxH6gNNQsWECmJBXbS0WFAXLC0W1DlLiwV11tJiQZ3RY0G'; b += - 'q0Epms1ZS7yVRvPlLXeBgv3sGwqQlqLqBwixmMT7GMSjDSYWSaC0t5g5Wb0fopfkS11t/ws6u0f'; + 'd1mNBndJjQY3psaBO6rGgRvVYUCN6LKhhK6fWbT/MYT4b81z86zUv5PrwmU/14QNt6sNn4NSHj8'; b += - 'oM/tFLjf6yatMbHVJliPnz+Iu3bk5pEaRJOyGGS7dYArkL+hIwvkdxy4fenyUXQjsSzK/ZBtOmv'; + '2pD5+0Ux8+nKc+fJ5PffgIoPrwqUH1vpTu0lBSpncGIRxIHnVS2sXHe35/p0DlxYLyNuaf4jRhe'; b += - 'PLNjKWVqom6GUVTOzByk0jQ1Bg27nPJTMl8uzExPwcSfrYOYJZ2kTCiFpeyQ2vBcRluOkQ5DcUA'; + 'tn8c5yumd76/JOcrpres/lnOV0xve7805wum94z+ec5XTK9dfknOo2b3tP5ZzpdNL2ncurnc3Qo'; b += - 'vP6R2Pido67HUaQoVmgKFpdDkMEVhkZXulJzh+beMEh9w2/jwX0B1Y2ZyMC/JHcKhE+sLqxKvaM'; + 'ryunfj3Hh/I69UgvbAnxtJOgNlO6hdKtlG6jdDulOyjdSekuSp+j9HnFPLLKvWCtVUaIqg+fBMX'; b += - 'WdJ+1DFs1OxpJorf3pVVaD9Dy1A2stW6SltZZsERhMnewK0yYbct2Z7ApXKPRsdAuzNHRXSBM3G'; + 'LsJ6MEKUadXO4wAQXkIywJVzgOheQzLM1XGCSC0iG2xYucIMLSCbdHi4wxQUkY+8IF7jJBWRn2B'; b += - 'Wdp4paSJvpgZ3JFsc2CWIWmcZGtPilpIiOrA0X6voyBcYNp/ihiLpmBl5xFK1gWrmD5lQFmBDEX'; + 'kuMM0FZAfaFS5wiwvITvdcuMBtLiB76POSIiNErRRuaBMQ7v8RAr0HnhCP50STeBL1+2ZU/ltxZ'; b += - 'TA6fR5gjgDhvBo50Fq5jWbiO5WcCxGFAnDEDdzwL17IsXMuigLmE2IcWZ5Pj5RJiD5qcTQ6XS4h'; + 'tCO3gMd/iLcyo+wFCcK5YfQ5MfasPx4LCw/Hg3LjzVh+dEYlh+PhOXH6rD8WBWWHw1h+bEyLD/c'; b += - '+tDmbHC2XEG9ggmta3kdcx9K9Plh782P9N8jo6wcKVWPULeFMUICUpJXRAue4gNR+VkULnOcCUq'; + 'AvnhfpjYUOw+UBghylur+Qn4MaK8x/ICR7HF33s0L3QUW/y9NXnBo9ji7zXmhY9ii7/3SF4AKbb'; b += - '15JFrgAheQ+kpTtMBFLiAVkdXRApe4gNQwHo0WuMwFpOrwWLTAFS4gdYI1MX4sXEAO9jGOLhNcQ'; + '4e6vzQkixxd9blRdEii3+XkNeGCm2+Hsr9ehz0uLvufkCBs3+4oGFoFNtIoKoXRQ3amnQgno0QK'; b += - 'I7iTyj/jWvSIIYOn3a8S51FNgk0BS6KWn1NXpCV1rVCFteZW2drnaE1VtaYWGNfjXE1ltWYVWPT'; + 'x4wWb1+qgAgopeE/DJk1H0ZMBaTVH0JQE3NkfREwEDt0TRFwc83xpFd4Ju0hZFXxT0rPYouh10x'; b += - 'OQb9sWRQO8qboaBNiSKuRK7DSbHyVIaZcJrdO2kpjQJ6w2y4kh08aTmNQnrDjLiKXTxpSY18kWF'; + 'kwUvToQKx2SQKsBtDV5oYxYuwK0xWqO9GmzdraINTOHdbLFrI8lWBNbwlpYkvWvGta9pNa1VGpc'; b += - 'WXM1OnrSsRt7IMDNG/oSJMS2tkT+y9wS7kD7Fy2vkkew9TRzrreUlNvJJ9p4h1vV6eJmNvJK9Z4'; + 'qFKxsnXbYGXrlgzAOW24HqtP7ibWnNzNrDS5W1hfcreyquRuYy3J3S6VtR2sG7k7WWFyd0HrW2u'; b += - 'mHvXW81EYBTL0cMTPUAS23UfRSbwNztbeR19y8TeFgwmGk5TjCYaTlEMJhpOXowWGkeeDgMNI8Z'; + 'sCRuPasP1wkl7cI1FB7clkJkVhLGHphWElsnbCrLwEVfhETMoazOiHo0sAsUnyFUPXbM2oXDdLJ'; b += - 'nAYaR4uOIw0jxQcRpoHCQ4jzeMDh5HmoYHDSAedDsNIr/iInnyYdlHarTqd5IfuIyHzdCnmUQzX'; + 'rwcOtmPNW6BY+zbsVzrNvwoOp2PLl6x8PvDfnDbURvyB9uI7pD/nAb0R/yh9uIDpE/3Eb0iPzhN'; b += - 'qaEkk2Y1lGTsDg0lO0O7hpIdqE1DyU7XqqFkR23RULJzNxegSCA8qaGk+FB+FwVuXB/a4RMrqzj'; + 'qJL5A+3EX0if7iN6BT5w21Er8gfbiO6Rf5wG/QLGG5xplhK0aFovT8pltFUy6R1/wXs718i6shn'; b += - 'Ik0Wxlzs1sCmvfj8tY2ieoRYFYW7XwHrNL9SiUMytGlijeYVaFJC5WQPTmk+oRWGZV2igozlzWR'; + 'wY/oZMnYAuXKI4F8HSjYUULGd6rwPSAoSkwpRXeqlCGnOfjVRhzNs+IxdP6DMeFZsQZ9AUHmPyM'; b += - 'Sc+UGyRqRCV+DmEiuu9rmSV/TQ8SkxDaboe3Rh3BKl79NlcWuU/rYuitui9MO6JG6P0t/XBXFHl'; + 'eQdfA1WgtXIVmwga0D65Ew6DL8c9NXyA/yOE+yudmj86BK8OeJH06A0a45OzT+S/CI+eAzn4RDj'; b += - 'H5El8PZKB07eVy3UAWOm7oc7ooWGDV1OdwtKbS5xBLeTD6ej4snZvbxFBvFpgc7FIejRMyQEjMM'; + 'lv6dwX4Y9zVGe+CHec93Tei/DGOaazXoQzznAe60U444zksV6EM85oHusJ5Wtz0iA2ictAQClyg'; b += - 'xQxdMcNdzBAZM6zGDMUxw3fMkB+jJsQoFb7mEv6hnTuxskapsjSpoNY114SoYG3zsRAVrG8+GqK'; + 'THIBIB77WolF1YRF5aI5cSAfL4kMyA6vTADokSnY2WkS0ylFvQL4Qr2F2PHGxgDymWkIbGCw5Vj'; b += - 'CNc7VISpY52wKUcFa5yMhKljvXBWi5JrnyhCztsgZVK19eiGmvcgVlNdAH7Y2N2aKhbNqcxhWbT'; + 'PIuGWNkfLzdrjpfiEZtjxn6vtgFjLBrSlCgMjP5iSEMiQo0A3VBQA0CTChIAXVcQepJMKAh9UK4'; b += - 'ZlDsOqzabLYVi12VQ59LGcTZMzRGZWRQ59PGfT4zAK5WxqnCEqZ9Xi0EVrNiUOvdxidDjtpAypt'; + 'pqBogMh4ikAZgnU/B/tjpA3hYZJsP2JhQrumYZ/E2R5svDl/ifEnwJcmXEr6U8qWMLym+lPOlQj'; b += - '5WJssxOmojvFHiMUEJzgHI156fFmuNTreb0tERzeFqqOTvVaY5O9ZqT0zLNwWm55tzUoDk2iahT'; + 'Yf7fTEd5T7iCmJSPmIGxJR5iMmJaLUR1yXiBIfMSERSR9xTSISPuKqRMR9xBWJcHzEZYmwfcQli'; b += - '09z04cdg+mDwwRhlM625G9E5BFqgHOkRaUu/wwJYbhZm30w+coP8ZqR/pknzYrQ0VaD9CgQa+k/'; + 'bB8xDgjcl4l/KYNxpeO5by0ylWp3AKVW6hy1Sq3SOUWq9wSlatRuaUqtww3lYoKTNEoZZ8/LOqy'; b += - 'CdJqubPw20QWGnoXGJIPm0Ow3WQb34NWSb2aT0wiFDJxstAR7LF6w9/pOI3laGUOC3+hwVD6zeN'; + 'J454y0X6/OGhDAgKdNZxAF11XixHzD7CxAGzQGIOECYBmIUS8xZhkoCplpijhLEAUykxewCziFa'; b += - '85dzQ+Ec9nT1V1MFSVOhhKHQulDoVSR0KpA6HUcVDqMCh1FJQ6CCo8BmoRHQMFn4WrsIEjT5HNz'; + 'Y3yNaCdCWixVIYkQFIJbJwtDrEFUOqKUSNcqoFKBqJGqEUWWAWiJRw4wqBdRiiToGGN9v2I+ONK'; b += - 'CHnIU8a3dxisjp6q1IdveUtVodvebXq+C1viTqAy1uqjuDy6tQhXF69OobLW6YO4sJjSIMDrBrC'; + 'WgRuUt7MdGmlSQUD7CfmSkCQXVKM9gPy4S9w8ZFWmdT0n5rsB+TKQ2H7CDSEjz/eOHpX+0hfpHZ'; b += - 'w7gEH9/po48EuY0WH4firEMfLTIKUhF/hVgRtQzbUdtjKvN6hVikxcSsGoY2WCxqxRKxVNSJerF'; + '6h/rAv1j/Wh3tAEmGrqDZtU35G9YVOoN7we6gyvhfrCy6Gu8GKoJ+xSHW+RxGwTtag41QG6ltSm'; b += - 'MLBcNQghfK1Q57FWrF0bsjuz7hSaadHHlIoNWkI0nzmeZP70yYtdBpzgfz1OBbLBfxEEHOT/JyH'; + 'uvylqjphFLoc1ZICRgpXoX9pLe6XIm9lz8LJDGH6MAHVXlWxhcEMiLQPk2Q+KcmkA5ik8kkpJr2'; b += - 'sKecvkaTZk7yrklLRtQnZaIW+afCAIPl4hb0hrJT5eIa9LiyU+XiEnpdUSH6+Q16TlEh+vkBPSe'; + 'FSTqflGbSUUyq80nVTHoPk5p8Ug2TjmFSl0+qY9IweV+LfJpg2gjRGvJpDUwbJVpjPq2RaSeJtj'; b += - 'omPV8ir0oKJjw+QJOsd3kDS+BHluz6hYVm/MpD1SqD7jbQXbSFJcJL1oaRmJa+RlYuVgah/JI6+'; + 'afthadYrkDsJ5n+T0AFDybKzOG9UgSAo3oOtVmalJRL+vUJFNTinpFp6aYmlbUqzo1zdRqRb2mU'; b += - 'AOhS0jfF0ecDXQr61XH0eUCXcv7ROHoG6FLMPxZHLwO6lPJr4ujlQJdC/vE4ugt0KeOfiKMngS5'; + '6uZWqOoEzq1hql1inpdp9YxVSjqpE4VTG1Q1Bs6tYGpjYo6pVMbmbpWUW/6VK5nqP0m4lWq+SbQ'; b += - 'F/JNxdBvoUsI3SwLrJOligVdJkSOKusI0hXyoFGkOl43R+DHFjZMOBuPHdIKBiwRcZeACAVcYOE'; + 'sdpQXQNMGzNsXstgzMNOVNyA1MlcG6Kvwy4EpHXMuiH6+v0gQIC0nvk3RIeBxFuBtE3MxaECMO5'; b += - '/AZQbOEXCJgTMEXGRgnIALDJwm4DwDpwg4x8BJAs4wMEbA+APmxQhDxfBgHMfqsw5atcQPF6toe'; + '49UjbxrwcKgDDlCeQtos5OlQARjXPRdqLkq9DJWAU9Dwkviy5O1QCRk1vJRJfkzweKgGjrNeAxN'; b += - 'RI/WzSe9RfT2e5OHFvyTAXK1NKx7M4srHnWX0JHwTuzsOdZfykd0e7MwqJn/To6nd6ZhU3P+vV0'; + 'clpxeWwIZpmo3Jm1AN5mEhgsljvJkiFs3kGIm8Tqdeyacup+0S0UweAw17hU69lk+tpy0V0UweE'; b += - 'LrwzC6ue9ZfRCfTOLOx61l9OZ8Q7s7DsWb8hS2wVZduzvqDz6NHBiLyQhItJOSa4sEbHTIt5mMz'; + '4I2WUQzeQyds3TqZD7VE55OvZFPXSlW6tSpfGqDaNCpGpOrelayWNVsWBarag3LYlWnYVmsKjQs'; b += - 'HZAEmNZgsxMRBj2J0fxgW6WFROyyWDIulw6JuWNQPi2XDYvmwaBgWosDT2Ldz5l4YkI4dOphreM'; + 'i1VthmWxqsqwLFb1GJbFqhLDoljVYFgSq+oLC2JVd2E5PM+iHxeL1qJBBqaz912z8oSBS/Xp/V5'; b += - 'dL5gzPttfJsZm8vl1eeTQRKqfFu2Sw/Ojy8mMZlygP/KU0eko9waXDZQO6K/2p0rj1geMfqzfjy'; + 'ZQ8xcX/gHcuXvjBfs9dlkNpn+j5Ybz1ZzxsmmOWNkYzKbNY/u98zs8PAxDJIi4oOD+7PvHs5a+z'; b += - 'Kq/2cb1x4f5ZuHBH495dvGYZ0cHayd2/I6u6/HQa0dXRxYVW60rimPzOCyBMF2TZwGEaVOe5Q+m'; + '3afLKzVsSeKy+BJ9qDfKudvfuHv4vhgjaXJ7PwqftdyzyBmeywub08tixbD1lQSRM7AYAsBp1Nv'; b += - 'jTxQUV7kWfpgWs9ii/K1LLUoX8NCi/IZllmUT7PIonyKJRblHRZYlDce/jiIL5p5HFxFcx4nbiC'; + 'vOGF9v/TtY4DA8yju7Pdg+WeXF4dXbq93+Xtlp4Rjl8kxuD/52UWZZN8xvlNzr7RWxnrXw//8bs'; b += - 'UsqhH/oQblteC1+uW18pjuNc2myhq6pH1cNPy2uPlkbSr9MjKm7K8jnihJE0vPbLGb1leNl4ySe'; + 'DH8F7qDJWu94sXfgV1iHN9OOjHtMe668TJjwXPnBHnxymYilL9j78l+d/o5Nv0MY6T+1vJi9Hh0'; b += - 'tMj2ym25bXGS+epAGnR7btHcvripdRazhYQI9kiGnL644XVDKeQI/kort4FHystJIhB3ok693Ds'; + 'vGOmZZK2wtntmLRSIYZ3UugaQsWR5rKwMMHb6b2zXgbu/ZsgvFtbOcosov2rTbqG/sPyPgrvMVE'; b += - '+QLRRZbp1fSbIoY9r6l5qJ58bR6FpoAn1D5bvXVuAd8jcp3qvrJi6yq1LzoUC2RF+2q+fKiRfFA'; + 'mZiRv9TxyhKkGvD+uoF8vO/IH8JEfGz8F9S7cR6cW2wi8DMEP6h5kxkymjjCoB1Mvjwnr3cMaMl'; b += - 'XrQqhsmLNsVXD59pJ2dl2kY6h8uZVXu7YcUzpypw05p1kKRzuJxZFbhb1qzDI53D5cyqwt2xZh0'; + 'ZFdzjqa/ve4j+i/2q6VKoM3ZeF7s/WHvdjR9F38NbGjh7ESsMLy3mrJtxr5bzX8txraW/36h3eb'; b += - 'Y6RwuZ1Yl7q4165BI53A5cWrcfYtmMXHi8T7GDQuMmcShqNiHML5TmTGpT+BsIYTxVykDJvVCnC'; + '8t0W/1yL6gPDgcLjqQrzfv3m8jg8/r3D/AY3kR3+DlHcOLCRalT6ZOsd+LzD8AWJRu3nwndQMKp'; b += - 'OEMNabMl1SvwdY2i1JXgC4VlGxIQOLJYkfANsVOEl9qHmOI38cOLJYReKTKCjcXFX8SRRV8SdRV'; + 'EmYvm8XiG9LU4fmJcJPgSwy+NlxV/kTnni8wP/CKD3Jah3hFA69eUdZS8q4mjLeyUyGbQoDZ0Ej'; b += - 'BWeA0FaRFpD4+HounpkkncW+Rjxy6UrE83+q8O7aNMGnj+BiYZPDdEH8MsV3sSXm4Eq5OBev0aj'; + 'wDk1jrBcgbwDqmZ5VjSeAZN5ayMOhQtc8AFMwokV3+TtY+DD2CW2hrLRJqXQqOBm8SBvEizBiHo'; b += - '4i88q/5YM1qUpp0gnh/uYK0kC1SPDOVXJe0zwUneFURBtadaWsEy0qOKPLeoDMZiylBIsTE6BoH'; + 'AvgO+GHxbG9fe4/LKu+kP1daDmgGGXkbeQQ42OnegHZlz5y+2HPqMWPxGhN1AsC5nc2l1tBh/Ni'; b += - 'dqZZKG1kdmYMrxDwq0UzxAalAvfTdWqai8i2gDSw9KqKe58lAZDVBICeOrOc1ynBkThDOiSPsea'; + '6N6MQuGFw+UWHUcAPQOjLn/NADb0+8ZzUNMOM0uc+gY5yIDAIvCXDRAAgFEtZxYwhhW0lxnFGCa'; b += - 'tkULKFQVAnjrTnNcnQZG4Q2okj7nmPygBli4IATxx5z1sjw5ShEcQTKgKf97gMVraYXQGCSHzek'; + '2l1nQXqbWXgb1E26vMuoongW/I2WXEY8IB55CPwnvwoDV1JOsENUitjfofqjAAiGs1cpOaJL7Pi'; b += - 'zJkWaqDTmAPIvKB4sKBy8jtoFVF5gMFhsOXoZUElJQgQh+oIRzEjFwSshypDzQJFRMqjAV13tZi'; + 'DsneWmFM3wDVI2+7JuEESxDVfol+l31sdA1JRl8aPxgjHNh48dBuY4scWL1WLwNcSC0DkqEIyJM'; b += - 'QZ2ztVhQZ2wtFtS4rcWCOq3Hgjqlx4I6qceCGtNjQZ3QY0GN6rGgjuuxoEbsvFq3/SiH+WwocPF'; + 'nxDkkSplUqWKZY3/brHtvEM/B4k4ZNj/me6nCMcCgkUIib/9GQZneEKbSl/uYH3UW1QaUBgK5rc'; b += - 'v0LyQG6JnPjVED7RpiJ6B0xA9NqchetJOQ/RwnoboeT4N0SOAGqKnBjUEUrpbQ0mZ3hWGcCB51E'; + 'pvKmRBl+TtJNZUexYBlGlCulPLwM5g/4iJP4ESe/49eMgU/aib9ECvkRJsHnTgEruDESzL9mi+S'; b += - 'VpNx/v+f2dAlUQC8rfUHiK04Tl5wrPcbpq+esKT3K6YvnPFp7ldNnyewpPc7pk+c8Unud00fLXF'; + 'WchMjqieJDXHAOOU/ZDNu5dw5VO7gB8TS123oYrH0H9sitbWcorBjp5fP9Yzn7BOCnmQPwpudbK'; b += - 'p7odMHyny480+m85T+VVz+fo0P53Xn16zk+lN+lR3phS4ivnQS1idLNlG6hdCul2yjdTukOSndS'; + 'wMGpIeFjyRopUnt1MFJ0XpIIye/DX4iRbJRyiHklJ+ETJwwbu34GPlW90SdT/cXUJ3I/PTLysB5'; b += - '+hylzyvmkVXuh2utMkJUQ/QkKF6G9WWEKNWom6IFJriAZITN0QLXuIBkni3RApNcQDLc1miB61x'; + 'igLflqW+mcJ0Tx/HPcq92eXQDMi48Vku+4XtH/UH9ZFyeD2Wq8cW6JClItKbjupD1ghfYBrhM7K'; b += - 'AMum2aIEbXEAy9vZogZtcQHaGHdECU1xAdqCd0QK3uIDsdM9FC9zmArKHPi8pMkLUCuFFNgHh/h'; + 'hWca/AgDXwGSPIEthexLGytIDDiD6I2437NIPkKPxJ5n+893/OebSt+gEOx/gzHa8KTs5P7BQSw'; b += - '8h0HvgCfF4XjSLJ1G/b0Hlvw1nBh3oPdAZLMKt+AGW4kSx/BCa/FgTlR+PReXHo1H5sToqP5qi8'; + '/hvU8PDyMvEBf+as2Vc0aqKS0qIC3ZacZ7KBd62m4ZG8BRqTwm25irhRzeJNIYg7LiwrIIatkkW'; b += - 'uORqPxYFZUfK6PyozEqP1ZE5YdXJD+8jxIbit0HiiNE+Ws0P4EgRpT/WEHgKLb4+48WhI5ii7+/'; + 'fhAr8AawodJbeXU32WbylP0KHAJfu9GNXv39jpcYtODcC2QAwIomTeEGLOPkLNJYhKWBCVoAQqY'; b += - 'uiB4FFv8/aaC8FFs8fcfKQggxRZ/f1VBCCm2+PsrC4JIscXfbywII8UWf3+FHn1OWvx9r1DAoNl'; + 'UFUwoIoQS0dI8UiyR0JWRF4DPs2tYUja5KkkGwZN0Yx7J396F1J3RLPwpSDL7x8P3ICyNbB/aCt'; b += - 'fPLAQdKpNRBi1i+JGLQlbUI8GiBUv2KzeEBdAUNFrQz55Mo6eClmrOY6+OOTGljh6MmTg1jj6op'; + 'SaYTzKC+RNgC4hlfBSpT1tha7pis8cDr+PfHQGKjnIxlU0oRkcoBqwT0M8zZVAIHakZqBaD/DLp'; b += - 'Dn2+LobthN2uPoC8Oe1RFHd8LOmI2j14RipVMSaDWAtiYvkBFrl4O2WMORPh3WzhayZuayTraI9'; + 'ob3GIB1MO9wOhuMqXjLjtJ8b8FGN+gmHUlyR6xagbqCuOqG4ay+sPHjYpsDoxroEIEtz0bmJb4O'; b += - 'bEka2KLWQtLsf5Vy7qX1LqWSI0LVSpWtm6brGzdkgE4p0zPZ/XJ28iak7eJlSZvM+tL3hZWlbyt'; + 'J8tjV9tvW1OJf3YyMLkVkvim3x99znRkfJ6r9CfRbLTc8Xk/KH5UtKR44sCV8a+yJZrxIUsLI+b'; b += - 'rCV526Sytp11I28HK0zeTmh9e7U94eBRbbheOOkMrbbp4LYkMrOCMPbQlILQMnlbQTY+4go8Yhp'; + 'JZQxDLYSAnaRD5ukQ6OrQcI4F6/uIVuvrMysf3BmDjBTExqT4JbP0FM7L8FZPBp/OHfq88U7aR3'; b += - 'lbVY0oJFFoPgEueqja9ZGFK6bRDMebt2Cp1q34nHWbXiOdTseVN2BJ1dvf/i9oXC4jekNhcNtTH'; + 'IUefQzyAwIwEZnTKyARWhQTu6cVOImV4goFhvdgpBEYlZVQvdgaBMQmM6cXOIXBaAqf1YhcROCu'; b += - 'coHG5j+kPhcBvTIQqH25geUTjcxnSJwuE2pk8UDrcxnaJwuI3pFYXDbUy3KBxuw34Bwy3OFMspO'; + 'Bs3qxSwhckMAFvdi4TrmCwLgELuvANQQuS+CqDlxH4KoEJnTgBgITEpjUgZsITEpgSgduITAlgW'; b += - 'hSt96fEUppqWbTuP5/9/ctEPfksBBGdbBlboFJ5JJCvAwU7Ssr4TlWBBwRFiSmn6E7VMuQ0B7/a'; + 'kduIPAtARu68BdBG5L4D4CMxKY0SkjxKoSuKcXO4mU4T+U7aMXO4XAqKSM6sXOIDAmgTG92DkET'; b += - 'gKN5TjyGzn8wJjwrVqMvIMj8Z8Qj6Bq4Cq2FK9FM2Ij2wRVoGPQ4/rkVCOQHOdzH+dy8oXPgiqg'; + 'kvgtF7sIgJnJXBWL3YJgQsSuKAXu4LAuATG9WLXELgsgct6sesIXJXAVb3YDQQmJDChF7uJwKQE'; b += - 'nSb/OgDEuOXt0/ovxyNmns1+MQ87bOvfF+OMc1pkvxh3nfZ33YrxxjuisF+OMM1LAejHOOMcLWC'; + 'JvVitxCYksCUXuwOAtMSmNaL3dYps4+zeeN4viykwVobx2kohnE8Nsii8QEJRNrYqWu7z5XHPqq'; b += - '/GGWe0gPWE8rU5YRKbJGQgoDS5wJhkAsC9dnWSC+cRF5aJZcSAfL4kMyA6vTADokSnY2WkS0y1F'; + 'ExA2T6UHclFD2E4vM6hPlaP2YjvuhL64GsXMpygH6DZRTIAw+hKuMDzST5wcClL8OgzvHaTc4xb'; b += - 'vQL4Sr2F2PHGxgDKmWkIbGcw5VjPItGo+JPl1m1R8vxiM0xc69f14gxFk1pShQmRn8xpSERoSaA'; + 'dfgKfEFG74tMSCdDd7X4HquoQCeqB3A2I5dEUa5xj0lnHaKGHTYRq46ENIjhSSJpcF2s50EaU1b'; b += - 'riuoEaBJBQmArikIPUkmFIQ+KFcVVAMQGQ8RyACwNqBgf+wKADwssj0AHEwo13zEt3mbo8MXly8'; + '2TgHZkITwXwOYRvBPBZhCcD+AzC1wP4NMITAXwK4WsBPIbw1QA+ifCVAB5F+HIAjyB8KYCHLdpP'; b += - 'JviT5kuJLGV/K+VLBlzRfKvlSJZuPdnriOyoDxA2JSAeI6xJRESAmJaI8QFyTiLIAMSERqQBxVS'; + 'auVkmP7vP0C/7tDDpsKlvmuOCpLv1aBrjk2B7sk1J4hULwOTo2sO08k1pzZM30d06ZpTF6YfILp'; b += - 'KSAeKKRCQCxGWJcAPEJYlwAsRFibADxAVG5P1q+E3rzS8dyfsZlZuncvNVboHK1ajcQpVbpHKLV'; + '0zVkepr9FdOmasyJMP0p06ZpTH6a/R3TpmiPC9GNEl645bpg+bFAB6ZrjhQuMcAHpmrMyXGCUC0'; b += - 'a5W5Zao3FLcVCqqMEWjlHP2oKjPHTvkLxOZsweHsyAo0FnHBfS8s2IZYvYQJgGY+RKzjzBJwCyQ'; + 'jXnAZJYdccGTwEtetQ8JAkdwKT99rYvNWnsCssFAupGHaySnmTH025Ev/o8E7oDnSEFwd7ceR+o'; b += - 'mLcJkwJMjcQcJowNmGqJeQMwC2mF+X2ilQFtmViOJEZUAWKpLAy9DlGVgFoiUaOMSgOqVqKOM6o'; + 'RLNr8xGrzLe7ANYP8xscASOSU+w6TibaqASlg7WWESQPDAR49s70UcJGqJaLCqII0NOcexFxDvA'; b += - 'CUIslaoRR5YBaJFFHABP4DQfRkW4oqEl5CwexkSYVJJSPcBAZaUJBtcozOIiLxP1DRkVaG1DSgS'; + 'q6Qvka2w8NDFBUiEMV43xeSREWps7fzDErGYOj+ffMaioZRPJqRzEQth3iuFRwWk1WmOuJMfpUM'; b += - 'twEBOpPQCcMBLSXP/4Uekf7ZH+0RXpH2sj/WNdpDc0A6aGesNG1Xdkb9gY6Q2vRzrDa5G+8HKkK'; + '1atVwXUTXgySmjfCvMMj3KfQD/TMSsUhKfv1CCeNZiHGaiGH08SX+SUK0aQglgsH7IgkYZeAWAS'; b += - '7wY6Qk7VcdbKDFbRR0qTvWAriO1qb5wqapemMUuR3WkgJHCVexfWof7pchb2bdxMkOYfkxAtVdV'; + 'MMTBMwzMBNAo7xZkjKv8c7ISl/lLdBUv4tyl+n/AHe3U75fby7nfJ9WhiWPQ9fxFw1isiYa0YRI'; b += - 'bGMwAyLtwSRVSEoxaR8m6UJSmklvY5IpJGWYdBiTmkJSDZPex6S2kFTLpCOY1BeS6pk0Qt7XopA'; + 'TNhFJEy140iYmbSKCJnbhhFBM2UUUTS3DSKiJrpYqLmVjFRc3sWUXOHvABpex6v/qhjem3amyej'; b += - 'mmHacaI2FtEamjRKtqZDWxLQTRFtTSFuDTrHcAVjPs4MeAAqew5VpYD2ShEAjuk51mJpS1Es6Nc'; + 'Cl1WyFOmiip0SSHH5K45FAMKedJUoYYuKiTuxytj5AWFxM14KUaeU0jciSfjD51VyPsywjp+skL'; b += - 'XUtKJe1qlppmYU9YpOzTC1RlGv6tQaptYq6oROrWVqvaJe06n1TBWKOqlTBVMbFfW6Tm1kapOi3'; + 'ek0HW8ZMV8m4QlMg/3xc3GxscuuXhsy68qWpO1kU7yVyci4aWuRgXrSFz8S1G2pmLbfEE6Lm4Fm'; b += - 'tCpTUxdo6g3AyrXM9R+M/Eq1Xwz6FjtqK4Bpp0ZtqBlMOZhFypuQOpiro3Q12IXAtJaZt0Ifd1e'; + '3MczEtaq9z8SxOhudiWVRR5+JY1FwjGBZ1Tx7EyIOUxzE+LRbHrvQNGxezpunA2F+oNpedWHRcO'; b += - 'ECBAWsf8G6HDQOIvR9pG5uJIARh3/AakbWVejhSAYcoXSNvJHB0pAKOa7yHtRcnXkRIwCvo+El+'; + 'pQaDTF/oc4V/oKe2+Av/Lkr/QVCd5W/kOiu9hcc3Uf8hUm30V/AdNf4C53uo/6CqPuYv3DqrkVT'; b += - 'W3B0pAaOmvwKJr0kej5SAUdZvROLrktOLS2DDNM/E5M2oBvOwEMPkBm+mMOKZHCOR1+vUy4XUZb'; + 'SJ1L9psatKw0mtWug5e0G8dLyk34a7Du49mUC/N21yQ7JTnRrcV5fswrwTHjwPte7XFR8r6oFY8'; b += - 'RdIp7JDdCwl+vUq4XUBtpSEc/khhC0ySKeyQ10ztKpk4VUX/g69XohdYVYoVNvFFIbRaNO1Zhc1'; + 'fP8bOcHWoghnsfVcrHjsOTOLj+3AlAgs/qmP34VnFiF0TYM+j1fAALikioVERlp/34uj+CP0FCY'; b += - 'bOSxapmo7JYVWtUFqs6jcpiVaFRWaxqMyqLVVVGZbGqx6gsVpUYFcWqBqOSWFVfVBCruovK4TkW'; + '8cBxYjworzOAk5igspSFh9HHiLCPXnPRs9Hg12MKwVq47zUczQd87jnOYYkxqAtPI4eyHTVrRhg'; b += - '/bhYtA4NMjCdve9Z1cdMXKrP7PUrGg1rXfEfyJX/Zr7grMulcqnMv7W9RK6GM24uwxkzZ8hszjq'; + 'wmNQGg4zhvRKBTGiCSsxbPWj3Pki2Md1qjBY7uLpzZAuybRUkiL133K2w6APYGnXa1aCBfoUkRl'; b += - '817dyIyNHMEiKSAwN7c29dzBn7/Vp88mOOmE8V1kGT3SG+FYnd/M7f4DhgjZVpnLwqXs92zqGmd'; + '9ylXPaFTk0CtK/TuC0rUoVuRobqbcgis00ukocSKQh/CvBLVUKK+0O0wr0QNlKilGsWpVgzj250'; b += - 'yIta3SWJprgCyopMkdAEAWg86m3n3TN/a+mzMPwoPMw3tzPUMVfgJenbvy239AWy18sxK+yTPgf'; + '0POd95fkIiFHDi7+vPB8BMWLgOTy+56NX6PnoFno+Bm8MaijALVe5FSpXT0e34OFZuOKEQfcO0+'; b += - 'zdtVeQy/Eb5je5eYeyok+/n35i7wV+BO2hy9ru+8S78CvvgJtqRMcW05yorhAXPlR/swydXCCPz'; + '4WaAbrMJmhSA1qNPsOYwqkwzRLlNh9hE0yNuljDxA2xdiUj32LsGnGpn3sUcJWM7bax75H2BrG1'; b += - 'z509ha/O/JZDv0OYmd+3fcNZh44XjPQtslbY23yrDgoYWCd1nglkLFlpVFQAxsn8peO5cPdXTfn'; + 'vjYY3ioS+3/z977R8lxXeeBVa+qu6u7umdqBgNggBkA1UVYGlqgCTEiwVAKzeIRSSEUTW1WOUd/'; b += - 'Fwt5RaRPl5xzaLfTHdvBRcJeVLquwcKP/sUNUJej1YR/2Ybz4HflJroyfg/uWJhHpG1vglwGYJf'; + '6GS5uz5ntT08igZAEG2WxIwiSEIsOsbatE3btA3blAHbhA1JtINN4HjIpY9gm04QhzmCbDoLyZS'; b += - '3DylqptFlBlQDq5VFhv3cwaxkVZJezD2c+wH1Ef+V4droC3pSD7801HPSNw5m/xl9jHD6IlYAVV'; + 'NtWgacZgEtuBw7/fd915V9/QAoPUjtk+Iw+l6P+rV+3nffffd+11qN84jvBL2rWAbCTuYsIsRTU'; b += - 'vBWW77VLHyrGbzV1N4a1D+825Lvtvnn2lQfGA4UHk9VWPDrN1Um4PHvH+Q3eMncbaZ4CWAj1aj0'; + 'RsZ8QCI1qI2MaInYyIETHPiJyUp2+oPmWlwtBCwmOsGkt4bKh2Ey8yVRMKjy0qTeEpoXqVXjO85'; b += - 'yfa78HkH4QuSTdrPhe+gYFTJCg/N44ks6WsJ/MSESPLFwC9NVJR+kTXri6wP/SKT3Jah3hFA69c'; + 'EnQeU+CXvQk6JwnQS94EnTWk6DnPQk640mQI0a7PDG6yVOab/Pka15oTlDRm5uU3nQqetPBCv82'; b += - 'f2YfJu5o42sZOiWwGDepAJ8EzMIm1XoC8Caxj+XYllgSe8Yy0jUGHagIGoGBGydyyd3POQegR3E'; + 'R2+2Kb3hst/l6cE2pTYkTW+pYrniQXASJMzXyUdbCY6jTxX5SJTgOBJVEY+WEhxHohzpIIn6cI1'; b += - 'Jb6pBQ51FwNHiTMIkXYcY4DF0A3wk/LIHtHXD/QVn1xezvQcsBxawgbyOXGB871QvIvvSR2w76Z'; + 'EWdKRk0TVyI0QqVyTdnJJ1SmOUKmdmnbzMMURGnXzWooTYKoHpDhQrotGyI4siKJ7chzluYE7Gh'; b += - 'h1+JEZrol4QMr+7qdIOO5xvoHszCoUXDlbadBwB9AyMuvxVE9gw6BvPQU27zCwJ6hvkIAMCi8Cv'; + 'Tu4op8OBJ0Q7XoNNs7cHLZPkqHto1mu2uxaFY2kjY5n1cSEqihgxzr+lclRoGaR8hhs7gqSQr89'; b += - 'myAAAKNazipiDDtsLyuOMSxsL6uovSytvUzqJ9xeFdRRfBt+R9qpIB4RLjyFfhLehQGrqSfZEap'; + 'Nvmp+R2P013KAHCnZmN6SuN6nf89C6UjPVTJW49aAtHQtzSk3mBydbHNNpR2Yxu93wH3BT+xYmV'; b += - 'NbG/S/VCBRUJYq5Ud0CS3AkA4OyotKZrhG6RsDmTdEIhiB67QLzPvrjNA1FTk8KPxgjHNR44cBO'; + 'wd2REiWD8TNEclvap9diFJKRNsWEQ5V4kt2Gxgt1arh4it+aGi/0qenim1b2bylUy8W39CoysDQ'; b += - 'Y4ttk36jD4GmJB6BwWCBqiAt+QIlFqp1MViuWtoO6xbXwTvwdJ+GQj+EyPc4RDIYFCxOKfnqqgM'; + 'qcfGJUkph0ZbgGE9iuugLGq1o7keQANqFXgos9ZpQcxjJkSIZFAwuzAK1i5HoDqJBx4qORr/I6D'; b += - '1yhLeUvN/E+qg0qDQhsRYvbVN6UrMDPSXnp3DQWrMCIcuWUh5fB/AEfcRdfeFfVjIlP2oG/RAr5'; + 'aiQc2w9gK1lJHoCUSDpsFDGa6G/3HYD3haxxNJaNCfJB3vZyTc/SlS6v40SXN/A2lxf4bEt78RP'; b += - 'O0yCz70CrOAZJJj/hSNSmystjKieIjbEAeO+ki+4lXPHcKWLH2BkfseBLmZkLjkivaWSorBjp78'; + '/P9TfjJgfq6YHYC8XXBLADtdcHsItIrlaPkw1vhhFJOt5vkBD2Tb8inhV+ezLM6Bl4IDLxQMfAO'; b += - 'TsNNzzjFBT3KG4M1uzqiAhqSHhU+kaOWpbVTBKVE+BKMnfw1+ok3yEcqhpJRfhAxc9O7N+Fj5Vq'; + 'FpNLvNLs7svjfXljX97cl7f25QnQVvOJfXl7X97Zl6cjb8nzUkl55dy+UrpenibLcLAk02Jf+l+'; b += - '9M3Q93l9HdyPz0y8qAOSrCn5aj/llGND8Yx/3qvbnF0IzIeIZs172C9o8Gw7ooG9pW51diS1SJS'; + 'nzdxyBP4wXyzSfjdPdwaEWTUHio3l5KD80FLRoO6WxMpDUjR2Yl7E0MeZrDL0iuZOzAt5nKoeZ1'; b += - 'lHNbSf1ATuiD3CN0Fm58EyTH2HiK0CSJ7GlkH1pYwWJAXcIvRH3+jbJR+iR2POc4Plu8HxL6RsU'; + 'TlK4/ju3LM+I3kTXEhqE+TvRAiTgpapZ/LsD+LS6LJ0hyUNjSX+k2JhkwhhE+9Fu6LemU2gAJTe'; b += - 'gv0vMUYbnpSd2js0hOXvYT2PjIwgL9BX/pxDVbMaKikjquBtuQkGO2nXegYuuWuAEWn8pquYK8c'; + 'VlWRbTUbwv1bpTZouoCNMquf0r8U+yfXMTAZ/JPXf+U4wNwMJYMCnMfdUea+LLEmAMDqMjUS5K8'; b += - 'c3iRSmMPyogpyyCo55Fm4wC/AmkJHyW2VVJ+VmyuTdChw2V7foPr9SyfzKzadGoBtgRgQRKmCIc'; + 'TdSvyYzamLxWeVvvqZF6h9+geodD9Z68R6Zf854eoFSvo/YxFHQ2WZWQ5oFis7xZhvnmcvsHiy3'; b += - 'SaeYSaTRCVsSAqQwlUxoKojAVRklraIMUixR0JWRF4DPs2tYUra5KkkGwZz6AY9u5e9K6kbolnY'; + '5ljJ8YE4mcFe+2Z+Tn2TQn5efeF9/m5TaLWcHsj67aGhGfF+ZQy1pThFaFiCBN7bFosEgVIVSPk'; b += - 'crBF16+FzkBZOvQXtDWJNMJZtBAImwG8YyvApUpZ26pdC3WeOB1/PsNkNgoJ41cWikiUjlglYB+'; + 'GZL7UMQwx1vmlOl5b0SdEe9OFJXX4w0ABVlCXXUhhk4WJklWOqdyxIJNB+crhzNvul/A42zP3AV'; b += - 'hjWTSuBCzUitAPSfIQ/tLS7xYNrlfiAUVwWSEbf9GMxPBvMTDKOBJNErRt1AXfGO6qZGQX/wsUm'; + 'ew3+GUpqo2fNmSD+0Eqmvv7sPjbzkC4X6oyjd6YZm9MUEflNh5TMXIfKgP9ZljKEN5fNGAuEdy3'; b += - 'B1YlxTUSQ4L4TCG7k4kK2tQK2DbQ4j/djIwuRWS+ObfH33OJGR8kavEJ9FstNPxCT8ocVSkpXji'; + 'WH5YNVsO4ntzSA2ROCgfYXzi4yc1+hCjYx/NooDEbTSqDA8uymAWYfZnITjHjFTzNuLdwreljS/'; b += - 'zJQBoHIlmvEhSwsj4cllDEMthISdpE/is26eDYeoAA7g2K2+jmOyMTOx+OiZPMxKT2JLn1k8TEw'; + '/F+nmLshOAz/z6Hs9WHVBkoTMQ3eSml1tee5EuGwVBkKmJW5PlqSZSyfVfDWfOAlhnATVnwP4B+'; b += - 'VtABo/8K/j07zVkS3bSm5CjzyEeQOCGBG7olDsITElgSi92F4HbEritF7uPwLQEpvVixy8BcE8C'; + 'nmvLN/qWjt54N07fQSepCA3/vzDUtFuJ+PRZspYBEnEK+dL/OKAfZwB/OqI50vP23Z0WCF6bfkj'; b += - '9/RiJ5AycomBEb3YSQRGJWVUL3YagTEJjOnFTumUMwicksC4DpxHYFwC53TgIgLnJHBBBy4jcEE'; + 'ykIxHEASH/suOz60n5pSwOeD/v0LisNzEogNoHp6OKGFvcg1FXo4po3huXwbTS8T2m5uS2Ps3cC'; b += - 'Cl3TgKgKXJHBFB64hcEUCEzpwHYEJCUzqwE0EJiVwC4EbErihU+4gMCWBKb3YXQRuS+C2Xuw+At'; + 'nA3WN8LIIKQ0aEYpDx566CcsjC649E3Zd2yVZ0YmGtnVyNl7uPhn5JjNN3egKjvyrQSl2iyrYvv'; b += - 'MSmNaLHUfGvyeBe3qxE9TfviPbRy92EoFRSRnVi51GYEwCY3qxMwicksApvdh5BMYlMK4Xu4jAO'; + 'DRXgvtOPyzYsyJKnOZCgRSWMTO/URwpB0ZDgmgJglzy0ZkonhIUn8kLQxJMnQkEzKSEzIkEzs54'; b += - 'Qmc04tdRuCCBC7oxa4icEkCl/Ri1xC4IoErerHrCExIYEIvNqlTZh5nC8bxQllIg7U2jtNQDOO4'; + 'OwNYl0/AQnemd/PrlUdPbzsQiZgtXQRnxtSCbtkDhdPPyE1zUk7fWGBPfwtkHQfgAO15RUUDqvn'; b += - 'McSi8QEJRNrYqWu7z1UaP6iExA2TmSHclFDx0wutmmOVaP2YSgShL66EsXMpygH6DVRSIAw+hKu'; + '4CSgPwIZVkiVQEllw69GwIIIQIg93F5SOg47tyUQrk0Odvu+AdSuagPX9kgbU11DJoTI+ERh+YA'; b += - 'CDzST5wcCVLgOgzvHaTc4xbefj6fEFG/4tMX8TA97X4HqupgCeqB3A2I5dEUG5xj0lgu0UcKhwz'; + 'QDN0gfWKLRk67sjq8uC5nxNjDDp++FESbxyphCIJDjkD1KEI6f1SnjBDUA1+Nax9VUtM2Tq0XuZ'; b += - 'Rw0YeQHCkkQy4LtJ3pPEpr3sjAOzIRvhHCZxC+HsLjCE+G8GmEr4XwKYQnQvgkwldDeAzhKyF8A'; + 'ZLj0FB/PCa7X3KS1b6oPmRQ9S1feRJY4+GtMUgkd93eag6BFNd4kKDND76WkzfFSCqGQoqouobi'; b += - 'uHLITyK8KUQPo7wxRAesWk/qZ2XYfq//wD9ukMPmwqXBK45Kki+X4uuOQ4FuifXnDBSvQxMjq45'; + '2qCaIL+LIQnREq8U/kqxHIygGhwKRz6YDSFaNsm3s1RiI+XRcnaMtkycoQGA4fng/2mzKKLdXbD'; b += - 'TCfXnLoofQ/RpWtOfZS+j+jSNWdZlP420aVrzvIo/TDRpWtOQ5T+PtGla46I0o8QXbrmeFH6iEk'; + 'P3gJeyBVDcXyyvul2l9sj5ETcssSkINKyPXuV2NCuyMjW1DjoRUmQc7LqGWIR2nKjvUSrYzJzDL'; b += - 'FpGuOHy1wnAtI15wV0QKjXEC65jRKCrvmyOAhqF1HgoekuBNYvNfG4a0+xV1hgVhAxbCTVcubgm'; + 'rm4yDr52kZ9QKc6htpZNzpG1Mylmj1Bsel2zKKrNIqlv2o/QbwGnT0FFN7vP5RSDBQOteFco/M4'; b += - 'jK1fhHh3dCd6AjvDjYiyv3C5VpfmUOepXxZh/ABmFmwyNwLHqCQ8fZ1ACVsHSwxkKC5IGJGN/ej'; + 'g/eEps13dIxxtOTA7oIQAyu5/5OjpvbDeGMcKVRfhGifkXS50qRzkHUYfN2ItG3ehOSBIsDCzsD'; b += - 'T9K0BQ1YmFRHBlyimMvIt4BPk/6EjkKCw9dVIREGON1U0weGaHG0c4/LBOLqPPzyWcsGsr5ZEI6'; + 'BXK1kAgVgTWaLSqX0sMenUOJaYdGoZS0Q6NYslIp3axBKPjgaxhKOjNSyx6G73UHS0gwUOHXz07'; b += - 'F7EY5r1SeFRARp3miDv5UTrUoFYN14V03U9i2oz+CpN8nyI/MDgjEYuk5dcvkDCehZigiRhGH18'; + 'sLPAiDn5CgKsLlbhTe+GT/zgJi7VTawt+JnBsByt8oG9jfw0wWc3K3CbxPYZLfimgQKaxL3b1fc'; b += - 'cnCREm4ZQIpi8L5KAUQZuEXCcgSkCRhi4ScAR3gxJ+fd5JyTlD/M2SMq/TflrlN/Hu9spv4d3t1'; + 'HMCIXGwSUQSAOzCjlwWVOpQRwPUACEjiuj7uEuNWWrLwfNxlxh2RuIk6QskFKfocVukuuIS/Ccg'; b += - 'O+XwvD8sbDFzFXzBIy5qpZQshMmCWkzDWzhJiZNEvImetmCUFzwywhaW6aJUTNVClRc6uUqLk9g'; + 'P3wYMiJuBBrEbuBBvBULELcCK+BtAjXgb8CNuBZLE7cCU2JPf9vWAh7jpWi5Zosolyw1jXbJElU'; b += - '6i5Q16AtD2PV3/UMb0O7c2TUYUuKeRJS0UVuqiQY3LXHIoBhTxhqVBD5xUS9+NVMPKcQuJmvDQj'; + 'uWnWNdskSVS5ZvGeuSJapcsrxprEuWqHLJ8uaxLlmiyiXLwliXLFHlkuXGsS5Zosoly7eOdckSV'; b += - 'zygk7sST8YfGFfK+jLCOn6yQ92SQdfxkhbwbBiUKzvfFzcYmh255+KwLb5o3K+uinWQ2zkVDy2y'; + 'S5Z3jLWJUtUuWTZNdYlS1S5ZLlp2KOjlawXVKvQO2J1EERQcGP/XgoHlMVjGVIXniHcY6svExw8'; b += - 'Mi9aQ2fgWI+3MxrZ4AvRsXIs25tmYFrXX2XgWJ8OzsSyqqLNxLGquMQyLuicPYuRByuMYnxaLY1'; + 'jWbBim2pUMXK8k9F6qLlKN2ySEgBTwjfyWtY9f5CiJOGXsUidzyw2BKRUAz+goJYCBQCSxST9to'; b += - 'fm9x1czJqiA2O/UmMtPbbwqHQoNRuNYKHOE8GCntcYLPx5K4IFQm9lsJDorQoWHL1HgoVJrylYw'; + '6otpIxsvVJlZ8Q2+V1fMHLqynK8gUCW2w17IKnDnjy0SDjC2z40tD/WNbWtuXg9ricljpUVsdsJ'; b += - 'PRWBwud3qPBgqj3WLBw6q1BU0i9R/abWrSsNFk1nouXjJfAS9pLBmuw3uO5tAfzds8iOyU50a3B'; + 'ZnYk+MHostPiXI0WlsFI4gHYktEiVI0jOxJ0mHY4uACaJ0Kq7BZK7EFgMTlOnp2JOmK5HFugR1O'; b += - 'eb7hl+GYse8Dv+6oKPtA1InHjx5hZ7h6VMFM9r6rE48dBSYJ8P24EoGFH9Wxe/CsYsSuDrFn0Wq'; + 'hFbIEsAZV6OLEoloDKfij065muRdZ4JdMxjsfWaCXzMS5F1lwnJzZOxx8d8JbIuM4GP+URsfWUC'; b += - '4D5cUkdCkCMvO+gl0f4T+goRHjgKLEWH5WZyEHMaFFCSsOgq8RYSGs76DHo8mOxjWiZVH+Shm6D'; + 'IfNiZJ1kvo0sBNExH9cXbwN+WGT9ZZK4XYiEuoWO/MA2zBO5udyRttncEbSNuSNjzbwiXn0QrJ2'; b += - 'tncU5zhEmNQFpxlL2QaSvaiMmEJiA0HuWNaBQK47gkrMGz1o9y5IsjnfaoyWO7h6c2QLum0FJIi'; + 'gVW8CmVoAhfpWEKddoEvj4OtAq4Rq3fqNJ1gXIrCVVyFYsHi7Gr2CNd3VyBVs8a5GrYJ861WJVZ'; b += - '9f9ytsOgDdCT7s6tRAu0KWIyu5RrnpCp6aAWl/s3ReWqEe3IlN1N+UQWK+XyECJ5cU+hAUlaqBE'; + 'BvuSqtAkDZ1UgVAMiuRqkgP7kaoYK87Gp0CnK2MWQKTIcyD+3qajB0oElydpxR6iFUY4pKJ3plO'; b += - 'Q7HbYUGJWihRRzWKUy0D49udMH33A+X5CIhR0098oDwfAXHcxHN4As9Hv9jz0Sv2fAzfGNZQiFu'; + 'F1zBrXBkTS6L/9yasyh7vINPJsIMYApjgp85EzfyxMcPSgvn8bRu5tP78+7i32coRpgx/JGvCzH'; b += - 'mcstVroGObsHDs3DFCYPuHaTdLdAM9kEyQ5Ea1GT1H8QUSAdpliixewibYmwqwO4jbJqx6QD7Nm'; + '6R16chC2EoxcAwzZZN4TvliPpIn6kOgKV9gWdrHJ5oMNtp4TmEKwDE3DY9E8jpMV+K+ECoJy0pm'; b += - 'EzjM0E2MOErWFsTYB9n7C1jK0NsEfwUJc68m6sR3jE9KRhGwkNRFhDiAQilhOiiRBJRCwjRCMhH'; + 'U84hQpYxsGNJTnqh4dMvAilGNMLFF5m3lwhpg0Tv51Ml+S/jatIz28mgCyU2btjdg2iddDKrNKv'; b += - 'ETUE0KQ5PEscp+SVmH0Qvr/2Xv7KDmu6z6w6lV1d3VXd0/NYDAYYAZAdRGWhhZpQoz4EUqhWTwi'; + 'Oiv3Uob9YqXFjjUURX1UUl10vprpOCRxwZwdMn0rA2PUooT99hg9pkd9evi7xmC4F4pOioDOs4b'; b += - 'KYSiqc0q5+gPnSx3N+estodH0QAIos2SmJEFi7DFjbEOI1MObcO2LMBrwoItyqZtJh5x6RjJ0jE'; + 'EbkfDy1tHib+uSAWjWHLtSho+SngfPuhI5hGfj82h0hTHowpMiIsieV3840WQYXMocsn5AqRF/X'; b += - '2YVaQg2QhBrYRm1YQm4mZmBb3/n73vVfVPT0AaH3EzlnicLrqvVev3uet++7H7+IyVoslXDbUuo'; + 'AQ7XDDCrmSmbTZjrq43t5PixjfzYTvw3GNtozdhO/MXG1g6X9Es1vhtgKadLN8Tpe5kjK21N9Ww'; b += - 'mKTLWEwmWLRlO4SmhepWqG854EnfMk6CVPgs56EvSiJ0FnPAl6wZOg5zwJcsToBk+MbvSU5js8+'; + 'UurMR2i9FSF+5+c3zc5Off2S4Gzr2bBTeahvzyHDD7GDZoYtkSUHbxY5Z2k9wNuoh9kAR6TF7Qs'; b += - 'VoUmhNU9OZGpTedit50sMO/w9GbnUpvuO1v8PRgp1Ibkqa3Vanc8SA4CTIW6+SjrQTH0aeKfCRK'; + '/YPNjZsxFOxFKjBukF5Qbycy/rzpHraTdwukUcvIBTrUNpS4Gjonxi+0HexnYc3jiS8GFpuE8ar'; b += - 'cByJqohHSwmOI1GOdJBEfbRGoizpyEmiauRGiFSuWXu4peoUR6jUHs27aZTiCI26aSPFCbDUA1I'; + 'mwblW1X4oC2nVsoC0hfg1op+1hTkL/+NEzOpiWXLKVofx7p6tKrFBfmupK2p1w87HBp032OIhpp'; b += - 'cGNdFY2RHNkTRPTWJ8lzHLxoM7uKKfDgSdF216bTYu3By2TVOh3aOF7truWhWPpI2O19UEhKoo4'; + 'gR1yfWtksbiDb3SNtWKGO9xRQT2RpjxCq2EZKqbrJP1UajrL4SE577PREWBvaDYH9IzgjmBCfj5'; b += - 'Mc6wZXJEaBukfIYbO4IkkK/PLb6ZfkLr9MdysBksXslvBAadSg45d3oWRskCpx68FaOBLilp7KC'; + 'i3h46Y948uJtcBu5uVZAMkA3aH06mZdjvqZwH4xX2aaQRyhRTaVern6p0GVqGwtzdTxFFc3BTEA'; b += - 'yy2AZbR7spndJfnOxCm8E9PrAx0R0qUDObPEMltZb+qxSgkI22KCYcq6SS7DU0X6tRw6RS/NTVd'; + 'gzHAl9xlNT7Stb9/YgMcN0CQeUYzbkBN+BkQgExpjYwn4u9nvWEpsy51M//1yQHaFut8598Ki9e'; b += - '6FPTpTet7N9SqJZLb6kqMrA0KnHpiVJKYdFWEBhPUroYCzqtaOlHkAHahVEKLPXqqzuMlEiRDQq'; + '4vmHIXA0mdzEIO0UEaL52eYWbkqqjUqh6Je1bYcIEer2tWqPlCvajJc1fZwVduLFJSwqt31qppc'; b += - 'GEGaB+sVIcgfJoGNFR5NfYnIbyaBm2HuBespIch/JoGmIUAbV8MfCQcDTOq5IQoPBFOn4ICPhHk'; + 'q6p5p99IzbKrGf6H/LhIeTsifSDPLYiX5CXKnfLGg6x6JIXkafZvVRAa5+li0bxfpj/FVC2K5kg'; b += - 'yTUg9mSJoHW0iLB7MkvoOt+FkczOEnB+rrktkDxNclswS01yVzA5FeaRwlL96BIJRyup2TE/Rsv'; + 'jhW43uo1UBVag4o3orrvDvPHWIPh4PnkYj1JZhPTZ1J4jfZYd3l4uJBD4Q54ES6CQM7/Bzg76PX'; b += - 'iWfEX55Ks/qGHghMPBCxcA7VEytUKXZ3Z/H+/PG/ry5P2/tzxOgreb9/Xl7f97Zn6djT8n1Skl5'; + 'gqyJtFJ29o9zpjVFRZZfp2hjTkMYdkDHe98YO90M+UxA+JnTMJrMU6GISm/VRbOqwnX8+7JRXbe'; b += - '5cL+UoZerqbKcLgiy2J/+rUZs7AagT/Ml4t00M3TPQFhVs3BYms5NSw/slI0aLslqXKRFI09WBc'; + '4taC4wNJsyqGwXqEZ8bHRMeZuyYJDomHSkclkxCKcJ0tFVJvVUT67SqW29VUmuVTqpu1SqdXt2x'; b += - 'x7HGmqgK9orkH60Iup6vLWTX5yuP4rhwrfit5UygE9WqqF0LESUGrjHMZDuahJJoqzSHpQ3Nl0J'; + 'rUrQqgltVVJrVffarYJZX9e2qjuuVVJbO3t6PM/19s4tUnrZruR/LRp0UciJyDJ2k4fRMnmaX+P'; b += - 'RkyBRCxNRrQV/UK7MhDJjK12RXRCuDtlDvRpktqy1Ao+z6q8Rfxf7KJQx9IX/V9Vc5XoAAY8mwM'; + 'kaWLy6M0UNo6hkpgr1ClWiSwxbzGVj6HB36UoA3F51IeggM3QJxHCHF+p0gCmMPYLLUqt+QX0Z2'; b += - 'PfRdqSJN0uKOTiEiUy9JinbRPuaLKidyWuNt+2eHmt3+E1qdzjS7ql7ZPk17+kBSvUaWh/DQGfO'; + 'dOF/myjILQo3I5habLMOGE6fWCWlLuVLoJnZngNkIjtW4jflLnNoIspbcRiWlyD0irXh+CtObxE'; b += - 'moQ0Dxbb5MkyzLeVuz5cbM+3l+EDC7KAu/LOwYL8JMPBovzE+wc7pdZuOT+U/dlFRzPi+8oaakl'; + 'GlNH+uGWwEMecw4W5JLocq9w1G/gdDzNuWpTz6LLW6Me80mPbyucRTGM4F0+gVJ4KMcFh6TPGu0'; b += - '3itCyAAmisS0XDd7CVCjlFYz5UsswxDDnm+FyacmYFO3hAJHU5QcTDVBF2XIthUEWLkZ2OZZ6x4'; + 'tkeiVHW+Xa7gg83RtMfoFSRS0Iaff/I8DT/hGLVoOWvNw9Cypzk45CKwjEFA9hu4R6V8vMAmdFk'; b += - 'JEAu0nRzhnc0Dq7+CDeQC4ioMG3yxVtfHThmzwAEhF88AAHn+7eBMekKbMYDRmOBp92qjcymMqZ'; + 'CkwgAceM1CUzx8IGziwTgca6Q/oSb1AJO54pNwIaADQwC0uFwlVpsQWAr9sCHirkhb3NzqsFgyh'; b += - 'u4jZaDvDEuZwvuLBtwlgvuWy4+qZcshvG8BuSEyh+UjTE98+pQmH2Zy7JNZFZC4jSaV4aFlmcwi'; + 'd+68w/fTTXMKbXn/2Ln/psaMMgI7/0R7/w6diGe7IAf+BTf/gfjQ3jGPITf/Tqd7v0KTkB/fBXf'; b += - 'zP4oBOeYkWreSrxbxLa06eX/IMPcBdlp4GcRY68Hqy5IkpB52E7Ssqst150IylZhIGRZQnuyIt1'; + 'ui3XXhDPlP+5z/7ic9FNrwx31Re+eSXP/F/2vDmfLb88mu/96Pue1vyreWxH/3Rr7ZsGNgql3/y'; b += - 'cOaXuq3n/FIRxcqvxHMA/yDDnnQMrResAL2RoZ1YwggT8PpBvWSnCA7ws2swBi9hHug6+rCvecI'; + 'V5//Rww/JKPWFjZlZIyJobvGfXCzPPddawdITScMR3vNQFsv16NJTc6LUcdy7gW6L8albTI6xcx'; b += - 'Q7WFcdGXz5acsXDV6Y/pP8PQoCcQIA0t9zQr760n/pSwORDweMLisdzEogNoHp6EJDCz0IbRW6U'; + 'oFDa85pqo7EjYj8alCU0qL3xydEaCsnbWRoWjE1FW6CL80yyYo2FBQ/qAN8XarRL9uI2OhWfThF'; b += - 'PPG8By+lY73KT03d+Zx9m6As8H7RhgZ3CkNmlXKg4sexgkbowsufS77rh1yzcREE7uaOH8PN/+s'; + 'gTnrAJiU9INOFJm9D1CV1NOGYTMp+QacJTNmHGJ8xowgmbMOsTZjXhaZsw7xPmNeGUTch9Qq4Jz'; b += - 'HLP55G40ZXe+g6BU22RX7Hq4CO+FdVy+bVmmJNWVDCMi6Wxilz7uMCUdmY4+ELPkuiVT0h+dksR'; + '9iEnT5hpyactgkLPmFBE87YhF0+YVduD4iM3+3jLaKaQSKBU+i8MHLOCy2cWgxMgDGJ77CJ3XGJ'; b += - 'PSRtTkoxMyZTMRF+mpH+AF8LWJDLwfS70zoF8aqXoHOBlETIHu6GN9NqUTNkpcbZ4+AmvaUram0'; + 'dy1qYjYu8fnAvjozLvWsS50dl/qCS50fl3rOpebjUl90qTvHpZ53qQvjUl8K9I5P0nfJxDM64aL'; b += - '0J9PC2Q7B+AA7XtDRQBm+QgJKA/AhlWSFVASWXAb0bAgghAiD3cXlY6Dh0bkqhXJ6cbXf/TWlcN'; + '9SmdaeZj9XZnsfxfAOtkSHWe31y6PZHS5HjOQzbzeMXNj7o3oDdNkf8tKbN2NUCxUDb8NpNBYSF'; b += - 'ECsbJC2pgYGzYmR8IhDcwCgGYbARsWWAh13ZHVlcD3IiTEGGz/8KIk3jlTCkASHnCHaUISMfilX'; + '0YDcukVbQd2r8r0cCLt4dl0vRxZCXSvJ9SAGPnTNzLpFUMTm3TmhjcKMJkXQxuba7UZ3hNFO6k6'; b += - 'WCFoBt8a1t6qNabsHXov6yyXkUKAeeG12vuVlq0MQPOiB2nq+8gKZx+daQrBo71uc1j0iKa7QgM'; + 'nVReEuvwvCGjYWAOVHZO97gp6GkEElj1Tt5XRSeesE0ROHdIVF4z4vJIQqf8IJxiMInrWVSZ0gI'; b += - 'G2P30tBs+KUFSMpLURVK3ltQE0QV8WYjBCJX4J/LWCGTloFBg0rl0SOmKUbbNPRojE6+uixO0Z7'; + '7n2sazuGROFNXxrqbXxpwwJxMywQ31EXiG+3AvHEeW+CQDxzovJnKhE6BOJTTmoOgfi0k5pDIL7'; b += - 'JlZQoMpw/XhwZNmcWW2m2GfvISjkCqHxfLKx6QZX2qPkVNyyxKRg0rI9e1Xc0K/IyN7UOOjFSZB'; + 'Byc2tQPxNViA+46TmJ5wIfcEKxDc5ubkViH+rFYhvdlLzY06EvssKxLc4ubkViH+bFYhvdVLzJ5'; b += - 'zsvodYhA6cmO7RKtisnMKuubTIPvnWRX1ApzqG2lU2ukY0rKeaIUGx6Tasoqq0iaW86iDBuAZdP'; + 'wIfbcViM+r3Dx0EnMrEP8bViC+zXqUokD81rpAfK4SiM/qjZ8XhfOuz4am9ZbPhhK93/MC8u3wO'; b += - 'QUM3+53LKQYLhtrwrlD4PUH6Q9Nml4ZHONZyYHZACQGU3X/L2VO9sGqMY4Wqi6DGCanLhS2Vg7z'; + 'dCHz4EbICof5+nlJmDD3wxnBG+FHwJKyW/Nb3nUWsasbxNzPSLzEcB3b5xSbKeAfFuF+F7ZnVBN'; b += - 'D7EMj1rJpF5pDggQLMwsPc/WSBRCIdZElKp36xxKTTp1jiUmnnrFEpFO3WCLSqU8s8ejoEEs4On'; + 'GBkg4PaI7/1x6VsrxPdiXPqWCvH9hnHpNQ8cO8elb6oQ379lXPpMhfj+pnHpGyrE9zePS5+qAN8'; b += - 'rDEovudg9FRz9Y4NAhRu8N+FkC5JwcRQE2d4vwxjfhZxEQc7fIB+zt+JkFsNwt8gH7C/jpAk7uF'; + 'XxqVnFd77jePSWxXc+7faBBWQt63kW2hQWhOOd60QHPSmR/KowvEJS7pAWybJ3Tjh+OWO2aQEGF'; b += - 'uG3CWyyV3FNAoU1iQe3K24OYEQuNYkoAsAduNHLhkodygjgegAEJGldn3aZaWst2Xg+7TWmHZW0'; + '7oDPQ53ZWevZpvZ8v22j6xZLhjrSkbSLHWmbG94k8lLuCm8EHloCIlfLwRpGU2IVcISS//lD9X7'; b += - 'fh2h5IJUfRa79AaEhL8RyA/fAQyIm4AGsRe4EG8HQsTNwIr4C0CNeAfwI24BksTtwJS4Lb/1GwE'; + 'HicFr1vhAiHWm+7GlsTc3utCKpj3wYNi+3biQ03PcB9RKLtgO2VaLs7x3UKMTaMDjO8hjDWqZ56'; b += - 'PcePVQrJEVUiW6yaGZImqkCx7JoZkiaqQLN82MSRLVIVkecvEkCxRFZLlrRNDskRVSJaliSFZoi'; + 'ydN4Na3rb5FHHgwQANz26dA6wdsqAR4OEAC4t5rY9YHQjXMCaeE29E2oFnNQBOShoaf001hTuz4'; b += - 'oky/UTQ7JEVUiWb58YkiWqQrK8bWJIlqgKyXLDxJAsURWS5cbRiI5Wsl7QrEJ1xBogiKDgxv69H'; + 'QvnF+mFCCaWBtV0wqyTQ8TGRKMo01uesDIZznCiWYBlZ3SkrfhH4MLCl9swTU9K4PhHGcN2aUYB'; b += - 'A4pi8c2pC0876DH1lgmOHgaLYId21KhipXln440RMsxhmWROwU8IXwn1bAa/YUQJw1VxaJ0PLTY'; + 'pY3ykp/VYJ4PBhPfI1lFgaa4knpNLwOGId8JlbzUNCJmUjVL8oIGbGeVmBB4zKy8okIM59CBDkd'; b += - 'EpFQDP6CglgIFAJLFFNWbR3RbCSjcrWJHd9QrbJG/oDCeqaCTJG7LVYtq8CZs75OdMjYOju+NrQ'; + 'S8rpuZlxQh93PKo0Mutj0J5/NF8R779WkSPV4M3C+X7JtjOb76GceCmaxgHzlzDOHDDNYwDp65h'; b += - '/trW1fT1oLZTDSo/aGoC1fC72xOjx2OJTghw9iw+FI0hHY4tECZL0TOxJ0pHYImCCKJ2OazCZa7'; + 'HJhdwzhw4hrGgb1rGAcm1zAObF3DODBaxzhQnXtDUFFjuxoVmzdm8TZri1d5skg5LFn0bc+Rxcp'; b += - 'HFwARlejr2pOn1yGJdgjqdjC2QJYAyX4ssSiWgMj8Te3TMVyMbPBPomMdjGzUT+JiXIxsuE5Kbp'; + 'fkZpYVnBMWY0hanLBlqVsaOo5tkB5QBIV5dnqdM3RudiGlXioj4xzqbC+BBW9FDjKK+Q8sOd/HD'; b += - '2KPj/lKZENmAh/zydjGygRC5qXIBsl8B1kIomM+oQ/eCvywyMbLJHG7EAl1Cx35gW+YJ3ILuSNt'; + '2y8szvCdPczu6pgdwJ/70bIm7jbZZM+bcgZQNeIBYjIjvI9lAfXOadTOtCs7kXSQkQuUaQ50m9O'; b += - '87kjaFtzR8aaeUW8BiBYe0Cr3gIytQQK9e0gTjeALk2CrwOtEqp1yzefYF2IwFZegWDB4+1K9Ar'; + 'ipS7dzbC7vdlKLVXUFQ/sryu3upBgvIUyHCC1eLdhl8B7EHIbqxcRPlXd8BdKpyx5KiHkEJG2nx'; b += - 'edFciV/DFuxK1CvIdVyRWQb79irQKAGVXIlUAILsSpYL85EqECvKyK9EpyNkmkCkwHco8tCvVYO'; + 'ahFqWlxOLvWJMBiW375EPW3JULaWyuaBfap91yhfD5d6DSA5TiBPiKS0L0yvD/V9Nmw5KyvPA1D'; b += - 'hAk+TsOKvUQ6jGNI1OVGU4UwsGtcWRNIYv/63UmMPd1et4NhFiAFccFfjImb6XJzh6UF4+g6N3N'; + 'LLJfLCIWEQT2Ex4yPj5aPMFe8d07aMehHZdhvdINU7zo+UGxU1wgU1gz60LUlAUS4udjfxN4DLs'; b += - '585kHeXBzhDNcCO5Y14VY7Tu/XkIGwlGLkGGLKpvCd8sR5JE40h0RWusC3sYpPdBxtsIycwh2AZ'; + 'lif7McuJPF/gbJQv+xe+eKWYop1UWDKn4bZx8Wq3MGNy52NCbVgcOC7hg3Rrf35/WSREEC7p/Lt'; b += - 'mofLonkCJyvwXwkNBOWkMyXnEaFKGdkw5Kc8UfHoloEVoxlhYqvM28qFNcCid/LpU4OW8LVpGe3'; + 'wBfcGpOukbGbAPdt0zNQf1V0wf9CXkhKnpSI5mGkw9iJAHXn09D2Agrmfeoeu9mCvr6oZsuMAqT'; b += - 'j0QSSmzZ9b8C0T7kUNJtNpqK/dThv1hpcWOdRJFfNRSM3y+lukoNLHBnB0yfSsTYjSihP32GH2m'; + 'spm2aSBVnYDGaD/Nu7xqagCfNb2nB61UKbXJy1AI/fEDU4fpgWxlHRkvldti6w9RzFaJuhdi/J7'; b += - 'R3N2+LPGYrgXik6KgM6wR8RuR8PL2yfKvG5IBZNacu1Kmj5KeB825f57AMfHkdjhAuPZhSFETdU'; + 'iuE71ZL+WwWxDsth6oMeTywBlQn+oMWBhGwe0geiHKC+tSkgApYdyUU5TIjYMXAQkoVCJffpLz1'; b += - '8pvZ5otkwuZQ5b3pQnRN3SCww0TzGZmymYT5vpKczs1eW4jP7f9/wJzG22Y2/6fbm7tdMm4VPO7'; + 'pBMPogBx9TnvFxs5LjBR+SppQv+dAU5cBNqRuHPyrbspfCboF4sAu00ikPf1my/4TR5bVLgbkWM'; b += - 'BZ5yunVDnL5XObPS11TPRqE7G6H/UoWMlVvfPD83+fpHRoehY89G4S22M4+MdsxOlp26SLYUrF3'; + 'Et3L2LOlZ29uIQ0Za7ZH9fspawr5MyheAobmRiSZYUJblG2mRAbDJdabV4nMdwuE8hk2gDKxBVm'; b += - 'snKWDBGejHlIPFpEes/t6xubBzp6NcCKWFjVILyg3kJ972XbOXE+Hgcst4uQFXGodSlsKHBXlFb'; + 'Cfn9pfPPqgC3/FWs+YTAqPjTzU5HuABrKR5P+54eeK1EViY1QE05izo1yqfqTZjXJsyuaUIjlwU'; b += - 'sOURvbcXjjyMKLpeM+a7SxbTS2XYkD2nZtoS4gfQ1rtexnS0H+BjNwOZuRUrKVogN5pLtLVSnun'; + 'CXiaj3ZCU9Aze+73QHmhhpyl/ZrKfl5ibgt09tuxt/VQ1eLE3N8rnR15J8Kc7+grE/9n9PdxaU5'; b += - 'vtK+p5y83DApU/3OYpopAd2yvWpsc3iDr7RVfaKGR1wRwX1RJryCK2OZWiY7pP0J1PTWQ0Py3mf'; + 'dUQkpuMpCbBujLDMnNXe/qxalKngnQp+JqHS6dbl1cULwiQ1ruLp+U7sleVNSjLv6kKWmhg8uzW'; b += - 'nY4Ae0O3OaBnBHcEffn5mHln6Jx58+BuchnQ3aogGSAb9D+cSstw0FM5D+YrHNBJI5QlptKu1iB'; + 'JpAMIx2U0IsbOfnKbeIsVQVd3OmjLOPxEXMu4Eu5FoxJNhd2JBhcGK9EowJt6dcEwZ0Mi3jcib7'; b += - 'V6TKsDIW5u58iiubwxiAQZjgS+oyrpvpXtu7tQWKG5RIOKcdsyAm+AycRCIyxsIX9XB70rCc2Zc'; + 'VzGF8B0I48qnUaH/GgXplzqmoUBJMFJXim5541ExnlHWOFR+dA2aCtRdh6KwiYRuc1kjrwSWvVE'; b += - '7rP/J8kH0Pbbt17YNH7d1bNBcoBJYxW4AYpIU6Wjw/w83KNVG9UTkV9aa25QA53tSuNvWBelOT0'; + '4EQPke6NoIgY4+UbBRAxQ9Y1iiRhA8BtCiRjA9RsiiRhA+xsCiRi4ATDEETHwGGAII2LgXMAQRc'; b += - 'aa2R5vaXqaghE3tbtbU5GpNzTuDRmpWXcvwP+THRUrtiIyBXLcgXpKHKHfKGw+y6ZFUkqfZP1RB'; + 'TAD4EhiAh8w5DvexROYD5B5y+foO+XT9D1yyfo+eUTdPzyCfh9wd9J/s34d4p/p/l3g2W1EscQb'; b += - 'aJyny0Xzfln+FFO1KJojjRS63eg2UhVYgYo3orvuDvPG24PgE/nUEVxKY3Gn16Z2Hem1fOGtciG'; + 'HgkTxzzMO2Zh8TxG1O1KMuiZLUoy9VM1qIsIzRRi7K8U68WZdmtbi3KcmhpLcoydZ2hKPKB7VqU'; b += - 'BwB/yJHgChVz5DQ52MOghUkHeLDp5Q4fXOaOiySrTtyukIZc5JGPQ9cYP9kK/UhI/JXbNJPAW62'; + 'ZRpbnmmkkxz1mKOectRRjvrJUTc56iUHnXWEnXWEnXWEnVU5DIV566O+D2gG+6hvPy1mH/Vtpyn'; b += - 'ASmvZVbRmwnrw975Y0bO8tayswN1gwZ90sqB3x+JzwMGPnJNE56Ujl8GQSShGm471K6r3qb9Krb'; + '/o77ddBb0qG8zvQU96ttLd0GP+rbSYdCjvp10GfSobyNhCx717aMF8qPe8w6x5r++U2NNh7aAeW'; b += - 'r1XSa1Xuqi6Va90eXUn9ipBr/raq6TWq+7VewW3vq7tVXdSr6S1dvX0eJ7r7VtYpvSyXcn/WnTo'; + '/G9b52sqS/zaaPDJhPv53pa8bYp7+D6WumhU+/i+lrZpJPfyfT10w+n/4upq+Zrz793UxfM8V9+'; b += - 'opATiWXsFg+TZfE0v87F08TiUc0UPhwjNbFUqEusElli3WIpn0aHH1OUgbg87u9ggM27o7hjOMk'; + 'nuYvmZV+PT3Mn3NQvLp72N6tehayoUPccbZu0n+41GXOoBr/mD1a0/LKhZQ1KTmWoA30OUo+59V'; b += - 'qD2AKE9/QotSab8B4dhZ0k6/KLAg9KldTWLqMEk64Xi+pJ+UepZuwmQluJTRS61biJ3VuJchSei'; + 'RoAr48ABQK0FXoLM0Vgo/p/rhPnw9SElEZbOF4kFskoIAXfUXhImay8JmwpWR9F2Y/SjMbWQP6h'; b += - 'uRmKZuA2lV9SFIax6PkNb08W64A8CQx43zJbkcqtw7HI8bCDtvU57+vi/iEzchvGaTEV43BArjm'; + 'XUG1KQner48V4wbxfNjb5eV+/h5/39ifw8x7h8eTn3f0MP+/qT+Hnnf1p/NwlzKP8vKM/g5/b+x'; b += - 'UAG/YJk8FIOC5+UMhustseS1HS+Xa7hhc3xvMcZFSRS0IafeeocHT8RGLVoOW/NI7Cypzs45CLw'; + 'vx8zZhMuVnd38z5er9WYrfhT2EjF5YLgjy+3OU9vfneSXQ38Z7g/52Xi7A3Srsd3NeUvT7vMjoF'; b += - 'jMGNfG8QHpXy8QIfodfkZgo3QNx4VW6mefjA2UVuEHGukPFEmNQCQeeKOfiQwgcGNzLgCJVabMf'; + '7zs6N8gvY3bT4+iwva8HxwHD1NoBdvAFrD+rD3rzpqz3qw168was76sLevKmrKerCXryBqyfqwd'; b += - 'NDnwDHyoWRqLNLagFgylf/GfP/Z1Hc73H8vrPv/wTnw/tPcjIz//+5342tvc92YCf+snf/UNj73'; + '68aasV77xv9HbRLY88QqEVcFEhnw488GgzyZs3t6q4zVOaYpHx9NSVzKE6MpXVfak8MpYIAKbM9'; b += - 'EM+bHf/+r/5vKn5QT0Q7/36d9091vy2fI//ucfA44A77fmc+Xrn/ytx/5Xe78tny9/69V/88Puf'; + 'UMYp1LljEsKbO+L9cndQa7SRt8CU2q+WaRdMfXO+b8rXRlMSlXB5N6brSrgynrNdJ77ed9MG/bJ'; b += - 'dvzHeXxH/7hP27Ze2CrvPbjv/rC3+b9QzJrbWFTxuaYGLobwgc3y7Pfu3GC1HXCcLY3TLSNcj2e'; + '0UjXYS9QHKcyfQrMg1q1nNpBdHU/xMOj+a0nWlvTScMtxJAUmYfJ1IerzkIqiK/Fnev0QVDPmDR'; b += - '1eS6GA8s5x5g+GIobZPxJWbGk/DBa25Iyh4LB9GkPKFJ5YXvG1+RoKydjUnh+EKUHbqM+DRL5lh'; + '+h7yB88dnH/jjt33LPjbh336bhDx705HaJtg6Qflo15kd+wTusLIFoIQZUSJVTuOJj+XMMkywYM'; b += - 'Y0JE+oKZYh1WSn7DJsfBsmhFrxpM2I/EZiWY8ZTO6PqOrGcdtRuYzMs34jM2Y9RmzmnHSZsz7jH'; + '6W4Ynu/GqbUFi+V+RPO5huozCL99YJ+324usdqDU7wBMJQ/uc/Z7gMTGTwRTwoO0DIQ0pATMOxj'; b += - 'nNeNpmLPqMRc04bTNyn5FrxjM2Y4/P2KMZz9qMJZ+xpBnP2YwbfMYNuT0gMn2vT7eIagaZBE5h8'; + 'xRA6Wqo+Be+9+zG/Q+ozYY82TjzxadO5034mtCmZkfzse7YF5OhbygTZ99W/H+ImlCkAq02/DDE'; b += - 'MLIBS+0cGoxMAEmZL7LZnYnZd61rJnZpMwXAvvo7KTcMy53flLuiy53cVLuWZebT8p9yeXumZR7'; + '62A2l5vwHLRPl4hLqwAhFRnZfI+OeNJd9QKF1Z1d3YAjrYVPsh+9kmPtT0jWywB9v0G6EtZONSN'; b += - 'zuUuTco9H6iOT/JvkIVndMFFB5TOtPIw+6uy2P8qgHWyFQbObm/cHsn4dj1uIJt5o2MWJuiNGA3'; + 'hTeDu+sd6TClumv9YPIDHi2Z6o1LYM2kYyJ+yBM/eq9qt4thnq28Rfr2cb479cbnKfHAYAADAZ+'; b += - 'TZH/JSmydRigWqobfBnLoLKQhjEZl0iraDu3ftWjoxdujMmnGOLISaeqnFMDYBRP3MmkVg9PatC'; + 'Wbs2qHdtaLs2rnVt4LsWZo211PW7Nv0viYkP9WRvh84ZNFYnyg3Q0oeO/gTwMaGHT81tsJTU1VJ'; b += - 'YGN4owWReDW58rjRleE4U7qXpdFN5SVRiesKkQMCcqe8cTfDWMFCLprEYnr4vCUy+Yhii8OyIK7'; + '1Wq+yDX38jgxLSh1aYtMlldIxFWhT2yXJOG1mq0eb4ieV5dhF9bpOj7aH8IGiAx3tzmCkcC3Bqv'; b += - '3kxOUThfS8Yhyh8ynomdUaE4D7GuvZjRBTe9LWh3cbXNioQN6MC8d11gfguKxBPXPQmCMQzJyp/'; + 'x2rI66b3Cm9Zth9WX/p8b5FKI25VOImlCrQGmTOSSVJy5eAn2Qh08WLaL2SPV6ZrmkrhklXCFVb'; b += - 'phKhQyA+7aTmEIjPOKk5BOJbnNzcCsTfYgXis05qftKJ0JesQHzOyc2tQPzbrUB8m5OaH3ci9Bu'; + '819VGHr5hnVntHylI3kDQHavOh1r21VJ9lAhe7r1DW7x3bGplovUPUQx+1GPnEPXA1ZDegUmKXx'; b += - 'sQHy7k5tbgfh3WIH4Dic1f9KJ0Pdagfiiys1DJzG3AvG/YAXiO21EKQrEb6kLxBcqgfi8avy8KJ'; + 'opYW5elg9JO2yIZq7lZ5m3l7KAu18QFdMCimIbJqQNbBPjMQ48Dk/G74arHa/dD5xuAbeUUKRg+'; b += - 'y6Pns3o1o+e5eofs8LyHch5sAAMQeug6h8UqSXG4ENfxOCEbwdcQgoJb8lv/lR6xmzuU/MtYjMx'; + '2rB54N5/CkNWmAz+Yjtasw67K2Vlubly1P+zkmKlPjnyjqoN3XWfox8J1e8LPkw3sgnoPQNJRGS'; b += - 'wDfvXNKsYsC8p0V4nvld0IzYRSAgNsjvg8m5e+oEN+LSfnbK8T36ybl1yJw7JmUP1chvn/bpPzZ'; + 'BMQCM8j+SDvX4X0CJsStc3ZRILv5rdXUdp7G/TL3z/BS78yZHWEAIDcF0TaNQEx3ryJKyMDXWpJ'; b += - 'CvH9LZPyt1SI72+dlD9dAb4vTcrPKrz36yfltyq492+3GSogb1vJt9CgtCYc71ohOOhNj+RRheN'; + '7xxQk/LpXAP9G5Nyanqh3Odto/nk4tFRtohQzal6pYTfr0atlBmrdd7h8Jcni2pqYUlGR3VG08t'; b += - '9S7pAW6bI3Tjh+GsdM6cEGFHoDOw5nUrPqubb2WGrtk8sGe5Yb8oGcqx3ZmxV/KmkBfwofFg5qE'; + 'QcmWVIXcptoW2PaYWgtS1RafqNkv91wJNZKUpucS06SzapIdaxo0tVhM51MwA1Jrg0kQ6x3/QOa'; b += - 'gJHzWC9Mwm5Aoh6eWf8ueKHY/Too+NEOFQ631XY+tibtWKoDr2adCw2D6d2PumB7iPSLQdsL0Sb'; + 'K2W+pEPbAnrMfmbmnRogm8mnusl1SScIzTO4/mfecKrxxg+VSmu4cFvDkBV34niOSdnAmRuxGeq'; b += - 'adz3KQSY+8xYIZqCGOD6mmUPE1X17rBdrnkwQA3gNt+NrRB8HbIDQ8HuAG4t7rYDYDQjXMCaeFO'; + 'BJ02o3YmhoPah/B2VZ25EuRmHjSVLMGapGO6N3mo5soNH7tCXpxhK2dq2qxUQ+sZZoEp9lnZTuO'; b += - 'jE2oHnMwBOShoaf001hXuwEQvnF+6CvBNPC2K6aUZBoeJjIlmca63A2AEM5zhRJMA687JaVvwTg'; + 'ik6x8kyScs2DJn5d9ke2sdfpS7YNbSQLrq9a/FeODKxHZnYjczMeKOeKWx5b3Rw/LY9bnDCcYMz'; b += - 'GlpS+VW7U9W4AhHGcN2aVYBp43ykp/Xa5weHDRuRrKLE01hNPSKXhccQG4DO3mIeETMqHUOOigJ'; + 'tcaox30n5eC07l6R/5KP0gTEjdPEyX7Hj9PdCntSjVXsYtCGqo86h/JWfbwiZQs6a8drnZTuOin'; b += - 'gZF2UFETCqKCtTgDj3d4Agr0dZMbUoK0bo4/ZHhV7ueBTG44/mu/NdVyN6VA3eJJTvW+A7v+0qz'; + 's6pYbr3jNeE2tHa+RurjxatXHC6MEzXk7RI6ON7wlDzgMaWJXpmWow2TJTs2Sx9QpXlijeCOEe2'; b += - 'oFzV3EOnL2Kc+CWqzgHTl/FOTC7inNg/yrOgb2rOAcmV3EObF3FOTDaxDlQg3tDUFFjuxoVmzdh'; + 'Sk8AN5Qw8D1tPN/RDgPvxYTXkaNz2ofQ/FCZ8pDFH7eImL7eQ9c8LL43lCJoaOpUQNBumfJmabC'; b += - '8zZrm1d5skg5LNn0bc+RxcpfkZpYVnBCXY0RanLB1qVsaOo5tkB5QBIV5dnqdM3RudjeK/HQGBn'; + 'oIhpoAgOAQuL/khYPHqw+Pu4ah7eMw9HHEPh93Dinu4EtqHy+7hNfdwyT284h4uuoeX3cMF9/CS'; b += - 'PpML6ElT0cuAor5DzwJ7/cfTIyudeFqa5nd1TA7kT/nsvRNzG+yyZ8i9Byga8QGxGOiKh2EMDcJ'; + 'ezjvHl50D+fcwwvu4ax7eN4+LADQ2ViscWqDZP8xtEoa2/T0Lk/bVe+WXlaNhyOmdFp1JVz4cOg'; b += - 'l3Mg9Yg2kvkhogco0gz4OmQEWq7Xt7YbebUrR6QxCUv7L63l6qtwXkqRDhhetFrwy+i9iDEN3Yt'; + '1JB5VKbVqRrjwI14dgsEPqxaECx7wqg8Mfkg1HlzwYa/mwOAHVLvBBb/T6zIw+BD+AFR4x9ekFq'; b += - 'G5513cBnarcvaKoRzDCRl68XoSaF5dTKwMiDIbld67QTlsKlK2Vsnlwv1rfNco3wpVeA0iOXZQJ'; + 'WWxCqwzJ3A0l++FzuIh2143U6JZXWvTqhEZHjeZaDIslib4axmsDLLG9ZmeEEzWKHlzrUZzmkGK'; b += - 'kZUOwrzn7wa+GD45a2svAFDLrJaruAsJg3oYlxkvHy0fYal434L0YziIynDQ6Aap6jo+VGzV0Ag'; + '7X8lrUZXtQMVmz5prUZzmsGK7d889oML2kGK7hcWJvhgmawkssb12Z4WTNY0eW3rs1wUTNY2eVb'; b += - 'U1gwHkKCSAOK+uTyY4+gBl2R5sE0O3MnyYIsUYfzYfQvFPBJ6GqJBDb+N8w+LNTiDmxc7G1MawG'; + 'bArxsO0tSyvfvvY2JeLc3KaqTaMizZBI7dAEbzlMfatQKvHrCR9wPoro0g/6BpRAROW5j0JYgA1'; b += - 'FJvxjXR7cPFlVJoiAB9y/k24EvOL0gQyNztoXhW6YXYP6q+cNBVx6Iir60SJbh1IOYScD15zMQN'; + 'ADjqIiiuxy/PM8SJyLFDEYFdXrCr7WHXAB6nSz9bTI1JtJ3cwVqH2lxITLSdr76AiIlaWSfbzkX'; b += - 'sJL5n2q7txGQd8gdMsFTmFSN/PmhtLUruT3Bh2I9SMqc9K8c08PVqlSa5PKUCkBnRyVlTND+ZS1'; + 'YLVD9XL68G2R8bXEnvJgQM7qM0DzVD68lNJi/Uki/Uk1tMzmvJl+rJCZNna8krf1pLbjM5qyUfr'; b += - 'Zb5g9TwcwF4vRDU7JOleiPH7iuM63ZPvtUxmG5LF1gM9nlyGqBP2Qw3VfG4d0gdiEKK+TlVDAig'; + 'Sd3mJzUko/Vk1NNdmmn6mnwmNW5+/aPy5+V/xp99O6Fjx/G48qV1kfvnmXsysrlyY/enXz8MBKS'; b += - '91It6mpKwZegSIAmFSezTX/miFQRjDHLwMeVzPm1eSrzo76Qr5Xl/N005cFPaxumPyrbsfPgtEA'; + 'IzZCnmePaD7ELxzh6yjqyOHDhwkkavI2Cm5XBbergttDBbdrBbdrBbd9wW1XMEhfnqDgpCo4qQp'; b += - '92iV465ZGLUvzTRrfXDQrMtYRVuncZa67s7IMS0pS5Fn9Ci1P/ZeAjE+NnD1U4XYUJbsmG7pUJs'; + 'OhgpOagUntYITX3DiCv4wZjPKbVXltqpyW0Pltmrltmrltny5LVfuh2AvgXKbVbnNqtzmULnNWr'; b += - 'cHg5pBABl1e/pI8+Kmo/FXs64Tgp/jTzT4bDboQNxNzp3tPD/xUIruPVp6mnMd7G+Vn6s1c1GbO'; + 'nNWrlNX27TlfsBCKhQbqMqt1GV2xgqt1Ert1Ert+HLbbhyHyIQyIX/IpPkSKQadGoISvU793jEP'; b += - 'b2hmI5dNAH4lG9LFOiyfwXP/JrSHVvhiyp/Z7P+QlBuDvSi7ZN4BO2tY6eL72yhfGHskwZ/u+CM'; + '+IHbeyiLt2qLt2qLt2hunRrdenW6tL1denW25ii3LQqN63KTYfKTWvlprVyU19uWrWRa+iytpEr'; b += - 'gEtn9PWimaS8qd0pSMpCUBrJnSVLuek8vTlW6TBA+FUnrlOiS6kIJ8YpMW7m3fEqGJ/tHimyU4k'; + 'nhcBlS5SZGPcvcrhTtheLvN+UyjHSs/drXB/z47w0gfituzJWH3mqLpRDBOwC22VDMMM90JEH5I'; b += - '8nJb1zkHgWLxMohdFeSoGFtfxVyiZibEfF1pwt4+yVqIgp/6d4Olaj+xgwagBLCFTFCUg95Ywgk'; + 'nQgiNWmVOt6NUAYKOuNAHoaf/HjBcrzQtlmK8YC42hSGT35ebMN9cMBeaQg9i4qAmLKq8+FPSkO'; b += - 'J5Ky7iczX4xpqC9DYFb+TQa9G+jIH25YxoKhgRHdKXalv8dF9UZZX9D5Tk3IKbApHUkCR+K0H1A'; + '+PvKAZ8udWeRmxJ+mkB1mzw7G6H/JS6Pdmvxiq9siJ8INSnRPhw0VjQNjExiLt8o6H0FTRt4By8'; b += - 'NsgkgVdvFDLEAN3eKGKIARa+UcAQA+R8o3ghBjD7hnAhBpD8hmghBvD9hmAhBlD/hlghBlEBDKF'; + '4sWC+yuRffp0+7T0DBwoux3lrkm/GzkhdrvQPPKs7ZOimKphZ2tGnLkKf/Su1RODkyJJ57iS3Tc'; b += - 'CDAIIGCKFGMQaMAQKQfwX8naPItDLYwzw8hjjuzzG8C6PMbrLYwzu8hhiu+DvFP9m/DvNvzP8u8'; + 'd0dwPrLdpd0PJVwHhd+mkUNog6fSAV0xnxLC+DMuknYQ8q34puB8V14+8ZSr//kuLKt59dTUqye'; b += - 'WyU4n76G95JE8cgzDjGYTE8RTTtSTLhmS1JMu5TNWSLLPTryVZ/qhXS7IsVbeWZLmwtJZkGbfOS'; + 'IEZu04AzuCAIqZhEPLNSqo+6ScL6rt3IwxR2UO5AzRvGf78p62XeH/GI8uwNywCvhHmpNJLeZi1'; b += - 'BJ5vXYtyTKGLc8YMhCORsXRaDgaDEdj4WgoHI2Eg8E6ysE6ysE6ysGqgoLChfVRPwZ0dX3U959e'; + '16hrjNvAylioZMjq4bn/JCd2DbI1nSQfa4cdpK2sFXooJTYiWGu96YWiC3SaxkXxi48cr+n8jar'; b += - 'sY/6vtNd/1HfbwYEetT3mRGBHvX9ZUigR31fGRToUd9PhgV61PeR0ASP+v7Ry/hRH12HePLf2KW'; + 'BCZb8G8FtmiG7xb4H5wU3ChS42xSGHXboR66Y3BF7sfk8VtGyn10M+dSLN/H+sDpdsXLBrZWd/l'; b += - 'xYUBbwLU3k0ZfB1ny32HzxybM59/O/A1z7PPfxfwNy8Ln38X8DSvJ57+b+RsWn89/D/M3rFef/1'; + 'DWg4Pxlrg05A2NyiicaPYlKfp7ErJq9M6rb28oV2n4I8bb7W7zZzCgpJjTyBhlvM9dKG9+/m/T1'; b += - '7mb1jiPv99zN+wK3z++5m/YSP5/A8wv9p0LeW0R7jf7L0k//F42BxAMn+4+rUnYj36KzJScyOIG'; + 'jBx/aZnIO+JSM3u/WFkxjZMF0dMFIhhya4O3yCbzxg1He8fcpO8sTn3LzS5chTD24JPD34fLET4'; b += - '+hylP33KgeAWjhwIE8bwZUgVzQWbv+nO2E+qiKktMHS+SKxYFUJYd6OWUVgslER2FRAOoqvG+Mv'; + '18JNSP6KDbDzSyH5beu8fVr2hkv2VsBpkwSIzVwxnKLE/ji38AzS93b9Mtz2otgL8rWdihYb8FJ'; b += - 'jWlp/GFVM7Up7dyrwRXjJfPBQRc/HxAuT37eP+jj533Cx8nPewcZft4zmMbPuwcz+LlLGET5edd'; + '4Yf/enVoHwL3H90B+UqAqeOS94rIYHxZrVhF5/ShsXQXGr6O6J5TZBvJRrL+6KZ8rKuKcjXaHou'; b += - 'gFj+3D7bi5x3CSMrP3sE2ys4H8xSxCwsIObywVRDWDxYo0R8sUuw/2EndwGAXFQgIqQof3ZyKCD'; + 'pEqmcpPgiNAtb2b/LNShz36TXhx731wq+MU3TgXPfHocFXzh09ekgr/0BqngL62hgo99eh0qyIQ'; b += - 'n7Q1khp34oNOS836CG0yOlsD8fhL6MByb0gn1gD9h+tp5tZ8vZbraabWaL2V62lm1lS9lOtpJtZ'; + '1VPDJT1+VCr706XFU8JVPf+Oo4JVP/3cq+FeXCr70GRm9C2+ECr7ymbVU8MpnrkoFr5wa+ch4Kv'; b += - 'AvZPraObWPL2K79k/+jxQh8dmKVequRiEz4Z78YDPNkwX7TW2WsATBN+cR4TuJynhzP6branhrN'; + 'gjV6OCPzJMBR/77Foq+ORn16OCn/9sjQo+/owEDv/iGip45jPrUEEmrKGCL3zmL0IF/3ViJtQm6'; b += - 'AQNU4PNMM6JY14JFBWvqiv+zNUit8UHSDl9mt1quW3TvgQrflK+O5yQu57XxnK6r7fXRnM0G6YN'; + 'ELkjDIVpFPPxZGF53R+2ayWI1OcndAqjfotgCfM6mm6BvFQSuujJw3va2Dd9oT1GdWfgvmcxm8A'; b += - '2kD78Z22QovFBos6/PHsC3Ypct5rVSnppPMevpHPjOV1X2/nRnNFBCkjC5O1Ey6Mii8Ap8mf1wA'; + '+2qsMcwMjAk1HrZxcDxFY5hNMBnU+M30Z2/tYmBOd8UZ6ER0KpWpTU4EYZla5ERwwtafx+/FsL8'; b += - 'rNLOQPLmHTIX9w2YWOHXp16NKhP4fOHHpy6MYZ9GwnpPnwXsyL/LpNel8AtUIIqtQod+XuQ+lPN'; + 'Nvy+HMFWE1zXYL8LhGqwV4WwNhopwtAYrRThZg4EiHKzBNhHO1WCWCJdUsEmEUzWYI8LRWn8hz2'; b += - '0yyasCQ7oVz+V64BbfglTyI6CLXUJsF4bcP7ve+eZG1AJT2HYQ75KH9zkcPsNf4ieAueIjef5B4'; + 'Dm9wG1eImgRmqtWiZQMx/qof5hZQ0T4QBSx/B8aE90CWLL+XwaVjBTj+bb8w0whZl5NM/zjbCH2'; b += - 'lIByByOe5O2B2lxAtz2I+Q56mBFfrHnqkUeLzp3uPbE1s4zsb8cjOrBMx8I60G+v/u4YP7E0AWh'; + 'fRoXuSbYRQzC9C8LbCM2QrQvDk1j7HqdBv4d4Z/N/LvJv7dzL9qLrNlXaMZlWlNO5mWVzUrpijT'; b += - 'k+m64usnnQHo+aMD7UF4eoS1sQETk5hUy/nljxXcUhlXWPDe2oA02177IvraJFzV9JxscwTZjQ2'; + 'iqhcRpnWBi+qmVLVRcq0NANlWjNrM5zVDFamtXFthhc0g5VpbVqb4ZxmsDKtzWszvKgZrExrdm2'; b += - 'gP2bmUHUVEwzvrA6nQZPprYx2yAK5xPpzUM1gMyZy4F8Kdrz6qGsFiZGQbf7qRbUx+f73DeXoCI'; + 'G85rByrS2rM3wkmawMq2tazNc0AxWpjW3NsPLmsHKtObXZrioGaxMa5tNoUwLltGNmkXzbmvWTO'; b += - 'AfAWeCbdWiD+tCGdmjj2tAGfmjhuljL3Xxo0z9KTHy4J9922JXBKrVfboElPuzw+8DAhK09rbPB'; + 'VgU5lEW/vkoxbJU5Xx2vRECJ26Zs22LraWvg2rgtdaYxus1nSh0FNj3285e8IitIbYAemJN0rUO'; b += - 'UtIeS01mvVn2FIUXIeVZnZz4c0llWEwj2dQOSTLJYtnayqYlxT5TeRfN6zpb2R7uDxYd2GF3hmO'; + 'sreIQTlYmJmDrWXqYfS3+SdiFQORjre+UjqHZJ0vZOSnveRM+F95Ex63zeZ95Yz5b3lTHtvORvU'; b += - 'Vaw3WrLdj7dB9hzNt3yybL99/WpVPI2kun0ZSXz3/pE/msDSe2HcQCnQePlW0iMwjzeuZ1ZL2ZJ'; + 'lcVmdWwxq24utqjTi63qAmPOO9SZKbu0zNiEi4Y457tBsc260TGH8m0AM59xbnQite4K4bbL5NO'; b += - 'RihTSvNffRTK2bZzRtpiSPnaQWAH1e9vbVtqlT7KDC83Xq1tsTB2OuNgo0LxwgzEjevwfhhKyVc'; + 'H8sjHxxI/h8xT9dhEYrciNqtijxdzUDvflG9BwqRPiI8XW6GWvimfRcLEoTzWhMbxYgvgFjblm5'; b += - 'wpc0nhZa4vydDj+SltlQ61zq7LNvD1ShBb3gCcYFjMQSzUg6+CYGYhq4FZ+N+KxWAt+2HVj8o08'; + 'HQO5Q37KXH8WIWcAusUQ6Jhb/Ibh0vNgNwgUk7IXQ4pCqejxTJnZKX8QsQlR3KE43feKdkZPwuS'; b += - 'IhVjBFvW1rubT2PKasuBL0zHW9bhUOUcLLc2rjgednHM1hdHvlVNvrtuMPRl4aYj4dfJFg5BfQQ'; + 'LoOyWpUFzoL+SbZG+dxmzOvGk+wDawc5Ri1UJXI2HvTMf4i2txJNApJTbzPnKFUQFJEo+5yhnIQ'; b += - 'g6aicDPqw+s4jeWFv0AV8CLvS9V2ZwsavVnfXURr72/Qb37+BG39qrDeEuQAkVx+d6nOup07Bk9'; + 'm2LUbddQDoBUNEY95QzlAFpFc9RHzlAOwFa0Rt1s1XKwswFhkYw65xrKtEXhLDYBeWFr5dFrKM+'; b += - 'jQXrrvHRB6Wi8FeKB3G2pO1Qac+7R9Ip9aLjLSDpmyaTWp7Pv9athDWbXeth1GcXm2ou4UlmR01'; + 'cIltsAhc3X7kBG8qzjSAXJXPtKrZX3sNquZyTnM3gojYBQj7fjGHazPtuvS+HbFuSYt6Bx/lmde'; b += - 'DY8tQQlW1EzcZtre2D7Y2o9SNUivF/zUe65GmokKU3PJqbJgNQkO9b9Z3q5mMmn4eqjHgVTINa7'; + 'plYxPGJhqbuNguY7sa23WxeoueaWzmYmcYO6OxMy52lrGzGjvrYueXoOKmPr02Qd11E1O2I9pYl'; b += - '/6asFXPAUiF8A3vOR2T2nhoh6ucz/Mp2SSUJwTB14FTec+buxk2Wy2m6c1jAkxfs3XuOSNrJ6Y/'; + '16IYL5t6tEL4a0Iz6lDLxaF8Bb680o/n5hkeYasSzDsJzD1xGbKE5tpT2w2eGIz44nNRk9sNnli'; b += - '5hvRAk2bUN8TQmXpYfw/qsv4hXczC1lOkmLM0f3aO7XQP2ULH9hlL0o0lbO1aU4t+3t9INInBsk'; + 's9kTm1lPbLZ4YrNV/QQqAIq6C5xRd4GZugvs9pue2MwJsWnRZ1cAYrNVLf8SS2ywEE8KvZ1zxKY'; b += - 'lOd5McXeNkmaRnW0Zc+bvsD33gr9AWfDW0ki6GvWsxXTgzsZ2Z2M3M7GTHnWl88t7s5PjP9qTJC'; + 'NJXfmTSR6y6G87ePfpq62OvlsPfZ29bPVyTdXsfSz9Q71s9XJN/mELv1s3aU+wTr5xkN5VxN69L'; b += - 'SdNzvQGxx33npST07p7Tf5LPk43DzdP/VODjp+nuxXapJqr2KWgD9UYdQ7nrfp8RcoWdDbO1yY5'; + 'L1TjB+SJg5lPc0YYJuwd6lNcolacOhfEKTJo8X5jY51DFppyQJZZzUpAya6oxfkHihjZl3afhej'; b += - '3U1yONQtN1/xhvma3jhfY21x89WqzxdmCdbxdoocHW94bx1wGNLFrizLUKfJkp2at46pU7ywRvH'; + 'd8FLRDnu3BP9D7ucP2gwq5Sn39vq/sH3F0Rn0rVLfX+AW/3hCatp8K0rj1KaKocbfUP2B0lNO16'; b += - 'GCPfYTOEH8oYeJqynH3eYJfT8XE17GjczrL0P1QmfKQxR+0QJ5XXyvgXh5XHdl4WhcylJw2H6nx'; + 'Djiz640SmqEccGw3MUpohnLAyV3nuDqwsv4B31/EQ+4B3wd3gTXvgO+Ft0BHSrJR+jM5SrWqz1X'; b += - 'KzUwXBEFNAEBwCe5f8EPB29eIJd3HMXTzuLo66iyPuYs1dvB7ai9fcxavu4rK7eMVdXHIXF93FB'; + 'dU8V1/VPPP02M+tvavUQpMq6UnHNAxr/NOgc0zjkgY2+3zgGNcw7I2HdY54DGOQdk7F3WOaBxzg'; b += - 'Xdx3l2ccxcvuYuz7uJFd3HGXbxgL5YA2mwsnjgtPrLLoTXE2Kmnd7napba1jKRqPOQwpdNqD+Hu'; + 'EZ+07rHNA454CMfZd1Dmicc0DGvhvepDqVc8D3QDczV53PfML7BoR6J/ZL7xswgLNA2SW9b8CA6'; b += - 'j4TeCuJRlVKr9YO7f8SbPPD2o2rp4G4PevMG3n5ErRrc7cPelIG3H1ILBnf71729Am8fwh8AB+/'; + 'EB52/oGhBctPeMIC/MLrbCxnAfZpRjIk9mvx0WY/VHctyd2ifmNuKeQlP2I4Z8hDiUu/vosOXtV'; b += - '+ukyf1FtYBZa5E1h6BXuxm5jXhip1Siwr3TnhEFHgBVeAIstiY4EzWsDKLK/bWOBFLWCFlns2Fj'; + '3ixXfv055LmvR0M0QBaW0X09U17+tecC9f2il4+nosmUL0PzIoDtLM43MJ8Lsk9RPBOo44widnZ'; b += - 'irBazU8ts2FnhJC1ix5Vs2FjinBazc8q0bC5zXAlZwubSxwAUtYCWX128scFELWNHlt28scEkLW'; + 'vRYMwnMBbs6IGglZekpL5R7KUwl2U0cF/CIcZUKIz2Q/GVPDST0p2bU55WKuZQ70Q9yK+1nyEhV'; b += - 'Nnl22wOMa+tlqWV79qoTYm4Nneq+dK4SDMkGjusvVsON98ajUr6ZsIHnI8ihu2DTQElEFF59rsh'; + 'zAKvMPFQIGWPP0F5F9QerOEjTfFeS7sjZfGerW40qHUaC006BvZQAHsGH1rTa21ca32thWaxVdq'; b += - 'LMAHQA46SIorscsLLPESSixRxGB3V6xm+dh1wACp8s/U8yNSbSd3MNZo9ucTE60mG3VQEVEpyyT'; + '821Wo3GSg3z2lDUer8bpdou1hw5+ITvHtXsD0gfJGWSfTmiESEfTJnpQ1QG9rE0B6A1u7LyCExb'; b += - '74UiHBeadT/7RepB9xUDtvJcwL9BHaRlkn6xnN5m9VMt+tp7dYnZeyz5Tz06YPV/LPlfPbjM7q2'; + 'cjMYLJb/cAlOoTjC98/dI+XYXr7nakVCY0kmlOvAQt1eypAvDgaF1IZO7xbhyGmAry0VMayeF6U'; b += - 'Vfqmd3mJ3Usl+rZ6ea7fKOvlbLQ1Sszt23f0L+rH0t+vjdS584gsu111sfv3ueqWtrr019/O7kE'; + 'AW7qUcP5zzwX9QG2BOUV1Hv2clHV/T7qctuaBahujh7IX7Fzubu0GaXYqJOYYRt/Wot4ZeCyXCZ'; b += - '0eQkRy1CXI9f1TLIX3pKB9HVUePHDlCsFCTt1Fxu6q4XVXcHqm4Xau4Xau47Stuu4pB+vIEFSdV'; + 'pKNZW9PS7L7KfD8gkkPaFZ6WyRI98LpMStkynzf3ipvCi1G8hCWnbjVUQl1l108EBB4GsYmLoxx'; b += - 'xUlVcTJScVKrOKlVnPiKE1fxR7GaUW+rqrdV1dsaqbdVq7dVq7fl6225ej8CnwjU26zqbVb1Nkf'; + 'ZpQNeMUasSYYbhaDpQxMfoDO9L0WBK2YOoelq+3H6CFeuNgv+GWK6HNaPwJcR9t2g/kwQBetaDn'; b += - 'qbdbqbdbqbfp6m67eD0FAhXobVb2Nqt7GSL2NWr2NWr0NX2/D1fsQwT6e/Y+ySP6TUSs5dfakiZ'; + '1BhUYUiAFu6nrnfcA+pfY1C0ygUYNtPQ1ZkULKr3mUXqU8OLarmsilJhme/txQqbCBK/GjwoUz2'; b += - '27POov8YM+dtGWbtWWbtWW7khburW2dGtt6fq2dOt9TFFvWtWbVvWmI/WmtXrTWr2przet+sg9Z'; + 'GRe9CefaXHcAl0+NS5VLhA3OFKc29PaPxMEGNfAhoGbEPCe0sGz4kNLNs+hAwSVo+BPCRxIcALN'; b += - 'PvIHU9FQGVvFNkUp1c50gnbq2U+aArlWOs53Qq/79kfQjR0GuK27LFY4+KoSVEMN68LbZUMw9X2'; + 'L2IYCGdHwIgCCpDwHwo+tDuyXU86G3SWjCh26X0KQPvQOaYz4ESjLlQ++U0LQPvUtCG3zo3RKa8'; b += - 'QsQ4kSdDCI1aZc7QohoDuAkKmgs9PQuorVeaFi8xXjKXmsKQye/FJlw0l8yFptCDmFinCasqn/i'; + 'aH3SGijD71XQpt86H0S2uxDAFeY9aGHJLTFh6Dos9WHoAU050NQEZr3IegPbfMhKBdt9yFoHu3w'; b += - 'sdORI5AXNkD+3ys8glYF3AHSaZP8u0hBDXgr9/uznQrUQORl+WJpzMny4aAwJjdhYpu/diRDWKP'; + 'Iagl5T5EpaW+D1KnqfBBqjzd4IPUiNrpg0cR/BYffBzBN/ngEwi+2QefRHABUL0LQzMoqofKP5G'; b += - 'oUkGx+zuJ93bXsXn3xJ+2rYWHgRNnvLnPN+HTkhdrvQvfKV39S26RIlVrZmaojz3zWP/QelZMDN'; + 'ncptGvMgJhkkPU3xDuAb6r9JFI9GyfDlAnLhvxoIx4FzzyHqPKuDbC663DxbRPT3W5wF9nYDdka'; b += - '+IF7QiD890RnIvscOnww9DWwd236cgQ2tvT6ZDhlk8LYfwpl0hfB3lXfGNwrisPv+SGrjzXhfc0'; + 'r+C9WOScTXrxdNJRWS9n4LHEEABV1vyaKappRmUZcY7AiAKHBATVWaeXjQGhIQdiCxTMlerjTV4'; b += - 'VU9NVT1BjNikl2ZwRxDQ+IqYX6E2HW2XjHNd1crB3XZY7kbJGNV/qSv7Zf8d8ov57A7JAa+Ft9F'; + 'PUo060DFhPRtbBcrtfkEy3Tpc9Irn7V+10ccvW1WHSgktgF9sFSHwiyHao7TqgJwoY89O78ikYe'; b += - 'qIrnVXOoy+sOt5iKMKhqyOLpufsoL3aHtjxRJh9nfMc4iSQf49ajgkliLEZI3phXIrZIqxZeGbr'; + 'Cds+DT64cZIa+1PAnLAEpzNhTKj2I9Z1ViNPoHlOUObMai8apS0aEK556hFKg+DoUnpBdgTVJ7e'; b += - '6yn42sXwrR95bMq5GtukHdAr8HNwYXurQKixRa7XqYkF4ffKX7PbK5bSelHfq6k2n2T2K9oHT7g'; + '/yKDsM/NM8ZvOnVPXGleoRiovM9K8p6rZ5kCBr0MNH593Xx79qBYIUHYGE8DEYtzSPFZ7sJpDtI'; b += - 'kUcO+OHvAEr5sdi7dBJCJtbdMP4e1jU5+jQisUri7qto3yhPUjUtATd1/bdak7D6KiRJ7Lw2zH3'; + '6qcU5ht/IOq1JemaDDmi5NSrHOtW4lck1TFSynvNuqVt661Zpo3WrrML6B1nsVZhdgYpyVRqIzt'; b += - 'SxsRvpv394yd/ERtc07I7P1GbcM0xjZMRzeMFMhh7d0uX8ATn4jyjten7ClfOuHWl25DuHNwS+D'; + 'vBfgCRNvaHVPuWaVjXhEJsA1dq7K49b9AeXE1gFYPc0L2ux+mrQxNGACv60q7+3uXENmPY8NfNM'; b += - 'vw+VLPzn2klBfopNuX9DIPiWjd49rX9HIXjC2gCwYZMYaxQx1lhfxxi/Dusvpbbrlq9oKYOxKEQ'; + 'O0X51kg7rGFMWvca1jqZ9qeVP/PKqXboqe+tCvgj5dYalU8dz1uyOKCAH9lBGvJ3FqvHt7o3MfV'; b += - '5oOGghUOHnTq4H5dsQ4qM7LF/BzfmfAuUKCX43rx17wnYshuVS0+uIFjVD3pVoKvVFs+Vn7Nuaw'; + 'rq77PrB9wOy7WLR1SW7XUYS9ica3+VgE/rCngJ66EoCohTU8mJlbnrdV9Qz7Izjrm2pTPkmWhUL'; b += - 'FVt0ddXlnKTAIiwH29mz4Q69dkvM1Jj71tLBf/5m6eCr3x+EhV8/fNXpYKff5NU8PMbqOBzn9+E'; + 'xoZD8Sq+y8PPI7q0HlEEsiVuoRFyXi8m9XEVDkERotOV3kQ0RTEAZfCIQiKxyL5BkyZOjaEcaG3'; b += - 'CjJjAxV88fNXpIKPPzOJCj71zDePCj79zP9PBf/8UsHHvyCz98/eDBV86gsbqeDTX7giFXz682M'; + '53lbVr55PnVIPsBogDP4s88d/M8hu3Z0+f1qiWC+ixvg56hPHaRHkLjQZ/c67cvqePy8q4l9Vb3'; b += - 'vmUwFf/BKVPAHR6ngc1/YSAVf/MJmVPCxn69RwRdw88wvbKCCrzyzCRVkxgYq+Pozfxoq+BuJ6a'; + '7fcr24sWA0wNlodfYEkae46jLlv6QSmPMNBEwj7jvpbHdwSQmiNjYbQ10hWq7VOumkH256F6FeP'; b += - 'vfz4XIOV4qEKeeiyMLwelir1krR+Y4X6B1Ou5bkE64ztM9DeKhlB5GTxnqa+DB9qSNCzWYhoucp'; + 'DjdGlELp65WnDWzo6CJS9ivgSJ4vk7rdDE6z9cdzX3B19/HBxPUporbvDj1fKYpM1ZbEdo9ptR3'; b += - 'm+BE5KxDi+zcBjUdPi/IbgUHV7m4Bao6dsYs976vsBl7nXnhBMxcFSmfjcRhGXqdRMh0NpgEb+X'; + 'A00ysZ4bFWQtyjos8Oo9+fxFM2IMZTOChfcL2NK7WIDuQBTPIq+78r/RjB8llVz+N7iWgUlrcvl'; b += - 'wsFO/F4M4Y6IyGrwUURQNXgkIqAanBERTA2eiAikBidEBFGD/yECqMH1EGGn4HeIwGlwOUQwtcF'; + 'bffxzE7ZWQ7wZwRzjgpX/HD82QEB1Qfi7EKGCpChnX0C5PBfxZu92tvv2TfxjnpYzHeC+4I4Our'; b += - 'SnsGV70Pq1RLBjNR6rvTRMn/XQ/vDyuMlwgGkjtP50G3RZYgtF/MZeLpMP5rvyrfA3WX20TzPt8'; + 'fDwa3H1M2r4a7OGuhK1dp9IKmnSElT0csaM5DLLX24mmpRMbRGb7ZUWkkdxncO0rv6vRg0RN0Wv'; b += - 'LnZe7RvMi3wfFlHsB42+H9sgPAeAvqAmPN6bbw7yz/buXfOf7dxr/qErN9U8cYlWnNOJmWNzUrp'; + 'fM36CCnP9qxaJ2hBXBZbf0N6Uh2fUUeJA/UfMwkmEDMBSmRzYRxeuDEET8+C+fawdjUDZyrh86b'; b += - 'inTimhcRpnWFi+qmVbTRcq0tABlWrMbC5zRAlamtXVjgRe1gJVpzW0scFYLWJnWto0FXtICVqY1'; + 'd14uE+mHOnzLXOZV6e+LzrvxOs+Vnjr6dwd6B3BT7mNGPOm6ErrFWzJ8Iyg5Zork2Rgi/qbMctI'; b += - 'v7HAOS1gZVrbNxY4rwWsTGvHxgIXtICVaS1sLHBRC1iZ1uLGApe0gJVp7bQ5lGnB+7lR81rea12'; + 'u/fyUTAnyb3c2ZeddNZbxNeTsJQ7xKg3wo8q2v/ywMg4YSLE1OhieJGs5W0O2m3NzGZTeF0h2SZ'; b += - 'XaRxsKrdn64N8zKJ1qjFem9EGYVPXrPnPxdabt2FN8Fob/H/VYy4Uemrs8y3nM1iE1tk6ID3xjo'; + 'i+Amdg7u5u29sCDKMB+7+KxlpH9f2WuaQ5B95iFUpRaA4cl+2HSnWNqNUbInGlvaYV/aH1xHadl'; b += - 'faRvl2CEG5lJjZw+1V2qEM5nygkCqISMcHGEl90JGuD0TS83Fw+j4OzpSPb5P5iDjTPiLOjI+Is'; + '1l3bxOkqbZGlviZK/Ob60i3/gSvv/rqO0CZYmc09PJ2tKO+tL+8PrKK2nLTXxaEtDLe0ZX9pXrq'; b += - '0XDVWzT4BXzGspiuwa22KFhLhZ80JzZskvvizkoGuKczwbFThsqxxzOdwKwfNaFyonUgytEaC6T'; + 'O0bqplBENlPOXLePHLz/IAVL2Rjn3j6FXe6Ix948rvr/9Ge+wbF6/yRjL2jXNXeaM19o3Vq7zRH'; b += - 'zxzOI58eS/oCCk/XUxNJ3YHUrEo9USzA7Hwu346MKZ8Rnyh2wCx9Lp9HRv9wHmtG40SxHZAKc/k'; + 'PvGM1d5ozH2jRNXeSMe+8bjV3kjGt+7X17/DTP2jZev8gbVongNYkVo2e/ws7tBZf5jM0yWnbAA'; b += - '2ZPQO5w2r9DhRzANSgS3KIbHwiuzWiWIbQBWYtQdCh8Nq4vlIkdwpZZm+BFHZ4TzR9K13SkGm3w'; + 'NsmUkkT7FDnvHvpJNlCjsoI4+lJQm3CcIGCrrU6CScNxzjbLebQrgLl98B3UN3qdNtiRvMm9SEg'; b += - 'BJ12HZjRomZymfk2/jIrQ5i2rxBP+/KhiOUS9USYx9xBzjFdHmTiJOSG7i4+KM5AJ2IhoPiTNSg'; + 'Q+ANYg+1Yoh34//RArB7M82QfcxqXE5xEnhAXD/k/tJesb1x2D2jGaKBM3vSBcmXlUrCEdyL/zj'; b += - 'vgT46G5RkoAiKIxHg1npAQQKZrjcXBGSgCaojUeSqtWgoMNmIpkPADXSKHtClkxB3SFHVXUrpEy'; + '6pg0XQI8OawltsHi0qI4eU+8iVpFrzQOst3OJ3SJEP7d0nfz+0d989rBygxdZ8xdYQNbfNQs327'; b += - 'C4peMQcubrEK9TVSZieBLEqWuqHYVUUIq5VygXC2gYuaA0x8vg3TtI36btWXQ7YtWTF14HG+TQN'; + 'bNfVTmjOnQ3OZyD8GwgjyoEZCjMmw4dDAPVj1JC70dzELCAi5gDS9WBMg7GkB59hSY8SKmryf5e'; b += - '32dSEqYmmJi61y9SupnZdqmrRM03NXOosU2c1ddalzjN1XlPnXeriCkzcNG7XHMxd55izC8nGhu'; + 'nzu8UZ5Xn2Fl12C2WK0gY5SrSY8s0bIutuAIMdtc/sry3x7gKfRPxj9FfAIfAju3SJ3Cq3uNBt1'; b += - '1CAsvt1KhduN+B+wUN2sWqcL+dMbvSLyUmWZ0l6xKMxgJMPbGZ9sRmxhObLZ7YzHpis9UTmzlPb'; + '81AthNiLc0Vy0oXaLeXOvbXuTXCQa4barHNuVCUKjIACxO1iFBymvAj7eQZgS22IDmdSKQBiUM1'; b += - 'LZ5YjPvic12T2x2aCxABTnRkICzGhIw05CA3UHTE5sFITYtxuUKQGx2qHdfYokNNuIpobcLjti0'; + 'ZLihdPKvhTkRRO7g2FxJeNL7iHLoPo7YgSUQ6OoYtqxbefioKesWYtUsd7rSWsa8lwSYpz0dw7m'; b += - 'YeTOsokkbz+ct336OzScViefr6ferrG0Ovm2KpWxtN6lsbQ6+ZzP6DKW1l0a96uTbz2cdzWjx0h'; + 'XZVqDhjZZWsmJaGUYRoe3xq+nTLzB6Kl4lshSmAHx62FzAw+JkkrpW0DRfZ/YywVn0aBuZyNgSq'; b += - 'a7wbjh4zZw3lPM/oM/fUebVEuWVsO533NmjpRmFvlUMesPZIllHFKszJYqjN9SdKFNmY+bOH7Nf'; + 'FVYhfqYJagUHffjZQEwrWa4hfmYIaQXrcPxsJKIVjqv42URAK5gK4mcz8azk7A+NgD7vLnlextm'; b += - '0GWIG4+IS3RR/gF24QVPhUGtfvHfUYgHsr4lOZuqU+BuDtntCk9Vy4z7XHCU1Voq0xALvjhKZdL'; + 'rcMoh1f3TVr387gG6w96guTzuwmqrPxHO6l14N9/sbtX8bZO7sZr1mTfr1XgKi3wLJDF6ebXZZ9'; b += - '4GAdb1xQjNSAsHr+uOEZqQEAtl1TmiQKhsD8INFPBIC8AMICViLAPh+RAR0pCQbpz9T41Srel01'; + '6kt+SdfKNDneiM3mNt8pk36oV5O58hNATuCUevtDb6zDN6d57kG9zdYTJ6uzXjM2+w1+hyXrVaB'; b += - 'PFVa11/1/FV/PKbW3hVKkaFScgEAmf4OGwDQuACATL3dBgA0LgAgU99lAwAaFwCQqXfZAIDGBQB'; + 'Wtu1DdU52NehONGvQm/61anYfRyqzpPTx0v5vVyvZFnTtHB3/q727Epnz/jJTpdSOSTTmfC6xGc'; b += - 'k6rttAEDjAgAy9T02AKBxAQCZ+l5EjOpUAQDfB9vMXG0+876P/wfzTnwvffy/AAEB5Svp4/8FRA'; + '97dpLv/k8WK7XjlH+YRTvvCaCS/5y7ahOzNqbxzHkWLLcfDZy/uti47q9r133N69m+ruvXvc3ry'; b += - 'DK2zb+HyJl6RlHWJjPtcLGah5k/zoGumT2hbgIs38ZD+yJXVJ+Pu4p7OQg4v0TxJqE4m/AmrPz8'; + 'b6uY9PW7v3U117945bm/dTXXr3j5u79xNdeceSdzEcY3RS/T4OK62tle36A1GbKuu0ZuMmNe7L0'; b += - 'mR56RefR5n7enREAyxhGd3XkwOUpGt8F1U+/mg0lfJhWF4E8I/F+Qbuc0H2YxTPBBoco4id31vR'; + 'S0GDGn92o8vR+39/h6/5b+cstsOWS4WoNCV+shVSSJDqmiif7m9nfe/s7a3xn7m9nfrv1N7G9sf'; b += - 'INQmMNWsqIHAlOekZv6RIqVwF2V06G8hKAaM6Ez23TENvPSVUly7U76i5XOYF8Lf3real/CQC9h'; + '2UEDhWxWiXXsPOSN4ag1294XYDsm6ELULvoj6lV1OAEyWQo7B2/tC6ighB1hyA5jHDDHuH+PcLt'; b += - 'k/qFBwBB7njEhsl+TtrMGLXcR5S5uLFeG+ulxtcMpUPppMLYygUP4qfpeG9tr43ttbK+1ia7X5m'; + 'fIS7+wjX+hFu/KN8K/7MHfLqL9QN8Iosj2gn1ZDx2F1eQ8V2XIWPp11Y4eFpZ1b4d9qtFd6ddnC'; b += - 'q9RmelhXltKmqj341S7Rdbfsld0Wheiz8gY5CUSfZ/R3Qi5IUpM72IysBeluYgrGbX1h6Ba0tuh'; + 'Fb6ddXeHZaadX+HXa/V4VB8sTq6O/LZ8vd+OUTn2q+cE3Yf5UXWY7qTnSSa2RTkpGOqk90kmdkU'; b += - 'sPl8m+tIPATZ/j+hXukHjvK91ypSlgsyYJyA1hoaEuZ8uXhsJDWMLDdMoI1DfG2lSKGZ/OyVGBr'; + '5KRzqpO9JJvZFOmli3k1RXQra4efAV8zyOB/k2XcmNO7l+J+7kqu3dybXavZMrNFVy21ES3Vayn'; b += - 'lxrWf+H5YBCovy+XqK6jT0ld9/dkyOlPHqi1MUYo+wW7lrs7ukGaPR0SVwyzb1tRHwxclqsERqW'; + 'uhW0NLto6lbTgwAgn9dcbjCLwoDBFK1WPBWkCRjsWiW8NWXN+laD8JCQ5H/vRQwSlxEaT4gpwbq'; b += - 'Zyr4et2X2E3LzS5KFP3gEARU5871AatwxlbL8R1fKs9K6oWykVTdfRVRi30WHDhYEt4aDqZtT7A'; + 'cy/g0d353FOcINnmPStlPCtlPCtlPCsVOsgA724vJas9XAizhQN/z2ZF//JiQKdulDo2pQaDwr2'; b += - 'k1M05hRowVBtVyoIyJ0R/4kabHk7AFd/awfKP9AL3QG4cGDbddCV9G50+I++i3fjAPhoicBTunx'; + 'jzs9Q7UZVBUYaH2lsJMTl5iDFdI2BGvRCF1z4zHI1pPL6avjgXEHIhial6RaL6Eqodyql7YQQxR'; b += - 'rC6hwRo6X7aesc9IPs1hkWrXILzMh1dnUvBskaYWaY9NSKllqtqKBWW+b5erNCIIPHrwYOy1GN4'; + '8Y0KEd+iHgvYkeJyCTLVsHKdjbV37kHx9OlgBgq8hb6yQmV0vsrpsIdSRAlAW59c8KB35sXgLFG'; b += - '9C6V5045EEvmx6XKpcIHFgpTmnt7RtPhghr5OyBixP5OaGfZ8HdCM8umvwPuSMvfAWAk8XcAD2n'; + 'gOp0OsfudICogl/B+VHVuKHy+wggbPJpadmGdc/BP2xzSqoGxnYDwbVBwvaUNyLrFTPiMdlGjCX'; b += - '7OwCDdPwdQD9SfwdQj66/2yt3PX/3Drnr+7vb5W7K370LlmP+DpRk2t+9W+5m/N175G6Lv3uv3M'; + 'qXIlY3OlEsvqzcvOs7Z2uEJ26CwhxsNQBgjmXj3DyiwMyboGfgYGfgYGfgYGfgZGHIQ+ASUWi5D'; b += - '36u/fJ3VZ/9365m/N3H5C7bf4OAArz/u4hudvu72Dos8PfwQpowd/BRGjR38F+aKe/g3HRLn8Hy'; + '9ZXQG1gphtlB7D7dPOlHTV5pmUhHdc4qx1YmoA22fKdKy4NkTHTcJB1Fd4Zx7mLShnTZOOg9FCa'; b += - '6Pd/g5mSbm/o9HSwN/SpqnwtzR5us7f0iJqj789httv87dP4PYt/vZJ3L7V3z6F2yXA8S6NrKCo'; + 'rDZ8Ll75P9KqBr1biyDikSHMmaepRMePEmHYoTJV3LJvYwicgdcB/c1MNkB0eyeB89rZqBHosSe'; b += - 'fld+98/I7tupCf+ICwyLHu72hpAMjFGlm0aSZftygrhw34oNY8C55pGNEFUgfhfCax8qont6bM8'; + '5yMeZyEq6ZIS+OpEijHOFWy2E511AMAPN5q6YGy7Q+UdO4b8+iIocr+V3aAHAMDHCRvCrr4kyom'; b += - 'D+jhBuSM1/ReqHZOIb94uukoq7Oz9FhyCIAm635JldU0pzbJuMfgRADXgoLqqNPPwkHUkILRAYp'; + 'NZekHDju72EJGXuqfkCPcDgLdlJqT9hzYDt1/mdlbWquxn29jvZYw0PXtwFziNewsBfzSXuQiVS'; b += - 'mSfdxpasHrkaRbBy3uoethuVpvyWMt02VcSO5+tftdHgnntVx0YJLYBeTBygAosR2aO/bVBWFLH'; + 'QD3FyXSwZFNN7okwKnj6OOmEkOqjiXAHJUueBOaBz3RTMw2UTTKj3zvH+jodVo1pRg6J1RzAHba'; b += - 'vqQfUUjj4RtnwEf3DhFi/1p4EpYgtPpGxOq/4gNj9XIE1ieE3g5s9aLRmmL3gjXPP0IpUEIZimj'; + 'N7e8DazIBFBJi4VKHTu/aERNBr6AQa3kYEG/VSIgMqIzNBv0C+jHT5IkGRDCpVNPOOetasvtYsi'; b += - 'IF8EtSe3vyig7DPLTPOdLmRT1zpXqEUqlRlp3lPTbHOwwNthho/XuzePv1QrBKgCbxNAwWLe0jx'; + 'd7P9P4E9Qn4xaZ8fuijcUrgsLaDyTfy+PrkA3iUkyviFSYfN8O4YUgW81jvcqYgBojgl7nslE+4'; b += - 'Wf7Ba0LOOmnFO42vlg1KlVJlgwJouT2qxAbRuITpNUw0sp31oqlbeusW6aN1i2zC5gzZCFVYXoG'; + 'e1NKWio6R7XB+pjF1ZhhNCJQQrOIw7odldAPCfCbCta039M7kJ2yqU0qjCKuqZ/8uecUW9vGNMr'; b += - 'Ccl0aiK7bwb4AkTSOe1V7lulZ14TC7ANPau6uoWoz5lhM8BYD2dC9rsfnq0MTZgAn+jGu/97lxH'; + 'HXMwXWmG87Nca10o/Vuz1xs5A5TaJdBx47Qcpb4kV0RtuGP6D3aYocibBGoDvjvViihZMdwSEpA'; b += - 'ZjxPDXLzDhD+dZYP6xjTFqPDNY6lQ5mlD/zxql26mnvrQb4Y/XWOpVPn8hbsjlggB/ZSRqJaRZr'; + 'HouvpMuCnIsFjHipclcaqIy1eDxYmkFYZhErY7vOuOyy9JXKMhcU0a8hT30tbu5nvpSeElHLjRc'; b += - 'VLd6xDCNXavxzWysbzsvNvQcclu13NFIYXGt/dYAP6wZ4CeuhqCqIU1PJSbWAK2VviEfZs855tq'; + 'us9E63IvjtS4WKR/SehCCo2fCnQACWCN+szZX2JPlOK19Vnyuc6+kzJW0+fKdxq6zM/CkD37Fnq'; b += - 'UXyTLQqF40cg+EavsvDz3m+tBFfRKEs7WEy5JwplaAgx5hEZH5bpLfIhoCsLgC4FQZIXjkVxDhg'; + 'Wd0cJnQqwRpoe28OO9AmuhwtQVx0KlIvzyunI0CzhfAZEJVTw9Vu0RXpqV8RSv7695xZvr8Xlk9'; b += - 'xbO0LV8L3z1KaVl7+0LqSDSL/z+LPIr3kew/ds7ZyqWiKYz1Ib9BOUxy4zCmg8HJB7/c4VDU5e3'; + '84dmgfEt55Hctarte8QTZrxvt0bjWg+gO3ndy6Bp2UEZeSDTrf6ISHa+z67meDVFx5ro5nJYNce'; b += - 'rWiEem+835le9FjAKbB0PXLrElTz3LW5ZN+SOoj1DPRro+5t+XxHQGk5igIJE70RoZCrX3KdTPM'; + 'UuakctoSF7e1jSK2eDAaNQ13P2uewc2Ke6UzQ2PBXtJ0FbLFeOnlne6zxO7OupNf23L6nV3wZez'; b += - '/nOokcN4cX10OYStXvmsoZaOQQDlW0V8iVNFcvc7YQnW/gT0NXdHnzhSXIsRWuvu8BOVsdhUzVh'; + '0wfLC8hlOE6TnYvnzzN5G4VMVXStat0XtO20rdxZrgnE93aaNHxWep95CZ7CNH1Js+s6f41Q0IJ'; b += - 's97h121EczVQlIzzWWgg9KsbsCMado5cNieMUDsvj5+xoQ6UWMUg8gEm+zPHvyjhG8HxW0/P4Xq'; + '0cRwXCPVm6oMPRDSP265YsH546Hax6j9hbGNmyr1irL2xpTLs8o3Si4yXlFmZZhm3xfrJMT1HYk'; b += - 'IWheXtK+Xt93HOThsAq8iaEc44Kdf99DwVIcjUZZIp3hUh73X2C5MhDBe0+7WnT9uncU66HOG54'; + 'I26Ze3EEWHQVIn2ma8NDsMtHnQqAjt/GzAKkP0JGb+Mkh54G2daKmHbGadnTUtCNV044uWQtIby'; b += - 'I4A8bzKJ6Lh3cel7+vBbfwq4dOuS2kNXTrKxh6JONCcBvnW21dp7cQGkdX+HxR1Rko/B7Wv/K5H'; + 'AhnKBaCEH0oFIRHiiyk5XoJlLRzQRgTycBe1pMnfRCm8gf8yPloHvINsFs0ye9uGYoG/jtLrL1m'; b += - 'DxI1RdW+z/kFKsz15y3atCGuCjy/Yb0pF89oMMShxoiYRyAImYCVMjm4n2FaeQdLzEP797N1dAJ'; + 'G3DSS+oGcrWpUtzydZltpmTXkQzlA3j10G2lNk2nvTCmaFsdMOJbB1m23TSi2WGsuGcQIDXmNk2'; b += - 'lL+Py9G/qwoM+mGunzLXNZV6+/v+48TvJlp8xXj0F3YHqCnzKs0w5Z0ZUWOvmtgjbDFaiuXYFFg'; + 'n/QCmVo2b+LQQs6EOZOTXhQzlNPaOTSRs8WcrUpFeSjnVhU4AHQWzInkbFbKzUM551RWkckW5aB'; b += - 'S62qFFpP6dTARiZvJ7zsLrbjmrNuFiEoaqS4B9KzCrrv4vD4CEEy73p0MTxY1mK2l30m6vP5VN4'; + 'ooQj90tq8PFm3JYMsXit2ia3YpZh0gpcpK3eJJXLCSV6mreAFkT0netlgJS+I7DrZy4wVvSAydc'; b += - '3SHbFmL4Cb2DO+m9l5YEGWYj//OFy0j/VVlr+kOQfaZh1CVWgCGJ/sB051mbddHyW3RxNqO+Nr+'; + 'KXjVb2gsiOk740lvLoOKPaTvzSFGIDUUrRcPKXFmK2SkzTCWASxGyRmJaTwGxGzKzEJE4Es8lKY'; b += - '3TXUll1zbZevobYp1va2KPmLk2u79Nuutn9/DbX1WZusPT2dbKjtjK/tD66htp721MTjPQ21tmd'; + 'FB4rPcajgFNfygxs1aNInCm67z7iO8OwWTQOjYkiQ+ze0rKbncXU4sAJL8xWijm1XZ5ZfX14KMK'; b += - '8bX94DbV1U60jGKnjM76Oly5+kQeg6ol04hPHrvBEZ+ITr//W5k+0Jz5x6QpPJBOfOHuFJ1oTn1'; + 'Nv7+gqjmtxebFvubrZ3a9zz00f526ucfV7Dz9ym8+XvVbP09ioduoc/fobbWO9UaOO/PRkrsZ0H'; b += - 'i/whPNiU88c4UnGhOfOHmFJ+KJTzxxhSeiyaN7cfMnzMQnLl7hCZpFUQ1iRWjZGb52L6jMHzbDZ'; + 'att0d/J1eSBf1EQyAmdLKqa2p/rtBJNr5hGUl/jbuASaQJDPszFes042cDulpNo6s6OA8VzVNdC'; b += - 'NUJC+CTTClJtF/R8e5hLGQDMyoriGO8BPUJxwkCvtoaCJg0HOdss5pHNwRwtw++i/ZGb9AHO5In'; + 'wxbeHwG7o7uiHng6KpGlvyEwsHSixVNfmmvgv0PqJVODsKGG1cNFlqGGfugDZYVP6/IeraA0/d3'; b += - '+S0SEgT+AN5gu1foB/7fPRBrlPI82c+SxpUEJ5EnxL5D+Y/sI+sbl92DWjAaKpM3c7BcW7scrOC'; + 'afy+SYdgNv8ZKu7ZKu7tH4FQ92VF8BQ++wxs/cq1rphb1H45j60rQMFuximEciaWT5VLYqxMdHA'; b += - 'ZyD+zX9pgUfLIsKaICJtHy8rIIec+ciWptjzQdgu3+F1S5UP79svfj+zbfw8bB2ixDW+xLUTLbb'; + 'eK6IHBMuLcrI9EUV0xc530hg+iLH9LUHFnNUKPR+GdB20eiTrmcn7349/Ojd+cfz7Yf78/k0md4'; b += - 'fQsv377VtVzqhB202OACA8G8ilCgF5F+ZNhw6GiRpEKeH1owUIWMBFLICl6sAYB3PIqL1CEx6k1'; + 'pqGxBPrt3Lp+Gy6LOXNHLJ3P5//65Pj2w5525/hZ6N5oEChYO6HkLmnzwVjQx5K0okTChTSO9os'; b += - 'NVkf01OomC5lOfVa3jZNVgsVi/IGPVq1iMr9KyLLThCzD6Xv7L6l4e4Cv2V8VcRr8CHwM8t0sDv'; + 'i72P2n+pF1XBTlW+g3XoqVQqehgJU3+kk3Te3JH+6FwBQT2ZwfifINZH5logycf6EEjo+SvCN77'; b += - 'GkKjwVAe9UpYjCh2dBdtqN9i3txn+94kF4lOuM9Vjs+VCUKjIACxO1iFhyivAgbeIbgS22oDWdS'; + 'uZ+k5ukEPgnv+IcBEER92kfQmkoKySSLWyG4Y1IbzxQ8taq2I1QM4u0bMMZRyj7JvY4OI7uDajt'; b += - 'KMhiUs9ZKioonFfypSAon94bC3suHL7iHYYEY0QgV6OQYhqFWDPvpKOgZ69YibbzXesK6nozWpD'; + 'LScG+cJj/gsNvqDYzurkhtbcQmEUxjP73oinfVp9W/1imOtHGVEF1CBhUt+iTfaMAozhvWZ55g+'; b += - 'gXzX1TaVeFirNWVsmGaW2YRYi2J+emT7fM/OF4lchWWAL44WF7CRODnyniWknfoMgeZIS1GtAxM'; + 'F38IfBBv9GX7hx7phY1l542jnWB42DycWwsT+Z+IkiZIx/7Xwp0m3POBcY3RmgJMMarz7jgCMys'; b += - 'JezIVCtsAvxM0NQKwThw88WYloBoxA/s4S0gnc4frYS0QrHVfzMEdAKroL42UY8Kzn7wyJgQN0l'; + 'rp8O0h3Lelg3IlfnsQDGV6LVgvV7OW60/WzdWo5Xp13VxxLddL6+YiP7xiliCX8dnfvF5u3i/Lq'; b += - 'z8s4exXOOKTSP+1Q5XcP0B1Wg+bKOIXVDn8inFddeDff5rRqXtvkNFbzvvA2VY2n8Mi3QBLjyqt'; + 'lmigMllL9bL7mwpQKH5SlimB/rNst9vyP9Gz/HmrpKY1gdzINJDC/XwrzxHtDfJDJ27+6D7ev9c'; b += - 'tvvCcask7+VaHOtEZ12PN+cJbVWHezmcJDQE94bhKa6svPKu68yTf4nSHybh2a9YX3mLV6HJetV'; + '0SLStYwnWaoWD8+vh+CACVQRp6pqBj8Y8f327tamUEFmWSmf3idD/7P60MaDUHkvc+j3f74htdu'; b += - 'YFGzTqW6rzMRXhi0QlnHbWCc1x5VZ1np4+USyqcr2RZ87QwWv9nXZs2pfPqERnmIh8ytlMeDuCc'; + 'BpsZlv3z5XzoN3kZ5pJa9AWlYSAXZdKjOsj0ES1DVD1Ii/kKpZ3n/4B4rTuy35APU1/h8Q47Vzt'; b += - '16b5spPnSh2qco5ApClNddw5c97ZduIzozWGydwpNh+Anz26gEbhqPSvvdOWN27qXTv3RNW824q'; + 'kYbl3VG5e0l/6YTHlkVYqUlQbzZHgTw1g15bXytapOehY2CgDf5/BoT+Ngoyc7IfpvD6Fc+ecSn'; b += - 'zXt6wurdTaV375ywWndTad3bJ6zO3VQ690jS+ic0RZXo8QmotnZVWvQGE3ZWavQmExZV94WEFhM'; + 'CQ3PrlUnj+jhd8RTDAqPjgc21M8uZHYrmPmh2IVey4biVXAupmR2DZUufb9b6U5WISsOnS1FosQ'; b += - 'WVK/G0/sJq8dX/Vv6D1pm+2HD3RoUulsPqyFJdFgNTfQ3t7+L9nfe/s7a38z+du1vYn9j+yszcL'; + 'JhNRCUwKOBJ4XM7ZNwfB26kLZQblD0iYr9PDyo1hc08g07VsgyhNDG4OmTMoO6ih9PMdakpwB+e'; b += - 'iI1Su5hp2XvDkEvUHD2wJk3wpbgJqiP6ZVUYMLJJOpsDp+6V1EAyHaDkFyGEHDHkH/HkE7H0F3H'; + '3UQuIfC8Prsu0q3g92EsxHneAXsgMKyt0TBaWpz7XXSzP/fO34MTzGz8tz429UBz7sdfSxfJLKW'; b += - '0GtH0HjH+U78GfhsDd/oW2AN2R5RAephozH4fIWKnbgKnw8HcIKD08Hs8K/02Gt8O50gCt8Ox3q'; + 'K/+Hl5/PHZvfsQf2ip/LFLnXvl6Sd/VKInJJbeyR5aKi/8Zuc+FQaE5W/90nNBuav82X8mP8+H5'; b += - 'Cs9OB73Cr9Ph96Y42J7YHYOd+WK5F6d02lMtDr8F66caMjtIzbFBao0NUjI2SO2xQeqMDVI6Nkj'; + 'aun5fe5KHscyZArlv/81c5i2fT1wrnr0kcP7E3VaeAzn5b8C+Xhz8jPj5vyp56R318weJ1T7R6q'; b += - 'dsUHqjQ1Sf9NBUlsJ+cQtgq9Y5HE8yHfqTm7cyf3bv5O7tncn92r3Tu7QVMltR0l0W8l6op+Cln'; + '+/1VG3LzDRrynJZM0AKAciU7EIpiEN58Up3j1UMR5Rvpv2iaxrI5NLwhlK2lwsR1g5movBEcTKT'; b += - '4+mvrJiQFA8BsVhyv8ojBAIFXLBbWCJBnLRbNEPL68yfB5EBYaivzvpYBR0iJK8wE5NdS4egGP7'; + 'Cn0gJqBCAKz8h7SWAPTdm0AE5Uhdcn1ZObqr7AQiZyiuSpQX1l2AE7LllcbAJZByrk4PkUOWpyA'; b += - 'i6unuIEyWfes1LGs1LGs1LGs1KhgwzwIfVSstqjlbBYOPR6Niv6lwcDBm6j1LEpLRgW7hkNcIZm'; + 'IZr5PSXSelNQRk3IBwFyoYqgNqbQLgfA9IQOtWp29cOU26uaTYt3XcamGWbwZujbWYyI0aKYBrs'; b += - 'N6omMNH4RGMTIS43hyimawzVoRe24MJnlushjdfXwwcXCkI2NClNt1hEr4eqUyntIISo/uCQQes'; + 'K7tjlEinSwB0953J/kM151xeo3uA/ozuzCqd6GL9fW+e+W5z988tiddytjOHJfYXT9xvS41IwYf'; b += - 'wDgH1JnqcgEy2bB2iYG9/+bHvPpKsAMBWkbc2yUyulNndNBPmSIAoC3IbgxVB+ti9BIY1BlKhNz'; + 'V+ngMRX9evRxBquxoHzhu4VOmOwDtMDSqBcRFWvUaqBxLyOupXErocat/FOJm7BxRuNOI25O4iZ'; b += - '72eguIJvwdlh9bix8us0MExyaXnppVqH8I+mO7VdA2MrAvDKoXFvShuBdFaZ4RTyo0ZClTlUoml'; + 'HGvjnzbAJp9chXA7Sce3CgFCpPpwT9asKzw4IhurD4P7kjw8DQghSahfebYE+sMEVDVjeQxMe+H'; b += - 'kollc1blC/PxtZBhezQWULMh6EMEMy9Rn+VVRiSdQ38Cgz8Cgz8Cgz8Cow4CQMCSiwXIcfL6Aqs'; + 'BhlWmFMSu1mMtErQXIjIu5xJhLtZiLjLlYxaAZD+0xD1kv4sQWyfWbFxm+WPvCBcZcqMWcZ8z5W'; b += - 'VcJioY4etE+6UNNXmmZKUdtzirE1UKgDZp8t0rLg2RMDN4UgUF3hnHtYtKFdNk46D0MJmsNnwuX'; + 'gw12PHXx5xlzNlw6Jur4R4AyCimSKRo1va76kMxtmddCT4s/NCpX3w2ABbbnRacRDPsfrg898+Q'; b += - 'vl+9VwPCpceUdUiQ4kjX1KJlQ8SYDihMlw8cm9jCJxN0IEdzUw2QHR7J4P6OpmqEeixJ7nIx5nE'; + 'EK9F/B11XAYdZtTDVDVbZcxqLeY0Y07XYk4x5lQt5gRjTpih9hwze+R/9VusPotta6A/HeKvf58'; b += - 'Q4pkhr46myJc/gVMlqO9VRDyDveKqlB8q2P1AygG/MoyOmKvsfOQByDAxwkLwx6OJPqpjU3JJy4'; + '63fjrY55gzBO1mKOMOVqLoe44/lYzININZqUWd4q5TkXu60divhXX3mLMSi3mMt+5XCvlEmMu1W'; b += - 'Li/hy1k7Kn6AT3C4SzYSWk9Yc+B7dTFmJW9qaUa9/U6OmIND0/fBswhHsPGXs6n7EEmUkE+xMl1'; + 'IuMuZiLUY9JNMLfFVr62VZfvl9Q9dsd44bjibtGkZGCDhTPEKVRz+LUQ0sKnNgy5Df9HONcHJ5y'; b += - 'sWRQzNwWZVLxzAm0CTPRQRMXCkiWOg8sAJ3rxmARYZngQr1vgfo7HlbVtxahPO4IFmBtdG8PWJs'; + 'HZkVT3Fq3fNtuLQEKgqzNvw+k5Ymw5Cw9/r4B+z47uTa53WaaEoK5MKODdyCmvVlYN9V0JQRlL4'; b += - 'ZsIgAE5cSyTzv2hMSQa9hE2iojQi2qlIiAyojC8G+QN6MfHkjQZEMGlU0845Gz6ze1iw7tIzhpP'; + 'K0DlwJeUR+uhJzK6uifcTsobDrzbYxyGbwIW6qwjnNkhMFwD+AxOCPWDS5mR3tJlYPLMY/PI+x4'; b += - 'dpT8A3NuX1Iy+NUwKHtR0UvpHLN6YewKWcXJGuUPjQDEPDkCznsepypiEGiBB7ueyUJ53elJKWi'; + 'dCAskVEB2+sKGxATO7if4+0GcHHKzxkkfs8Rrv4bSJvmWodc04gXZcGLDTRvu2nDDhoEvBP6dGE'; b += - 's7RbLA+Z3E1Z5iNCJTQLOOwbmcl9FMC/KaCLR30VAcCZPQphVGEmvqVv/+8YmvbFOHhXMqXW2G8'; + 'L8BcIQkA5pd1EYXM8p7WDcOfjs9nFnGXdW4lo+7i7411qVqLaPun2Ay73TkS5IeTwlj7vppnDSo'; b += - '6vca98ogVnz1xp5A5TaJDBx47Qcpb4kV0RuhFv6N/UxR5EyCNQTfHatiih5MdwSEpAHousZFuDH'; + 'hQRuqjDrojYqw4mKWITAiDU51VlTgG924dOSKiqwDEJVd9+Iqx/nEPvqxBY+CV1CN6toST9WEP2'; b += - 'IsFknipclc7qIy68Gy/2kFYZhErY71HXH5cuS1mhIWpOOPMW99LW76V5GSziPAzd6biNkohfZ16'; + 'EfgMSBxwtwxpnP27GLcYBI50kL3HGuqMXGKLOPtx4vtiypRXXrNgkIrk7UB/XZ6BzfbYf6qy0Vv'; b += - 'xwsch+RyiCig3PB3pDieBNek1ZX6LXlOJ19ZryuY5eU/LW02sKt9p6zZcC0D37h7SzuilMGDiCL'; + 'jaE4YEWnWJ33WpvMmiAynmtVbdGgOSYi+K62Vdxvy7tO1z2ButkY/sxq6z5zxWVvVZ9wHfNGXfN'; b += - 'dD+3hR2oNd6LVqBuOh0pJGc156NAM0WIi5AVE6PNhvaRyn6K0LJ3/j+51bv74Xlk+e+GJRvK4+e'; + 'Ev1IrGYg1Hi5ZIW/RLQ42tenBt8eeMK/6VoeJ9qy/UWu3fkmVr37pi33LD5d/0XYcz67lGvetWy'; b += - 't6jtquKR1xod0bg2ghgO6js5dQ07KWMPJFr0P9CIjurskVIhGs5SN4Uz8kFcu4vWUSvoyL4etvT'; + 'Zs1tKhTLCrGCP3ndYqSN1pVT/pKXPCVeHK9N1tVJdzn/YeFPtsPP21fD1g311sJ5ucfNExXvckd'; b += - 'amWDIJLT1rL0uOwf3q+0UnQ1PRwdI0JbLtWPPre5zUSX29xgGCPIsev1toXpm5lB5GXcZ1HHy9f'; + 'Cx2pxbPMUHhuUlUgMra8m2/oYUFteyHna0BVm0KJrqrN9GA7CzUQSYZ5fROCCGp+p/fydhGKBKr'; b += - 'LZM8zuVgnTJcO3yuA1bS99H2dHRzLRTxs9Ok7S7iM32UNIrnd5dsPwb5gSSoj6o2mNVDVVGUYgZ'; + 'r09Srm0Q9kHRgtUiV4+RkP7s7oOcvoZY01oy923NhFrGWJ2mt+YgeC7JDjxSTd1rFzf6k0922Xs'; b += - 'Azccs2C88cjrY/R+gsTOzddqoqy9sS0K7POJ0puMqooszJMs69FugihviMRYd80UjvIoqMA6TNN'; + '1j/aRXP8obkjZ5vAhVdQfLTu2e25YFJWRHtx+t5XrDoRB0ByIlOFAgaOUd54+8McQd204z1CrSp'; b += - 'Ex6eXyX6XAh05DZ+liD1ATpyEz855Dywtk7UtSNW146Ounak6trRJWsB6Q0khH2ahRBEDyYV4cE'; + 'nedWTO9QcXss1StauHtC7odUAhX3QM2p6m+2lN1Btpgq4oeLArYZw3XZ4mkdajx3rR9Fo/2WfMq'; b += - 'iO1WJbiIV3fQBezoF2NNi+pQX2kT+mB8pB91DsT6LzZzy4pqRYuC3uyjWY7Etp7ygZqRYl2HLpV'; + 'fRY7rZNY7QbsAUCGgX0Wa5911vRZvG6fxSN9FvFtzF32mTRhTJ9Z9XROmtCppocL1ilMH0pLKIq'; b += - 'iXxWZPeRHNSDHMXwfFUhbbesoLZ0aKMdQminVYbO6UF8uMFMM5gQCvMYttO+UFMrVi3sWhhZIJS'; + '8o9XfaGkxgTAAx4DBCQDfYyFDmOivNgAdsZyHci57i8rXgesEj4hLRTiHO0aZCtQ64QVkeVO/w4'; b += - 'yanvChmpKT1c2iiZIslW5WJ8kjJHSpwAOgsmBMp2ayMm0dKLqisIkN4EQtFC0Po8xvL8mTdlgKy'; + 'md9uHsXGbP0pB6RKRWCfDB+vfU001kvUVFON21mSXmuKv6TwTFJXQkbkdk6nvlpdArL4VeeSn0y'; b += - 'ea3YJbZil2LKCV6mrdwllsS+k7zMWMELEntO9LLFSl6Q2HWyl1krekFi6oQvW63sBYkdJ31prOT'; + 'ktN22L4ylosUh6d2qq8VCuE2Tjb2+iTNrM18xYAQr29C+ofYjmpLYFwLlZRv4BWOVryJ4ZiRi8u'; b += - 'RCSa1nfilKcQGopSi4eQvLaTskJSmE8AkSNkuKS0ngdmGlHlJSZwIZs5KYFB5rHoNx4Cmn07MvD'; + 'aPFyrWjSEkWOuT2YlLTkBIfD6U1BDvnH4kQUmjBKr100rskJK9vUHmnC2CGkngaeWs4xvDd7aHq'; b += - 'WjCJzrOnUf8d0hmAx6x4Yk8WF2T0nZ7d5iehmA5NdHS8Wi+i6vrb8RfFzBxj9YENX89mJuebDN+'; + 'zh6Ru9oCP6uql9uMas4fQmz2EhE6t2kb/e7wioqZKSO3HZdxWYQ1L/q2uCiMl85sye/daVS69jh'; b += - 'ql9/0MfH+yiff4JBTv/gMKbv1/d1t+neOgW+vxd6mu9R72B88F8pMR+HqRt593BX+mFDEMfwQGY'; + 'Z+g3eG0hP9rv1weEeQ+25IfDe0q1oE7MNSwXCGmyP0uj2mOVrrttevkZXGr+DmKFNFuUksLeRyV'; b += - 'Oa2c1poaoxtEop33LSvxl6EH6CNLVthzv2uDbuQMOk+3cRTFAOe5mmliYIlpi6DesN3RD3I+LJp'; + 'hfPNkxDLw5Xvc+QnPbCRjgr/oLQfSf51YuB2kWfLFowFg5vjPIiUYvhFi2Gr8e9RFKzGE5qFsPJ'; b += - 'qsSU/sXCgxFJVl2/au8DuI1pHQKOAycYlk6WGc+ZuWINF5f8boq098NTd/SqfbzLIty1PtrpLtr'; + 'WovhD3ATXqjZC0OA/DJsth+hNp2svNVADWJOW7B7yCSgcjeLP/OwGIb+XZ9wLVnNmIVCcWcxTFa'; b += - 'pL71cw1F15AAy1Lx6zeK9irRtWi8In96NvHRjYxXCNQNHM8qnqUYwPEx2MF4rIMeHSo4xMX1Qxf'; + 'oTGhLCZvf80+5jfRKgNPLV40aCl2hNxWE1WOEcGBnjbozqr199ilvoC05MSmCOwKgjrwW1A2GjY'; b += - 'ZGLfwSmL3JMX3toMUeFQh+QCW0XjQHpenbq7jfCj9+dfyLfdWSwmM+Q6Z2GyRbks/sW8hmEJeos'; + 'UfUZ6LuCQL5juh4cq+VzASnOyNntSHbIUl65NhQSSpY+GD1KRTW2EChCQD+yrNhQ2t12hwpcbTB'; b += - 'FL18Kpf/718YMMp63lkYbGcEoymgYOGAnrdgyYeIRP2RiESJ3BPaNFIVRd7F1396ENngRFG+nbH'; + 'g+Ph2/EXPgDaI1tYVyefbqyFpb5wvqWefnUTyoQsVEzX7oGJdTVMz9pOQuMmRH+HOxyYMUfYE59'; b += - 'hpVqpdAYGWHljkHTT1J78EUIITDGRzfmSKN9C5lcWytDFEEoQ3CjJO/LN3TZo8iMpBP6p33VBgG'; + 'mDVf8GGw4PkeykZXQZ8ban7tRD80Ff5rM4Uf+8zXcQo//ZmvZQo/+Zm/7lP4yX8+dgpf/oV1pvC'; b += - 'CI+7S/Q22oKySSLXyGEXFINR6oeUdV7VaYmUVat+GKI5R9E984BIfuDWntLScGecPj/g0NPqDYz'; + 'RU9/AKXzir/gU1vl7+fsUtOHrMn+fePxrmb9HHv/rPn+f/8Gh+TuoUeHv/QbO1F/rmuZyzJkaOW'; b += - 'hrkht7cQmEUxjP7eMTTPr2+rX0x3PWjjKgC6pAwpU/RJ3tWAcbwXLN87t8Kv4U/uG0MZvmGH+mG'; + 'XbiGBSpbkjUHU+3C4+WI8ik3vh2/VkeMoM6GPjWERFJR4d0V3Z90Tl66EqfYTQxmpCyI8zRmgLp'; b += - 'jVXljaM9E3nYPOwvhYn9z8RJEiUT/mvhT5NhecC5xhjMACcZtHjvHQEYlbVnw3eGCNGWDsu1+J1'; + 'iMJIMDAFUV56Z94eBc4fSgv1sMLg/JCLQxNa0y28y4upy5QufKJ1aCcyuAtgp2V/RYdKsyrPtOs'; b += - 'BMFLo1WCzUs1aqT/YtFSjVuqrm5aKa6XOb1qK/PCaWYFcxhd/62alqV+WXbNCAZMrXmxW3PlSgE'; + 'vVdp3cur86MUqvE9C7ISA3ceq5Pe3vlwY3QqhE8CwJwAZKWlwITPQ8LWOlmkWLEdLNZunnKxXo/'; b += - 'LzkbBMDw6a5WDQkP+NnuPNXSUxrQ/lQKSHFeoTn3ueaG9SGDZ398H29f6FokWka5lPslQtHp7fC'; + '3p05tsXZqi7XjF6v3KiVrQT6J1VAkbrmiw56HItNLRtVNEmw5LSzZpz/mnGMkg8p3AJYs9ItUdc'; b += - 'MEBE6giTtXUDHEw4vut7tbm0EBmVSmf6pNh/1m9aOshmLyXOez7v9SQ1u1GV+NyUL76M86Ct1E+'; + 'vhrLR1ybb8ko0plIHp+VngrZQvfMy5I3nJwB3JV62itYQKwzA0WOA+AEs2hoy79vYZ+zZkhF81V'; b += - 'WSvegDQspIFsOtJm+TwEKzDVD1Ii/sKoZ/XA8B4rThy05AW01/hSQ47VLqAYtK4acUv6y3hMpnz'; + 'kH7Mvr2RVNfs1Rse8GoNQ5adZb2ys+bvsYdQ9w5+yktPVd67hYu3GuYgm+tROpew6h7DS0B7xms'; b += - 'ytFQpOw3uyYgYhrlqymPlkc/5NulZ2CgA/IDToyONg42e7ITovzOEceWfyO0UufGplfLS01r5HU'; + '2phnFOtbI6YbCzjZMCrWUKObWYDE+VVr/Ko1dtVyQFwr5e8/qZYtp0+Za51l4Z7/qOu/y6z5E8R'; b += - 'GfSfGh0dSe4smNpXYdMz+Sqthz2ViqAtbNjqUyQNr+/6k0h4qQTYet1nIRwmUiKoFJgUACn5Fz9'; + 'QKTo6pS8x7qjGpRp3kXFHNK7LOEzBFVP09kQX4GRd/ZrkPdwiN3GL3N1DRydTgzzVpy2DvMOnPL'; b += - 'k1B8E7aQplh+Vm55+OMsHJ92LwtkOVatkGU+sObQpYMyg5aKON8h7oS3MH1bdQDIt/Hg+sq/Sre'; + '45OBq+PehL5A0o93tDvcgOxgC0NFSlUPdHtV3CMlKHq4rgEuNaYyeV4U6ZIobFD87oOwZAY1TUq'; b += - 'CPZRjMcvQC9kgbU1BiMLy9O/1l0uz/7S23Di+b8+K9eNfTAc+5FX0+Xy5RSpX/mSXP7o/L79SD+'; + 'DLcpxQBF577yhusjCoGHEuDngqz34EY+qwKqKV7fg5G7CHWaQNDYohWxbMyLBAIghrJSIAIcUwO'; b += - '8Uv7I5c69cvXjPyzJfUlldLKHVsoLv965T4UBYfnyZ58PyhvKXzohPy+E5ddOyu/zUfYDyIZcsf'; + '7nt7eMpoYcZ+S2guyjHlue+X5R+yTHWQa7JnCIqT/ZxQrlNGKTrS6d/UitAgKYClXPZw3rDCflQ'; b += - 'ylr3aWy6ZvF85dlz9+cF+qgQFf+DEpv1Q+8ePy86Om/Pxn5PdzBo9zqd1Dc78/b1NuvklTntOTC'; + 'SHaLF/htf7HWXSGSfh4mPtNPGvYJbIyxkK1pulC8z5lQt5iXGnKjFXNGYqIo5HPGtWsxjjDldxe'; b += - 'VYAMK7kAMLUBsKboxoAr34XUb6R/nLTNFbN4dEPQtlaKUxcd5iJyuvBwUQq/ImUgAoBOP8D0l8C'; + 'SNG6Nj4R7zorHP0R7McjqPRRVhsHVH8L/rsfUDFlOxGzfYrZW8BXMALaObXZkDKmjx+4I+QYKzS'; b += - '2PPDDDogR+qC+9PKyU2lH4CQqXxdirRg/hKMgT23LA42gYxjDXKQHK4iFVkg401yupvktEaAjBs'; + 'pn38UZoDtWN6r0eNu03DY04R3WvFXCfdp6j+ta0AjU0BR3VsaahqKG16KheNW1JDQ1KR3WpaW5q'; b += - 'Q7sIEQ21ArU/AYxiQZnzXps0ZGFdPk6EsKfZtnbBWmOVbgVtjPSZyo04K4BpsaLvjlEgnK8C098'; + 'aHM6qj9Ni1RDs9R60rwm5YQmGE7KNWknMQyGk3Zq0gLBDoaTFjRpF1ERhpOgXGx1odUxR+T02WH'; b += - 'NJPsMNZ5xeZfiA/swhjOpD6FJ9u+9ee/5LN00cSZczcTAnZXY3z9xsSM2Yw8cVBnhCQ78RY5zBa'; + 'nqh1JdHG1eY2cPrumxpqa+NTT9dREU7s+9Uw9taupmU9dradmmjrjU5+vp85o6qxPPVtPndXUeZ'; b += - 'ywoT35NOCGTfYgeWJp0GkmxJq0HmraOtJamrYWadh5pfZtmNO2JNyRtQdKmxjr4J82wuYpth5CD'; + '/6Qj11XlNzn3qunppr6k6f+mI9daemLvjU8/XUBU3d5VNfcqnSz+mVOEysBmULBkE8EAAdroQRC'; b += - 'DE67NCRUqr/PifpV3c8PCYbq78H9yR9/DwghSKnd/V4L9IEPXNGA5z0s4YETHVaF1piyVkt5jai'; + 'kkgLRBUWLQVak0Oqzii2SS5Pwhouw9DY7QliQCP9PKz+OaQAFXEidQNChc/inwXalHgm/G98tTP'; b += - '1AJlxKZeZcrmWcokpl6oUdOOh28xDNlI4sUVyfecl3l+qveECUy7UUs4x5VwthRbs+OtTzjDlTD'; + 'Phdg/47wtRZE9HeBfK4G91ulFnNPL1JAT3Jchm94kywuRMSQFLFoKege6A1D7mZLZxMu/WxlgBV'; b += - 'jyzvXwNgDIKKZIpGjW9r0aQzG2Z125fVj4odPPfDEAFtudFpxEC+x9uDz788iINyL+jgcugw0z2'; + 'Te17tUIfeE3IGlRRpAjbgtu4TLeLWsnXLo20MA27uyYCqhvKaTNyLLWmp7I4g3kf/VbB3rt/oUl'; b += - 'mGqlq0zZb2W8ixTnq2lnGbK6VrKSaacNCP9OW5uk/81NrHGJba9gf10iL/+edp0469PeZIpT9ZS'; + 'SIiM7enuy3JUz4XtYkFhAPUmpylxQ7Niila6iCkRDUn3VSdSBmQju3STtd1Z02VgGbWiZkDjofl'; b += - 'jjHlWC2FtuP4W62ASD8wa7W00yx1OnJvPxrzqbj2FFPWaimv8ZnXarVcZsrlWsolplyqpWgUZEZ'; + 'Fp0Hl4sd++zNIrmic3SLFruJ6KpUNFE1k7Z+ZDm5I4IWXX1srz0cvBBQtrg2/cS0LQPHRaaKmt9'; b += - '6r1ptIynLL99vGJrtzknT0aRfw9gMAWeKR6jy2M9hVgOLyhzYOuQ3/bVGOLU64juyrtHgNbpmW3'; + 'hrpQ+kWbRI2b5D7qB6Pm1M/6WCPsWMgzB4+oVw9RGd0RLCACiv6RAvkSD3nemfhEOg7Lzg41Kzp'; b += - 'FoCFQV5m1EdiesDWLOtkff18E/Fsd7pzYGrdNKUVcmDXBh5BTWqisH+67cwRhJ4a8AlYNYUh6th'; + 'sv52dapUMDg8TKzoAlSynhAQLTaAaYXr3IUZ2FspERQT+YaATX55zO/fjVDeDSLVYmB+WjZFzvY'; b += - '5HIGM6ecDspNRx4tsc0TF8fHupsI4LZ4Wa0BYgLnBDqB0qZsdHSbWDyzGPzyPMeHQgbJFRAdsa7'; + '4jRx9bUFLpYBkrBA2oW1s2DlBiqrX49vUqEQ5VIqxXAkZG0sEd7POZ6lDPUj9vXrmZBeuOmCk7/'; b += - 'hsQEAe37/P0wTg652RCkz8a83/A21DbFpwyjphEvyN4n9r5p77v2vmHvgS8E/p0YQvwFwhCQDul'; + 'fJqakdAiRtG27HXhEsU4Ql4PIaTJjoApfMuhAJPUg23SxAbKQIzltavTRiORDnh0Ww/VCUOFRfb'; b += - '3URio55R2MO0s4nL7tDNMOyNpLZ92F+JrrUtS2yfdPoRy79lIN6RcnpbLvQxTOGVRighd1OFQRB'; + '4ppVcU1bXIzi2qmWMwObWgwpCmSHqT+3qrulAPS1cZ2c0gVf0VDDb5CsvHW/6zYSrRaLYA/SOKb'; b += - 'xVB5MUsQsBEOrzqjGngd7t707KXdWA43JXvfvJsP5yTr1vQmDhlzTod7eGkvQjDfmOIGZA4oC7Z'; + 'WiVCuhIYlj3PExPrd2Ewsp4dIGXm19M3xqeH2NHXHE598tJg7ro4SdhW8GFwoaAu2s6AtWF7QXG'; b += - 'UrjbD2GFoPAkQ6y93hDA45LahFnf4f4vlgy5TN/aMEgFcnbgf66MkNb7IVaMUZrHC8JJyIt+pIv'; + 'y+oC3YbMEJOVPQFiwraAvWLSbU6HxSLdRlG6t58i6D+3KzVERwdkA3SLjudAAuW3M6xMozqcZWQ'; b += - '2nTRBFHgdLN6ikHLIQnRZ6W38mxDnr1Yew3WZmv8Neuhe82rvmireo17ga/6sq/6yKtV1dis4Xj'; + 'KyoA4TIgblsyek2K5+U9C0uPdF0bKkEBpL0CUmfdeldTcemujmnC668J+mbXXqm6dhWN+V01JV3'; b += - 'VkmirfuLVemerEdxY/Vnjqv/MSPW+1xdqvfZPyba1Tz1jn3LT5Z/0Q4cz69lGfejWyZs1tKrTrC'; + 'JX2TS5/RdGysG3O688pTSd/o0mc1HVvrTE6nX3lH0mdc+rymY3PdkNM1WN6W9A0uPdd0bK/TOR2'; b += - 'rGDG1WlTzRqkbSN+KCb8RLmz3ZqhrhXu9fLPTZvviifTxg29xoJVifv9MwXY0mdzx0pBbXskIRu'; + 'I5clJQPbY9J2ajg12ChA9kt46CYgem76g6QtU95giCEjeXLSJuzRxV/qVOGzbPTa2VgrL9j4qvk'; b += - 'UlNgcjYUjff0MOC+vZCzteAqTaFEl01m+nBdxZmIJIN9/omBBG0/E7vpXYRhgRq69NU1U2iEUg6'; + 'tBvlqkkG7BwtjH7rsJ/Aok+hwXtJaJdb6oVwXcu7T1MqaD0DyuqMK8I1sxfBTyMtJexbiLGOHG/'; b += - '8FqkyXFyapDdHTDyl1BLOmvGPrS5MIvYy1P01nxEjwXZ4UeKqTut4eZgytlu28jlsb7Smx/lDcm'; + '77qWlq0qmgYrQrbHu+dcI9Twse5veTh6ZQH7seeo/VGK4duElD089YDc0DSSIUQNigK6T6MXd1v'; b += - 'bOlGEarqDbad+z23LghKyozuINnK94cgdbAciJTgwIGjlHRdzvDHCHdtBM7Qq0q53nVszo0HFHL'; + 'kabOBrhTldoekAgptTRQApZtr9ozG7pncr1KoKNGPyXgxrBhwpMjKD7BaBsgw8KIWOwMVRLPW2r'; b += - 'NUvWoR7Qu2HTAIV9sDdgfBqhCoS4OBNtirogePAo5Zw41ZgmDutHhv2jGLx8eseYUxi53VSax+A'; + 'tjwsmtcABQhuNzw1v7gJs2orMZvEtcBOn8i6CkqUOlsPdyfk7PjWY5w3sPYTN5zp1d1fs4ZGuj7'; b += - '/YAINPAMYt1zDobxizedMzisTGL+DTWLsdMujBhzKx5OhdN6EzTwyUbFGYAoyVURd7R2m+0tBrE'; + 'O/r+ZR8C3297mvyxZc0m8h797sp0aK4kfyaG+KWuRtvfnqyJiwX/pGjWYgWk2/v2FiBWsQ1kk31'; b += - 'rT8ODE4A+B4PeYeF/tUGoCNW81DOZW9T+TpwnRARcaUIFxiuvkEHC8I9JeWNgw4XdjpAsHNZPSs'; + 'd0DddbjrMb36qyz9uBABrEG4/RQSiyU9dBHYaO8m3rpu+XEvy97zFjgvrcWNAHHAf8mXNjH5e8H'; b += - 'j5hGReiUgButf00g3kY0WFeF012aRmPOu5j8RDJcwkNCOyNL3xkuhN14KvfFS6I2XmrbHiJW1XK'; + '9/ag+vaq/EJG8Jr8Ypr/DrHY4vKr8gth0m6FTJCRJUHu3EZtJnwge4wG43T7hkPnr8ZQNtp9d/Q'; b += - 'Q8OrXVeKlWCYtxtbcxJm0Wa+YtAIR6fxe0P8R2Ul8C4VysoX4Bq3L05KKhmNGLC1pUrhVNeqLIM'; + '/VJgHtw9hHuyGPWCkVkcm+78ITRlBn3y3loLYz4e0Ns6+VxHl1HsBOY+AeCPZ9+mWizO9sGg3mp'; b += - 'bcHl5KWnOBwOL0xyCH/WO5HoQmj9OpVQ01OWNmmjkgTzg4h7TRw1XKB4b3bQ9O7PSR1twe8VHcv'; + '0EFm6wkLy1x7xtqKyWLcvWMqjX0m5fY2pJ/FutYpNGwrf31VKIRUFX8QdXodH7pbCgZ4KAeiO7o'; b += - 'rR83uD2E3u0hJHRq1TfG36OKiJYqIa0fV6Gtwh6W8jtcE8Zq5jtl9e6zplyqjhZ+gzpDGYlB174'; + 'Sn4Z5HaAuy2/k0+r8gE7sUreDGqvRgPvbhiht6Mam++PvpmNPRmCx3gXzSs9U7nwyUd6eI0+0rc'; b += - '4vCPI/TAkfhjaVSsCjmGpYDij3RF63Z7QHW1129vXyE7jWxjjXg3lprC1UMp5XXyxYRqqOFz3MU'; + 'p470XYsyB4P0q0KMVclmxSwW7Z3QUaiADSKVlertfEulqqb8mdO/PLO3SChZLm95GKgg73J9Cp9'; b += - 'Ny+gsb4az4C0L318mvXgrUL/pU0YKzcHh9lBeJegy36DF8LeElkprHcFLzGE42egx/iB/hpZq/M'; + '8cowHVHLR0kvu7F/FQZr9KRUuVLxKBYjAGgOAfwepb0OhLdsTwcZUiBT4+gvBoN+TXxjNh/tgTh'; b += - 'ATIF+Gz/Qit6WTnrQfqEHPRgt1DJgGTu3n8WYTHMOzvBoRryWrOLBSKO49hskIliC4cx5PyyAn3'; + 'lpbTSuvwEXz7P9RCp7TihebydsFW95WL3k5Bm43FsU35+rWG3tovIWaGwk2W/DjFV2lwjDvgFoD'; b += - 'IX09wOnlFaOOQq8zmgruNWKEcGDPGQ1nVHv61c96B20piUUR3BEAdeTVoO4wbCz8iPJcxCVZMn8'; + 'XD7oQgPas0qPE1LOyK0QmMwYXmyWN7ywcL2SuR65fsv/4n0imJMlm99WBh29gqYOVz0o1e4b0Rg'; b += - 'dFq4cewUjwcne6El9xFdYij4VFkSSOh4+SEs69RUmQEgytI/SXdjQe40OV+o8bXDxRPhm3IU/hN'; + 'tyRc9UpLe6WVW59M7BUIh4tpXQUUsCWyhvyBkBCNriahmuZFlp9KisaiMF2at7MTZtzSENsww4Y'; b += - '7YHsblqz9TeQvLemF7y7w8+xkFIjbq5svQoIS6uvAZy1lgzozw52CXAyv+AHPq79nyJX8PFjy/j'; + '0SJULAC+VfCcuYElNlVVJ2TsHzaEyfkB+tV0whZdG9TcadV5MvFOg4jYllnbBBIhWyqdXHDMpwZ'; b += - 'bLRddDnhrpfO9EPXYX/q1nCzz3zDVzC55/5epbwi8/8176EX3xu4hI++XObLOFnf+6buIRP/jlf'; + '438mom+5w6IFKWN2AJiRJttdmnDQmZ2KD8yMrKyocBNZlqdMpoilPRGrA38qeb/QzOQDyvKDR3i'; b += - 'wrp+j3xKQRu+Iev3M5/6etbvE5/6r339vvTpkfU7rJbw6Se+iSv1H3dNczXmSo2csW1EMKnS3BG'; + 'C5kLRJsLLZPCdYLdwIGOPIJ/sQFGkMMTcnO+dFVz0MhkFQMZojhCeut2W/F5VsrjS3KULnD60kp'; b += - 'oOR+0iw/Wk8jkXvhOPRmeNkPG2Dge0VCJR0cMV7YWlW+EavQRwhqrCSE/zhihrZiBJIAAg1AU5e'; + '72F4p63VZK9mNanQIrot9SjQvgG63IvF9M5Ah2bjTnBP9CGzMeftwzQ0OYWqbYRkkApoRpEEujd'; b += - 'ljHt4FQR/Kk/X7pWF5vHYPS2sstiddWk5boPKVT64H5XT2k6Gi7JtsnQEVFtWead7qVVr3UnV+j'; + 'AJ3qxSIeNKfNuCW9FKFj2ugkpbyL7VJRPQO787yKsChw2d1rQ/Kg+lbuYvUm/o7O3W37ydy82AM'; b += - 'EI1PmdBVmLgzmN3Mto7L66PToeISQCYE4CstBSYEKEC8tapIsWO7WCzdvOUm/Vaoj91apu1U9us'; + 'PVlaIeBvSqn7vd8jFJ2yt8u0yP2E/jDqE949o0jvKuDmKnNo2bmMabdBo386ZOY4mVU8IMdHzpk'; b += - 'Hb9ZfVSpMwYMHnZDkbjtigF7AYZM542amyT45LSwZZ/8PhccIxlWsQOwZWFfpKZbDmelrVu25bd'; + 'hinaHqQkFncwSzukFeuZrFfjlM6i7UNk/LOpMx7ncV4EQbAB4pJ6mpPyiwm3OwDMFSWVlGTzLWl'; b += - 'sTKEMXM/PAG+lfPb7XDiS8wbhSF6xhtZyVxjew4IF4QOwZWPIuGtPn7RPQ0b4irEG2q9hbF8y9T'; + 'v9mok3Rpo3r8gpTzYXXz1ammcminciiM8iQbhakcKgR6qFPZntf0gO9NpxvVVJadfEqjpxjNK72'; b += - '1Lw7YXjXrjoFdn6K/8ghlo2nGknbWv0tpzpedu4yK8hin41Fqk4TWMhtfQGvCcwa6NeUaxsTVih'; + 'dQeWmGVNZOQWwU13AOHDthQDOQm20R1hFxQjzvoTQ4TPajxDTohIN8lcNcBfde3w+XWc261YIyz'; b += - 'rFAkA2jYg11upkHSJzftcbvWmN3LSfE9TIujx6rti2XT5lrm2XjvnDUjd9rbPmTxFApOrqkLzPt'; + 't6WEwxypvsFE4xRpzCTdhQYEqh2J2YGbL+O5L7dvrBQKp0QYp6TfRncgpGQq8NyTN/N5+4vwd7S'; b += - 'mKalmnaJaUc1rcs0LME1U/Ruiy4gyLrGNcl70CI3oUXu3sZAJ9PDPNWr7cO8w6s8vik4Fr4zGEj'; + '2iwdbXyE2DnuOQmdMmdolYfEGGhRVh04BmCk7tBQzswy9A11K0tt13QhD/jRXn+IMCccKZVzrmp'; b += - 'idaj3B0JVZAcTAFoaalKo30f1XcI20oCriuASQ62xh8Zwp00Rw+MHZ/TdQ6AxKmpUGe5XigCF5/'; + 'fcAJJcQp+4mYMpCUn5ONs6W2+TfAVIBXia5ihfCqm/OGLBsVbkuLKHSXSdPgqpyC32yqY21GvWf'; b += - '7yOiujigHH0mCkwuzXIYZ+TgXUMjyfhRN7iH3awJQYolXxrAwPBIKgRjITIEKck0P73xmeNlqZs'; + 'K8z/g7/omy3NVYKo8WwUa5aoLHA3ZmC4bix6gw7YGL6cgtskH5dHQyuFhNTHji4DFxKQPwVpiyo'; b += - 'e8Smot6THn+B2X7h6xTA+Sa7KcIipMdF8p12ihFRz7jm1oRGiQF8JTLHs4bVtiPRmJAtNp/5au9'; + 'UgOT8a7okuQd/2FImHh/09Z9XzGzCkyH4lpnFAnD0Vs6P47Yu8ZpYVOuuLv8AoWYhbfNR5RglJ2'; b += - '5hqJ7PMw8ZH22LRXoDXCRrai5UZ5kSmnaynnmXKylvK6pkRVypGIT9VSHmfKs1VK3rg+Oh7eZl4'; + 'uo/Sy316BxWzWWpPwzOZwf+hUsSNU8K6aMuStQ2CqJ8GdRmx40R7xeK7bbKm2yfTGSvhjLK27M/'; b += - 'y9jq6DaucwWPRRDhs3RH8z3ps/ZDFVOzGDQ5rJW/BGkDPGGZX1oAKWvx3Qa8gwVmnzPtEIzSH60'; + 'CeUQOpG9FuZzuavnfO6qty0frdUF2+RiVl7flP0xKgmjotnsF4lOdEo5eSwKmoBwceDeIOVOydw'; b += - '713g6b/puGTpzjttcKuE8/z3F7a3qBGrqCjttY01HU0Ft03K6avqSGDqXjttR0NzX0OR23n6ZHq'; + 'ch45y3w2oK+8kLpK8TnnOWeg8ng0H2RO4P17qNTy7pFyQyb5C9wgJsWey/xBaXoeZm76YSS1F/k'; b += - 'qFbaj1rUbNyQhOMZuWatYcYBqNZezRriWAHo1lLmnUDURFGs2BcbG2hNTBH5OzZ4eeqA0l0cfV5'; + '4Osi9GeXqTlCzMeFOGNQz2hJZ8YjCld11MRj8+6FwXI0OjfmpsTEqiK7MkZMekoLZCvnxwAX0Tu'; b += - 'jZw9u+bGmpv43GfruYnmdn3uc/XcruZmPne9nptp7qzPfaGeO6u58z73TD13XnMXfe6L9dxFzc1'; + 'aCs+FBRwVCZ/iRsW7zCtRQ0lR2LlXmfyh6LFVBsi3WQ4Ru7pWpu+cwZ57sBthNT2Y8CH2JKDynn'; b += - '97tl6bq65e3zuS/XcPZq75HPP1XOXNPcGn3ve5co4p6/HYWItKFtwCOKBAOhwJZxQSALpgaDCoh'; + 'hahh/UyWclri3j+prDhAko663WBKovMpVQO4QOrDrsGCSXlV2nSj5MZq5h5iLb11wBvZlJykMlF'; b += - '0wa3JYxRHdJsn9QUDbfRgWoy3JBHikl5/FN4UEqCJOpH6goPhR5LtQqwLfXFJk9fefD/D9jvC2F'; + '+zvAaerMPgOj5QD7Qgn1xmB0zeWypkzACi9wrU1Tk16D42KKKAPgMtKMFpJCJ8uw/XnXKxOVHkr'; b += - 'kT0d4F8rgf3W6MWc08vUkBPclyGT3iXLG5EpJAUsWqp6B7YDUPuZmtnF9ZrDlgxrefVD3XkOSFn'; + 'eHxA+QnPZJ6GF5HlmslPgjTSQYPnbxGK5TfgryGlMCCTpbQiAnRCv7A4ClpZjs4CUcR3ICXrLNc'; b += - 'MEmRLuAD3NbvRIu4tezd6ngfw4Af92RIU0N5TBbupZb0VL6OIN7H/mmwb2HQ6FJUiITOvp58b0u'; + 'j59U/AE+4z7+LT+EZo21HMKhwSBIfL/UJg9LVwQYT+mcXGpTMyJkLgj0pm98hna0RU71I1870bz'; b += - '48F3ULFYQD1NacpcUOzYopWuogVGjvPxDTqoOxExY5zbpp6u208YaYNPKhMxB58PSis7Dy+Xe/Z'; + 'dFjkmD4b0L87sHVsyPM9Mhksa93LVrkz9mju1gPGYLwPhkYjNckzqPK+VU6+O6SsZKAvuMQN+Y5'; b += - 'ZG0T2xWZply/1EdBUqmijaKTsf0ZL8IkJWXT0sD10MPkxIG7z7XgKaDmDDQldlbc/IEMq4aJdoc'; + 'aYaVwwOWLR1xv92CzQ55AzhDvuTv6O0T10oPDE3wfFWjTxo/HCjvwPHO8b090EcrJb7M+INrgbX'; b += - 'ZPcR/tgtJz2Wd/TCDsW8szBI6rqISqjO4IlJMDQP1IgX+IhLzoXn0jnYdX5oWZFh/23q1O9ksHh'; + 'fJz+NPrtI1XRu4V1fgzbwNFQscwvB4Ed18m7msImaJWBhkXxHeIHtKTm1sutqTkzVQYCh7rOpiO'; b += - 'YWFFB2GS5YyQ4KEJVCMs7wHEyM5DmaiIwD8MdOHLdW7XfpzqxyBSKxaWh2dj5EKv48gxwCcoqWy'; + '6We0MuRPcp0sCWF5O1lzLvZR0DQzwfKta2ElgXKW9l/DqsrHCEi3N9vCkLd5+lUF4f5uxblkK7m'; b += - 'wjBWCBrStLRsHKTHVVnznZo0IRxoR1hsBJyMZ4A6+85naUM/TPm9RuZklG46YOXv89mrqQMCIG0'; + '0eryRpgc6DjrW6ZIyuI+Kk5/NVB8uM7V32ymKrhIdgKLu5V9zvhaJDcRGJJwbYnM0q0krRPGRGQ'; b += - '7bsbeESxThCXg8hosmOgij8y6EAj9AM9wuQWykCqxYer824TgS5YRHs+NQ1ThSXWyra1bVNW11M'; + '4EnrsiG152HoSKN68Lvy1TFF5OVF7emhv6O28MN3qfgWQeBatC8V06a4wtVbm111KuG4p4Rsoxa'; b += - 'aprp1rPLHxqMaWokAOm8dyq4ZYKMNbGDXLKEHxFQx2/QbLy1v1u2Ei0WqyCI0jnmNogwrgSFpY8'; + 'xXCsrAWZorPW/dFMxC7pTcEcxKAnBzwHXgKI+upRJSrRt/ZKQbs6obhYHJqn5s+n5sDvWjcCyfl'; b += - 'zhET61/Fpr+aHiZlpGrpWxNTw33TNBxPfOrRYuGEBkq4oaBicKmgL9iegr5geUF3scWCvmDzBRf'; + 'r2sVvvm2to3az3ZHN+T11lOuG454Rsqx6xXjutNzNK7ODGJS3PXIt6+hW+7Th6gi2MaHWNV4I0P'; b += - 'kbEFfsKygL1i36KvT+ZR6qMtnrBbJuwzuy81KESHYAcMgQd3pAFx25AyIlWfSjB2AWNEACJEDc9'; + '9ziSOsn/D10SwnbT9EFi/lH558T7a6lcCOZ1qNctlgxSWod1gDG2S+G7o6qJvGWJ10xnxr2zFmd'; b += - 'meM2xWPiX5211+ovn4pBIYSPL7kj/v8ruaj4/qtpwhuPKe5G9z+Znm47M6lzNQV96V/DmXP6v5+'; + 's3CO1ON66bLzqGqNuTjjQEx7a+D40AHyhUoJaD2RnDMUIYJiVc7ylxrCgAh2cbN/Pg4ivgD7ZA4'; b += - 'LBuzRnOK08lf6vLn9d8fFpncwb9yjuSP+vyFzUfH9ctOUOD5W3J3+Lyc83H53UmZwCxPDkFyB6b'; + 'pM1uxPQWOOWuZeRTE3Be9R8cof0sQ0LY1Vx4ERECAjQpBKoG9R6f99KoJ5f3+a5E84lZ5VqGlbW'; b += - 'v0fz8YGdBkSP5LdOAaLH5i9p/hLNPaYJApI3l23mDZp5Q/p7cdi239jYeimsWn1UfJeCfLVIId2'; + '0obwi1Jhp/5e92ZjpSOaFmSedZCGXnpC+Q3WAD+eJd4IUXG4102dLyjSKoPhuSWSkgRq5ACa+YW'; b += - 'GhbOP/e4miCuQ6HVc0Fsm1vWiURWgd2mrMqaDu0WoqMK8I59ixCikMtKqYpwiRrjxv6G2lhatKh'; + 'nuxYijvZxfZkF8uHNpI5wMkuViFFrCe7uH6yS/QIl4wIKfyBj0IKe/B3kgae7KyoAJ3Qz1JeJvT'; b += - 'pFq8Jnj3on6HFKxDi3Sh6eTnkM/ZMv0nujlcM2CSj6eeuBBSBppEIIGxSFdB/GV91/Ik2dDXCnK'; + 'Zi7MUV6Hb2jdLx76dc2H6Np6lN9wWwCCpcVsQKUXq2oGIhFm0W5vtXJaMrsrUyWp3UdWhNOW9tx'; b += - 'vU9IBFSamlgBCyfveqb2dBvJver3HTU6acE3Bg+mIjkCIpPMNoGyLAwIhY7Q43E85Z6+0PBpB44'; + 'lubzLTN2YfMbTV6PMnkRPm7/yIHE8C6mKGZW9QXqyH5ZXfq8Lc8bJPRFTqxGRWuWxuHSxTgmH3P'; b += - 'QGij87mh5i7AR1uR2Sy+BTRxKu8iKFnqYDmcTs7r+NRhnhrYewibz33qdFcc4bGhj7O/oe5RiC3'; + 'Y5oETieRR3ySoG3kGUBBCw4i/SzNzrhIxQ7r0/4+Mkz/3fHCx+/FHwDpY+yMih9XAnXSh8lri59'; b += - '2N/hdl09wybiF1L3ZV41VxZfk0b4UrcjbqvnqyJxwXAZGnWYgWk3/XsPECtYgrJN+VPcONViP8x'; + 'XGk56aPUqC5+/FIwRv74peBrF0B+KVgrgXz92Oc6XgL5xeCbJoJEXb6xMki2jDJIadY4IaRE/5W'; b += - 'rfp6vO+oMDGcQ6jDNCKbFQNkMfhY/yXtql75UT//7se40F7nt7QRdwHPBvhMI+Ln87uLcH07evy'; + 'UQkq9ryKGxERROeQXAwgivxh83SSR5+JrSCJPmHUlkcdaV5FErppRSeSLYGEvmOuVRP7+Cz8UqS'; b += - 'i9kBK/KL5b5vyQWW1z+sfxCmLRXIRNkZkmQO7fSmgkvyP6EDuMM+4ZD5+djGBvtvTv6byrMg9tH'; + 'Ry1YxKIv9A0r5BkshV802SREqrKIl0bRkniZQ8f9klkVLFsZJI9iMObteWRGqXX48k8oJRSeSqU'; b += - 'MA/2wh8wUq8jkz1OaMoI9uR7tRak/ouQ3sbZn0ScHY1eQM4jIN5I9r/rJxdnemHRrjd7CCzcYCV'; + 'WYFVKAmipTkNyiKZO3XiCJR6zciimQpVhS5ataIItkJ1yGKXG1VokjMeSuKfBGfOG1UFAkLBkh9'; b += - '56zbzjpG6WrYu28qg3kr7+ZrQSuLfahObdBK+faCeQqwK9ow/tA6L3pfDgpEJAtqN7IWl4G9F6g'; + 'sCy/ZlHkMTNeFLnS8KJIa8YvFWjVRZGnWnVR5InWiCjyGFxuCoPOptdEkZDnqSjyWGuQ/Usnivx'; b += - 'uw18Y3+ReKTOAefBwPRrUH45EH18zIk1Htye8ffzIaebKFAfAPGrZ6j4vhko4NcZp9OR7QRvquZ'; + 'UTRQJ9fMRUeQls0YUedGsI4qk0O+JxhpR5NHGGlHkkcY6osiVBsdURZGo8ibbJ39hUSRLlCbXRZ'; b += - 'VmDQfr89WZRjWwuQzm/BzYKFbBBpLJS1c63VKpqyp969h/M7isSSpbLmx8GKsh73JgiJt9vG0Il'; + 'HHTCWKRDfVRJFCO0dFkXYcvChytTUiijxvZAGcN1cRRb5yvaJIKaUuijxv/luKIs8bFUUei4ZEk'; b += - 'Fy1Vcme/GAdp9rs0uFDxKg0gAusMAP4dpL4Ng7bstgg+pkKkwNdfCGCE0oZZHmBJUuqk0RpNG2y'; + 'T/mRZHfNVYU+cp6osjLFEX+SE0UKR02XhQJV8/HzBhRpNoWsGtUFLnSUFEkc7uxsqLILwZfiyxS'; b += - 'F4nl+kEhjzwrF6++Br+LND2uUnDwDl3uz4vtzF6uvXVTeDIuNJHsRbqzydYow7VuB1oCwH4rwoN'; + 'SvblOVmkkicwAzVh5BfMN1YYubb8ccJIIVtOGHmsNSSMPG28MPKEGRVGwmdyve+GhZE/Y+rCyHO'; b += - '6swtO0dCBCKzQGE5Yny+XNHy7sqERuVP7ea38go6IYk+XbHxaGnaMCZg6KfowKvxsR2C25r0alp'; + 'x5WNOm0oY+bwZEUbKyfgawshnrTDyQlwXRq6O1GSMMFJecIleGPnsWGHkSssLI1fCShqJg8QJU0'; b += - 'aPSym1MJo4KhMPFFt0FFLAlsof8gZAQja4lobrmRZafSorGsjBdWrazB27c0hHbMcOONEiVCwAv'; + 'kjgZLFY0ZdGnkk3BOdiK4pjjwTUQZ5OvLiyBMRxZGno69VHImzDcSRl0bFkUdCZd0uvAFx5Ico8'; b += - 'lXwmLuBJTZNVydm3AMuhMn5AfrVfcIWXTg22GQ1eTLxToOI2JZV+wQSIVsqnKo7ZlGDP26iayf5'; + 'LgUDN64PPKqr1IgeSlY/OZIJL8YfF1Ekr6Yr00m6Yu5qlDyEmCbr0MqKfkod6l35tdDLvmZq8gB'; b += - 'PDUCkLG/AGhIl2uqzTx8SMrFB+bG1tbWPAmoy1eSUyRSnojdgb+RPN3sSZyCeVxSaO8QQshUJPi'; + 'bQuuTzB5XQVdj2Tyugq6qmiSfYoZ+6FKNnlJRXNfCsZJJ3F16qST58O6ePILoZdPfsjKJ387HC+'; b += - 'x2TAnWi3ACBjjyCf7EBTpDDE0pzvXR1chDIZBUDFaI4Qnr7dk/iMu3VxZblKHyC68npbyP6d1iv'; + 'g1KJrEsoPOQklFsf1iigPjBFRvhSOkVFebd0hy4W6kPJIWJNSHgmHumKtmNKmjMgpHwuvR1B5aU'; b += - 'Sb7Na9JtrWvn6U+BdrXwZZ7udiyJ9Cp2bYH3BdjyGzLqX3YAktOoWrbIBmkAZpRJIEu9qes8HTU'; + 'RQuRKqKOZno3UklaCiC+ZwqKLKI6EKbB4L68LKfxtYaSWspiMf/EaLKynEorjyS8FYeeWXgr+0A'; b += - 'mTLvlohWhIpl807tganpE3A2zWXAI+wKHDb3WND8qL6Uu1i9yaCjq7dbfvJfXWoAhqsrVT0M6FW'; + 'kupmpVYnojekMQS25/r4KuLLA9LP3AP/DrILGVb/NpkltJeK7RUE8LzsYkUN6GCJVPcBNrBvBNi'; b += - '/drvl45K3T/h2WR6xX8YdQnvGtWUc5V2dxE5tGTexjOd0GTfzpi5jSZVTQk8aepohiXGKZgQJWc'; + 'pJuCu4CV0ITldQCshBbMr2UgaH7drMyvm5X5dXPI/LpVM79u1cyvW978OnHm1++C0rKzu0bXPw9'; b += - 'UdrGLMcTFdrWK/HWd0FWsfpuWZaVn3uorxIByADxbTtNWellVMuNkH4KgsvSLAkevLYNZokHTpo'; + 'YgferJm7okT6e/E01uyb7HFFH3yIlkI1ukI1Wg5e8sRYp4XbYTes1fVKe+U3HVr8EiILsY3qmR6'; b += - '0b8gpTzYQ3z1amWcmiXciiM7DQ7haUcKgR6qEvZntf0gO9dpxvVUpYv+YwmzzCZKr09QRWmGUtZ'; + 'gIGLYYmARKiKBAU3v76d90mG+x5LRACdjjXhwCSqAh0bvZIsAivAsVfGdfm5hLC9+j37BqBop76'; b += - 'OQWwU13AOHDvhQDOQmt0RNhExQjzsYQw4D0dR4hp0YgG+asGuIvuPb6c7jNbdAeE5R09LKaY5Tm'; + '8ytJesjwEBcMCuESVAHegCPsJq/eDGAvTWFlQTtihQlgVEHYDmq5tYBzK2Dytw68ObWgTW35gDY'; b += - '7hFPMEZdwEz4UWFKodg9Whuz/jpS+nXEwkCtDkPJUI0NLwUjorSF55u/mU/f34G8JC7auNn4K7B'; + '1sXl4/9mGOQjIlBCefo3XJcdU5yDwDoDo2M/Wi//eBymy2p3QPfvQZ+mAEm/q+4peqFFvYOTTFo'; b += - 'y33JRuudO06gMiLKwIiw4iQ3BxN+hoB2Y5n7LBuqLcDkETFoPLcv1hgDnhTKucc1PHgAtKiFP2e'; + 'fw2+axsB3JjDV7a7dsB42MZREZWrQGzeEtnaEQS3LDlWpWYciILA9wAMTYQQeUCkHAiR1UUoIjY'; b += - 'EwZSMrXyYezpb7518FVgKpE17BCeNXZvCHbRoXbg54K3RkABLtyBnGzaY41ex+d8C896XV90+WF'; + 'ba7hTtcnm/rIjvevzEuWA/nScuLpUr8vthWDk4iym4WJTAOrkitX+WT9GdIeE5ciMH4Nh9S6tI0'; b += - '6mamPFfdNMqz7uZYyM502VmMAAO2NaicgtgmH5bHQiuHh9dEz1cBj4lpfwdviRl3B8n5sfC26DL'; + 'Qv3sSY3xSK6T2HfKD2Qtrv3onRt8yDorjUP2Yx67yzY87F6GH2QnRTqW/exn2SDhPW9flm+8iCq'; b += - 'sbU+TeHjY37PWPL8BR4rs6ZjOAXH2/TEHiu++RDWz7NB5X/0FJslG3O6TzjFJSNIO/1paqUdnsW'; + 'Sc/lLdhT5qagLzXILOUtHgevHH/Oyv+sQRPMHCCaEvoqJ3yYeeV0jnpfvAysL9ktF7WeskVhA8+'; b += - 'tek/bD4Xx+6B+4LEmLpJA+6ZIk7aQgytdBa3ZojKhfKHbZJs/ZMZnKfi+UWd6V/btQDqFT2b8P8'; + 'TfotQpU1XyD1SCr7ak3OFkJ4wJvJz9kdx3zjX7dlvxL1A50vE8M9QnAMXHTCJyKPsVfjEXPn155'; b += - '4XctXMxd83bmY+36oLtcjEvj89lr6CRcCqaz36c6ESnlZPHpqALCDcH9AYpv5QszXnoKPfdgLny'; + 'DnPjW/gztVYep6prz8a88FKkhWJfJT8JeOl3EVY9XIVwyxNbJPKcSYtYaJvZPQBn21QYjXhbGCX'; b += - 'HuIiyeOU55yBzeOZcJg9Bv3xSq/h2SXlgkz2JYZHSIg9k301tLwOCzd9NVNai/ydGma/HuXpjVK'; + 'mSUl6Rk/gEpPQTbwYP/cOk2HJFM9oMxD0X6QeK6lYe1grlRYVxVXz6CtgasLP/QXmZQuHpnX5Ba'; b += - 'zMONNmdYwuC205BOTKaPrUjKQTgBF+RSZmhmqk2xKyimVVRJyYFJQ2+2yoNztkkwl/Dz1VnZ8qK'; + 'swTNdwX5rqzNJ+yJgtXXSmeZfAuRfJpEFX89Br4wodB8FxjbBcZ3gXF+Uu9T72naBeaaXaCVXls'; b += - 'hgaAxJ7AVvcD0Pb5FPxsq897I/ihRQbM4GyPCdnau6Wz61Tp0ivlnBcjEn9cyhibPy/BFj7U16A'; + 'TDkU6qUjgD2onZT8dMuLDS+XFzz0HuYJZdqUKN4FdKjp4oCCYOCwK3ZcxjDQjMynxZXgnEeIHs9'; b += - 'N7K/iMIEjwCFvKeENjZG4OHitnsByH5PBNgDS1kn0QM8tk7Atk+PTURkNouA5JA4e5wyDknlBKb'; + 'BYT1MSmZ6Jw9ZyXcLNrHTkhCuP6INFG5Sm/i+yYtF2GT0slZCVbgYTJjLwGJhHD9BKAYqDD9JFJ'; b += - 'cqaUIxgZihnl74G8dMx9Ynqgwj21LbjAijje2IUp9a9NN/VuAUzfQwCntw+p5k3Jnipn5hcdddv'; + 'RiC++2sLJrKrMkyAsCegyxp6rHtSrhUXnjlWXr4yBTDROgunJOU2YF9ZefguBx5sg8+FtamJHAW'; b += - 'b/Y28dd7f5EOt2FeHJTedx5bkCXexzA9wiob8Y1hTtmh3AOYF/ZAjzJSQ3zPfve4slMuPJe8MCU'; + 'Zw4MxaobEAyGRZhRdsWU515xPnPQArqnM+WFV72rHgLk52ZvLyay6qVX69lhPMPmoRnhmKqEZfN'; b += - 'ogJe2VENnyHIpY0fPHmsgwvOziMtyk/hQ0O6ZYE8S7hJRPKGH2z4HAlmIHgUFxbM5JhN42q/mWG'; + 'AuToaXR7942eD8nv/mA50lIE35alX6t+EoLCKwNL4YxcKldL1r/VtA3yKcP0ONGV8QDjs0br9Lf'; b += - '4MnOWZkDrboHyGUIyOnGEuQQqL8p8PsH8s3iFgiW6ANVc7oJN7cx2D2y2fonFfs1kj1/evN02GR'; + 'lJ1RlQBRVveUxlHnlT8O9bUWs5PBQ+YnWVInexBKl2o/xIyJmGJfCRMIM7ogbseX43cu4u5WQZ3'; b += - 'Y01uxfjuxvdoa57fJivM8uv97Gf4ue3Th64P4MJ4P5yGxlqSZ7APfrscp3dLXclQH3CZW/Pdtcp'; + '1W2eDNQhqX1WdzImuCg752Dm6c5TBohzPXbUThgRFV5lMk4h+K3RLN/M0o4aYL7TlKgBsLYUvlh'; b += - 'KYavLF/+hG+0+HIHIaMjB5H13R3+FUGF6GnmSz6MBbRyueFSx885zzAcQt7pdFtkbIc4o8YA/Uv'; + 'ggwJMiS1DMoBRzdGs8fV7U30lijvp2XUj4EJqaxNhhOkUU+VsOuMLcsww1uBWKGSmjg98edhx2h'; b += - 'uPyFmukGd5vlkaZn83oo1MWVBqRFmTjVdJ8R07q27p5DAUX8qezrr4KtPc6GxkT0QdfNlCHhFkl'; + 'clHPU550uZCWH/T2yGe9SLwO7iTodVCaGNEd6F1BYFvLO8X5QNqQqFqrzvD2v595qkd4a2RM3zh'; b += - 'rvZH+DLci5Q5m8ttJxU3sr+MKw0QUKLyCbcGITKLjA2L2QCdy3LWV+9rDVyjvBKMJXWp0yRlMV9'; + 'UNBUayEf3/n723gbLjqM5F+/f8zDlnpkcaSSPNSOrTHvDIlvAAsiTGjq2e2LKFTezk+bGcPO5av'; b += - 'tL/+40Bh5jpXfrKZqvwj2QNI71b2y8a3IrmR+JJEfUtkxHaQQveNici3JAz8Edv68AVLYL9zWUi'; + 'nmsFXLGi8VIiiB5kjVYMgxGgMAOCGODwCZSwIbhYhNBDIyMkoggsEhMEMGEAUyu4DpEAZMoxEFv'; b += - 'FLEp5OFG3fBiBqJJfeHeN4gJkPQv6hWq6jHqYWmf1a64l3LSW8E3UYjarBXXgSM69nbduDOYhvk'; + 'f9+u6tPnzEgeYxvIvWiWTlVXV1dXV1dV19619/dJAr6BnNWqxh9NHuQLHnW1ecqngt0ypKxBjJN'; b += - 'ruCOYlA/A7YF4gEcDQ0papNox/d2wYs2oYhQ/KqnFs+nFsjoyjMD6flU9irfXNja1v1kayOXkkr'; + 'okLMZLqGj+Nmvk2K/Aa98NqfI2fJ81ycFKi+Ilz3t2Ev4eNev9delBSy4ZG2pjwagLFeXfq424Y'; b += - '7GecNN6wjdVj9msHjeaWKV3cWES3uauZTx9M592gzzEEMf0XcauwBMf7XEmdZH/L7olhHunB4Wk'; + 'nD0HlJ06Yr1ngX6wp7HVeA6xpsawhyjmnmm9JuONTB91Ae+Ar52BKoxUEA7NnC5RXpCOF9n61zv'; b += - '/O3yTwgb2FLxErz00K6bLeGj0A/7AHNst8LXTNVFKmviDcuZae+upRmb9kgtjcqbrVfcYzTxCYd'; + 'VF5if8aLfFGvDOAjZA78lXq+O4MODpJBrH9PqY9jRFPx8HKRnqOpuk0mh75yynOmU56njqmsk7q'; b += - '6UEQfP4AOgL1USlAbgexnDaUR4LuVAb25xvegAR0ckD/I84xvgF7Zc44s1uwieM9j9oygEp0bg/'; + 'w+pwvUqQijXeIHZfHe4c6p5eHLuYZ3sV8Myjo3h6Uh48utno8rzoX30ZIBN/MeWka1XGmUL8Trl'; b += - 'eplOar9FRNS2OteuBLBOSJ8BUSxPcP6DvwAZXkfHCwhURRGJ6+tctpW5dMewdlS4afxXvd0ZCUj'; + 'n9KRLDNBIOR/4KVqjqN/SodGFStKFpIgiL4wexgbyMeoxHHpZgwqP7SmnRNjmwaAe+GqQVPmhrx'; b += - 'qBbUnjeIiJ5IQ7EQNgA/pSYeFlHxlNiNnJKpGRrAL7m5krWEausA3vmZh4QWYs7IMb2gBjLi7aR'; + '/ZK2MNr0CoR2dOe6ozc/l9Zlf/8vw+18+hmOSE+RlTCojc0bifP5psOZpuOQJ9AiWSaKzymcBdv'; b += - 'HcABMVZZR6wHxLh+QEz0JJiMyTr8uZGyDis/cAILHhCtxAGDMMhS6iT0szJPqReGrX2TDOw7uRa'; + 'MNwO3rsqrvhT6AIz2QCIashWFHTXUD+wkFZGUGwdQ7hxSVyHqAKQImKfZWkk4yocvAEWA1w0K0M'; b += - '23Moj+dZbA/g1NW4NIqVIXTsRkfCc9mNmB5c1Y6gyjdXaXVarKs15/60Gc4aVvtV+1br4iOH8F5'; + 'IQlMF+rz5eBxOejBwQIFHkywI1xfRGCgRtKLg8XQX99QX0JoOWWBkPG/k2STsd/GU0DYoxk8A+2'; b += - 'a/IN+16wOadIZlb1i+UL+XR36lum+Xrwjj/JqiRGMx2++ejdMc1r57nNEicFyKxvWVCm8mkyK5l'; + '5cqQnbSf+8zS15jdgnxDKJbAPxt3x/HhBvAju9zlP/sTtW0MqE6lpOj5+z2Qx7uUKtG+NZT9Jbx'; b += - '+k/9cdehnk6ulYZ5ief+8WOl2G+HHwThZiyMyjEXAs3CjElrS7EXGs5Iaa0qC7FfDmYIMZ8Ofj6'; + '6f3LeNu9xZsjxx+ubxY9+8Ke7JJ0Oz+KmP3fXekGYdWbK0XPrVyQ/8JIyjfDJ2rf7iI5+/uRh35'; b += - '5ZgvBxsFmW8c/7WOF2R+JfiWSTLRlm+uKJM9oyhTujVJlinJfy6FmdLuK0gzsVBUnPmVAPLMrwT'; + 'pPlDaR/O/nJzxQJGZElQxnzT8e//o4/0k19myxvMn3XA3dOh1Q8ZclQ7N32+Z3XESciS5UOkX7u'; b += - 'fMIHm2fgqAs2TZlOB5vHWFQSa62ZcoPk8WNgL5loFmr/94qcjFWium3GB5u9I3jdJoLluvkUCTe'; + '01/7KJVQNtlTvsDK94u6ooypVc7hUKAPlVT3uQMTZkmVakp0TKk1hifqaFocowd7+Zq+RNZrRYM'; b += - 'kVBZquL5MEmlLmz7pAU5o4UaDJccRR7eoCTR3yaxFoXjAq0Fw3yqyACtQkmpL9JiWabP0GiSZa/'; + 'o4nJlRg77GnFxsKDEDntRejKkYHeUC7wkNBIgOL4gBbtEVjnzOf8s54KznAvPcq5wlnPFs5wrAd'; b += - 'WYkmqzFSjTXzQaJJgfhGiSa661Kook1byWaz+MVzxqVaMIRAhJNbMuvW6J53EyWaK41vETTogFI'; + 'AZRj7QO7FpylcpDXxRhmsBa00wN4oYXhrFskol7KSIVXixTdDGB0WEeOm68hi5zEaEb8l8ucFHw'; b += - 'A1p1iebpVl2iebI1JtE8jsidwqCz6zWJJsSCKtE83hpmP+0kmsdqEk1YsY9JNC+bDRLNS2YTiSZ'; + 'XLpGIjP36SLTF9BffAa6BUvbe8voXBLiOi6a+VmXg3RfvrDFi7dxUe3Qw2hOtT0DosJhS7XrkBV'; b += - 'lh082Nkg0jzU2SDSPNjaRaK41OKcq0UST5+yY/KklmqxRulyXaB43lUQTw1STaArtHJdo2nnwEs'; + 'kyKyuIpk7mo5sEjJhGQVy11mNUZp+FI61M0HirsSwx3/KhJ1EwI/eoeHLRAo8rF4d3HSy90OxnL'; b += - '311phE85yRDXDOXEGiee5aJZpSS12iec78l5RonjNKY49HIxLN7/USzf8wUaJ5bjOJJjRqIxLNj'; + 'sVPb6wuhGQ3Qq4jngigzoIjkvQcewxjNbCvLBLTLDOzxsKUTS9YIraqEtGppWmuLNWl28PZp2Af'; b += - '+MzuBY5iearkYopK4nmeljMZp8yGkKaIs3vtSLN44DbWYtUpEllSyXSfDLaRKSJONTHzQSRpjo+'; + '7A3lylPVso6s162Eo4aUAwANYF1QhMBkgI8qgz8sQkhoVaZOonMqNFUmmpwDHEn5QfrhzSz/9QD'; b += - 'cMBVpLnWUJEmS7sVYEWaXwm+Hpmm1OzrczJNJXpgMWpCzS+bb65Qc2P9k4SaQgydUPN4a0So+az'; + 's9Jp35k+dIdaS2ne42jahwc9KxR0nptaNoKGRrxkvJn/4OvTCJDTSCN9c0RHyiZlmsQb5pgP5Zx'; b += - 'xQs2TZlyoiYDO9bEbFWr+lKkLNc/Gljt61lRCzRfMmFDzOXM1oebnrFDzQlwXaq6PtWSCUFMecJ'; + 'rDiG0S1nCAlRUJiki5Xl6xS5yWCIY3H/2ONhF2LCXhPGJhw04ZAJ1zH0G+YfQJJgie81EYEk4eJ'; b += - 'leqPm5iULNtZYXaq6FlVQTx5OTZkyqeSwckWoeDf8LiDVxRupY+5QRsebRUFnAC29CrPkRCk4uB'; + 'RQDgU2ctBCmZv52v+EnnCMFqLVFYZPBCulZwrFT8nuBxSwkbVbLlbgE/h1xQGIjUKeZMZfMivZ6'; b += - '8M3L9e84qMUbELb8S2RbH4l+IaINn01X59s01dzReEmVTbXIN2UcpTf1AfzGyHfPHEFeaLtwbUJ'; + 't4lUzUjg2GiGesLXXlHTeZuqwJgWXqIvAiOcDItSzj5NStD6lYFL1Gik6Pv/khJ32xApPu3i3x+'; b += - 'OK+pomuRcF5TRVcUcXJMsWI/Usk4L6uI7+VgkpQTmlwn5TwX1sWcXw69nPMjVs75m+FkQadWXZN'; + '+WHL51WcmDrpc3cWeU74vAc9BUoZZ9nFN6W7KiU0RHBarNEIiElHgJifMt3tMlFBL2wceXMZ1Cm'; b += - '0fsRJOrE5rlXUeXCCqPN8OEHWeaV9hyIX6sLOo2FN2nk0HBmKjeJOmzMm73w8vBaB5+UxgedaqC'; + 'zoxBCSCHHaQOMuxEAM0qz+RwIiMSsJfaP9vK4uWSUEg5cWAPXCZlkm8IcXxyBlkuIMW+zDMB7cm'; b += - 'Kdn4k2kXg+HYFWHglV5Hk0VMHP42Fd6PnPAyv1hBN35G+/2WJPCsMo9nw5mCj3fDn4Myv4lKZZy'; + 'lKA/QRC6FUs14LkE5gE65GQfQSddyAFUsBxDppVgJpUfqYPhqqpDd1meAHaxLOqQZj4eeUuFVLu'; b += - 'efT0ZuSfOKD5wb4yqLPIzIOmL1vhOzz6ejrlH1Kf63w8zQ9Gs/FJlIYhwolTWEc6Jbzboijbgzu'; + 'mMLB2Scv28Wiml5M1901cYOQgchkGF0FTK0G1sZl7vqe47VPkUTfZIUCeSJNXuUOhdptaxijDCt'; b += - 'AnRDE47gAaAbWvAGl4mgN3iz8gZvVt7gzRFv8FbNG7xV8wZveW/wxHmDvwc21M4NHEP/AlAOPqi'; + '+2l7/gXmTN+VzE65Moh4mWkt2lqGH1RNfcMgZkkgj3wW4DhUS/ltEge1UIBFSjQdrjXEK7EYww7'; b += - 'GwaEHHnn1n6oXONnwiC4DFriB7HiD7Lj63+SNjcANt8ONWxX8SfnEb1jkhfI8EBOyy5FiApwHhC'; + '1D5jaLASCQqp8VCibNUdqXSuqiSqUhipbknKJNduJs3bsimNtkY/xmDOEgtbKDDaY1mLFNNfu4J'; b += - 'fvLSQncRsi2PPUnj7yGw6CLpaSFrcB37iXRnAb6Nf0XvYIKA3vQQPfPdAu5tLD9+k7tNpcYXid9'; + 'jG8XG5U1pCddgVsqnd2xiIj+LnqFyoTaJrz7KxpPflJW5U8R2OWZJleWl3/4vhzJCElLV3ZNLIJ'; b += - '7cUfQSQjEtmjagNGs8PWBbWEBkPBnD/ptCTGGKRgjYw6SAcWdX7O4D3d1B5fwfe+zuw3t+cANu7'; + 'vb/bkEEqEdtgkf9L3ajuCmNAAeaXrzkUK9mMZEEyupvnM0IXlL4uk3JiEQNBCpavUwff2Rd377j'; b += - 'uHzln41ijkTEbSiP/bobsuMKuxDY2GSMM0hn6h+Nw3RV3SAYjT4Y0DMhGXQ1WkYvtCB8iNlJZ2i'; + '7iukHa+Ly7ct13EY0IpdQJUKenan/ibScOyP+kYi/3N5F9ZvgVz4dZNEKbjTmbRk7JqxI4nzSfH'; b += - 'EcdMUhPIExLv9ajdswE9MJUGiGgwODuGvnWFQy7JDy262oQiIsw8sw0QYgQdUWoIbkrooJaJHQ1'; + 'NoHgu6RMGoUm9wdrhQq5CsIptw3vG0FFOrbjnriXXM2SUATQW/9AFtb3JZ3bky5SwnftjKv3xZ1'; b += - '2Jina5ekB2xPc9cfJscICxHJdXyjX5/SicLpwDFyI+ys0mpSJ1x5ZXMboi0UJyIwfp2L1Lm0gRD'; + '60U0Skce+CTWe2JZE8rs9rt0XRybrdkXu7FIYS8n8Uybvyh7R3FSudHduS7pJDCn9MdpP9pVRyO'; b += - 'r9jTX4Ui+g+RaGjFEL67p6L0o3dg8C81j0UMxpMtODIxxrw9EEOUqhP3cdxkg8kwAD0zfKWB9FM'; + '2eXKal4VYjWOpuI6zUtqQTwJU4H0/EXdsIEzaqzTrWwBReSVx8Md7tuy63dlbKMFi+FS9mCw4He'; b += - 'BlJvwb0zNwVDu0H2KU/xAPjik89bOaL1r4LXBURcQl+XB014neWM1XpfvAroMflaLms75ROFD3i'; + 'bjpPgv+mJ0YsCeOt52I7YlH2k702xPH2k702hNH20702BNH2k5E9sThthNVe2Kq7UTJnniw7URg'; b += - 'eDFpETm26Su6RWvBWOXj2hPSEMYGos38ZD4yLJJ/9fNwLdL1EvH+CYiFEDIGHRh5l5xGi89IvPo'; + 'TxxsO4HdIZ4wwGsQO7fcZ6HXtlvU0ecg3N9IPUi76KLe5sq+FW5kBV3zcdO5dvqg/FSlQ7WJlNc'; b += - '8y96k3IKK7ClPXM+UFSXeHBdis/yjCt+NhqHSsVfuaIdRH9mOKeGadc2Ifs7TB0HEQBnbhO6EKk'; + 'zYd+bDjltnI/U47VN4pwxH1XVnqfaO9034G4nFX5N3R/2t446hqWGGkNlauGWrlK1YEZFTAQmWS'; b += - 'fKc1Mw/IKWH4cp46G+t3IpDkcm+O+YxSF9ImLnyFS2ZGxXqVe3lJWhrwMbyD913hoVrd/Zr0mrW'; + 'IhVqHyhkNbYqsZq3E+TjrzomkXJKMuWfSPwUINsunmuBPC7eZNcVWlUolVVBCVWIfKnhIrq7gps'; b += - 'oOUuotzFjeWEPVHs/FrtrJNPXXJXU2jiF2LAHROZzQ+BsUNg/BAYF7b1Pg3mpkNgrjoE2uiNLeF'; + 'ZJKmBIrqlApsYLKkZuBqkzRUWIBpcXNwKamgLh5E0G9SM8tre5cyZWun304BxtUOmXH+KCAwNRv'; b += - 'UpFMKTP6gDlL2EyETPrpSnv2F5yFJMKuuVuEm8JWKDh0siG0OB0f3ZkwjvdpMSrgb6jZC/HT1ZN'; + 'Epj6xqrXEpj6xqS3OcuWzLH60IwXLKnBcadJj8rdjGNOkx+VCUecJkEqE+TLnlt2Ac8+v+zyzLJ'; b += - 'i138D0uThsrdYl5SzKuFJQnUQfLtqgNPV/kRWvtsvoYWmE7HQz7JvIIIBhHj3QsxysbK2YnrVme'; + 'ryK5YOto/z6RWo1Q648RJLkS8GSoJrleK3FdoOwFtTkUBStqu8KHRLrYvG5Qfrwt+K+0nlLGxNP'; b += - 'L9dlUVTmTXZRsD7cwgqTT22vR6ulBd+74sMOJL9IiFVhO4iVkqZHdxfdg5NKpEn+xHyYWNOgth1'; + 'MEdEQFuhW03zxsAK1w5gnoiqoATJtxAgSTJKVsv7lcgf3P9hPEP2/LC8bB7rg8sxAoujppSd62V'; b += - '5uBIqkYlwWRYwBtlV0x59vdcCB/0gNHyZH/8vo8cRLz+3OzrxQR6vfz79eLw5WH30I1wQlPCsnm'; + 'MInfRYyyf/2nIbRs3fLwtMv6ll44Mqz9wDln70o96kvDZ95RYNfiiJKcy8ifPZezs9Q8WfhWQvP'; b += - 'wXB9PLo999YtB+QNfZTwfZeBNefr36u+EwLFKgK/3V91dqJRucLV3G8BlhJsPoCnjg8Jhj7ftL8'; + 'vIjuuRfR8eyP/+CXYnh0/VJ03M6nX0Tp2X8jnb+QjvwsvMSnCqvP6Rz4LM7zz+Jn9lnoH8/gjXT'; b += - 'lPqrGJKuR6y2Mq80iNw79uRa3V8HD4iLV5ipyCCtLxRvmxkCsNW+BjYYboSA24F/2TyEXflJNlf'; + '+7JdWfyGX/hw6eO256+DP4GMQ/EK+mT9DxcNfqrHxHH6Wn4V+4j6n68Vn8dJfbO97Fkfkf5kW/x'; b += - 'FfZooahDEsbQrmRNcFB37uAqFMLWDRCmOtaVsSDRFN5lMm4huK3RfN/MUq4aIL7TlGEBsLYUjlk'; + 'k6aOWXopk6/6u08P9Jlwa/kOmu2G6FoqfIkNQWztARjRcUTsSYUjwSZKYUwF1xQUuv0BcFbqCS9'; b += - 'ggIJCiS1AsoBR9dH8yc0Ck/0tigfpGU0iAFRqaxNhhOk0cCZcDONLcswS+1CrMhNTZye+POwYzQ'; + 'iYmCASs1DNLC2MFfz5psBVMvwRFEsxvYfSrvDBu9CU1Jd8Bfy5aZkhYruERQmi/XfoDRW/hFiZc'; b += - 'uyTnqVyPLpFTy3N8gm/EeDXqwlyDYQeXxSO+o9wAUZinvnBgEZUOaYpFDz9nzeu6dKBk8kiNx/U'; + 'hCrKJp250ND5Q67pMJjxSZh2XEOvsGrL9bNdpo+h28TluEA7hw7dK654xkIcTnMGiKEQd2AHphB'; b += - 'LRUJwmmzCQBHwDSdW61j1OOvIrhjLfegSqplM9/n/svQ2YVVd5Nrz/zv85M3tggIEZYJ0txsGAQ'; + 'X+GjmfmWDUl+CVx5cHZx0+R+k43B42swWDq6Uqdl56eY+GFQorTd28mGIevTdH/9H5wpZRxav2m'; b += - 'SWAk7wJe5pfE5u0X95eaT/f68rbz+uqPZPPS36Kth+EMaCOmlpUVBITpYqCmiit0ZC8WIcEFRV1'; + 'QPf2Oshu3JjhvjcqMeKm8eXR9aipUSr2TZm/sq0WFX1Y7G6JX2jyNOXOq7NlivD2moIgqwdIYxh'; b += - 'rNiQGutoU8UWW6zY0jbK99z3s/bPOTMkE5Oofd8yF2etvdbaa6+99vp5nmc9z/2Q1yDkSjjI1Qy'; + 'z5kSdkB4wLJDeNS7rHMQzmXOeafjYzHXt9L/FLq6NNg0ygheJAhq69ZY/4wcw5cQxI2Rakp6qb9'; b += - '30G79ie+Tar8IkAB2p/DZ8n43RkUKLwjfPekkt/D1blztr4mLILiEttRXA26Xq6Sfq104/rlxh1'; + 'O323N2/gZU2pItpXzhxoMwyrQKWhnsSDdT7cgAKRxPpsILR0CZBExpA6SVIifbnVur75elXZTFx'; b += - '0bL1vlXawU9hpSgGta7Gswco7t5i1xD+z7YAopL3ylbLbEjXEQAAq3eHlNBkLhns80SW/UXuK/W'; + 'Fp/FQYieCwXoXgoF6hCCud5PWtT6PFK/1+Uru2qPkrguU33ShkuksUtoZT83EqFqmCjivW6YKOK'; b += - 'mu8Gd8M2Cd0ZflKtcN3lljxWWCS/THubQ17Og+WteLzNE2X0Xj3kXGumU68XO1k2SY1qXVIrxIz'; + '9cpgo4r12GCjivXfZW+Ot0V9cDT0DTzmmzNPNiaNDjRdCexwuhOY8XQGse90BjHs+HtjyeB0153'; b += - 'Y5U3CKG2wxNIPRs0xsU626f4ax7t1uMj8uLhjz2L3xV+x5cJMilp8WrlcXZ9XuKn5Sf8N5eQpKG'; + 'A0teRxBQx53ya8fd27eBEeU0Ri+MmPp8q2Vjxhjy5eq4WDqRBdzrnhp83f21Kc+N5ffZ3r9L8/v'; b += - '6oOBWtEpByGVAYwiVZQhJFSXeGH4aB9ETlGM4NPqGZz72p2QJs82LQb3wVbGp9s++brJXGQ2vRK'; + 'z+dJsvd1UXbP1TxzUfN39tSnPjeX32d6/S/P78/nSc4273mzzXsztmp+Ne89J/PejzyvugPknDT'; b += - 'hX5057spyZ/D69u391fp/t91CIdKIOrVOPFLmrUT9/tb/tarLtCt4cyJGE62p/Ebjzt1pXkx6H6'; + 'WTz0lWIVxRQnkzvWCsWsoZhYEhCGBPUNYlzXT+K4923kNTRnc+7bHHi0akhr3+dVOobPFlMGFKU'; b += - 'm0wb1DAaTomoZNFOGmNtwOIDBcVdVCCI3gwLy6B/ICcAA+tPI6hPkO3XJyGkwVc9KjDkmgWLmbD'; + 'OBpgywLqrlTBlo7tViylBUAiK3xZShZEwZ5I7efSOoQ63FiqHYasXgwXDBu0+qxKxqtECbi044+'; b += - 'JbRc9OJijuIgRjhZbs4jTlEr6sPFfMivb2ouINKdOqWQ+X8rfV8av8NtAlGYprg96CyV88HSkfH'; + 'MKyoTYSTezarrYREn+DSc8eI1d64o2qQ5eXRlvuk9xqo7AtkQcJFUKrBruETtoleKPaRmMKRKd2'; b += - 'Ts5Sa34TzRgiX4AzR9JjZZo6ZBzSAHLBA5PavomcVaWk8Orpnf8n0kQLtX5U4Y4lvHd2/ezNPy9'; + 'Cf8D9kFKrupoEGhQ0qCqQaRBjwa9GvRrEGswoMGgBis1GNJgtQbrNLhYg/UaXKbBlRpcrcG1Gly'; b += - 'NkeeP4LaMT377F9OaTIVl84M/uem/BzMonS8/FD+9//78XTJhPxjnVZz/2hVtL1BlJk+ULxF/ff'; + 'nwfUavEKDGwwXrAaGGfZGDV6jwRYNXqfBNg3GXQ13mXDChLvRfsvH4HILRqYyGCBh5FoP6EkacH'; b += - '/9flIhgkSZDGPPD4998+x+pckCSLF8yfvcn75wsUPCUJkOw944vbLuBsBVpqgyI+KFPP/JxCqGS'; + 'JAUFA7sw1JsS8z5wmwA1ugnWScSy5pcqktuYqyCvA/95vJxE0EBjYdVF3CTrq0ZpJ1dDcTy/Lnp'; b += - 'ZE/dF9b+xldnBysyW/+1GThGoP5+XAvKkeGRJE6RSuuaJYDwxLRaLyqSy8XqiOgM3SfhkD+BJiu'; + 'eFWeefRWOUWeIGqtaXXZm1Jgwu/03d8z65G6caSPv69Q+alduor/gYTnAyID26B3NQuqX/J3u8f'; b += - 'PaBjasM+GxoaDNlxhwzUM/Zb9BxwXaPl6GWiJJFw8AivzEpkR+C1KHudr+TJdGUGsXiIDayELuH'; + 'Mk5EpdSNvqzkYAONEUwNYBxU8MV+CQ6eOMQ+4aWPfPeQurMQyCu6AwaOdJ6FceLjjlqHDxgXGg/'; b += - '46VynER3A5KIerldt1N8KE3m+opXpshXS2MFy2nvRpPl9LyW9jYQ48q8mlu7HJnAklB4mJMyFiw'; + 'IF7j+sez6x9n9jPeXZucstIYmNl5L0erHy+JcLc7T4o7OWpwWNqMI2mT6W2Q2p/usY966T45KOO'; b += - '9FNEd3B1lvxsf84pKRS+GqpOr73cRnaL1bsxBOI7/jpId1CqIEDh6LUx3lCmo9QIQd8xXLY7Vkh'; + 'v0GGy+7GkP2+LREgOzPXRNGdPaaoNaIvs/mUqxKh6JKNVbx17tNAkrjZdiaVS9FJXo0VOnnaDyP'; b += - 'WOKPpZx6TIFGWJm+TtQ3CkCt2+ZW5i4FsiJrbZYvoM4EUycvOOat0ruJdaACXJ/KVDczdNoCeJj'; + 'c/129jA4Af5crKqlbbHpesJ3yX/t1+H3xH3DZIov78zRq9ok1Mi25PC9rhwfc2vVIsVsF3Jd1BE'; b += - 'OqayOhlz6PFG3HdA1rNCri299dvh0a5K4K1F4vryzkh25FHVVMpZLIaUzmktQNyVn3NRNySk3cV'; + 'D9gXayx2DfqpH5dhoF6G53Q5rtC6DPb3HZBaXrIBfbUj5gEAUGi9P0qyUpj0AQYkHeL0GX0lWCI'; b += - 'NSS9yU0AMOG6EeXKoMX0Wxktv+DtCxc+mxZcrrYaTUeJdLjyuJxxZ1R/Iq9XojX+7bviJdgQixT'; + '9w9uRvjBWulo3feEwJB8Yx6otvOb2Te50qAJmeEk8JJJUeOhq+lxuoiE8YJQUZ4L8J546ST7yAU'; b += - 'h6InqNOhO15/FlX5WEFpVnRZZ/B6aOPwXgVxbwq6lzlKQgCv7YXv/2UjKffVRgBuXMFTfrjd2hq'; + 'vHiqPHsiMv9hURwEufyBKlQS9yYTHnN/29uipmYqwcgfVWc8S1t7pj2DULrucHYcFp7Zem40z+3'; b += - 'IfxfKs1jCFgXIfYBMQGYgWY5x1nSMbgJyFSBA3KvI6KCxxhAFXzG0GFl+lAjF6S+fJWfVIpd2Uu'; + 'ZTpl7+2hkbdsK5W+FKPfbzZHUrN7sC3MbOw3T9bYWFuEDcLe+IrtrD7H5lq7cvsAjOvOH6WK/xZ'; b += - 'yV4zUN0YV+v/NkmYJTxRuCr+PyZwmFjeSiEyum1XJ/G9Xcm6jWlNZH5dxD1alfHp1PROxoNHpJr'; + 'r5g6yxXerFfsO8sV7qxXPPnIGa+ww6byVrxJS30IyRx99YXo4rLiuMiFL4B/CJDCL6VDu4HHIQu'; b += - 'xNkMPkpw/T+eRn9DOlx+yXicTvq3z0nacOpT4T6E1rTy6BDqfuzSXQV9PhJOGDvtfYGtwSB4BMj'; + 'vD1dmk69XgypMiVWNENMGf1R978K0PzO/l4Oehmo9IICnH7iHHI2pT4/sQO1aifsXVJqFOyw89b'; b += - 'G89UmyWYkPAo7LKQEYi+peIPMVOiohVC9CcRlO4tSPv+u4fEdBD+vkeU7xni5DMRHvpAu5L1L03'; + 'TwfbwmMLdp3iErFH4LIKHMFUtb8tGEnsmYcAoNxUuwZcembJhSxVhIOESBxLqrpSZxVvn+rPLyy'; b += - '8jfQU8TeqLrO+BvoImIxvIK7m9aDwDZdLKKZBbohj6iatW49fBCXFey/mLknYKvQIFdxAuWxhXu'; + 'tJH9z3kpPX0wN0Pqd9AevBuJjxqE/ROAxLIUjRA3YK6WzGqH6hPMLL+zXPDHWmUlqLvyhx8ldxf'; b += - 'G0ZDqFjwTz5K7WROqAMDkH8hme0/UtSXqptfq7m2mfo/p0ptukYi89i1o8djmKJTfLaZxjwlt0S'; + '43UpsKQxP+3RiGfPBZ58ns2BrL9G5Ts5Pr4tppt5ozGavnYsBWggPtdX9cXOaOy+jNNqRGQ5e2E'; b += - '0KLtitSHtS+GdM3p6+on2o3Olu2xz10HedjMdwLx1EjICW9+Q2rQ2PGsb2t5nIN5ujLmDrId+Mm'; + 'o6Vf1MZ74NrWRBqPRpeqw4EUnAzr/Y3DD0588zm5dOTEBuSKFjo4hV7NqIkf8NT865I6U9W3wsj'; b += - 'e7NRDIa0W5d18ISXotc7Bi3+65Lce8ymQaLN+HDbMTlIC/XZ37Qk4wlScbxjgyTZBzryBhIMiY6'; + '5iosirGOVpRWcA9skHlGvQBK8z6jDyWMaBmYdiqOpI0A1cBzwGcAns/eR5+WixD0QIBXvQ4sgAq'; b += - 'MvqSjKMdGb1JxpGOjDDJONyRUU8yxjsyyknGwY6MIMk40JEBiTEzLDYUSNGN9yToUFsSYMRnIdz'; + 'nE/eh3YBP8ZMEEoZEklLlQ+6+mUBtQv4vLGdNIuKEZAAd26RwIPa79C+sU/eYhDq8DvmrKFO4qh'; b += - 'bij1QwBii3oba7qVumBC/dnPTtXbyPvmpy4DqIDNvZMLusUNOh1s68vYdizhXzEeV3feUo1dZIk'; + 'ddRppHexhxRgpZjFH3MaI76itwZYuxXSyf0PcTFXSN/rYhVYkBi8eG9Qh4+hBpdCxsauwF7TtLm'; b += - '9A1HN5Kg+AzPuoYx1pUIqgziR4zKPeJLCiIlaV2MVMq5Gh49SW2ErGGlyPo648udoNNJ3ueOuGd'; + 'DlzFisSk60KIfkTu+39zxTDUxt999ptszRkCZCqNRA8vRAtdva6hzBPQllq8F2hKG0U88ziQexc'; b += - 'VCMAr26wXSB4N2w3tSVUpVYTYlTiVWVHpVYRUlQiZWV6pRYSQlNiRWVttwA4FeSkxILSEFuAHwu'; + 'hONiDmk2g6ILYaekn0nSwuT16BaZ8PJWI0ie2NY1hVRu+DMfWkJwMwOoF14bFag+s/g0QW0VDQQ'; b += - 'icYN64k7RA/C0uvOVZR1+unGOdgiI5peY0OBj0U/87HoW43BxMeib9UFs1W2bK9VP3+0mOCuH3c'; + 'g6S4Mk3p8bJdW0O4VDiRZ/Cqq6Ywlnosx5u3Wc8vuXZYOEPD5U6AyAETO9vhUw6kT/ubaSn8scy'; b += - 'yD46UcE44mQtHJhxxMh+OTJCdPUd2AXI7T3Z5luxakVAs1c7tmd6fID6cmnGKhIg3hU0hvVKirL'; + 'wZxsHjvg/jb4EaVsOHOS0BcpxS03d6zqHWEd/Ccfar3jR/LHixrppz/UesdPfCh3x+VnuiPuN91'; b += - 'EjAxxeTTEUOu7wIeUqdZIN6sKrGzrxnRnqVK48NQN8I5Rkp2TAwVU4lTShlykZcMVpMuADj37zO'; + 'pZvYZ7+M7ufcxfYb38dHm+7gL72MflivR9/A+psj8a9o/ex/m/TzV+/jzp/U+7n+gtXUefKD1fR'; b += - 'h8ud+BMpDODEM0dZeEUrcdUplYC5reLWqodpBK29Gn83f2PZzUMn7lHFp96Vc/AC9eeuReo/PxV'; + 'x9oLV1Dj/wTN/HT/6s9Y43H2x9H28/2HrHWw8+vffxbl83LYYMkL9x9qAqPLSq8JCq8JJOe0WR4'; b += - 'uU9+a+HpNzT4laiiPPMqCs/cx/k5Gv4MvGvx6VfRM/Mqqs/8/A9+JaZH96/EwO166lWUn/kv0vV'; + 'wNmAiE91eFFAlqU04mvq28Gl3tNfTcU8yiCXKqB+tq76mRxkiuRcvqocwUxSpIN2bWotJ92zZKd'; b += - 'LGcjPwEd8srD+rK6Bz+A6/wxus8/A+HgaX6Tr57+1/ku59RcwwBvP3gB/GptB8EvZM3+Ohhd+pe'; + 'iFkh8UQK6ZG/P+REX/EUU96AZd0W5MqQFar0sRuIBFFRIADHzNz8QsiTNp1FtMwT+TIjwke0lpn'; b += - 'bGs7gtPwPjxH1W6cVn8NZf7uh7Bmfkf5oe/zkGaO1Xopu6/rP08P9Jtwa/lOWu1HkyrVl04tIRT'; + 'tj+BqbV2P4ouRVUrNso6bsmhHXVrrtRbDdavhUe8CFFwhPfj3xmfkuCevBjzvugyicx6WUVsaFI'; b += - 'pERjRYVqsAerx6zCntGMR1ceM5Ws/oiD1DpmcPQwByaq6lTAqsZez499SredxmCJKjkQRFQXVe4'; + 'IV6WorwKfQb+s16mG8Rr0KW+NVjptIvATzYqKNEB4srlwl7Qv0oqoMkg5pbMK5q0jyMt3a2EgGB'; b += - '4SFVL90KGw9ay0hYaeAVCpB+u7QRCH9G1GuYDdTU4W2qVk9jcbmnamGto0JcvY6WIvW2+6e7TV9'; + 'Li1kkeh5lvXGZRjUO3jGgReACUpcmUpvf1jsp54Mx4GZMU84oo9u5dyzdPVEpBKdVLmwmdQkcBC'; b += - 'Dj4krpmgq19AlM3UKPKs1CkMaa+RdNFWcwBRNja9mn1exQNplWOpA/dmJF/9BPAojiA3s4eAqWZ'; + '4mvRDyjxpoAn/xvAUAImEzkZ5ATa7bRDdC+6BXoNQEi4WD658NiDlZG7uQ5H3PAK4mJV0v/E8uf'; b += - 'qdl27oh36veh6Oijh2LcRHb//E95wrhY4sXbM+ufz1dQ0cT1ZvNpVWs6CuvagO3Vat1HgV697QX'; + '89J6P2dWOZBmr3Op7YUbyHHKvDm6uziqHn+5VTqik4A585/uTUhrojCT9IL3lgJT4RvmJy31k0i'; b += - 'wvHXRU7WkU46kQNO6bcf32wVl/SotkXof0oL5k4QVcHZqZI/2umnHst+1LOZY79l0RGjdf/Er8c'; + '738cOT4/9mRn7dJdLbkpoeA/ZU2wk/JjBgtdsxMCbl7G7juJs/2w36sUkYAoJxkQRDjfSx/coqL'; b += - 'O/o2ODSKCExi/Wk3EgXfQmowtIp+ohQBo0Slrdq7fLcvr/SRqFeE1LmaOtGmKFsA7V+tCwebfLk'; + 'q27wuuBhgCo1ouIaMG0Ej/L8nmW7hMCJnI10qWDQx0UAtcnHnbWQXcClIuQ8NBJCUoidTZ7LV4d'; b += - 'lCnJg9N3gc88l+AqdGjTpxyHUj1tv6pdv1tXhgqvIFx5q7EIw2OxGsKQZIjDNHnqebM6iF8rmbP'; + '5iB9Bh4r0LStfY0YHivTnQf4kBIf0irXQfOMuhJja9jBGtkwG+8zQpu8iRlqEkqo3Bb1KRE6Cpk'; b += - 'U/2av+J+eoC8a56u9jnnrG8FR1hKJlioDzsmWKgPPCZYqA89JliIDz0mVvqb9GT3U9QJlnug8bp'; + 'pK016ZjqX1wJFDPz4roecQcehAyxq+GE5zmbBu5sH3sjtwK3z1qo0Ro0FEHyNqmOgkX7B6D98PL'; b += - 'JvnQ4Ju5kF6buZCcm7mQGpueiExN7MhLTezICk3PZCSmxASctMtv77p2rAeyukjBvrz6+LFm2of'; + 'eXHvjJIWrLvPRHVKV5FFWgMfPogmpFOCxBejk8B6mz4HxQ5eCRGSJ6OZmipQvjRAYZ7ClksJdO/'; b += - 'swpYL1VlotgJL+Za8dLsd/rUJ8+bye/Tvf9X5/cX8ybp97oofeZK5lyU/U6f+uR5M/l9uvf/6vz'; + 'Mje5QnHCorelsRJT9zykEFj6Wfi7jfa497stkNZpUr5ChA/DdM3sbUcqrGjhwNdFjdPuIwrVXqd'; b += - '+Yt7kidY9b7p1b8pRzX+te8/Kuvdjz6tvhf9AKvDGnvqAhHJFGf5nm0Wr11BKNQgIRgB9hkJTaK'; + 'IrG+ly4g/PTQ8fQfn+f17ogwWqZ9frQN3LflWEiKQFUM4LWATeTY7UsHUpHq+qLfhiM4p6UpAKY'; b += - 'bR7Tu28B6qMrj3bDEeNRqiBs/5VU+hq02VwYUqQ5GqDNAuauRUGaju1abKUFIfKW6bKkPZqjLIE'; + 'at/C9XiOd+nIGeB/AfTM9mE+YkITJXMKIguEH6QGbOI6jca+ht5Xu8CXf3IdfJK0LVg9F9KHvO5'; b += - '717htGGRpsWQ6ldi8GD4oJ3jzSJRVVpgToXXTD6g2ZDYzgc275FdSMk/gabnr5GrvbIG1EjDy8O'; + 'uHs7lL94mJJN1Si4PttZicpRZHWmpxgEdE8WjWA2RX9AYcND7px0wGqW6WNkjn2/SYY45POY3oP'; b += - 'N94jpVVHYXMkL1JQeJ4G9BK6qJfgjWgfrVOQK9VL+HPoB6n/R0eDQIOyBnUNQg16NejTYEADo8E'; + 'QH0QIYIT9IIYx7OeJg17c9SoFv53dgvv/NvpwALwrg0ItG49tqFKuhRA8MgrqpEczOZPg+6hMZ0'; b += - 'SDQY1WKbBCg1WarBGg4s1WKvBZRpcpcG1GlyvwQ0a3KjByzW4ybqr1MA6r7xZg1drsFGD12qwWY'; + 'gYSbeIwq/gzk6Wir6jtlIjRAocACjdMHjypWYimNtUqD6lh1EOB/vGgf/SThzlIyreiC9lB+j8B'; b += - 'NRV8PtNhyz4W3ov8XrYIYHpzEVOKmDd5pmQOuygIsDgqLqmV0RlfpTdZ4AJ7BFoFaUTS65rMnlj'; + 'vOEubZBpoRSs2Dbg4B921/l6X5iR7ud77nEIrukDpBZSfnPgXt4HB7QOI1k2/lx3hw/+t7AjFOV'; b += - 'uQ66irCJtXPkonJBkRdGq25hLRzqc0kdHQPEyvy58WFTfLNw3W118MyTLUtvQ5tSypc+F2+43sJ'; + '+T4g66Bhmbe0paWVnp/TaRBF0f2G/oqzfxmDsz+V7CnZl8L+HOTL6XQOHo34CZw6atV0clz3ZS3'; b += - 'NUrV9vjkiUP2o3bpJ/4WE5wU5AumQjzULlud8x8csoYF5dgNv6r+i5a0hrE0wCmaArsNwE/39w9'; + '3RSImKUCNxsO6jRjCkkJaA/Wm59qv3WJ2e59YSbv/er5OCEvkTtmx6eF05c7BPqBaSe9ibJVSct'; b += - 'xTHjxsccOqYo7QYLCt0PBkQZ1UE487ajG6BKrVu/BGh73P5bef5rDz1qEaHGuQquoYuO1Va22fa'; + '7ZgjTthSzTVttdRqKPOnvC7n2suJtxyrG1azd/eat4s6OQYSjF0gSyiZfmITzNtnryIJFXQZR78'; b += - 'zO1eo8re7otNVpZVOqoE6mv1FWc5rUOfar+3SjBwX+BPcrfdvDSfXoiSXTvXRDnTp1tAatRPGf2'; + 'ovfu89NEvSbf7M+gydh+ThPnaa9M9D8vBvmMWagldH+82q4SscaGhRLI80cIRI7/CA2yRPQA4e6'; b += - 'EaxKR595akGf3K3k/nUs5ZL5RG1XFJfdJ4q8ge1H3iu3+GwCLZRv0XHT+UtpnwjoYHk/5Yb8Dvs'; + '854KSDF1bASEz3ydCK3h9YnGGCsSuoVDWd+lsFlaoqAoEOtfnShXowVQaZT/ewc4MZmCUZK/Waj'; b += - 'vmELvcT/zjpaStqSEtkSFbeY4o0Nv1Yv1eCQR/ZBYT1goKQx41pkRd9UYGZZgTVlxdSoXQYjryq'; + 'Bzd2KsvhdWGC64TGShxvR/0Bj75rMBBc9xvgD8hPSIrOgCKn5RwgdodIQucDI+DVDgdMgrgCl5E'; b += - '4lpdcgbFaNbwAKAJ0aSoj9KcIlT5AA8QruHyG48ECGRne1viFRj1quvELh8D5QDn2Ck1gad+Wjl'; + 'ETMKcUyJKGF6CVFeiYuRJexxFWDbJHTGNRtTRP3mGby4WvPSTkX3b5Yd98ukiAXNUrIO+7EOe+m'; b += - 'fU4LxaEg8JJ1U4dC3tsNY3PJpCwTtU6tXcU8Ope9+ReIzE1eH0yjO+WgnLt0sTpUMvcqEx52c2I'; + 'U/irnhkD5HDz6rPtAq1njHfcZPw4l3CngYrrpckL60duvCFhcN733qMXEhS//oGLMXi0zEE98iI'; b += - 'N01uzDW3grtrcSnF/g5vOEL0TGyT13k0mX6IYBcvpSmkRZoge4lfRjF2XJ9GtShgKrMJ/ZkuBPz'; + '7rxHu7LO7IzUtwHrS7B6DzwDmUNxp9hyv7Ax4Wi4PevZ761N/j1UlWsc8j5vPxZgUetRUY9K7Hz'; b += - 'lD8baPFt9KK3pbwy2Lb41nc+SKtFn7Z9gWpDEokqqGWVO6w89rTyUd4T2MdkT0grdUxxBN7VctV'; + 'ytiYDk8fjRjrfCR1Y3egIXNpWN1BlfxMXCqLIeFrXK2ok6kWmyQPtms/rX4uY4514/hs7Zb0Xcr'; b += - 'SA3kkoo0bhmmxpZa3Sd3G1g0FHIPtxyEuGXbrtpaYtPEDaePlw8QH3/agEzfjsZ3S8Z+DEvKunU'; + 'Cna21wNnQxzz95q+JBqtV9IS9p2h+vKba6ZuwtCDjKIx7Bz0n6rB5dkuVV/53llaO49AnLr51la'; b += - 'w4mCTok5ZIIARMgLYFTbdmBQZguvE9/tVzC1vjMC6HX5OZe408X+NNqbCsMT/u1YiX5AWeLOr2Q'; + 'hSLIcRC/NtTi+MWC20Ba35+fY6t0qOs1sdEXji7ufotFN63Ff7tKrdGtEG0BF2brZyi+fsTkC3D'; b += - 'nZt4dNlP9xsaLDYao3Er1kXA8YKi/w1/cYZMe7LOBlDohIlNxYk/Zp+xiM/SW3FwUh4qaq5e+Hf'; + 'ocTebBMC5kw+A5yjIjzTP1v9fU1z6H1H+eqX8ffXy1/mG+/uvwc3HcF8+btf5Yj8gDhLgPH2AeE'; b += - 'BDQjBXUDm1E6KHWb6uwNxvtS6cg6lMqaJtTnJ7lU0SmaUEXBy/ppXS+fYoTZaucLK/q3qRMtG7z'; + 'oC0YPtPoP1HYV4Hs1s0X5ViOwziZ6Xkzr2qGD8DLMO+JljJ1UMtrKV/atJQVn6ugxI2YnU8T1Kz'; b += - 'WClHooM0EdvQaCHjoeRYWwngNWLgmz5P35asZH7bFajas1dG1ncb98LVwk/UtAE6gkgU1U6x9xp'; + 'rolZnn0rRA+Nu7EH1q1InbN0ceIwqvjb3rm1meluDQwrs2Tha0lCYnajnonLhSbIz2R1wfl00o8'; b += - 'OJYPFjiBRpaO5XVGvTIoZ1rwQeKIZifNe7H+TiV+RqqG5wHUVjOeq04ndwhBSh25bGH3Naw77iC'; + 'XYK2ZG/U+ViOSvkTyhcw35RNKWgoIsjnvCNNOoPws7RjTQEleziY0EdqP+7JsoIYWvTleLKsQ9K'; b += - 'QbY8Yvx6K4HSQIU450uaIeixGAPdpOaCaxocQO1mllFjppMUwv2aogZW3WgVR+TJ77bPvFcLbGP'; + 'pTPjQWcRemP8fQCXVhbnQM6AtoasyBH3cxJr1tfhzpg8VR+uTDWuUOcxtHCfgU54UHUEpkBzJEy'; b += - 'f/Td53g8Y4QmqDEatkDEFLnrr6KkCmBsIHqK1EArhP+gK4lH5qOLHYj1JPxyQJQejJLwa2m8GO+'; + '+aAaP83SFHzQXCI0V7v4eZj+zcSLRs0EfkNfbGCGko/4qdKpO0o7U2P/5Nc8z3P4LyRtW2QVjTR'; b += - 'vQSHMh+gp3AOh+ARokfDNUMHd78kEDI+BmphotEg1WEybkOplCVwVPZf4NmuUTlztJcwQvHAvaI'; + 'R/zmYjA9gWw/gHO1f618tzDJ4gMuRZwyBfDSmCY3uBQXTfwgd1E/lWX8JJfSvT/IXdRLyxx70YH'; b += - 'FSLGMuvNfDo/ut7aC8G/TCi+qTvUi0xvi2j7SDb+zMX/e14j35a1lg7syuHTi1racYVXY6c5HQD'; + '8RcsUPFGWzulQejB/UUQDHnvRkfxFy3U9I0sSuex4/iIqs6r2ohP5i2J20V655lT+CkIjBdkD/X'; b += - 'ynVLbZPrOsToVP6l3e3P/Gv89fzWvEP7m5/4nfvzj1x8bmeiOdNdkEINt33+Frue3z5HN/jg9n3'; + 'PuinrsmrWXGy8bWfcG+cmg45c1oeOXtUDHLxspTVjo+GUjvRl0/LKRQQMdv8xCx4+j4H4U3N8su'; b += - 'GMP32I1NLvwGvsc4XVra/k+/h/0+T/Y99j2l7/HYfe29c/K+9u/x+H3tvXP6vqf7PT7yQPsT//y'; + 'L9ZcH9Lwf25gvtzBfdnBffbgl8n5S5FuUub5S5tlru0pdyluXKX5spdmpW71Jb7GrbRXrTRPxsM'; b += - 'B9u9x6IH2Jz7wwFP7Hrf7KupeYaGlrYkABaiFRIBaoAC1rMteSbi/gIXgaZlC1BJNoyvx2F+rRj'; + 'IoztgzYha606bl5v3rzevHm95eb13M3ruZvXs5vXW1orRsFxs+C4WXDcUnCcKzjOFRxnBcf51lq'; b += - '+JhExKCnEuqqCTwECtNl1Vzf8u6dVK/KhzJa3doyvSe9FoP+6epjixVwq0TC/GRx455ISf9xTl2'; + 'Ocpc3y13eLHd5S7nLc+Uuz5W7PCt3+aytlXFvKs1akcvnbMkfERy3uQIjyVqH7sCYlDib5C70+u'; b += - 'MKu/MzP1SF0jYyxm2hTXFOTUseu3Nwh5E0zEwOt80S+zpCGyO11plJ13K2965HotRRuOavruK2L'; + 'sJcFX66wM46q2fg6Pe+vNw1CPd1kPwfBxF0u09BOfiqCojx0MwiKOSDD6gs9RX4CiQ8eshOA+KB'; b += - '2rfl1ZBB5KohtWMdBHcDVKgYH3jEWhoc9+TTwIGxkkE06QJdvLFF1kkxUzbR17OM22aD3LvXata'; + '9g/SaKzLVlq7JrSk69XbJDk/P1JRS06+uPzpHPEE9u2Jf022xOaLT7fYn4k59EeCttyy+IV0kmZ'; b += - 'hobrccSMPrtJrJJ4iwi+6pnaN9C9wMOoySarS2QQYVkL2ZSoQv5qY3KUWWXt4Qk8MLlCPxVk2DX'; + 'f5nNf8rkPy/Lv2J/Ulajk+XxoIwW5l9u8z9p8q/I8g/uT6qqXonjc6X5mT+2+cdv1vyDWf5z9yc'; b += - 'Wx3awoBlo53vOnQk+M4WXghZNXpPPSZ6kTZeJwA5wDHAAJtqZiyhSI1ELrkcgbB8LxrwONA+geR'; + '1xZWpx8+XbsD8dZt/l8l/bpb/+fuTTt3dPyd+nvRH5j/H5p8w+Z+f5X/e/qRLNTlJPBCfo/kTm3'; b += - 'AmXDPTbWYc4MTQm81owRnZBPrmw84JuirtBiFYhKK4kwkot/hbIn/Pje/80oXakyLram32vkHov'; + '+3yf+8LP8ADMrihNgoMhUn+8diAHrL0BrYP7ZJdUR+fI4ky8cHCWRajetM6ERCDxNiJtSQEDFhO'; b += - 'LfCEp4Ste7nDrXu5U1Bvtw6sMAeichzoiiTjIP4GYEgelh9T6aeL2Eo/N56cY1sW5O4ukb621Hg'; + 'ROqSKgyYRkTykgoMaGfCeHYJn0/ssBnQmVsk27eySc20TVk9jWVybqUHcgk3JF9U72s8xLR2TXk'; b += - '3bu/I8A0hpuo9jjWIr6RPm0Bxf7oHDOBoqQAwr3kSrGjF93LfZu8u9XrBVwJndR5to5lW5rYs27'; + '1guhLfdtP16E/Z7sCHuaR7Ij8oJO+ZDPDJKTHO8jcRjtJSnimby0l6SYlyWAZheini0NSwP4b3i'; b += - 'MMnwIAx1YiXQY4hAgFIESYIWcNOG7YSxcIWBqVIVpQE6XXNOh3vGXfgdcKfZq0vkFr8GXx1/UlJ'; + 'er1rhyA5AaPS9HURLvYb0GuORCccD4sxj/TwmZzcNOwQElGVUllBgQrWZEDJh3lZAZp5EQpAabg'; b += - 'b5Cm9ws1dTTL9FahhzQyNZl51ee6/VtDfEtJn1uCRbeNMGUjkpAfwqgSY2DLeP2x0ti4f76w9+W'; + 'R35kXTzNBeZpjScCZ/RWjzTGmRancBCjh4FMDOAA8MCzFqLGXttB1kgiV5XwH1ECt8oC5T2epvC'; b += - '8aciq3EAu+FKyu3yhJf+egrwG8CkLN6RTxiThLFcwrCC/wbxaJI4yiuvpY8Vdvygb5/D9U7bgr2'; + 'Ix1WvbBk7A71GgSKGFEk8BmCT+M0ctlKYgfWQKtpe2OEtPgBpXbAjfc0SQ7VAMuynmnnZfp3UqJ'; b += - 'pBL7k750NQ+nM0LMrYly2teJAZyv2T9OKI22t2IerfbQ2ztoB5x60UBrkJhZYc2Q2N00bpEFgPO'; + 'qnaVxCcHmE3gQWx8pKWMrMKQD9ONb2NfQi3oy/qSUAZCunwr6BaUpAfo3r1Nrh5nNoIeUA4TiO9'; b += - 'HY6zNOK3xDAN7UuvqBd2WfQEmdL7Oq810gp/PD9+EM7/SxcZgvMy6dSNSQXQkZBK9ygLwc9RLxh'; + 'rhqDHy3bMHcM9gxYLzZagp+Q82I5QywPbDHnyau3TtI4lJrtn93oIc9iILXsSId6q2rlaO5Wfe7'; b += - 'n2YTM4DLiG8XCD2RR6jaicPbi3cpDIYmWYW0AyYZSbe+RXFdCrHRps0qMYeBwBSxJt203YLKvZl'; + 'ldPMp1gE4m5DpVjQm5TlVNdRmfKyW7iJ2q2l5mLfUNr3JbqbZTVVMyE6iu2LwxcO3SXcqNvuQ2n'; b += - '24suHDvJ7xHYMqZp+5kGb2y1JA32+wfc1f4ul0fcu0hNfEYhoFygCQJySDJ+5Lawm/oAzHPjH6R'; + '9c8JYwoLR6msY4oVSylpVP5uud20KzBIBVSaeXe2DDbLvUO0qaUN+BNdCggpU+1ohP9jcw+Iwfw'; b += - 'X2Fa+k16hOucRqe6AaxE8KefWxgod8dvq+NkHRg3G6i28prQ4P0ooLc6PEkqL86MEQhD/JhxYJ2'; + 'Ity13mOeIoNPe0ZaBR8oLQGOuI3oFk8R7Sh4DCSBjOqUm3bXcDOTmkiItpSS8KW9MQlH68zdm1Q'; b += - 'lr1XjCSwapbwcpeKyoTIDJZIBabl2hs2Ci3PboM52PPjXNo8fc/LNfCSAh/Yg6Nj28LwxLOCbUM'; + 'oI6msG6T+lgZNDkuXx5XLN6mMHVhGU05vQASV/9Ilq1oNWdtO7ZdP+v9EL6vmyC6P7be8OkXcLV'; b += - 'kGtf22Sq4YjOjCHnUJbM1d1tFKbob7N5HM5119OXEijpiHZ6O6zXxdtcix0CYdAmlC24yRJsF+f'; + 'TuEbIVgwgBltRGr1sY9I640T8olybx06HROuCa/WvHRI0emHqhgf9jGvf2B2Zr3HseeG4b9689R'; b += - 'o2oUZpuyV4R3gzt+7GsyxGfrSI1PTMjFma8lMBAY7vie6YOFaoKkBMnyFnOHLUcES5R5ycU+eO6'; + 'WpszlJszaLyxtMYPbyKTLnuJpgiEyQREw32xWnfhXm2tGXTRS6JZsA7bNmLU083LwoNzS5z3dBo'; b += - 'zF1xo8JGKmH3xGZlO4W1BgoFIoFgFvKjHu76hgBd1tYTW6TVbhk0vlscgtS0dcm6yk7Es86PZkN'; + 'UrJOZkqgPpp0MKGwETxDknTIAXYgk67hHgsImgsgv+iQFFWCFNK1eHDC/vcYgzxOjQAvPXFCtZd'; b += - 'miBwzNhTg9prMOmRymOQCwZZ8+O7phFeW3mvNh8SQ0AsBOT3lw3UH9BxSBsdNx+F+MV1hBVA2dX'; + 'B+sj/nKIVOensTkoyTWjQlsZ0swhBs6glftUZNVuQaOEScIu3bKqXDS8uLGIPnpjK4BBj3eBGVz'; b += - '8IqQow1eU6KJ04EOkkIs4QdroJ/2oSuFCyd/hgauRzCVme3Emu4kavbDMhCiC1yIR00+kanugxE'; + 'tik6c8uw07RHe89FxlxhnZ8yXnOswufFcgMEnLDaihAyA8O5phPCkhuGn7fmkmbCSnjzmvTvAC0'; b += - 'f7lzU6Do0h5tZ31Y0q/ygOytb7jKOwPMLjdeTLghWh2VANnnxttTvD7YFA8q/t21suow43Ya0BK'; + 's8ceMhpgFuOqmVvlNsqjzk3jmq+thzylRrFbvTI6UNfveDlcanucKe6tF9u9x1HlXgYSaxFg+nY'; b += - 'L5jJTza1FMGJKpJiALEce6hsJv0FacZ8H8mPQu9tT2949XpNePHZ7xKM8njXg3qQBg8Lrys/LDW'; + 'iLZ3DM5YMlkz1cWypYSgLZ9+Ddx8hqEGQXzxYT8MSFjHNkEqy/PR6Pe54yu98R89/biubxhMPGP'; b += - 'zKD38lwbGDX8ySzKofYYe9dB3OXOJLr+FrIKsil8VNkltTYzatNoiPZc2/Hj83sOTaddjKHtPKa'; + 'aPwi+a+KYAymTZFmStsZbaT6rUM1Ik6NqQaBgodyvDqN/8CxinWKAroN+Z9BbraN1iCieMdZP1O'; b += - 'wrEsssDgrQx/L2uPwpHmrW4jPMvCFP8TMTZQ4hc00sJ4wH/yTpc3u1Stdntm6a38+iIsZvvbSWz'; + '6cuDtTcRk1UxFgwHdbTQzWYtEuDLGVeTKz+2l9SpUdJidovACodunLiLq7knWBQup+PzOnMDc8a'; b += - 'pcgBjNJcj2NfAc629niSP8Ne71FifGqnK1KQ6XmSTre9x/OBS69REa12gDJHTXukWDlndwR4dGE'; + 'G+Y0wp6mtqmZPLSI6YasAG0auAoK2ninnZlJqaJvfcYxZRDiglqnJ+Tdv7W02rnBz82Wzsf/dhz'; b += - 'kmgUFnQI7Bu9RkVVolm3/3ba9yXtI+2fZ9vfT1lDbX8i3fw1+Ljb9Zta07QcNIi9QwHP4ArOQAI'; + '1s67PzZbOzN1Rjvf+bGztfOjH5utnR//2Kzt/BmDYByptaNxny5a92nrLq2mSIHOntZmKe+GDI0'; b += - 'vvZPwEOn4Ugm4wfUT2qdTGfBA/y6R07lMZOmVnHclngrZOs6CVtY1PTVqR1p8boDRfXwmfG9nQx'; + 'mkOZhy87ZWD12ZZ6UmaZKZ+SaTqnh5bTsDWE5WknjTel3QfG0xBYVB9EuF9bd4eWcyMNR+hAHoA'; b += - 'MrOsVXACDU9kMX3KIrYNEOcGFHKUHUObu1mmn0CX8OSKfwsUYF4omhn5JK4NHOE/d+k6+l+38wB'; + '8Or5KP5bs//o/wRT66+Lc25Y9+R83ZZArm0sfOkv5Ix01x9b6R0yLPmY0+lKnq6cz3GAw5xav61'; b += - 'fZmb9T4oEEkHGHmB5cZ9wlxKBUG65h1h2gnUn6ZNMA3eWyvpgiZs4HFfSAXK/DCazXyhPDCqzvj'; + 'EHNsSC8NLjid8b4HyflpgeyYvO2WFyV9Wk21NSal08TqgN07niXW1Frt1D9GwpgE53FAbwAJ/Ez'; b += - 'ggU03lj/HukzoxtroWPCJbiycjq2nmzEZbbNNqC9mwvjY17TJVfsYR50MKd4EL8DmphcyRSv2gk'; + 'ZajQ7E7e30NwdjDsQjmIcWr1YA3LVhGxj+xzFypzY3QXbHWDStO3g7DeMNw97TTSIfnQyN26xkR'; b += - 'jEN0lVs2Wj4Wxv9qLjuS+iN4MMIdi6ZVSQJRk73J6EZwvjvnjHSWnBNz2LO0NvNIM8wQ/v8jOiL'; + 'e6djYJ3MgPkTGJEnSr8IafSsnbd00TUBfBBNwFxsTaoniKfNig/5V0e8rWdyZ7rf2ObgdlsaSkt'; b += - '96NYpMw7PSvl70KCys2aqliv62Atxoe9+NW3DSev2mAIhduw+V4In9TH7UCkpsm8zctUjAnIZHj'; + '57wKL1tx0GyuESsw0tx5caxOxIOQ565FNzLjWntASKkpAWN0uM60z6ei/6f1HRTbBlwuyjPM9pB'; b += - 'FfGp/E0hlQeSm0Z/mLtpsdItQnrIbTt+mLuJIpF6ctPu/E2Gw7JP7tmfv4OwLEH6Qvk7msa1NJZ'; + '2IV0od0vKwPu9qrnGpCyw9YVhNWWF7rBtiqcAMncYaVTQCsg2TGE+mlzm6HNQxuawkI4MtY151n'; b += - 'rFg2veYP8pFC2izIo20VtULaLhstjCZTtouG+FMp20fCghbJdlEDZjqLiAVQ8kFU8kFU80FbxQK'; + 'yKEjRvOtmSAhyZ0hgcod9T4cen4s6xKv5W6+fid5XgZGWDF39NW2MLtpRemV0BJIsqJmF0tI937'; b += - '7igVzFA2nFA0nFr5V6F6LehVm9C7N6F7bVuzBX78JcvQvTehcm9b6afTSBPjpp8U8wn08lCWlvN'; + '6IV1ZfP0M8/UxRyfsPe7TnrC/87Qm7NzeT27Cbu79rERO3fqZywT9hhnTanPnp9TIza1efufHzN'; b += - 'fHwZvbwZvbwZtvDm7mHN3MPb6YPb7b1lkHFJqvYZBWbtopNrmKTq9ikFZt8by1GvYuzehdn9S5u'; + 'sow26O5Ofo3qyw3CaNfjk4R2ebNJyj97h2kv47zwsy6znfoCg4q5ySoWOth/qSNJ4J7gHmgIKa0'; b += - 'q3dxrt7FuXoXp/Uunra3Up9i6j6mRDI5Je1DgvVlVBedx1RVjm9TTLqwXegNNCNgOgw0l+Cqr/k'; + 'qWUt40x3dtgTBfCmM6VwHJWWVu3JYRc99TADMWSOYtXv0VHW8sFXAGjAh5ZF/rB7+CrlZyft5KD'; b += - 'cXPU1n4urXhm2HoLzcBXKsPcQPA9XdZk5HoJBXJVl8gEZorkUV4HMXw/B83EoC90LSXQ2RwutTk'; + 'hKFWcmhDtZJjGq3kYMSONwolwmrlYKaVnA/+Z1rJSceElZy+AOk/GKPapp61hVvCzThrDOdnxnC'; b += - 'V8alRxCaLz90Y1PU0eMM+XwWHGNm+OBpJip7WYOT/BG4ieT10MHO4sMktlkLL8oqT8GVv++Wn5p'; + 'VYadEXAq3of6GxhLuQXRaIkFjGczPGR6KKpm0J41IbJUoN0ufIhXXXJJwqOBt1CjVhOt615IbUp'; b += - 'Xujih54LzaDMltYfnFS/nFbfmlafnBvVAeRLmuTeZ50P8ubpPzo67T8YFr+eXujhmJaNM15MgxY'; + 'bBzkkfhSwwg3uJi6I83VLxWFQfHW1xG88Wrs4hxq/BVwoO1qkfVH3H//IhbBOBE1HtZ9Me7YjOh'; b += - 'vpmU327LPy8tf97eqEs9uD3HPFfGI8s/Jyk/Zsufl5Z/7t6oW928RWaJeY6Wj5Lyt9nyz03LL4E'; + 'j7j9OJeXrPaKB7WnPQJMC0+kTEtojAyLSqZJZ1WMbcp2LynCkq5uLfCp6fHIQ1hwZzhZF+g3krl'; b += - 'yi4mIyyBLcbR3nQHAqEytJXvXrecpuoyk50iybDhIoAc502RCFxJ6mWCY0EBCyITFTKgjoc6ERU'; + 'bo+km5BtIvTIVE1HNsp7SLENdPr06eJV6rEGNNzS1t9LvFG4atKkdjS9pFFJ6OroZw9Xz+jVbY1'; b += - 'yoIKHMhAEmFNat1+8jRD0TauvW6xGQbKuR0o3pDiqLdTm9kEW4mu6jXjp4iTDpWqedcyFz9ZNxP'; + 'lCpZaiohnKBw5F0THfcyqcChxSdtJ5zZegq/7JuMhqRwfeMotfBHouEu3yngAg2cSkiPycgXX34'; b += - 'A+nBukVTsaOpFf0dzbugyezKDJyvZuuS6irRbbOlqWuFlm7NAHuA8HeJbWBHFji1N4RuIWtmbsh'; + 'KZKbElknaV1uBKCemr4SKd4KoZOzI9frsgeDmGuNJja9rMuLTyAU+t742Cc3ZlnG+UcTvop/J2H'; b += - 'VXMgF3LWeZlCn5cj6kgECn+fg5okPBcEvXE5hXm27v9o7HJ1fwQNhvLL+qOCfLJ48SYAFSu8PXA'; + 'pZkltMRrRqs2PqcNkwn81JLVwn3WWc2vZbXotfy2vVaXrtey5tVr+W16LW8Fr2WN6tey2vRa3lt'; b += - 'x+zKUe2c6aHs4/SNc1cMW2t5LTwgdi9oOzZqCPQLxFNYe4lc9aU2QqvLuI7X3qUNGNFMvkW0TDK'; + 'eq3YaUTv8O2HJHUqf+VlfrvPbK3f/Bo8vqv9awALhSd3PeXyHV8eml5j0ev+rIv5o7tmW8wzdcZ'; b += - 'xlEr8DBEKqe1vBcofXEfV8dDS4jryFCxzZUXc9PC7hqrgpTehiQj1LaDBh1qa4tC4+hYR6HKgGg'; + 'i/tFdZ1vM775ltsX8nbe0L+YpnLZ1Ni+n8HxqbfrP2EH8p91BvKfoIJk2varadNcMEjQYR6VDTa'; b += - 'jv1pkkW6KyzEfvWs2FHrVJmXKskpq/Lr2S/GLzd0ajADb/oZu9r39KnUxjSmMlpcLmWOJVyat/0'; + 'hPcJEvcU1QgiEtm9VpcDzE1hcFJLdqdGw623ta2uhXI3FPfiQeejZHIpQHt0k/fWf7MDxy23M+D'; b += - '3CqPcS2eF8Qo+9ybW1bM3KwScLxyBb5EVWHbfAq6nPCwzJPhffgQ7mrvMU8xNSc9y0tZT+9FiDv'; + 'KFYsPduGYNMnTEGD9x2tjF4/LbZxuCJ22Ydg7/qX2eZ6d/9q8Y5w+Cr3Kp7obFnaGqHyTOGR+6q'; b += - 'CWz3FfSJZvCQKZAOIeUhxHQ9vKBsD40UaHnvCzVFhpMnSfVGNFLxyYkHsb2xRMad8uXD+65UDDB'; + '5GnDWoDrsJLaYFZ80Gd6l6tYjDFjhmZZWkDditSfiFxkaZmuYfeNdNyUFLC7raoWKE9FAjceR5a'; b += - 'KfYpyIcF0j/2VI1rUZQoWd/LBsPo9glNVz7qYe/3CCSF/C0wqK2k1/gYAQhr6hlTQWB70j0r3qz'; + '/ByRA+xPCfZDrXWnoW8ry7TUYyh03KjcY6sOllAUPoC17V0WZ0t38A8L7onlceavxwW1dNO3IbI'; b += - 'YrIo5C37HPteZ1jo1YySanFkv9jOvfwfdN17rH7nt3O/aKneGbZKsXeLKnnVqpsFq6hrzp3PRT2'; + 'JKm6jUcMyqW1485CHzkXPM63ear99pef0OXu5J++Kc9s7gtHQG+4VzZuaZnrWI7AvntLx7Z+YXz'; b += - 'CCWGhQbngNRngWivvHH9RS4h2uH5L/EfGHsqTi+2tLisdStGonJiiqEuTEeiKhOKVwOhX5IOOUD'; + 'tEvXPT/GP/mntjJKRtysnblv7nVHen0X+mCWBbq6XGJU7z3EqImeaqd81V9RaVWVdbd5IKiGowv'; b += - 'YYtJ1lPrDRWIRsNFVSVEWvRivxouTDe5VHTpdGgHxt+f7KlsL4h3fG6euJR3B3C3JVBlAX1oFpx'; + 'It0LGvfTy+lpdHr5y0hLWar8k+v6HHLWRsv4Iqadr5V8i1+7WX79rZsbdDoKRKDseq3MjDVJL6Q'; b += - 'LYoJLW+LAzYo9c0MNlU4mDjeubFeuZDnpjp783noKGGT3Qw1Db/n2bPO4lx04raLQSP08x5Yd3f'; + 'dkg7AwGpsZlPjwVjExUVeXGxe7EihXSi0xkJ5cWhW1ni1qn4TUUkudnmxay6ecVP1Ag+MtA0ZzM'; b += - 'MW5AasLvxWgv+NKC4LRIA5GoESNAqNRGcEtW/ZKN+HgLH7MeVWEDxC/9fYHnRa8slDY6Y1Q0P+Y'; + 'FVDq9yzFUz7oZ1+gdr3rk7em8yrG10qSFNKtwySiQbqSttaju8VYm2+4laT8w8CZ+Lc9SmXqGzF'; b += - 'c/OIluso4UulOH0bPnvo4Qt+y5SbDk/mynvlcX/rqIgJM4mtaDEdB2/JE4Nz1kx/U2qI1FZD0FF'; + 'rTnAMPJAIz9JMeCdhRMeRPRr8c+5619Hn0BsaMYWK8fWGuWSZmMWAfYz+jn0qnsaQuTiuG3rfEU'; b += - 'OdwM3X2BFiz6AwDXu/in1IG0XxEJIjoS/zxMuGY3f83RzXduyyFFWAXYQHieJAAo8ObqZkLRV3j'; + 'eEu6DNnboqRq2G4jnoMBfq+hfus2zLfzeAYWm8DIwrPMNyy4z0tCngOvCXgU8RQ9hhP3+UmB58B'; b += - 'K7rUJwIF2OpgWBQurxfK4QTngJrpMi5a1pEptvpc7WFcS6M9jpKXvY+aFUAGOFICVp2p4PJXICU'; + 'g0gePNj1ylbAFfGt0Pkr68b2UPOfmPZCSpbijpA7m3ZCSZfjiSuqKLHVcUpfjcSX1vCz1lNwFeg'; b += - 'A3hPyG2LO8G5APUyaRACYsT5DGAHbr0ZcSmXMa2QFzyAT89PrYPfOyD9oE5mZWnqR0iEC8+/UFt'; + 'P/SKAJyrYnCVOBVYoVWR9y5Imcpo9Ikr1qrC2IJoCVMxqtCEtREtD1xGgOgAsF0a+xoA4JQUgXS'; b += - 'BnSeEiFlmNZ074c6RW1YJg5/yIpNHIIzUx76rPTz159SP5/8xHT9/PgnnrV+PviJ6fqZqVP6+eg'; + 'HrNkOtFsA2XcJ6UVpXweYbI7/kYX2TRw/WvjhfKe+tkYyxKOuIu0tN1y3vrlateHc9PavFiUtX1'; b += - 'nnqifb7t3un6+895p+/kvLM5nqNpd1siwlBgZJkaFqnoR6OqZ6GjkjfUgb5NFK4LGJ1djtWuTdV'; + 'yAtbIle+Ou6D7or1u9NrXCgjGgbGj0tVIxycH/cjWIU2lbReHLwALqCa9wKJPoY3i4OheCmCF+L'; b += - 'JWmjpN9hq6pBYupyZjAZpytdisj/8OzhEWJFWZINzmQiO1cDkX8sIILe1kAWzEhWtks7z9E9+Dx'; + 'BJW0eDl4EsULzggTxUUlfjIPV8TIEF6L98f5xsEYOdmnetdiulPQlOFgXL0fwErwV9AccDEOv5T'; b += - 'd7R+b+5Pn/1O6q+I0swSZ9klfSHq7eY+j3DZ4XzsEdPqFOFp6mFHrDlS9f0qxmHk0BVUsGE+4y1'; + 'LvRZCBJL0PBxfHMQJpSPogLcTBJXGI4FJJe0Ivwc7dYTm9CAdpHFzoTbn1kTj3QnMve3ls+8Gy2'; b += - '0osqmZ2eIli2aZhU9G2uaKj2It+moGaCuettbk21e9TRrwyjn05rJlmEKeW5CtSoZiTf70GoBFt'; + 'PaTpbHtR/1x1s/i8+OV2+MXxKu2x0PxBdvjF8Uv3B6vjl+8PV4TX7g9Xhev3R4Pxy/ZHl8cX7Q9'; b += - 'c/hwQL+VP0P5jrwiDQr8tF6rPo/B26CYGtUwDWt3tBi3hEFrxCtlo5Gnd64QTql7dL2sgNiKrgi'; + 'viT+te1xGq/fHo/El25Pziew2Cr+voC/F/B3iL8v5O+L+Pti/q7m74X8XcPftSPL3zBy6RuTlSM'; b += - 'Hp14BG38RFW4/xIgD/Q+XVjd34ttt58u6pz6IWrRDC31c3K+d63upn4XEgjSUlfnzXg074Bm6q7'; + 'f/spPAWJ2fgZFdv4l8oDxonilpPzHw5Wd8Sp7ivZ5zAALLZx/+FY5/4LZzvfJ+Z+e/uiP3Z3xBb'; b += - 'ZeBop8b9mHiHUO167fGnAe9stU8jzI+aj6EUYEaBgusgnn8Oi/8f9DQ9dDdwOqjHhLjKmI1Am9X'; + 'Od75Hz9zz+uQfk1kOznV8i5/d98HOfLOyMXzjb+fly/rMfvP1Ouf5Fs51fLOd3vesbd8v1L57t/'; b += - 'X9aPc9blTj2ivj00SQm+KZ/1Cii28Hghcobo7MGHvx76lBHupclhBxoGj4XqkFUWCpp6ForDy2E'; + 'Dw5/9WvfeSOYGe8erbz3XL+Ew//4Licv3C2871y/o4vnv6CvzNeM9v5SM5//+5dx+T515oTl1BF'; b += - 'rl9VC4JDkydDslSfqczj1fCN0idf2NF/3SebLxCjU7BN91aVKH1pTxwToCSTVKLwhZSE1xPvueV'; + '5XBIYQhjQHVg8ErYaQZiTf4wDLvkr8pZ6iRNtkv2SyDf0DN8Bc4w/9uZv21eP8t0H8h0b6Z6sxm'; b += - 'Api2+eY72ecHTB3uE+5QX7G09pwc6dTOQW7OxkYhlK6sHETBboH/mdy2p2LlFu5dZWL38uYddt1'; + 'tu+CGoPIRs7ETZ45z0b+6Bo7YbDQgdKHWT0PrilpqRLt9u0+gcMROG66wXu+lyQbCP7yDSkhDxE'; b += - 'JGI7vNrdF9aWe4IQXcOrtHpEQLX6B1uskj/lecFqbaQb22NneVO2Toyaxb0I2k8ZdwDrAFFVR2K'; + 'vDNZcsrtFt/K4CEYFGEkRWVLWw2gzEKirG1rY9UjAbVSqCzCqE1tVVR7PeRrrnbSIvfdXl0tDAj'; b += - 'yW9b5aFvQ3moAOUhV4LE20Oi27OAwMSeKtSgWvqc4N3fUrWathtIAaMBQLaGVlCxpqL8efyYqVY'; + 'nFZ6Kr9lmfUcbxrIMO+op943xD6IrWq9l1ShQyOjxs9CmeUPrhX7rC5Ev2voP3BK8bysfI2L7ON'; b += - 'QOAzVCkIfqlYQ06gVBKVdfFEIEVaq90JqBfnwnEitIBmY0ArSDyDjB3NU+9RLdH8W8KgoUf7xU+'; + 'K2Tk27JUHZNF1fj4YeMNThC3rfLU6ettGvS4UKPfrAlc4YUvo4UImyxsJLpXE/07jUR0FxW5r6i'; b += - 'Wf2pBTpvW221KrHKv5cxCDlnipIIO5neGlrqCLjd44pEuIyGVf9iueZ8OFlk9dGW8rRqlHpOvdx'; + 'p5lk+iR7QhwrYmikbEDyl5pS++u9u+zU+c6qRBwQfuN/TsMYFXE7OcZHwFWFFkYP41VMLUbNNA1'; b += - 'C0QeRnI+PvJZMGnphe5qMpT4b/HqvppjobHeEnlqgxv9bhhJZG0aQBObsY/9SAONOBNSPUF414d'; + 'n52KetXQhqAg9Cm3CXaRBL8udw9enUjT0pvND/FsABR+BmROHXWBGpFxSenMpoGF7ThmlA+VBFk'; b += - 'iM4V/VbJ372cCnWY6bxsOPGj8FH0aOqjCJXRR5G6gaJpF9Y2hWT2VJQmN/fV+Pa0y6Hin1wYJ92'; + 'k8PEH/KV9Mk6MhjQwUIuR8D4HaPm8hwLUuor7/WApBBvLvabLWQez76nMrxJKZWxzNVH1Cwp4/A'; b += - 'B+mq1P/NUkTZZNtsFTL4VMG2lrvmtvCzLzNVRqlIZk1gbtWzHeWqA5k0npPHahDRep5DG6xTSeN'; + 'KqcXgE4wboKR4gpYvq5wFt8iHwJjs+oYAyRjXzStVKPpzj+ZEplK/c/SKRxM7jdOjb9qnkr61Y/'; b += - 'MKabw2IY3XJqTxphXSeG1CGq9DSKOWTkJ0vVWm7rt8q4YZWc3MoBW+zk+WzNipfcCjhy+wgyEmc'; + 'nmuf2++Vg1wOmeX7kqjyvoA7EKsDojn7q6j4GQQ0AwuFHitHl0jSRONqBiL9ELFidKHABWOp9ok'; b += - 'az6H1fL0I1xxnP27NnSNWoKA5jN8qbfi7wR2IBR63IkvqRVi2hD5afjoZn6ck0+suxa8mGFK7b+'; + 'P51/TVmTYYo5cjFiPmGlJcn7gY8gOs0hCSUwFaA2J2FaA4kLReWX9WEMG8xPHDVANw3mulWx1He'; b += - 'orh8hp/zsRHB5sCljzBazfAWEETrrekV5G5EGPA3cuxiri/cJEsI3IVFBTqkulxRuzdiMY+SGun'; + 'eduBzVuktSGTZJaRVCoPO56wQ7vJp371M+0twFpDLOizK5BeourW0gf+PqUAQ4tNdIFQPriNp0R'; b += - 'jjQrD6n/KV/sAWtfUU1eMNCXsBq/qWC9ZHgdgUhi31t7fNq7OIb98OsPL4UeLnP9Eo8xphdvyA+'; + '8c9w1l3pQE5SQmxQwJ6WjxtxOKIPeZbikc4HcWkXzavJFxkX5aCUOhVLp2v2aOHPJGU4uTIsuog'; b += - 'nzXmoQ+PTYo2wDPf6mzg0UKgcn3vSkHA82a2rngk9wf17+50DyeNV5tsIlpr6rk/858qZp+Z+Ad'; + 'R2dMi+m5BC6yXyNErpcksB8OyR123AOmQgqEq0VQ6XALRagFFq+JrIW2p5YgKYyVJHouLmxvGwi'; b += - 'cVnsnty/M/Ymzv5H/Lzh57JjgQ7+06IWjp78dg7n/VehFgpeXYbC8nUKSzkve98IhbysXdOx0Ke'; + 'ITEhWIV1NB2+mRBn3zGBiLxjZLZZa9Vn7mvxbRDhSbGFS0sqyJ0cOBHAp8nNLmsc2QC5dALlxAu'; b += - 'fue0XfieZ20f+M85UdtW/P/qnCdYxW7/r845x8ipvdnzfCH5jWf9vQ05ruqvC92W97XThvYEKuE'; + 'RDVSPyGwd5BSS5LclESN5UD3ijAlcSgq3zXnaFpsIoFo1b4L6w7j15rFQgP9nn1Hf5Nhu9aBcrB'; b += - 'KSwBCvOldrlwyFhS7blWkB9SqQs0p6MAnrtAy5p7h6i1REceyKnmBLFUYcmtwkTi9gOeMvRFt5O'; + 'hqoNnLoPHzULUQDQpEA/4o75ekfjXiuw49P9w1glf4KEQFrhTiEgJ/ZhTfBjXRNQu6drgqpi6HR'; b += - 'k0Vf25ttXlJ/dA1F+9WR3qoD0kExKLWypbd9fU5aibf0HYyGTXtbdaE8R2gmBrqsxSXk8Zh2OJc'; + 'wYEZaAyRE0G6tcrp1P3suRcyDoQ+94U0RvaoGW0xEvzkVsQTo1Zy7TBEx1F2rnDqK8OdUREKM5M'; b += - 'PnwYI+ko+lf035+J/v8Ttvnd/BxTyUfzukcDE7bYIitU1pnapnJaavAt/fa72gkZZJvr4PDQdyt'; + 'FmEYMyE0uwAkUEcyriPJr4DjWLGIKpyCrnhSginFMRLwLiNhlbTRHragUEL0ERhTkVMQy0bpLAm'; b += - 'hf+3Ne/sNU5O9pBjvWv/w61vjY/cp8Se0O3xuMTJ7XsRoUY8Fdb5Ks2ijKsuNCUdqFAqxg8Rjz4'; + 'iLW14h8lKKI4pyKGAHStxLLmjKurJUQbEQZpTmV8VLAhCtbrSnj2loZwW+ijPKcyviteg0wBrky'; b += - 'gnMHZxTS0OLv4ZfTvVK790HV9TrlEuciaYsVdr5Fy81+zAd6HN21o0eYCTtC7XyPbRkPSi3FV0o'; + 'rq91IPhtNeGZSxm/U+80QoIt44YaT/x3lFGZUxm/Wwe57IlcGa+qVRH8PsqozqmMRj1SH9KsjNf'; b += - 'GyVTd2q7EGXCXcXOLNpexmRyrtRqUNVsqbC5ZqxKdVaZxwTnKzy5tde/OUh6oRbGCZb7BkDu5ye'; + 'Uagho+VGbUxmb6t2S71SujNfVOhH8IcronFMZf1Sfx/myWca4W+tC+HoXpXTNqZSb3ToQJiZyxU'; b += - 'Jdj75ryNNCgH2x4z9vad4t1dUSbD/obg91AmQj9TfU/1okJU6ZyeaTH/lMzYRTwHFX6VryZOZ0l'; + 'y4tQjhm1hMNKdibnXrPUZWs8XscWvdCN/OYrrnVMw73PoCg4Zii9nr1uYhfDeLmTenYu5w6wstP'; b += - '4BZgCbTUpMScTug4+RLhrxmf69Zuj6ZQOGAMErMUqBZW6HsQsSpcBtEQo0tdDs2NatZRXINZAPv'; + 'IspZp9bm4/w/Sxm/pyK+YBbX2QRXUwxB9xaD8I/ZTE9cyrmQ26914LAmGIm3doChB9jMQvmVMz/'; b += - 'vth6S5kV16zYuZB60xfusv6Qe60JuFnOgXghgGbzLbOtO7rlRgXlwBrAAXswkr9c6lzsvKjIPsP'; + 'cOuLFdAlK+agW1uI8JMsZuGcivmUW19ixGdbzJRbW4TwEItZNKdiHnLrfQpykhVzxK31Ivw8i+m'; b += - '/9MOjRK1e9HMBJEa1jogEJT0iZ5+VNZKKFeKKkDubtZKJFIE0ldWmaOiqpi/G6kvr8NPWMPAViB'; + 'dUzF/7dJd+liumGNubTHCL7OYxXMq5m9cumofzxVz3K0tQfg1FrNkTsX8vUs/7OlcMdNurQ/ht1'; b += - 'P9IoAnqokoSxoNERlZie+hYSngQfUV6pqob7UF0AVRy0WklqDXSa1OvQXcAkSMI/xsrqkoIL06B'; + 'hM35yK+bZLz+wTuWJOuLV+hN9jMf1zKub7Lny1qdGwxZx0a0sR/guLWTqnYn7owoEbGtysmFNub'; b += - 'pDesR6oQiswSzpLa6hI+13q/Og/zi66ncP+rzFz5bl3sjHlR1XTTp1OPfLc+uetVZnbUMPPp36l'; + 'RnCf2cxy+ZUzE/ceqJoNXaNsoNzjmeWGq/3ah4tkXJFmb2WXV5ltkIlhm0oj597mYk8NUVd3ogT'; b += - 'XPtgCufNVph+iLLbvTq91ocxoaMOelKaGuDjfDCBYjj6VtD5cvAAnRVr2ApBz+LK4WGEWInghXl'; + 'jS1rxHWNLW3Escb6G/FyjfU14mUaW9KIl2pscSPu15isQvo0tqgRL9HYwka8WGMLGnGvxnoa8SK'; b += - 'zSZuHiRTgy0LLwHPaopM/HxUqzCMGF6H98f1ysghxMy66GFEvSF+BijVmM4CX4KhgPuBiSi8ddl'; + 'NzW/ECzU2rxEv0Fh3I+7RmCyM5musqxHP01hnI+7WWK0RRxqrNuIujVUacafGOhpxTWPlRlzVmC'; b += - 'r1IokclvR8XFxuDQDqSRjJzcXGJKSC4FESm3oKDvMOSPQ8XsQku9Mbd5rDJfdDcx15sknGwyCTj'; + 'z1KhorNuIOjRWMG4qXhrLw1ljQAKAcIdtkAa4xeQWhxrDHV11eUQ9+6mm0lavLTFpPLm2pSevPp'; b += - 'ZKFJxtGASceZOd8s22JeYJZvMSvMBVvMi8wLt5iV5sVbzCpz4RazxqzeYobMS7aYi81FW8wl5r9'; + 'fWbtIFcWp9JW5lLW2LSVufSFpu0i3NpvSbtslzaIpN2dS5toUm7Lpe2wKS9IpfWY9JemUubb9Ju'; b += - 'tMbFZu8UMm0u3ROcTjWc5f1/A3wv4u4K/L+Tvi/j7Yv6u5O+F/F3F39XDi98wfOkbo2XDH/3Gz4'; + 'zKXNM2lbcmndJm1bLi0yabvcXGKXSdydT+w0ibfnE2sm8c58YtUk3pNPrJjEe/OJHSbx/nxi2SQ'; b += - 'D8c36K33P+JfKCZp5ZJin/8dXaNrM8yaJiGQtAtQj5X32z5L9guvx+yf/Z2Y//xN1mLpguv1fy9'; + '+mE8smcTD+cSiSTyaTyyYxEfyiaFJfDSfGJjEx/KJvkl8PJ/omcQn8omuSXwyl0imCK9hjGQDWW'; b += - '5x86JPy6BXT5S+Q/N0ffOj+4jbzwunyZ0v+Zz648065/0XT5c+X/O3v/tYH5P4XT5c/S/IffuRj'; + 'urtC29Vg7OpwkBumtwgbPiIguNFciyWOTf5BzdSSJUBvlekgFNIeLGEZq/JJwzAu4rIcfzYNIag'; b += - 'dwTbzMrp8nsk/1Nf/cfjkn/hdPl9kn/Hl89+yd9mVk2XH0r+339g+4S8/2qbcQklVg6nFKYwJlQ'; + 'KgG0nndmilg4A8oHKIM2XM0JoPteRoLgVfOGDbCU8UIZDHKS8Z7YIkr0tu3W4XUFouH/10k1NuL'; b += - 'Vk1fCLjsRG/KHadgtf3WuUqeoa1xOdgLZQ8+xC5xj/U9W/o51/QmW+0CWe7vU27NpPRS3Xt0OWF'; + 'XnVHAAl1yu7K0vZ2JIP6Hckgd0cycF7GtGVKUN8r4m9JDTQBsFUvtCDtpk564FOHIOV3B9xJh1c'; b += - 'J5NDHtirtbxgnfCsrqpJOC9PgKW/MKCXb9yzihk7z49Gl62fUo4KMrTYDOxEJEAe4oXnEFyaekl'; + 'z7GK9DUkIxhpFGQ9rijUJHS80US600nIMtW0TnVg34C9XlEXpyjnKkOhFxnsmDqPnIwpceTjNnT'; b += - 'qyGuztryN+vHg5J2mhbwCgPOZfK1ZeJ3MRqbtDgMugmszaLq3Mtb7u0BZwFL/aHnM3QKgN+kzds'; + '5dJHgkY9f0JWF0LmXDUiP6hq9692+o0DuQoyApc3M8mq8Z/8RXxqSi8qmQP6kEab0Dmt/AXK12T'; b += - 'oEnqQed01KiJl8dW6LOBFOWp5RrQF8gfjxCDB+QiXNoTEtOzpzt+7Zg9ITOpTVz4Y9ein9oTG4Q'; + '9U11DiqMSuR/y+nc06hQWKfUFVgcSP6tm+0foynb4HbNe2c09unDjnpXzq0+EofxcGDhw4ZyDd8'; b += - 'uzkfiQoKuVW6FP/WSAxdFP3U6YEz1fi+OriBuwE99ykhjC3oEiy86jQzfRooEpvTqRB5AbipfV+'; + 'NKQebJuO1rYxQJS0SPHBjuikAELk04978ujl6Pw1Xn+TGbCDFlnyNYV79zzqEvGooZJD0WW0iiM'; b += - 'ULoxIIk6izh4qCotJZ+M4pQHztqg1ZXyu+823Chn9Dv7VFOSJB7aoinGeFdHxqIAtmTYkjoL4Q3'; + '+qnysFfe/+ag92aNGaPHYPouar3txWZ+1H5vEhejPPXAqohVCaXHz7P1o/XRCn92CBBO5DS+VPu'; b += - '0dS66ooJ01I0b94YqaYRPHRO+QJG2rhI0Hni9essmPtT7xUybCYHDvi064TcnR09LA1IyZm1CZ5'; + '4uzNMDQKoroih9Oi/DVuyXp8jdE6QvAYh6wDkFeOmIrSZKOuaU9NjfWCdPmMOLECpBv8iREgyIK'; b += - '6/h1SRoE4jiPuFUTOIAKL2tYx9OQfkR66BX+C7Vt9Dgapa9sqAhfiAl6nS/ijKtiMbfUE6DM8n9'; + 'CjBynqUHpHSos97dT89amIeLwfurjQfYfUUwy96W0AzCBjocTEEOwaaIt/v6fbJpEcjbWBnOnFE'; b += - 'xO+/xWVK1ZcAywm6bGkruCN1TpzaJxD3AQZgpaJeVVCnUnndBBHPyoUTBpqCe2x9PEu6yHZL4FH'; + 'XE8n7lrr70XYudbfg7C21p9AWFjjEelziptQ3/KfpU0oY7plN6Hov/B0tqI8bkCVzFaUEo2oppF'; b += - 'NIt8M9NQUrMF8+BIvzI7AmUs/iqo6lxk54c0r1Oe5HCR1F94t9cv8+IlH5quOFwwaTeBXva3Hpe'; + '4r1ESpHt3T8m0Gh30jTtzehcS5ksCe2CQTuK4G8eeqqwVkjNQKyJfkatXN1Kj+eo3ILUuMAchVk'; b += - 'KvH03hYkEUUn12f4B2BMb42cVYO97fhn6l4KCpaD+eXWamUOi6/i+ZVfUACgpYYtD2XQtl1qTP/'; + '2/VX11XSBqr4RpCl40/EWnyOHkUsejqLQuX/4QY/BWGOSojP7NpUqL7ge66kxdJQZx9CugJl3ZF'; b += - '9bKFWjVVx2pyWUWtSfVsGH9837hwo2pmFp/ExaMftraL/9U9tfiNn8p1z2Fc3Huf7Z4fu7q8Kxo'; + '8GjWVTq6LoMDW72x+hNldsJs19T5nKzsszG2L3Zxlj2ccl2xH7sojkNBkeQxwPOQ5JvDPLMqTJX'; b += - 'Ajdwxu8P/cPVAiNbwQG/wQwV3cqnjSdjeoBW+habuKyO1eI+wexBWyL+uv8m0QYNRjphBzLU+OH'; + 'vgCw4WH6F84G+f2us2FTza2MwOCI+nl6LI/ILDAiPXB7Uhxx/q9g/YhXLxAf7lOf1u0Q/Ntxi+S'; b += - '0CKsgPoBEL4DmLkLcQ7KkIkYuk9QnlXkME6xLnD1MtnnJfIhfQeZS323bQ4swnZiHziamm97WTr'; + 'Fl7T6x6VOtMtVSIiaqx/EgPrcEWCNtGbcZzM6MzPCFwUoG0X6UuMLLV17rU+3L35vfuRalxrlri'; b += - 'hds9W7RtU/NSfta4GOxKsrqGsSvd/Us7p//etziFJZb8RxARPG80wpHzpHrLnPAYar/XXicPCtk'; + 'EDhlpOkYZCFaME901C0yNlxPsKPgxSBMAIr2ykkz88BGvF1yzRFb56FRhWpRV+nBSw98GhytRAq'; b += - 'AQEcwvd5iUc52huY8nZqVNM9nSnJRTl2aon3TnvYDbMlqcPJ1ZHAUlhhR1zC2C1qhc0yXYJKbbL'; + 'uGZmRMGdQpnoT2uaro+fWEKsYsZhgwlUvFUvsZAYKZ4FKRVAmCgKQwpnWu8kgxf2Z7Th5wmYY8l'; b += - 'KYUt61HWL4KvJUqtsVvnqBWBK55ApLb0GfKqq4CgbW5bkdaa0oWVVVVL2WnE/NRVeAj16Xd6wDg'; + 'ebnduNLn37Taa4WWNjdoXKMfCN2LkdnzZdYtEh+NElBa1cUlVA/2QOH0udsl3wHd+HAucrkvcZG'; b += - '5S1m2Qxix6jfzMfg2iVVQbWTitinATGOEAKgSwSnnDug3gqBeAo55DjhrNiPyWBW1BTS5rclETT'; + 'rTDnqRUl87oZB5/AMpevebyiCfVJOTxMyHbtbnKmDLZigjc9mWjGw/SgCHs8Wsz2/LuJ8+G+ebj'; b += - '+cDPijAnQQvq/2dO0VGk57mqUDGtQKZZ0Me5z9leZz3JPI4K7CzMpnXJKKXg/1ec6t/i3Wvq6z4'; + 'KUODyixzydgLRGZqGofK+mK3y0ZlFoZE4oDjhk5eXW3qMeTHrgCFjCVh3jERCQepUhGM6qNk8Vb'; b += - 'YEsFLkIPwSwtQR8A2k6gm7hjd+/wp247et9T/cNcJVy7hIDo4Pkh0CTuBk3wz5b+o/4MaYK6gq9'; + '31A46WEmPtqA2UzBPgqrdS4g+2QQSlkSB5VbjxZtNr39aOwoYzGDRgwtjrkYIZCHYZqaCyYnbFp'; b += - 'UOTFDbQESwgaDHlUMmEkVs+gWvi+rok8FiPMJBTejKhYALJdrl63CQFC43GmiCn9GVUSEZB3Mqh'; + 'sYe0GmQGXBpwhVBKH71TZrzVas7gpasNtJACCvG9FSgMX4+fa/WiK9Uzdj2V3tBslmEQsQuLuBM'; b += - 'iUlViCpagimFEVz6eu9IqsihXQuVnuvBBVFGZUxYsA8EsHkbaKNY0igpegiuKMqhgCODB9Ttoq1'; + '+93huwM+rog8z+wlMru4K/6RPzfDeAjb7gaM6YVEdOuQDY8qKvohNxSsAsngBzcjd9FYCAHroAA'; b += - 'jYImROjitKMqhgGsLD6sbR1XNUoI7gadZRnVMdLgUqszjFtHdc3Kgh+A3VUZlTHbzYbQCvI1XFj'; + 'Q0BtvUBDAAHRToDzoVZnsXs3U10i870d+w2GCNc5vP4p03+1YJm074jeg9SIYawE9EmP8oVknuF'; b += - 'o4rgt1UXaiZ1/E6zy7JXSR03NZjxP1FHbUZ1/G4TvixP5Op4ZaOO4PdRR31GdbSaoZqNpnW8utF'; + 'dB0A2dQc1rqCldmeP+ErxfaJ0z3FLTZ38bGnPDT4gZrbqotptradE+GZ8QmmPABQ0xKiCV8EUD6'; b += - 'AQBWaxozqWN/skXJncnW8ttGF4A9RR9eM6vij5iyul1kdo26jG+HrXNTSPaNabnWbAJIYy1Uz5j'; + '4uIskqH0b3dkLBHYLkzf9p4pJ4NDkEve+J7ceXmXp+/IsUyg7e6BdXoHJ859/i6dGGgbEZ79HeJ'; b += - 'ZChG9iNeGMqnmz2+y1XG5SzQ630YPwbaymZ0bVvN1tzrFAJ0k1u9zGLIS3s5pZM6rmDrc5N0Fes'; + 'pytJLWt7hHhJy7i1E99q36OXeoj4e3uJer/kWb9DC8BKHrqj5P/s7rJ/hFe4p2Fd4l3mF+4r5Vx'; b += - 'dXsdhuzEf4pq5k9o2re7zbnJWAttpp9bqMX4YdZTe+MqvmI2+xL8F1sNfvdxhyEf8Zq5syomj93'; + 'hmr1ByWraR2V/htBk5b53tFaLBTE+d5RWysw423+FKfYeDz/QdounO+A6DinrePy5HEwqjq9QkJ'; b += - 'm/MVqyWt5oDbmIvwflYzd0bVPOA2F1jBQ1LNuNuYh/AQq5k3o2oedJv9il+SVnPEbfQh/AKr6Zt'; + 'FHlVymWChzPV2BRI/3n/LFU4MQdrRWYzlcADftGfNGW6zwQrMnunw1Pusvh0c41N+/XHtWb3omp'; b += - 'RNV90aSE9katmwm3MR/g1VjN/RtX8pUvr7OO5ao67jQUIH2E1C2ZUzV+7NL2ezFUz6Tb6EX6H1f'; + '5Fw7lZw7cyrx2h9hXfMRLtZHWPfcPoJ2Tn6c4HdqH2G1PsLQUz5CRadcKYPzsIaTRUBhs0zpPOx'; b += - 'TPqJrvujTGPpGr5oTbGED4A1YzMKNq/t6FeTZlQUk1p9zGQoQ/YjULZ1SNZEAudSZXzRm3sQjhv'; + 'oHy3K9PZuAuZKb0tPSDS6E5cXV8jNOjC/D9UB9T7YiE77ZBXXsBchBHaVGT1d4xVlAIhMUcS3aS'; b += - '7GaRTOq5t/dZqRANAmNspVrjmdJjddB3LO4vSp7SrXdq01XqcRwgOdxu5eVyFOd3sUtE2lsUcs0'; + 'h1SbA61Ij+wefKGQv57DNeVAOEdxovnczXmgtU2pVEWi5FLyasy2yc4iuCHSoxhipNudlGfJAUc'; b += - 'NbawZYzGBlpmscb6W2aRxha0zEKNzW+ZAY0JFdKvsXkts0Bjc1tmvsbmtEyfxnpbZp7GZrfMXI3'; + 'NLSpDjQlDgy3CpQhoYkYScM+SqnlLqggIc3Ns6nMcZV5hejyAeqAqQ+w1/h9651mgIAlCK+6k0y'; b += - 'Napk5GutpmV6NCWE0W2PdLTNLY10t06OxRsuEGqu3TLfGai3TpbFqyzQ0VmmZusaE1KtprNQyVY'; + '1QjkyuwYkCvSXnpcMZ66XcZ3GoYjqxyjj9RFgtRDLTdgqvB3spTdZv1L8CH3PwVvaJUWlP82Xf4'; b += - '0VrT2PFxeE8NZY0AISGXGxhQDXmHyCgsZwOlpfXFOjfcpptJfri2xaby5toU0byKUN2LQlubR+m'; + 'HsE0oAeTnAY9LnYxF/r/DCSJ1foMeofd7WA2Gl+078r9u+dHRb+2429Ddl1J/S3rqsKxZzvexSJ'; b += - '7Ysl7bApq3Mpc23aRfn0vps2mW5tHk27dpc2lybdkMubY5Ne3kurdemvSKXNtum3ZxLm2XTNubS'; + 'MLrtQF092K7yuxDyS20JM7fje7wcnTvzuG9ik2aeiLloZeWyuMwzssg31F3zcXKNNG/5NJYYayA'; b += - 'emza5lxaaNO2u7nEbpt4Wz6xyybuzCc2bOKd+cS6TdyTT6zZxLvziVWbeG8+sWITD+YTyzbxcD6'; + 'srU9EOfecjhxlrOJXvY6VUn3h6VLBbr1Bep0pisow/KZdE9rkIF9NK7Ql7cFcYAH8yTqbw2gh3A'; b += - 'xZBOP5hOLNvFYPrFgEx/NJwY28bF8om8TT+YTPZt4Op/o2sTHc4kEpvdaVts4EFpbuW0ZtXJxPp'; + 'qEl9deAai/yLL1fSlv40GKsBUsJBTfbA7dolHmDem7yiZx+7Z+bZTAg56xMexRN2/xd/wq+6med'; b += - 'UvMFyDC5ylFyWoV4GQxcL/Rs/RMziiY9C9RLREUwiycYTC4ohrRsATOZR4LnSDA/jFAHfeTBQ8M'; + 'ToLpJ3C9Yz9AD9w7HUUCwEaw9n1BkvDpd4dXykeCISsdEqSFRx3wVlGF2tZOZS3pNlW5slNlY4P'; b += - 'PGXKJqoTNnnaEwm23M1VgDQNWNQIYgdNbYIdIgL78ZngMQV7u277Uxqm67I/y4c6s6SV98agEMd'; + 'fpMw0CH584cr61PSLaXqoAHZayqqR0iuqq47SkVUSAtPS88mBfcVVFMB1aYyjMMNE3iaTt0P4n+'; b += - 'T86zqcQ8nGLEDqdYrcMpqitj2jNlHHwoVGxZ1TaBo9UstkG0xk687/5D4PJ7AuogQCYPBWPviqg'; + 'j2ulN8C75DM7y56L540TE86Bnn6YEjSDmhj0Wj4CEZ/Ru/OcReT1/qcnV5o7PSm/tSSD7DQ1yVu'; b += - 'ABxkKT12gUD0A5HkBkigXUmm5htg2g7VV1YXLFUBRhnLOQ0H4ImuGZArheYgCkBzWh2fPlngMwN'; + 'xkFTUkqE7JgECFHzuFfNUrNvzSmd+WWFGp7lsb79lI/1vjM81ugZH6tpXxca+7rb/+y5eqx/Kqo'; b += - 'h1/VEhfB55w3Ir/KKvcvcvKtO7JOfxoEK1gnC2Fnynrw5aSuq+ge5ayuDWq5D8BvZuVaerr6LEU'; + 'EOGUoEmSR9aBI7S2yBRSinb7nuESZ8TYoV3Eh9a+gpxlJjgspHe99Cl1mOW35ZbME5GQnjB7xQS'; b += - 'VVcCf5/Oa2cii36ESmoCMy0wq/4VurHePzHsF+nwni88zOHnPhzDhUJ40dxcXD8kEV2w6Yh7WDf'; + 'AsElckS8xSBlWfMfgZcj/liZ90qRI96DascdKxis4LBfq+hKCs27EZnM9SGgigxwO8kNCW56X7s'; b += - 'VNv7xmJMUpfHhzM2JwbGId9+1JNXr4Tnr/IGMkdkVSr6yW4KO/lZlCXiVQvqi4a2t3Vc8VVls1b'; + 'IS3S0Q644T0e1FiChjBghbQo39LSP+fPW4jOoJRNEUmMVlyRr+pc8rxkkr+x0rUBqB5pqAWkfBI'; b += - 'A+OxVe9NXDdHjJnkXtQPwTEXfdQDH68VwvwcXbuiFgvS4ffcB9H48pu+eoMsSoA0flWABLvT8A2'; + 'KXGjT3jNdhtMXV1oxsy3MqFDVLrnTxU4jzUlfz257KODVOaMBzVqoScC6HLjgN7NFGZ9LGFoca2'; b += - 'BxqzeHQM+Jgnj863pOFMQXA3074JqCox7EVhJeG2tKvO9YYi0LuwJhQiUYED5SgiXCCkqwrBnGu'; + '22KwW1y8yKOXhoYJ3VHOVsYcGKu8fK3ExRH0StjPkr6PBykyiMl9hub3UcCggRb88it6tR828gc'; b += - '6W28NNe04/32JjH2wHYKt1H9DyF5wv/nVYHdeh9khiCBggVlO/19PhEXhWq24DFdExIyE7HdK/2'; + '7Bl+JnxemUe9wsvR4x66djJWWRTXyOelzLtjoOoiIoc9/rmncEQ3czMKTtuRJxOV3vRrOk42WCK'; b += - 'dyHsWu3vQNhY7Y8hLK7yCOI5zuO77/jP0CGUVXpLDqFoCPJUjqI8HkCV7VGUt1XPbSBp9HkyFQX'; + 'Tl6m10E8ZPFJFmh8arWSFPhZUVPImFPuZGOH5iiFmychoQT5ehdro6RotWEQEFyrEQNCWglyR4D'; b += - 'xgR3jsqyGH/KtXXj8aSTMlgSOQFlMcd2Da09F1oq2Gaj+la+QxyutOwBXBoO6/3Bxjge2auefqN'; + 'h99yE8+ZVDH7cgnrkGNvMwFl7Cmv9YfQPTrIIyTv4bOYpwtN1kMXXJVutA83mQwaGpnWiMs3dw9'; b += - 'EzE5ZBqQcf2o0f2zFOlzEuZTyQLbuUs8CpjMspC91czMrwtEuRFu04lOqMXfU74uguoMpw6Y7gU'; + 'Plcmbbq+D7ug7QVxCX47LY+alBtLYFe2MbHYZAWYZispI00hl7HSIpk8nEd+XzYYFeGTlhvuknw'; b += - 'aEsdpQuQ4fb8zGapeVOwpLdlKXctC57MHYwPRhLN5f0ROwnLrrzFp2HQd5LSx7L+uog76hR1soX'; + '33o94zHu5a9dxw14TmcP/K7MO92VQ6UnW4T3kc7ke8bLifrLUO9++cYbhn43tP2GDmswz3P28d7'; b += - 'AG+6EH/WuUJ+/865Yn3DrQ1DVYvyeZp+D8sqMCwjcEtUGnb+r2DtsNcsEgbugU/rcQj+bX29lIW'; + 'lJw9PnW4f5bz9pwf+wTv0TDfdefPXfD/duzDvf3nXW4jz6D4f7IA09nuN/1LAz3YxU73D+jw735'; b += - '5uRoaxk64zVVsjYarG2JAee4w4EXaC96ZFHSmFoRRz1K/TPhcGOBAIlyUjBr3+yU4uUhsk9Q5DV'; + 'yQIVqhu9145yRqZCRnS4fzA/3M11GO7TTz3cT9ZmDnezTOBw34VVwhOfaA73Sd9gDwQ5Zr8dyqj'; b += - '0nqM4Z/ReoYFQ6aRDObXREyoz31RUK0PSXSbisFY/+6BD0PF+9QCl8tTWwTlyW+iYq4uyDU5Wpg'; + 'o6OqSi+qe2UjTj3/qkOEHBxffarb/UAtX+lA7x3ipoU5AKXQZr9sMZ+GrFAiKgFHg0gvS4589RO'; b += - 'TTDsysnVBEVF0RHXN0OfRoVFY2LFYauLaThsezG4Uk/InsUxHUiiaArrA8s15p3WfdIj/34kJP5'; + '48eq3caQ8CcpCQP5wrT7Unp+Or9qZq9HU/YzJvrenhrKZ9WlEHWzCt9b24tb6WYK/ypeYuOn0Vu'; b += - 'B7GuWGo7LSZB/kurplsh8dIZtK7TDULPYmT1fFliX4pNo8zjc9oKFRQKIFAcdp52yT6gBx/ORS7'; + 'GinTtpplSxKiuiDsexdPuyUDSQTVnnypu5xlTSzVHe59y4ShbplG4nChUQRYifUVdci+v/A7rnG'; b += - 'PJS5yPaXxaI5KYOeWhTnxrAfJXY8q9HlUic8SaxunW1ypg41YoK3xa1yzeO+oQobcmQTsO08XcT'; + '+TeTKNycROHOkCjcnEThtkoUuulZ+aKRKOJsd9t4VyTuVS343UBbwnoVk83GPsLSAb87MPjdrmF'; b += - '084ekhQ5nTI/wra4SqLbKEorqXtEPhXVaXPrUB5HznMV0Io0+7kzFhTXpkbK4MtuoGXNDNyU3PN'; + '89xW+yFf8bj+P3+0b/G4/Vg9/xe/2+ZBc+ip+t5vhd2caoSZ+t6tsqv4M/G71VfgFP87fPNuPc6'; b += - 'YKoiMwErtwB4elID9fAWxboQpOArcudcuzCgSesBJEfG3Rfqr2uFrnKUZE89Jf6faudbD0Fjekr'; + 'j5OIGSLgNOVyq1kQ9DpYunwOrkY5cnIbKZPIlvniQ0TxLok2TA6u5swOrsnHiSvzLA6iHFxyZwv'; b += - 'GZpSmtim02tAAchg1euatSDrtjZ9OIdb7lj2Tvtc2qEHYTj5+StZGTYnis4l9MwDsNLTxVe9l8W'; + 'N22UZ87lfn4NOo65je55w12cOWfm48AqOBH/vIh/TGY8FAU8TUV4KvipHcCXAA/2OpXLxt8wr2r'; b += - 'L/wBHPWWAT3zS48hJfYD+T2jjxs6v0+zmXg+Tq3DZ7iP/8PofH/3O1g9YZ6Xl2N8Yn3lIhsD5Ps'; + 'yD9LFVWYHue+VBUgMD88RJysEN458BPyob06bMr3tEwcGncnPUiPagZ4+6hTStTtOupl5MD/xZw'; b += - 'a83HCVjr8PKCqixN4fJZWe2vq76QNOnf3ddeifUuZEtJQ4EdXeKpjCHYn/UZ6KlfR7T1pyOt3U9'; + '3tKl6IENJMtmyU3dUqlPR2qFvxSJ0V6A/Ouw6RijnDrfRm+VFcxgUujT2sNJ4oSmN07SC9iAmi0'; b += - 'LiHvGn8wMcedCinzJkKDjl9alzWqwv1fCXBQ+XBaUl1VG4Ld7tqwtpHNV/5cFdaTVD4DYrls9EI'; + 'fSVK6TCFyRqhhu0DrkVAV6CHem2G2cF4mLMeOMa8+0ieWWaPptiyzGM3w9SsaAwe5nleIS9rPKm'; b += - 'F2fEqjQO+yOUn3+5gqcPxMG6BkydHbRkEuaALhGV8laONc09/M6puema/oRv+CjesOc/+Rs+7KY'; + 'DcZj8AYso7GMnY/i+nVpAOGDYyXwOKxPi7Z/Swmcj/rao1zP+vKmBx72M8a77D7WXuK8nWOPhHM'; b += - 'q+IGyenhesJahBwx8zqOARvA4pf+eIjY1SSypIgl9yKlbBC7CkRqMKt2BU+zTvKes99RpbMItkB'; + 'dAkZ9PYUzbSPvYgi1gI36MHtRTDTs69ez8xB6qll04lsS8wYq8ORXw6wS4VhWeZ+mMLspZ1GA9y'; b += - 'X+FQ3TAKTvE9/IT45yiQKlHm9T1xFldWukOuNOW1rN+ry1i9E3XKW4JgvJ2TJWmPBrxB91eJwa/'; + 'j6mdsw0zelVMvFxrpJ5rHVBp1ZqYHQc5F1VPS8A7l31Kacu6zBbptKkvbu1rV1nvvat0qOHBXq5'; b += - 'h7hBs7Ax1tqHRPeQYfC8SnH4nUeKBDenPZFnuJyhvfSEnnUxeK1Nqf2ULBqDyc/mkA2s9LXRm7q'; + 'p7X9t947PcV90UovsDVmDQe42um1+l27LjLtw6Br3XcetGlv1xJduxQ+Njhc1qHgnMnt2eou727'; b += - 'EaOs4NHpNaGiw+y6T7V87DXbGv4v2AtNFp7gtY496Wu95xyvNXLO18rUFQpWXeHw/c/Wa/2wpBv'; + 'C3SBWKSOyb7itjnznbtamv9A76Wp3pwFIXu8Qe4Ul5cbcT/zZpvWEpppaOb2Fqwcg2lj4D8Ir2n'; b += - 'quAWWdpc7B4UIajv7BH/Z5XuOS/QD7wr1NFeM/Stp8kAXdcWY1o0+9zDrkSXxDpYmoCQHYfigD/'; + '2EhvNxtJwHDItql5m6nA7L3ImvtIYO3++SAuKEPijrhst+LctHhFLbC9CtBR5oHq9Mg5WkqAPuW'; b += - 'dvsoGF3/RxYG8BflNPOtbJjnr53O+SwzzgtpKz3omargtFKmEX4Dpm6wZ47JPa4L5vNMAHKST1e'; + 'ukA7ER7udRd0p9580D5b+FYliHy41d6vcC5wvli5y/oIs6MPOYY/18na72gH5IHI/ruKyukV/je'; b += - 'fHuIk7arWMYaoUXqICtcN7QKYJ7Ho+K1gUqou9wW+FhzKJxevQQVjX8DV1TjpeVkJook7hC94yD'; + 'STUFdH/+mpRQqqcrLMbrq3yB20ciOzBtBd0nIiT7wH4s60XFrbL1f/oRbPVh70pss17jXEjbR75'; b += - 'ypTwiPCo4Ue9rN8GY1eV/AzLLYuomR8f/KgCOrGl9D5KT6ThJ0kbjwYNMvVjAVhjExB/jLSBDy8'; + 'v7PZNsG08H3tPaqKTk2z8Ve1T1brzI+iKjPdJl7UMRLS0+UjSWCUT674OeFUFE2n42TZd0bWp7t'; b += - 'xVGBT1TY2i1qSMinl5SHRcJQRSL14BUo+TZTx3ZU8h3RI/qotNuZRNObznro99e2CCQt21z6tV7'; + 'DbFivVKxt7+ndVfnQFvF3t9W8Xe/J7erI60YvcHXGi8/2/grzbH7283O9u5/r+3+Qa770z/EdP9'; b += - 'XmYDXOj+Kn1emSiw7BY46VlSWYKNesp1fOetzLvjoOlw7gje9w7TeCxqWdGNL3pERcLte3oVvi0'; + 'su7NmOvCM7r8l3/0hXh0JZu3+uGf6oG+7/y7b/UBn19L9D/h6ESAuJv2Wjq/dDd1ftzGnAnT/Qq'; b += - 'QpBPhx9zHaCS62SblGVROg/jOI93PCHSNhRacV3f2ScTMUo9TLGKuFOV+dIKSEsQW9OlElwwr0T'; + '7739LS/R8tt3X/o4Ht/lN2+L2NHfOb5Zbu/43yRc5bitr9dxe1+x82PoBTQa77Z3WLvvDcdv/1o'; b += - 'cfaBGlbJEDEJqr87l7AGJXZlCahjR2W1vwLDo0qPC/Id7g7o7jz1PuTCZ5QbvgUP2Q9dIQ4wjbj'; + '1n3v0x72fqff/cfZ7XY67LuP/um5s+n+xcrza8jX8tCUxPLsik1+Uz+O9PZSI+2fZf+8q7cndG7'; b += - '8cn/CrAq9Xib3gRT/WmDKGMumss5+1EA6u6aDkd0uMwDY9aQmvaXSNdKYZDlE18ePIn40XQ2LMA'; + 'v2HuvHCud55QdrmsGVbrzYee8d6ua/Z2n6IZslGp+/gYvmFrN5OlRM3QMleN1ZWHLp09TlDJ+ug'; b += - '3ITff9fjrdj3pPe7pr03PTXROy6f7Q9NM96yqdqTrdxz1O9yNeOt1PNdqn+9fOMd3T+b2j0GLhJ'; + 'et9UAwDX9s8UAoPbsGAAU1QCADL9NG4D2tvZzbX3AsEBmjX2dNva1z7SxD/hPt7Ep/RwJztDYU8'; b += - '5ju+9qnu1QcfrZ9uv/mMzbdd97/KzTd773/2Zvux6ad7u95wuk+8jSm+/YDT2W6jz0D032ilkz3'; + 'EZG9ttNrZcnm9sTHlsbBB629a+Wlv7yp9Pa1d0Falz/Akb0dUWzo13qAGw1BBb+CWYBTBcZ46xK'; b += - 'j+p0z7YsuCRzwzcls5yR8QIjOt135Ke7vQ/T/ctPPt1PNaZOd0smcLrfi/ie+7Ppvt+3FsIJYwg'; + 'x19H/v0YJFWO8MSNr3hTG/M96dc4iRbnW+iwFuwpX2pQfOiEiJaa6C4gGyMM1NUc2LdjjPHwuY1'; b += - '7z63W3atSl+p0tc2vq3W8evz+xK/r1+lR2OND8l5UV2ReVFXKU26pTnUMkchrN8Bq7RoFKCGQSe'; + '0wVu4ssRzpwsUtXGM+PlBu3HkL6nQ+J6jwpM2QO9Q7Vhy69BQ2hK75S4lt1FOBMtmb7XL809wT4'; b += - 'xtjIL4+F8Im6RQKUF8Z3IRELmdfjxJeap6Hi2wdDTVwyNqxzm1pYfTlg5oQ+nzuL29F7e3t8ZPL'; + '1L2atUZuLTD31CV5s6oYnuEhrY57gxVqL5jU1+wQv1nvyCXjNPH0CXtGDJ2D+hfoEzM1GZ94+fQ'; b += - 'p3zlexQgqqfJNrJ4jvtnEVZYRMwl73Lh5yKhQoBlSdfSjgKOq8qN10eZQhHofaBlqNwwVEUIFh2'; + 'LmXYonYN7l+gTMC3+M6KLK917sna9WrhCKOgcMs7YRijrjTghF8yEUMR5B4FmnbNxGKGJ6FYLTZ'; b += - 'VVOb6tRQI2tw/U05CjfHUbhTOAo3x1G47RyFypBrX7YchUkPC6yyauRe04YrC0gL0KtYbK7uJ1w'; + 'Rqnkd96iRuhiIkBhsbVGhcpFkJRJ4Qi19y5Jneu0eNEPusit9SoOqbBHwWd+caub76x66tldn01'; b += - 'ScGUDiyvrWs+rvmJE+Ior6+dxZX2LK0vHaBQeAFfW50uS9FVcWTfFlQ0SPfcMV9ZVr2b+FFxZVf'; + 'teurtdr1eWo2ujpz1jcj01NHAI5h3AMdG/c1Q7kGpWetiWxRAwF5BJVnjRrTmtQ5f0p69npJHAI'; b += - '38Jb/OxDP9Ol+z/MMptSPBXAy/lHo81PWTdoI5BzqBGg5micta8eesbLk39e38OXoEp49n6Hwe+'; + 'ATU0GQT3ApkJgxUt4tVaN1FEiZ5XIhPtc/B5wReqA7Cgfd/rlyeg44dVfpGOnBI4nK3WU4hfBVp'; b += - '65iXHKNHtQlOpP5hYl8O5m4d7p565OdyD3IGnYQTJXRXex4ksQ6f07BxKP2JftKO3KvNDH1lVYk'; + 'bFJYtQ41J6ADNO00ZWJNAVHljiwSx1wkDI5c4GPDtNk8pwNOmS2nXhFsliCsF2x6CLzO8LcCuA2'; b += - 'C76jbyTL1YrsfY5MeZ8j7e9z5LGn9D5TrWn2P5ZY09z5WKc1TU1fC3gU2XAL1DklYDhl0FzNwUa'; + 'kE70hcvwc55r9Y/6UfasrgfacvT44eniPoS4y120LZEHmkxNiZOu2TYKKYnMT6TjujTrkikF9br'; b += - 'hmKeAzPRbKyONiEgy0nw70gp2pAU60lJAZnc6QGYuHhhpD1lA5gLZe8u/k/JRKaWamChPztGmlh'; + '/E34ew5/B/j7POlxF9afrxdI7NwsNpjFVmSx87LY+VlsZRZblcVekMUuyGJDWeyFWWxhFqtksSi'; b += - 'J+5qPXYo7W/il7BUCMHvzUg/pjsaQhyOM0KkI124m3wwoZPzjZUqVykFjeNfTTRxFiIb779CGKX'; + 'LdWexeVmsJ4vNz2LVLFbOYoUsFmaxIIv5WYzGsBofdj4KRbk37HyECvNh5z6Esgi9F2E47HwYYW'; b += - 'grxrh+pW/MClNH71K9yGN9t6/e0Tlxa7X69kJ2JBaDcrjrYYY/rqFI9PKAn+epe7oBeyFInhZK6'; + 'HY+RDC8rDzpwirw84BhPOHnf0Ie4adP0E4b9j5IMLuYecehNGwczfCyrDzAYQLh533I3zhsLMP4'; b += - 'Y3dEmlPT1mHum6Dh1iDfO0x30BCa8EDHyjXzohPoz7jqL9lKS4qZtIQniTz+tEXgy+qk+i2hhXu'; + 'dCw8z6EFww770X4gmHnLoSrhp07Ea4cdt6D8Pxh5w6E5w0770a4YtjZi3Bw2HkXwnOHnXcifP6w'; b += - 'sYhJr1i9ZNciJ3KliEWurQwP6KTl5/9Z5sUnikPPIoDdPBflQba7JVlRLLDO+4sG2FYB4HvY1xk'; + '88cInzfs3I5wYNi5DeE5w847ECbDztsR1snsAKuwBI2Gb0GZG5nROCaFb3pxOe6Le7FrKmt/u4E'; b += - 'Mcg66RMiAQZf9JytQhtL9M42XQUXBjhoPCpECAQ8VrNe7ga18llQy2mhVYt1WT8+cdJaGewj3BF'; + 'C0y+ZVzsiSASF6H+ibe90QRsOQEOqhtCwewqNNR5vLxMBq9mxxtuD2bmMbZQiQAJ017QIS94iLH'; b += - 'A3o8qC3oxSVpMvKiO8qRVXMKl7sLMHwrIzT2xtZuBpTllqmWihOKLdKHKqZsrxKHNOP2OLxOHAT'; + 'nfhRsttmOjCPBF+Z1wm0TdRYrtRZKvBFnaEabBGMK3aSAjfQ2XA2V4I/HT4GGntCNeFi+P42gSd'; b += - 'eEAZd4H+LIP+9BDIe8aPvi/n4rTYir+bXVcg0utCD1fSvq7oZ6moa9VqjQfo6sy1rK5Vy2oPdvB'; + 'dhTgkmquZ9ktDt1eFxuzJexVVtMT4SGi5u3mw4bcfPmx+Wo/bbHQFKJLslvJW5b1qbyKEUdcdVq'; b += - '97a5VD7+v3Znrsfe1u1Y92vFc8wTPlYcel7Vld8AGDHqvbvYieGVzDoJRF265Br3XNntgqx601N'; + 'uzd60mdjGU7fgx1aQkkkMFa6A9+pYjrZ0Yi+i6bD27g5QGMd6VDqmjS+hoNeP+S08OMbETESxu4'; b += - 'LxZ67teskaD/B7JAjv8LXT0UFL/V2l5mIpJIQdbBNLsg3GY8rvlM3i1f4+X+sDvWi/oqmGf4A75'; + 'iq3Vo9ug37dSgrdFsZSyJ+IiGsLyoUh0eM0uZYMrxZopU0zkWrvXHi/EC7BfZwqTKmC+LmRlniN'; b += - 'bMtHvZ/o+Fb03nPrkiws2TF9KVRjo8FqHpPqRXvVOK0DFNv697U0cegcbhpTDiiI4CZHnPhYagM'; + 'sf7og94CLxvMw7b/e1UlB/aiUbtNVTm/QjHeT+XCORqupDabKo2q4ixH0GEPen97euzE7tb117n'; b += - 'OPxmtzXmD3N4mGwUjxZkHnd5LgZ+qL2uPJ9n2VE9y+xWJi5KjDstmTyL55BI6jFd8Y/uFkL3T1w'; + 'tzfujI70TxeALXlpAsOeeiBF5AzQwIuyhaYRZm8QSy8ZI7twmeDWsIunbVVkyO90HvMI5IltlgD'; b += - '69FUXbu1VzoVAS6qs4lAeGqtRIal4gZ1m9Kgtn7Y5Ww/Q1HJA3bqxSeOucsiARCvAH7PbsscjeG'; + 'q99BBG0d2HYO0uPw9UwPhI0MOPQYU/blUo4wZW8zBR1tj7TzlBcvwiYe7+mlMkU9iA7xorXe/a6'; b += - 'VEwaRu12hdlYYRha7y4yRso3mqjowoFDdPa3S+KjojCgXKkxrtVxVqRKHI+JhGF+JL3RQtWp/94'; + 'uJCcpToJ4Xn4OUppIXowypL4r/Ek3eRGpdXH+xVh+LsLFSHBQViXux3tbgh95vJB+Zt4O0P48qo'; b += - '5oFrRGX7KhqknhxM43NT2M9aayisVghURcKkb5nf2mDWRT/9Gxtw3ozEN86un/3Zon1x28Znfj2'; + '8tn8t9Lj6X+JTW8Xl9HJ/X9F43U2qV0vcFSPpmZoJdiksi1XsXOXfJdxIT650IpaVPePqVnfb0M'; b += - 'LRJbED/wZ3e9tyCx+fHD+9//74j1xZ/92BduLUlsXvz1/ff/BWKN+IfHv/n2P5JYPX73J++cRLl'; + '1uPdENsIciAU+rjF2LzG8CTIhFW9ez8AQBBLgS+dlUTpy2KkPlclqPHArPCqUhyRQaE9bw0Hqvp'; b += - 'S/I4vbLtBIkH80Kcf+bi7Yb1i/Yebja9qCarTfEO8vFmKT3hN2ecVsS+2coGW9GMp3rwOvSAV96'; + 'UPSVgLv7ktYNgyp45w56r8DP9fi5Dj/X4udq/FyJn8vwQ+6Zi/GzDj+r8TNEV1n8DOJnAD8x6Wf'; b += - '3bpCpLJSkgyaZhM2RuJnkwCwR8bj67nGZLHSNNQID7OMYpwf18Kd4C+DQaJYT/XY8FeIq6MTbr1'; + 'w00u2GnLIKEQwrOK4LcJNkU2z/6PfGDxKXdqkjpj+W89ii7NYdxYra0yGou7HDDXiblkwXpeuqs'; b += - 'sejW9fX1CvhOA1aZ4OiSQUKHD4y/2eH/+rT7lHuL8KqGQux16I3Z/Caka+8Aj1O0GljkdYHsrj/'; + '+TFYp8P30zZXg4My/dNoblStyT9o5tVfABpMoqKDshA8ieA1gfTru506XstJQxWu+hH770jHmpP'; b += - '0FcHTcmZZxVF1qrXdKpNSYqMdpbTB1QVUw6enIT4SEa0LPJzs3kC4TMUlh7/qM6RKhaEKvxrKAP'; + '5rMS7eDviT6v2Ecu0rd9bek8dimdHzHJnqRdatTI2ghh4yJGhMqCsa/G6RsURYDJgBaUX56oh/4'; b += - '5dOfe3va5JxWqoTSWqjE3Ll3ZCOz6M8f0hv/i6RImjS8vd46WqbFUXiobBheznXQWeKesOPvtUh'; + 'CKvyha8QdJqIZ14cbuDOr4E8r0YfVxsCNdDF/kZFCqIopPC7HNg+sMFlmVvVT4HMtB5TAHgoYzi'; b += - 'Z/3kPSV8tq1cwl6gLny+WLnM9KVcYbcg57XIm821xVkxqzS2fk6mpkl8HP4fJUBcPsHz1T4bGKN'; + '6WQ/L6YNYW0qZOIRxc0UuirQMriejeKFxgYpQ24XZchDViXTnNtL18EJusy9Ud05d+3lxFB306P'; b += - 'OVUhdvSLiy18ZmK0gHpUniqEskatwNejSfl1sV75e4/1Oq5rg56kxXs/2UhuOIeu68s0X3FYJF4'; + 'zFNWvAgRZEfyjTJRegeyj+qqX2UixIM4VBScemGUzUxZTUAbakupiP3dGqi/lsm0T+yeYxRxHkV'; b += - 'b4fT9vd2OGmXa/te3Ed6pttH9PSvgvZMVlZzX6mjtScq9qDdHgaW4VkWQp5KTXviVIW+GdWXeBm'; + 'TfTxbjZlo9r9FbWA4o7Lo/JKa6CpaALzL0hH2C3Jr1ZSpZUygd8Tgj7LPqCswkKnBLw2LBHEAEK'; b += - 'IoGxYnzTsh3e1+w7f3tGwn97V3vCfZNfsxfBfPW3x4ifaccsz3PDG3ek3vPckG16Q2/DUoaRueL'; + 'rVWCLZPaIjwrQsN00QoNkx6EBtXVltLxkC9gkg9y0IvuNULDeGiEhomwKTTsCTPXlExokOKs0HC'; b += - 'u8bMPjd5+y4W3Mb3gF+MQMpt3w8Mz4oJ9seNuT4QenbG0bHvZV3ATsi/12j+WGh42v23I/7RseH'; + '8OKvQcKwo5ybCMwgN4yEsj8pWaJBbWKHBmG50wSeWQsOx4kyhQerfJjQ8lhMapitNoWE6JzSMF3'; b += - 'H9Ou+HpmUbnpOM0iyiCzJzX66RDEibdFx6QSbdjug1Pq0w2vLr108b9TqevhS7QrTBUT6JQbfOs'; + 'NCwxoKDWsoNKyh0LCGQsMaCg1rKDRAJ7mGQoPGBrPYiix2XhY7P4utzGKrstgLstgFWWwoi70wi'; b += - 'TXCy8QkRIjsfD1es+qJvd747KYiFBUkS2ZlEdiSR25LIWBLZnkRGk8jjro2cSSKnk8ipJHIyiZx'; + 'y3MYpUsFmWx7iw2L4v1ZLH5WayaxcpZrJDFwiwWZDE/i6nQwPivhIam0ABzKBUavm2FhvfNLjSM'; b += - 'IIo8lkckk8mgSOZ5EjiWRiSRyNIkcSSKHbUSGm7t++n9Uu8IO4sTfRm8s0P2Sa/bJbSqtgsyvJV'; + 'nlVokFXrUwsNtL2aITSYsfEcCA2faQoNH20KDeZ+M4SGP0cr3IXnO1XICw0nC3mh4URhptAwXTB'; b += - 'uHPgA2m5NJTgkbBRO99ZL+WJauz96A1BNZ6hGbup5eXuWjSV0OdyRlIt3wOhM0yTTupt9n2aawY'; + 'CAxRXvG2L0PD5MwgNRyqZ0DDFBWvFrPErM4SG45W675MUZ3ahYapshIZjFc0e/ZadGozQkLXywX'; b += - 'xaxY5ZkJyWYNzWBKRdvSC12xywl2x5qzu+YpdyOCTYNHFVbdrZjlrBjlqgjzwbCRbfdMW2Dwhuo'; + 'JDHzETESaZcjKXcoApJwotQsN0Ya2/r0yh4ZgtTKo8i9DwSCX2VWiQ80rDwkqRh4WVzAsNxysQG'; b += - 'u2EbJC3z2FW5BnlTGlRki6dvUFEt+8/VIGnJiLYESo9onnyHV9otHOx83HStYXXnHk6IJu7hfiJ'; + 'qTbHK88ldBw/wOtQsPRB1qFhsMPtH4eH3ygVWiQtfhTCA3TlUxoGA8zoUFmbd3/gtCwK6TQMFls'; b += - 'MsdbhugXPDn+SbbKyi1ezXbzK0127i1etE6pXSzKN1XQbr+e38TrKvBrbeNVCYdSTbbyuT6jrNp'; + 'EOPAyAhTngoN+2zCKQoVJ8pNEeEkU6ZzKSeYcrzcIjQcK0uPCig06D0pNBz1VGg47KnQMOXlhAY'; b += - '7NUalgv4ctfW42/QtGQcqP3a9Tv451rj5lH/+5l5Sz97ctKdjH1YsWF2Ts48XcPv6Ttn380UrHP'; + 'RPlqFhinvbELDUa9VaDhZzgkNTwZWaJj0VGg46HENsBuf1/RBL9sKLKUPF5F0OmgRGv4zuMj5Yl'; b += - 'n40SPbx8YRz+BPusN+utO3j36pc5PxxSffx20q6jx8OdPcaD3L7+DgrlIU0/Pyzu4+vHUn38ct0'; + 'GFhqNFFRomQv3Kjof6ma3PV7EgGnB0gVWKIxUaojjKhIYycEvkfFWhX+Fz4I4mPQPApNfPZRh9K'; b += - 'u1z7i9/HR9ksbp/pPr4m28cv1oat+YXt46Vaxtbzs8y1LQm0JYCG+/s8i9zVis90sNT//L7ck7F'; + 'zDuahXDYAvBoBvCQ5DDXJbVF3SLTfFh3oAj46kS94g8ohSFspCITFg1YcmEgYYEdtV1vjQIFrsJ'; b += - 'Nf9HXJ8+d6ZO5wa/IumGlPnyFPPzejm740l3t3XC4oxsO5rtBNu7wzAy6ISUvYPmhdIjbPsx2lS'; + 'NoqxWKYowrUkwIDlZt/EzZaYJf08WWYPNbigr2JBX8kv6OfJDczCvNJc0CO1uaCvtC/ocdrNnW4'; b += - 'IlRPhlXa1h8ersdYJaOkZ3uMl5Uso/c3wOtuIFfMELvWWYS3A05cZfv6tdIPEPcm2d+PAF/7bjB'; + 'u6CtY0Ffsgr6KBX1VF/SoRnQd1+qmGlIfVKOq1fBmVKPK1NmrUdVqeGeohtx/VO8vN2OlpK1exW'; b += - 'b+Zf0GM8nf4+lr0KTm629++ekpf+7m+pvQALuiTzr5BO/v6p9vZmMJPrbO9mlJt03f2eHDOznaz'; + 'r0cLJIzyhdzFNhIiB8tBEvuOSX1wq75OjWQGJRFpMe3g35otvIF91qVdNNLyZFv44DlS84ZnyZm'; b += - 'zpbb850N2o2dLQxZ2tvXam9f9Yvp7ZrKv5RYPZFEVFCEvNFqi4I/aWH4975E1o5ouMZew19v+C1'; + 'z8eNHGbPZUvug2XrydJPQASVPmAAkS1Qc8QShh+DZJPiAEPCcMnNPtRr8FScQg5BkTORsIglsj8'; b += - 'oFNeW+kb1gWvQpvRxm5rZjLtEOU+UCSInEfeEL7V4hTzdCldbsEHgkiNnnOfn2MyQM1HI7pksUj'; + 'ODISxnzUN2qRMOarhDFf56KIa+bIShjHOIfPz0sYWITKtFlsShhTxVYJ46DXImFMembkPVMJQ4b'; b += - 'tUrpBziquzz5zRigrzkL6jKnF9Rg0mJ4E+od5K6m/g6NnW3iVxrbubsENaMzESXpp7A93CtNVoz'; + 'c05IwdoVrWNs5SBjynHOVMCa9mRLGdJFwDDUjJHba7bZOs93WabbbOhXIl9ttndl2W6fZbus022'; b += - 'UW2nfoGL7ZtwxtcpK2xb/BibUV2TyN5gxfrM/kGvGeWvgHv6MUbsPxcfQOWho6plu3XN2DZhXgD'; + '2fNHa+GYedp7bGqIDS5jrqDu7L3KH2xTQSrUqw9zE1SvTTcwyaEKE+YBvvK6RQCSAuakS6soFcj'; b += - 'll2sb8CysJsKL6p9/8Xe+aqNDjFT1xLr6N5Kc7tMF6S5syHNZTyER9E1UiaT5jK9Ds+kl2ncSnO'; + 'pbjaTmelnPiO7ac87Qch1e3Fjdoi7NIQ5XPmqpDj2LwdtQ92SDisBR6J/QqMonCCqZ7p2QheLNP'; b += - '7EmkuEwOIe6/VuAPx8FVSyWCr6donN+TJDQXnroRbJQqVBAhfyaTMBqkZIIQA1pVsGdYrMTMahM'; + 'adyJ3hoo53fEbTm5o5F0aNjeCyPJSLFEFGMlbVrOl9bSorDaMDam9CzgOwEO/KTcJV2rHh8nED9'; b += - 'dCICulrOGSCgJDlbtXppAaCq6BiQyJGGcjHoFhjafaidzAWXojw59pmAaQafwVkoiD+Ia0OJ9lI'; + '8yBigp0Ea0QT2PjxA07Gx3YISHGTWWlLNKeW15IwpQ2MpGRiHRfozwM7WmGzQZLLde7HNYHIuHo'; b += - 'CBpgKYsSLB2pBmAsAkS2TRsz+upuBQu+mQC7+Z6tc8N7/CVNJik9axMe6FKX0SOGHufEJ2puPRF'; + 'zWVPILxsJ1KNfc/eoi4Uae9fKIQEvhqKuE0frFmndQgwHdZkZTJ270VT92c/gj36FNe6woNUCEy'; b += - '0GhnddE8nYj74Psy02Qvm8JST9aP3dj8TliIzFxuwNxJkl2FkahbWteNR0TzVZRtKa5u2KeDDYY'; + 'ZDlvUxelko2wb4IKEk7w0celPb9o7rffEd+E9+rwoxqv8HO8155mJuA9ARet9Puzu1wt1jhDyYB'; b += - 'L7WgByL5+swBEYJ+2PxpA2iIzgLTF8egbxonNZPANq1RZlleaD30Xe6hWik9hdkbV8AGIdi5sNv'; + 'bjt4y844uGWtP4gWAi4NU+Nb4lDTY03v1fTeLL1X0yNNj7L0SNNLml7K0smzjDMOfGYkkPuG4Bi'; b += - 'kb8fc5/F3C3+fKeLuweZ7eILHnpbHBNLY0jT0/jZ2fxpalseVp7AVp7II0tiKNvTCNzU1jtTQWp'; + 'o7HabTPV+xurmq2V0G/G88tAFc2OCV663PLV7CzG8nyeGl+7HL0XlzXOozdqfV2XeH7gdTVYSSy'; b += - 'rGeNDYrjfWmsdlprJ7GKmmsmMYKaSxIY34a8wACqvEh5+PQvxCS82PUwxhy7kEYDDl3IywMOR9F'; + 'ni4YMoo8wx2GqAQStQ8aZgO3EFO8RS8VcmLh3xQcHMNdKkgrnDQWOV8yrQhq1yfj+pblRsnjXeK'; b += - 'WBxyPoKwMuR8GGF9yNmHcPaQsxdh75DzIYSzhpwPIuwZcvYgDIecDyAURuP9COcOOX+K8IVDzm6'; + '4GnLx9Q0FYSl+o/FUFG75aEsnz/gW8QeZ10oKGsbkoOB9IGYjsmtL875ibYBk4hD5SuMVBBUy54'; b += - 'EK4ac9yG8YMh5L8IXDDl3IVw+5NyJcNmQ8x6E5w85dyB8/pBzO8KlQ84uhINDzrsRPm/IeRfC84'; + 'NJn/CKMB4QiKSlsdb6gZXHcYwykMEPkgQOhAnIEmt4mrjkZf92K9RGr2YTLCynMNO1NubKoJmmi'; b += - 'acdyJ87pCzE+GSIecdCJ8z5LwdYTTkvA1hk45sSjIpI3QadoIK9ePCf5DdCpp5FdNv+qCMV5VNy'; + 'cgX/N/bDgdKIPeyaDORU0vZEUhzmIbiS7g/qaGgiCUD1qJ3MJdLk90ExA797nrlWoyUlCTZbj6k'; b += - 'urllGCiJbyQLBxVWW2+gb69k5JVHN9y30bH7ii2eFhcwkLAZlb1xFhq/qGHnnesMl5p0LsJP6+E'; + 'b4ysXyN/nHhloFsx3eTl0tOjcqImPcYRfc7HSvpHH7K42+1DxznE7ZQgyPS+WNpr+edJtgR7ICc'; b += - 'bk7VzE/mRgngsvI7Bum83axLPG8o0ddUkKYdYRq5sCQNXoJfrcQAbAa5MXhQwKuaRWaxMeEetGG'; + 'Dfh+a2PFZ1XPNKJ4Gn3nZYzX/NowXAtmmGTmtbl8x/AJ+KEQx/ldNJc4ClK/LVoTruO84D6KxV5'; b += - 'HrFOV5HlSMFEAw+tS37MCDcBSfKLQMlkTJuUqe/hxuep87AQkrBiS3Cnx2Ip2lYeqoTUKtlW69v'; + 'B9kCyTroW0NueL/Q7F3uSoJ0z5KkwzpN+jo1wSaHp2fUcoFu06P8UF1TD9Id6vOxsU9Xe80ciVd'; b += - 's+O8s62z5Q1RrKq/39bHQVu1Qp3l9thX+HrsPX+CEtDY9ULXNvruOk120c31K/yO4SFnMpOF7V4'; + 'XgEx1UzBzfklZzytvA4aZazDMrLe2uuVQ84+xtJ3wFTJSAvZCgIOFxLlI/Q1Kby8fRDIISwwAka'; b += - 'uFvJEuD9kbWyyCI+IogWPhKFJXhNdOUMaYcz1Kkmc5EYbU/WhLuD4d0tjJpMtZLDgYs8X4Bjz9c'; + 'FGE09FCOOkJ7ElLDl6udQHP0EcrlXHD4UJlBtUJpp4BnBm2YEBi0EvXWKJqVz0Ja6hS3CrVFYEO'; b += - 'NR7Qy5gv686t9h1waquNbNEEBPUina6OV0mkrse44OXtMV1JpZYlSC39+LaPpHQW7D3iPflrsGH'; + 'RFicaDycPQWorHIOaLSO4TIyxNzGszCcusl6vNfzfxQ3oya6OsKFdRMDU3k5lfVVImOb1scKmBo'; b += - '5a7Bp2fUcMOz7XQlpUDuHLoIk4LH5HEuSyRcE2SVrbDe2DeocdeuqrQJpGYXeYx6ReqG5FyRiak'; + 'KFOKAY5rrJS2WX8lDDJ9BXFkHgmusHl85vnsjpfWFBEs1r72U1891+XFG/ASKQ3v6bXqntZkfyX'; b += - 'TQ10HSz0F8nGKPfYVWCow8oYKQXMoRpuzKUjDQdkg/j3tmHjQV+EzCch7EgHjRau9eVzUe9pOZ7'; + 'kP4c60Rc+f887yleRa/6kc2MS0AfEwHqlfy3nNqZggpc7POEZr7Ea8Uly7jeZY6SaohlXKXCrWs'; b += - 'Ma46oYmNOy2X4w6pL1L/f1u9CL6vEb+i0F8zsPNSHBQV80M4LstwI+8XoHWoN5W8vL62rJd7nax'; + 'YWHT2LgLVmYJRH1O8PQQk+XTLQSRtBkhVA2tHdLXUMp084ctp5eVwYcX4rLlzbR7C4dP41sKnHh'; b += - 'XWIrBe0fn6Qg/m43J5t/H7nyb3vtPL13kXMXeHhp9Z0IpadPeLrLTnq6zTZD1bOaCy/dMdUI5kK'; + 'BZeTPszt6FYOvOvUMc2ObFfEVFlfh95yRuklOLELt6G77Qgh/UC3mk6X/7ufNSOfykivdceSfft'; b += - 'nEsC6wg/WNXc2JTRz4T+gromTCdaX3S4r4V8GbefkJrWPtnbleoDna1qPlWIGg97L8XMjfm7Az/'; + 'UUeI+emDSLxVEm1DusbFR9dbLj1M0ELwIMu1ULao9I3zHbdrBjPIReNxakjurWOQ8TNln9ptere'; b += - 'X4uRY/V+HnMvzQ1dbF+FmDn5X4WUGDdvwM4mcJfgy9beGnj8656DJLIdBhbEFtDupyPJGYUU/w/'; + '6GWrDrdNJgyNjiF6DxnUPRV+cOPDJ4zp2pSat4+op/YajyydPGVdOHNZ1s2eWt9anT1fNBlvyDi'; b += - 'PQEz09P8Pz0BM9PT/D8jhM8WO6bHiEXIQ+cBfFbb14e2GNmJYK33kwSiFSK3mxGhyQQ2W4uOxO8'; + 'xyH/atX9+tZxr8LePeaxn3TjbuOcQtr6wd9/TOCrJxH9hx75px73Lwt4573KDyTtdCycU5VEG/F'; b += - '9UIS2JtIAmdBEjhLJYHhf4fN1XIF1WgXufXYQzKICK3AbYWyOPTE8q++ajnYGJA70IvQdQgf8an'; + 'VVQXROTIIcqGPEpo4YuP/sNqqCrqIIlw53qZov4KAnRY307AWJQrtV1bRP4z8+9sbeahS4ECwer'; b += - 'PIDt8jaD6xCX0TOEKKhRalw718L2qmqp2X1DLqCWMkMKLc2L78H0gZG5dt4JW+LDHFMCSyhwOR/'; + 'HYhpWBEffe+Uk62fZQ2osgUIvxNFMkkf3U3ZgmTrbw2kmz2xm2IAWYvufYvEJ96aoVXg4+k0JQ7'; b += - 'WyEh8EbSl1RorQKyvXbKrVeaoiYkIz1xoqhmjt3JQcpDBOxYOh0sNzqb05V42ulfbzTBje49FEk'; + '5U4mDuaONMDR0zKyUW3gbZl+VWsCSotO+cQ1e4QWEXbRLbCywrbTiWJjM3lmvilLXuDxncEq+Qi'; b += - 'zQrTzz2BeEfynKp5xdkftVmdiEI0nZxwW7XTqYpkhg//uO7cqtgVyt+z13tq+I789yqzCJwq24q'; + 'e7ygnPhfO7zafVdB9TTt3LeYHh/XV6jgsv3Ro/bunRvVN675prPoHqP4iRVKl75uVAbvZVp0F6X'; b += - 'iXFTfty15ryJnSKFA49JFqlgqeiCVJGCIrRy/Dd3Cn9wgfIHfE+w+qz6gidiFLgk4LWh5irsE3q'; + 'U/Hl9ccX7kvmqIAudFNtlP9jFXb+96fQ9VutQto31Anydkp6F88ZZ01jLqeQebLUpaoe7dI+FNy'; b += - 'rDBV5lWw+I0zDZClhGvZ7YBqSI6fRAj/AfvbeAS98j2UaRguWaRgrZEzDjkIrO3KyTAMEtZZpOF'; + 'f/r0+zRlwZqFzLPNFQesTB1d4NlEyZNdiHU3/Z7/NvCCHcU2Ri5YngIJRXUpRLwKFSvFppSwmWK'; b += - '6almmYgKRhrHAOpmG0ACXASsI0yCMSpsHKgrthuU6mYaI0lWmQ9ncwDadfnzENk7WMafhyjmkYL'; + 'meaZw6teYfyH6kfxsT4qXeCYlQEoQF0fiiRF35zaeCvRUCadKradKeqqKU9XcqfIlUBLgVIRTUV'; b += - 'eWYhlVkGlaRaVhFpmEVmYZVZBpWkWmARHIVmQaNDaaxpWns+Wns/DS2LI0tT2MvSGMXpLEVaeyF'; + 'zOTnVcotqBC+GpjZ+O7FTlEvqxyqlenOqNK9mp6iXwdMWpfpzqj6vZqdol5Jjj49QMG2kpPfn6Q'; b += - 'aWxuGqulsTCN9aSxWWmsN43NTmP1NFZJY8U0VkhjQRrz05gyDYz/F9OQMQ3Qslem4VjCNLxneqZ'; + '46k7NzW8nCo4ba4lD6RP5s9nz17Kn8Wj1g2xJxZjifzOfCkHe05xm/O5cADV9pz7MrnwHNX23NM'; b += - 'h5AmZBqFan5xpoEr/FKbBzo1ngWn4aMY0fDBjGuzzpjAN+8A0jOH9zhTzTMOpYp5pOFGcyjRMFi'; + '5HPg8XEiruHUbnsKD09MHLsHxBkqzA5kHBTsQbYz5GdfuWDHs9mlvOiB4GeuzU43WzvZbxyp8rJ'; b += - '3TALEVH9vGNHz2HEzDkVrKNIyTYK1ZGr82hWk4Xmv6Pj2iTc80jFcs0zBR0+LhbyZLg2Ua0l4+U'; + 'PV3oAiKhfMWOafswiKcoEGPrUx6TEqm4QRTjt2JAU+ojKKCtJ1xprEBY8rLphc+yHquDiiK9U/j'; b += - 'GnpK6Yswn6mnMql7GPKiWIb0zBZXO3vrpBpmEgqkyZPwzQcqxlfmQbJVzdTbBT9TLGReabheA1M'; + 'DDsMrwVjHsf4C1kWOoQbkwq1NG0I0kmSJ2iEAt93em5Osjx6ed3+hjZHzH1X2bpmS9ooMZdyGpl'; b += - 'gwyb47UnYxoeu6+daXj8vnam4fR97dvjyfvamQahxZ+EaZispUzDaCFlGmTV1tMvMA3bC2Qa9pd'; + 'ZzbVHdypHyVccPDmK3f8DLMuo2vwcbxAnLrOScPk+ey36d7Pik/pWiEMMJM2SGH13NeOvYmOczS'; b += - 'aRCKxPMK4p0zD7iThDJmKE5WMRTjFlMlcygmmHK+0MQ0TFRlRAZkGfSaZhqOeMg2HPWUaxr0c0y'; + 'XmYA6Ob+1rws5qbHviffxcO+6nKO6wGnLQqy0y0J8qE90UzI4E6Gndh+wicsIJXVDVIyJsB0C7W'; b += - 'DMRzvTMO49EdNw1GtnGk5VckzD40HCNOz3lGk44JEGuA3ba3zQyx0EfpUS+bNBG9Pw0+Ai58slZ'; + 'spzIzsO5a0n32wFfQ2Hynq4vyNlJaXEeGvhlktbKWHNNZW2pyc9Mv3GjNVjkxgDqJ07lBfeez5r'; b += - 'RqOlpRpGCvoLjta0G2WqnkhlSuUwCqbUJmG0IQp01ABupDk1xWg2Wru9S6Bzw3dLgvhVwKLglCz'; + 'GAVLm2y42YJqCVReMwxIWebiyBiyT98h9P6atNJ99psBb3e9kSdAYEoqpboYYdyPSyF2e6Wo+km'; b += - '2hBgDHrAPAQ5ZHS/TQtC2IdZS+CnoWZ6hR9Rj6xUrtCwnqqYaRhoSPhlpfOlQ0DsRjVpEU+pwYp'; + '+mDD005ig9AJAmfKlirpI0I145YFWASbUunM62UmlpYXxXV/+or9USEXYDZlkVWEQsvcAWYxGtx'; b += - '451AyMLOEzLYH/HUQ9LU8QT9LHmAJ81pG0CM1I+hrnQQ9st1cdkbQ10DQ1xKCvg6Cvm6P9qUZyb'; + 'jCIWX3t+s3WBpopYQvIbTaxzFk2s6bmVcdI30ktZfcXgnCGyX5/xGcP0QHEwaFpx6arJQH0X0vJ'; b += - 'G+NsMe69e1Gd6UZtSZOn0z6toM7xzNsAf6dTSjzkZJX+mBfq890D8XdzFLmYlg6nl+D83dcJ7fQ'; + 'oUkwXXSViRHFLetv4eDB2+aaa9h81GC0Z3kxy5yj8o3JsgBymsr259FSXcLafq+0HTytUDO23b/'; b += - '+m3xmSE94C/6LH8RQ+o2ABBGYumR7wd5S84Z3xZm98bZOjqnvIXPfZE35OkXtULBH/Q0GNgGhyT'; + 'qQWWl60nRSm4OSII/J8XMS8aPfssQDSgvYbFI6FHGl6epK0zUrzckm6ocaLHIBGOgOMp3CqbqYG'; b += - 'w/Ab4HwKmPDgMHw6UDjqtVgrLsHHwG+95TCI+DPbhJbDmI32hm0cxmzlMGbrWhSSZg4TDmOCa/j'; + 'pfiF6eTEkSPqNilqgfv1UTeh7IFqgyop0dTb2vd14XRgPaH/mbHzt6X7dget44wJGws4AvuiemM'; b += - 'sPIcBIlSWzVLGYYyX2jmMA14bh7HfszPv6XIYMuWeEoexvbCKrZ0BhyHvOVMOY783lcOYLFHRoW'; + 'hP8b+9AkBlBvQnXoFIgPyc1Ou2NpQYW+b9nDjewv2OHgccdGqJoyqFCkWZAAsAkbuMl07eiwE8x'; b += - 'GZxK7ksK3LHrZ12cO2LoXb5mFbV3rY1mUP27rsYdv91nwsdWDqqQkbGqBewp24RDQU2LbQbI22R'; + 'I/aozS7K8yqDy/2Xg/zrGHMNXy3FjRlwaE/lzlOMuJVxdTwKMBSlux+axdPnWy0fXKHNoP0/ip7'; b += - '3UJdv2t2lL48XkW88sas/hq3YJeDU+7apu0rIVSjtbjaT2e1nPiu0k9y7Ueh3e3VzeYVJfggdU+'; + 'eeX3pGgCTkuN9Ccs443Lqp8nrqLdi4A/po/fk2hNuMP2s72/eQBFmKmYKy0eca41D0SAikjiLPj'; b += - 'Y5sOOYpFxSKqjLG2OKyFRq99ih+k4J/xbYeFEPyxR27cCf/NVzOfkIdy8kTL6dBesg+2HaEi/ig'; + 'KbB1oTnr5L3MYih4+bJbWNXeTwMbIVPRAvUDNy2dqoJMdXc5SpdLGsdpo/sf0i5cNP3kj4ilJhO'; b += - 'SUpwZZJZX0xCi3kr18jz7TeCtYY88JV6thsSPIn7gs9auMQ7ikJZV9+AFMryMTsMP+FhMjDzUCk'; + 'NiH1jZhsQioaISWHulEKiojfs1KSUmmk8QbVNkASMlYYOb2hKuRzMIBxE1c1as7CTRjByOKsfqB'; b += - 'Q+S84GpGANPAKLg0EzWZhvWWg/Wnp0gmJ02HnMBBgjsfD4kjXMWZHr7gG1vHVDLzEeDuE8xlELX'; + 'FzGjqEzyrT4BjcXOTHAKpTG9P8CWWss2LbE3AdQXAKD21FtU1gZFTmwDsHEyVxFPIy9l0OF5u9X'; b += - 'Dezc3LV6slVoyi6pxDq3A0/6xs3hxL0VZpKGsWSAm5T6v/BS/llaWQGyUfYVx5nH/+09O8fNf3s'; + 'GTq5t3lFBWOUrqkTpXdGG6cg2nLsVkxdgxGC6A0Xmzat9bYHQSab0A21qa5dZZcHhU4+gin1vZ2'; b += - 'G/kZCl+NBaG9YSGY3isvcwvw2OC38qy7bQuseJf6g1GAxw6+fpsJXr/aH0QPAT2Kqeb1pqDpRtP'; + 'rL0MSKrTKY6wzsZY4NyuetDlnQfLXrIw6qrpFk9LsHKwzO4fwyZg+H+MZqr38nfdnZFDz+Mrr4P'; b += - '7NL0vTe/T9FDTwzQ91PSyppfTdLqVR44DU2wJ5LkFeAKpvd1apY1aBX5MRG7+dLpk/FZ8VtiMFf'; + 'qxRrU/nMqhT7D98rZXoTdHB+Dgrsh6q7L9FtTbF0vZbFJ7Fd/GjcpzSpm+VNMDmRRgm7FFg8Znn'; b += - 'HDxJ1dF6mvzaCleETuSFPSJTHYRMC67msa/I7gLrz4dYSphIuj+PFdDzrhGzwqn7nxbbc/6MSeV'; + 'gAHhyjlWhJhleptG4+NS4yI+qYktL2DmgZvHx40UvB0DyffhmuvmqFI2SrgNKZ7MqBtK/z8WfDB'; b += - 'j+Kzd04I+HvyyDkflG7rbNN9MDiq5FZ1h6nsz3Wz4WkXwPDw01Np5G4WIoc2xrnnK3xstZ4+da8'; + 'oRPZzr2UodqoAHosTFWAKbzxfOXNNXL6MA8yks66cw0F1Hv2HXxw6MBAK1ODBaH2VISjvSid1WY'; b += - 'ZQatWf2LaswuoLflYcwSB6O6uMDlgNJa1jB8qRcQwyyZCZgHyaKCbTXFnetL70zQzHBvFBDNbK9'; + 'SdHV2R3ynR+pogOqPk6qObrkL9Tb7aKPQ+wUVScV+qO2t3AZt9pwgArE46I/iTBwR3qjhLTGzxp'; b += - 'wHEQC0rNqbkmpt3Q70P80cKuZp6XETZIH8sGJDzsWLxLQjtT/9xRAzNRwni5d+orIJRoWnM2Tot'; + 'A1HEFX1BmuzjQZ0QNyC5AUtGxUJHxU7l82W3usPsFJW0Q5OtHKZ3xqTGMyY1nv0SGpMaow9XlaF'; b += - 'yvDipgJb3ceSWcSC53fj+qX614Y7BVBBnhtuDhmVh7/67Ye/q0qCDMziO+RRl34iUt9fGprkLhi'; + 'vTGp8smYlQWZSgy+Ab74AWNEak1cY1CbAAzVET0VLc2Qnj1SEw3c3+3JADTGTuKopEoY1PWzwuY'; b += - 'IZ4tRGRzibcCIfmMbin8nUW/mzchctplj/CaEBMsNKV6kb7iob1VeFDE4H69/RxAyc1ageR+mty'; + 'Jmf6bdWVLVRZQ1zYvUZNJrYo0WKS3gU45WTMqjUpZ0DK1EB2iI0P0reeSmclzmthgU5imvC4B/t'; b += - '1dr/y57RW6RlH4KJKN5ryBl3jW2mDB8XOTBy/zA8bDvhbs8WsFlBBgmg2PJBeDM91ijgi8UBKyi'; + 'CUpc1FdNtBNAaGb9nk31iU9veutf+VDXV2vASFJlYgK3wQMuRsJ6GRgI9qQnGpywxYkp8KsSE6h'; b += - 'szf5cAnFv9mUJWAt2u6sVPnc/tT0rpn41ACuM/B18t3UXhb0BXweKtfKBrlaUWVNN2BNOh1fQgv'; + 'amZDMPZYJKdCJa5ocoXJBskJ1Eol/FSjPxVhXId/+jlHydMdbQlWi2TrIroFAWjMpScFhHhk20E'; b += - 'EVVrps39nER5NKrG+q2hvbjXotJl7srsf7J0a7tCD36CIJb3vnzyTnSx61Pa5HN6wnnmJb+X0Ym'; + 'bg1uHzaQl8jDSMpWKpduinZVaVRcNiXpRqYRossLNyX1eJjeoA1PiqYIHMoc1GoIwFr3EIEd61E'; b += - 'SccAgXFd9sbPPV8cT26MzMJVlNcLnocDjDDV0w8mKDTtlGe2nATHDiaLeOEwiOaaFLC0xwvmTPG'; + '3hyzNFTi49M11oxsfL+Vzq7qxn4OScXdGVu2JeyxU9uSsW5q7ozV3R14zD2TjLvzyXv57LP5DL/'; b += - 'H+G2fl0ziLeq4fXV/UobZyUir6mgv2qLanfIsmpn1cbazYNnahA8McUgeKLdIHj3T2doEJza9o5'; + '/xc/sHszun0eWZrNHsuNrOMo+kfOmYgSSxf1fEfO7ly/y13MPXvuYPp/8gdjP80fw34ebNrbs4d'; b += - 'laGIwJd+KmYp1SMbCAvVB5YSHyGqUG1QhriiXVkB1KjYIf0YUFMmjiw2HeJ95/8wWgLXSfosibt'; + 'TO/KHYy/MXew7035a96cv+Yt+Wv25K95R/6a2/PXvDM7oI5vwKxISk2rfHrRO5mC11Fp0Bmhzhd'; b += - 'VTK/C3oCX6nQqK0Ojq9m982Wh41gASwBQU/bgga4lFwWwtE3py7VXQWvUVkZZlJLgyKeOzzGe2v'; + 'fyKraEklH/v3WVaqqib0G1ZuYEgx6n0/dP6YE6m2C6F+9ODAQc9EebFv9q2fgsLM6+KYPGx3MJ1'; b += - 'rSh8IZGB9kPfMWNki9uARWlNnyg1yg4ROYEnP5LOMeJffaFPW+vwNwW9mo3RwEtfC1GYfxFybs6'; + 'oxvFtkCey9G1Q3AAEaXCj9Drw60Z2x8MYrGhCv9tw6BWHj1JumVNiYRcLwMwmjXx++xy7ick2kq'; b += - '9mEOHQCaTDEbGkQHzBm/p7AkugRboAK42E7cT+nImAfgSIsJP6yoGwjK2AtkhtMHDj1GAZ+TYBO'; + '+FSJlE4rRJFr5Uo9l7iXbyjRuf3YDTp55Q7Zewe/OhN9NzyjCY+JfGGk9SmEmLhy6PU0ilnjNPP'; b += - 'xYx2UFYbPOr9lisPOb5ri9f1EvoxnXwcnOVjJChdTac9t4etJxpUKKyEZexXeWRb24Ze8QWopjW'; + 'pWPkdQvspyJMKSPKZyUwoW9Cz4Quw6J+JIpSRIjO/U32bQiUFF/kUyHz6egY7ucuUXg+R4NAg5I'; b += - '3nY/hNi3LZLOKbxrPl7+Q3k4kvVcSPJ1eywvcqXvXs+LZHJfGNkph0pGsNuJUsdWk/jB4CfkOuh'; + 'GVQ0ig+CnQa8G/RrEGgxoMKjBSg2GNFitwToNLtZgvQaXaXClBldrcK0G12lwvQav0OAGDV6pwa'; b += - '1La27fQFzzVGkzxYy3ei+5Mqdm3RXkxlrhwM5AP7bg1ulpgZw9X6GRS4AxUfXHkABGD5P4yTVrD'; + 's0uFGD12iwRYPXabBNg3FXw10mnDDhbhPuMeHtJtxrwjtNuM+E95jwgAnvNeGkCe834UETPpgxi'; b += - 'mRT/nZ1pns60Ew8dsjNNuYBzzTMn/LSfoGq8y6X/9OzjEpbUb4clVTCOKMjBkoasOWwpZTxgYUl'; + '007jXoxXYktSL7RIl8f7EG5LQ4rlC2bFMWvyDeqp8wrbTvr2rNe+9kwpq21354eKN+WdB1Zfabb'; b += - 'dhSUtW7fVbspfhFEBo8RPVhtMhNVKcmfIoX6ul95qaXDwPA7IDHCQWH3O7B53UtJeyFNlexy8sG'; + 'ONm5dBZKwR64knWiksvl5Sw/nFEIqxUDBGZmxQKtlp6dUTH04KzH5iuMigGxVCoWmIp56W4XFcE'; b += - 'L3xaO3ke3BRxCmRz7trtvIodDt2QTid/9xis+GncrJmCH5U2aIpcOroQFJ9vF2uzqGFohJF9Wml'; + 'SmdyNFLBj+iXccsiJXpHuqAfG2u0xxy6Pgs34vYErpc2b1M7CnCrx+PHsuMrjk9lxxOMnsuMeHp'; b += - 'zNlR5d1eY4LKBi6/XTjw9JYkjcN1y7xClKBAVNrerY/wEX7KuGgM3FPh5GXDaPciq1Qk264RSGq'; + '/Kjnt5/GR23M/jcdcexzzelR0P8HgiOx6UY9fEV27eRBMAIsvq4yB5dfMRhrJHgA+mrT6cMm3VB'; b += - 'pWlvTuhD31JkkvtJiDy8PB5F5KnfoDaECgus8ElpCdGZfGqP6DIvYbZtQa3TUSohSZQy6Y0gK2m'; + '42pnMYvy6oMP05bXTh22qrC09NWE66ftorwBTXV8+Ac2qyeojqH8imSZUKLfpIuLDNSdfeogP5H'; b += - 'W8PXAC7aWOlzV0Qq3LxFf+Grw5CYic4vNV0yWDKZwGdGYfyFGhfxsiUqXeDYlQEpgSsNmbNjdtp'; + 'rad3IYq7UAbYdgTX42dC49fhZ5fGr8XPuMavxs82Rq/Ez+sYvQw/Wxhdj5/XMHoxfm5kdB1+XsX'; b += - 'lZgWaVkVVuzyprVh1Z9VxW5RLw5cgKkRWaSppVvUQZ8guBuYOfappVu4SIJJLVh6w+U0uz6pcAs'; + 'oavy8ktEh/NywPbl0JH7jtmQ9f1P+jvD31/l7GX8v5+8G/l7B3yv5u5G/LzXbOJeMfPgrP8WOyK'; b += - 'wRZA8gaMPU0q3EJnS/ydRrWwXE5PjV6yJGUbZvbXg4t3GzK8el8bvp+Se6ZfC5esWJ9/aYlHs+X'; + 'Vma2Rbcukl3kmYKF4iKf/xcGVnvN6ekkzxBDM8YTM8fKtkSGdmOKUZfnr6oz92d8YjMzM8qRnue'; b += - 'wJtWO0uMvi5XAi9c6yyxPV8C713vLDGWL4HXR4ZpIOu2JAsvT3TD5NiFM6+QXsg8KCYX6WGMn66'; + 'fxzD8jdf31mBtJ8XjKy74Of+2RhZ3zZzAy7NMNnP3j7nVLC5TMzTGiGXe/6xt1SwoaZGXZrhq9+'; b += - 'YwdZnckh54fuDn7s129x0H06AJelD0rX2akG8D1DBn/d0TnNqC7shG0zBpwgkttbPsF+Oq1dExf'; + '7SN3BDvjK2Zm2KMZPvHwD45LhitnZrhdM9zxxdNf8HfGG2dm2KsZvn/3rmPSDi81Zy7x7vTMfiV'; b += - '4mJWEjSpy0aGtUbAGKqZDN/YLKlDjja7U/TNFIUyBiTPtHsM861mcuN/kmCU09u5ElYqvwi+B2x'; + 'sT4qtvQ7rCRf9jV4+AeQw2E21ZgKqdRhdQj6ayX0cb1A9TDNqvs2qKh1CD56hynfpZ8zR0JJekD'; b += - '2VVleuzzq/3MzK69dr+9eOy9+lkxlPo7U3y1jednLfK2qh1UJrSAvgYlgbgZ0ji+AA52sDJAx67'; + '/cvABoOJcUWxJ7dVxg+AoSaKtkP1ivKrQgua3ieqfi+XURz68eKWjmUupH690KdTlPNQLzY1f71'; b += - 'HPfxjgPyUw6Hia/NlK1yeSPXpYkxuUzTXmahhGf+1bw05sZjJ2S9/3PfmmDpBZctckO72hJkA9m'; + 'oijsF9htgX1iqSHTGTJAkJVJQsVqmoRibaTXoV1WkxMt2SJYrr1EUgtWa5AarHaGa5OluW8spOw'; b += - 'dJaTAdUOOSbamhFCedNoIZdpm5b1Ve8p4AbW4Ld3nCHw51btvdZXA6/BzjfvounKK/2uhS9bpqi'; + 'L6mn7lhS7IuXqT1Z2Hfftrh+n3Z/qUexb5sMBr61/cmydPmW+JL9qbt1k+JAx/F8XKEdXnObd3z'; b += - '0tuTVDkLGCquWOiaSt8NSgLkHTUZ9Bi+b6LjdjMmjSBFfNevT09CwHTnrib717XD9tfHCX9NFO2'; + 'J/mQ+ci/TzKsl8/J4HjOz85vMl9jM85B5vmYG3Wdf3M3MHAjtmbuReZ5mvlgyL4mXMjMHRXvmpc'; b += - 'cX2eik5MwXMWiWckHwuSUWhF6fiUY/eaOP9nxt3FOmJmGA+pZ6JXDSkHwPE6oAF6yAJzkUBZIJP'; + 'jcrZmxtlocR8zMAdKeOULmpZr5MsncG3cxMwdLe+YuZI4085WSeREAiyQzB0575k5k7tLMV0vmh'; b += - 'X2XD3/HVJ0sIwft0230i+wReDGhAlVE7VvaJ3T41M7YUgaGvCiv8dJ5A+GlHbm2Ufk2Jeu4pPpF'; + 'XEHM3MQtWfuQOZOzXytZF4QV5mZA6o9cxWZOzTzdZK5B165kpmDqz1ziMxVzXy9ZMaJ/UgLNe0V'; b += - 'PPqJfQeAdLA9kLYJMcUo9lVsM/GJcgQnlvGuEJC1tjN8xOhqsu3x9Q8eP6miWrUNZOpVSIG91Pg'; + 'ak+QAAJxAv2cQJ/g273Qc7L3DJSABHxV0oO2kYNXz2rfRVqp2YXCZhfi7/r9cqnc8VJUnTfFcNz'; b += - 'OvSbUtGUllzYjpoEP7D64E0DBOgG8fshSUJ10nrTkgCfKanD+nED86mXjkUH+ZWZe6lBeCgnKVg'; + 'L21zMgmwPQUHrbedjm5SaF9zpKpM4LrC9JMz636XmJh3NC2iXCpkaV9iu0nJF+y3ucQ01Oa6w/e'; b += - 'nItBbU/w29THUHyh4Ee2gJoSPnf8bPSi/PjuyUIP6ckvPKv3qso4QPHDn4YEuGR2NvU9JUwWqLj'; + 'Ws9zjAK47qFbbTnPUe9/KKY3qF7Tlnvcckr3hEr7Dd56z3uJ9XHNcrbB866z0O8opH9QrbkVquC'; b += - 'YSAb2On3Sga2x9MaTIkkFvAD9xo6R8D/q/vRJRYaeUzF1mSuDsnDzrrr4qIyEN9JLq/meMGhAq+'; + 'NvuASyBS9s6ExaC1fycscc1qLbhzOm9CNfi9skciUF0ldqpDMCMKb3JMGHomkq1HCH7rBulsCzb'; b += - 'rVzc8bQ+ZAKQlcEJws22Bw+PVI0NOMCX1YWeaZPmUQe3/S71i6BxzrCNnzhs742JDDPcRzruYwM'; + 'WBM5UProqOqMAfQVbpW+ijXr1s0JtltD8wmBbnwMakGXzpuQlvshLUI0Ysmxe/n/z967wFl5lve'; b += - 'O9ESSkUt3WDevixZsuH1mlLnUHmImfvqaXIz1DgEtz3m+k11pT2LS+9jrywOzcJfpqA/k+hKGKP'; + 'i3/td1loza9bM4j5huLzrA4YZGMKQcMkV86EhoTEmaozRqk1btXahVkiMNwZGwQQTrGOku2gxGR'; b += - '20/J98hCtIUuwSls8+1+pgYkWBuHMUQHImDTRHzr5HvMYip4+a9PhtXHdxYgCuf2FdoGZw+J0tN'; + 'UFLdixpbtsS90DpXbcm7bTU3qku5zjtD92D/XQs6fd1M221Jzn/zzv+33fusxakDRpzz6IWfPev'; b += - 'AUvNO1z1o8xWF+I9ux5UJ9HxTvpVKUhMF5sChVZYbAqUVoHjKujZJHyn/F5yIqA+ZmJzhXKukGp'; + 'tv7PO/zPu9zZVUxjJ3lFWjAEALJ0dmOiuO8VdEJV89b4YypcH7xOdfIYYxeXHYaaIc97FahJIx6'; b += - 'axYec8Ell4DlAZ5Mh5IfZKpwBQocJYv7729iMjDf1Et40CoK12bk0GC1Z3r7Hj1hOzwtSmoB0BW'; + 'P6fsMBHcancwn4ezIzHOttVaaMgr1jNXabY4bGOyxXFeCrlQZjrLt8KWCmfcLD+ZddhuNQDiB3M'; b += - 'DFPVXQVJrA8l+ZZwJOplrkKXj5dPIAL0d93OLqeRk5lOWOeruJnSu7sVy51tk02T9FS7RofABE/'; + '+9XQXzqUiw2VxCk23sR1mAyRqyErDYyLzynLR3crsPjfI38e22tABLGvklq18QC+yWMZKZURsAU'; b += - 'OYuCpfbABEj6b0AJ0la5K+nQVRUsZWLcm5tUxvpY8XPspjqCu+krkygruuO6EuW9egqvM8D1VXW'; + 'tc+hExpzkX52GXPdM8u2j+2nfJmb/yTJaCtxgRakuVV2IL7t1i7q39rZCiOmyGGhjoiRDCSNFKW'; b += - 'oh5JsMrQFKdY1suJdYplpSD/b/sUVHm22pyTILUgkz7IRbofJ1EaxFH4YYWEhxgnfB0kqUxS5PZ'; + 'X46n6/l6b55um+ebsSH2hg2slQxJcANRFgiTzenfELusojnADya7bI5+GuvK/YQOsW957kXs5nu'; b += - '0JvjWBbglMn8n/5LTiyi4Dbv69RNxToewYlpxzj/5Xlk5foukyc2nyFGv4uYyrdLUB4PXRuoSc8'; + 'G+O+C6Yvl+rDW8UTmspI5YkADDy9SbWBED6hK6QaUzbuhsGRAZDrp6jzDHVO4wjkRwaEujMNf4q'; b += - '4Pf+SRd9XT8AyEWHhfIvSpYSjYXhkkwCHW0UjRfoKzDo9YBY1G0MAOqM5dXsChGP4WUIjlxwt/y'; + 'PLKHLjbQhgKSzwccVGj8dXZDSXqbKDFQKVLlElZmoAL4IGjcLFYgeLlJlNirs24VAE6i0UuU8VT'; b += - '5SMew92aDfflJIVL1UhJ7U0OBxu+CQ1ZYoKo+PcyF6qqszYb5nqxUJwb4UcXffZK+VbVK5cpw61'; + 'pRaQeiIdAcKvSa0TlXgkSEsO0kZE2zNG4XZmAa7S5gELkyF5vIU7pI78s7C+gX4pZw5w2av6iDO'; b += - 'KqqorVJfSBjfG0QVVSPQNzUVdZxTjQ++NREvydWVae2phMoS8VUIpaoUSlXl7+7kLqgsLzCU79a'; + 'nkX4c4O09kpne3UyRsGd7abzjnS2UqdvDdwZ6vpnC2dbdTJ2wB3tpnOWdKZo06m+NyZM50zpTNP'; b += - 'ajirTQBHfyVxGqBMqEDDwP4UnNB2FtnC1tRbOkjxDUbrpvUFTARnglenyhrAIiasqp/ajslvfag'; + 'nUzcuTNvOmdIZ4E6mY5zZ8F0ThcCrFs2R0yyy7rF9HhEgaFPpcq4y9Ri6EtELdYjh5qXQgCOkck'; b += - '80ysmUyYFZlolPFD7oW19opcQTWLKMxMIm3p6Ns4ByRyaRvikRWj8+bDFXg2ysUekrquvMSPTiQ'; + 'QT2HBUc9A9Sqx4JxnAA8sOOsZwAMLzngG8MCCcc8AHlhw2jOABxaMeQbwwIJTngE8sGDUM4DHux'; b += - 'tVX9DL8+BL5BmzqeNuoMiJ1yUfTRlQt6AOVgVK0x4qp8JQFYtiY9wXATNwYVUheVyzcY0C4x93e'; + '6nSldDLJiexoJpyRw4xF5Wo8T6BCXm6vVVKLE+QYkbpDOFEusTlOiUzhRKrE9QYo50plBifYISs'; b += - 'zU1Jj+966+d9CEGbDaAqKnSjQj4CF/hmgkDaKdmB/tiQB7ahPxanRX8sqLyvAKdWCfpjsWZqmlx'; + '6UzhRLrE5SYJZ0plFifoMRM6UyhxPoEJWYIg1cPJWDfySq6yYMGFfb5aVQY8mtRYa9/bahw3E+h'; b += - 'jskV/JHwFgSvCXT6hXmRqxg85TW2B9gSbBWlcQZi4QDi4AF88IGw3+w5yGTy6kCUtkJeRnqnVEo'; + 'wjE/hQpH/RQqjPgpVDjsp1DhkJ9ChQN+ChVsdElGhf3+dVR4CahAbMFTYHDgq5TaDB5Ng/68c21'; b += - '90VHJSleaSXWRK6m2L+iI86wIKnOUg1Hoo8lTUA+4j0dgBWxa+xKKBe5RSYQ8ap9s6zZksZvHRS'; + '7AYR68V6A2CXxXrBLpfYCOPfFe8EVJ7UXII5JvBdcclJ7waST2gsuOtf3ghe7F0DAvk9VLHpVZ9'; b += - 'r6UWhprDuyL0zu6c3fMarujN3fH3Nwdfbk7+rM47HzT8otz5Zu58kty5c/LlR9MnxxPPt+etKXv'; + 'Gra1z0Kr3oVXrRq/SiV+lFr9KLXqUXvUovepVe9Or6on/Ri95whS5zhfslPyB76UsRM79Xipj3I'; b += - 'pfAoQTz5z4r34iOWb+roT5xcvf+auxj/t9zF5H/kLkZ/lr8HLqzTe27NXUxuz12MvjF3sftN+Xv'; + 'Sli1vdIEXqi3VKchjUtxelY0VKcgfUsaUahTLosxVlYy1KcbQ5EGVTmYCVLO3ROF6R4A+iOFDnY'; b += - 'ekr/nj/P37Mjf8/b8PTvz97wrvfAsQhh3qHKmEu9A78jhsW2qPgH/VzzJxV5ZV0UeGcifaveW0k'; + 'hRS7wGNIcSE4DClCOXVGigvAXUixBN5CiiE4CykuAl8hxcVInyZvvARxKqXYTUXz+UvBLEmxh4r'; b += - 'br44DV4rMCclk5Il9X0VdFegpSuPnKFtifideTGTjwessMTMMB+CkHMKBN6k2IrFzDlVotpxS/0'; + 'm83upaD5/GRXN5y9HzEwp9lHRfP4KBL2R4o1UNJ+/EoFvEGoKlX6qmM9fBZ5eioimYz7/ZpwRpL'; b += - '07x9yUU/65LvIu3NmgNHoxEA1wIE2RBPzydwC0RPTemG2EnaoxH9Dokr9KIx511XBQuXUfUJgwk'; + 'gaB3MprsGpXoprIRKQ4jrIE6R4C4QRUoT623z+bRCDSPF20PlRVeIQkPT3TiN+hY4Gfwu6hSX8+'; b += - 'nN3K8kgeThblwIa+DT0bugxLqopYkioKGHLf5ogDw0f2Qoh5WeVG1uF57gJjYW58VWTxY6tcZHl'; + 'Pt+SF5po82jVnl0hG1EnkWzSAMJC76qQ21gzqAtLCx1OQ4U7gd+M4/aVPcDk5Kpdz+IXdezSjaH'; b += - 'ux3ICyh1YHls5B+X8fKXpGQxqsEyDFRqs1GCNBhdrsFaDyzS4SoNrNbhegxs0uFGDl2twkwav0O'; + 'v5LOUoIg0ruuFyVc6JszaoFaAo4mzqJhXGMOtQG7e9NnZWJbHD6SIQiYOdRm+Cgp59ut9KpyxGu'; b += - 'CVGtyswas12KjBazXYrMGoq+F2G47Z8DYb7rDhThvusuGdNtxtwz023GfDu22434b32vCADQ+mq'; + 'JD7UZc/hrSQ61gT3UmgOnK0lDxcyCDWrkkBvgIBog0xLRkA6iQNOIaM2gNT2LKMIcoic3EDXqQq'; b += - 'gmTTqtZipfhuIlftMTPBxVJOtqCqsHG9YrHW+IX1Sz7STty3STX68wtGKof+53pgTqKk6Ej9Fq8'; + 'QuvUCXdKgX6cX6jimCbIaJZZBeorv1Ut2je/UyvVz36RX6Rr1S9+tV+iZ9s16t1+i1ep2+Rd+qb'; b += - 'OQVBbBaIDbaMbaIQyuXtrL8wpRKFcXJb6Vhry3Wz3CkNwwhOR2y+wWgYsOGlYYFtmAfkzUhPO+h'; + '9O36zub3/GxrYnFkfEscuz5mIAwf4uVk8xDbLLFTv6rN7iLdnjbjSHUNNaMx2GHis9AMz6kqjTj'; b += - '0lAywoar+9kNO+HIQYFYBTFEzeYi2Ab83kYzcsF4P021Wmdcn0+s6r0+l1yGvT6fXvbw+k1738f'; + '2UQznk1rxrOxZjwAoKxe0eodRTvp46wNrWcfbMSMqjFj1Of+VhYbQTHuW8V49v97inFWMDPm9gn'; b += - 'rx9HqA14r+SRUsXm9Pr5fweiy9HpRr18aXbVjP415i+OvrIHll9gor0leAWWLSfNgpJk0ftNpjG'; + 'mihoj1i6zg4fPClff2MmymjZTZo+Pml6V9Lo1vdLuVbez36Wq1C6zSdnbjPoWycveVqn0jHZY3+'; b += - 'r8sbTJMG5PmwtYxaSqMH5NmwhoyaSLMI23zPNhLZs1T/xmFeDckqG3yQ1p1TEnV050ixh+lkt6F'; + 'h/E8rPPh0003wK/VC6RhMEiWJtUzT5KatsKn5SiZxSpeSU4rEXsOit+Ca4yhsxpWIxJWhS1ogpF'; b += - 'qO5CmWBbENyInzGN34Cf7Rq/Hj+jGr8WP5sZvQo/r2X0MvxsZHQtfl7N6MX4uZnRNfh5JaMr8fM'; + 'cSUEEtGnPyoDz89+FmMH42fefjpxM9M/BTZfpFtzbS1v0tH4u0SAeeQkmBRObHa41eyAs5HU8Gk'; b += - 'KRlfg56Yt0aXD5o2bo7X8jfk7zN9f4+9l/L2cv1fw90r+XsXfq/n7UnvMcsnwR7/xM5xYXGqPLj'; + 'INTECqXipCPyTVdPQ7SLecXn3avwk/HYIai6yU6R8aJBS+WMEz4Yd+lSkCAK40YpK75PHPjljlK'; b += - 'ZHl17inYLW3iWS8h9frW0za5MsKWTGWOB0UuCrb5YC8dQCZ7TAz85+/CfuNjM8tcDjWmDPyYc+K'; + 'LmD+3Mn4gqheUaW2MIaWCRJNpZxwhlsUVtRuwhPgT4AnxJsAThPeFgm4WYwrxI8AV4kSAK8SFAF'; b += - 'U//takF6J/2kuHdH3zo/uI2c9nUAtu1wGc+uPNOqeHyqQXGtMD2d3/rA1LDFVML3KYFHn7kY3cE'; + 'uIAwFeE/cBpCHOw/jpPAYhKaFSVgNhW3Qr/eY1ELag2+mXKDn9EiWnX6Ll9EvUnH6JntMvUfTHt'; b += - '28yVUwvs0AKf+uo/HpcCV00tsFML3PHls1/yt5mrpxbYpQX+/gPbJ6QfXmpzLvHu9Ox5IvQMSu2'; + 'oYV8k3W8bGGj/V7rN1j3R5r9livx1o91umxRo+1eawmZN0jax5Z78haR9Y5ssZRLPKhbWRdYxxs'; b += - 'jDgyxi/FmofOLqhzTXgj+QwrhJfT8t/99nG8QDUwyavdmFWWuwAieImp3aXrL2dCWXpQ/PFzCcL'; + 'RFxUpqL7FS8H8WhCrRl+Fp3plBf9/u/9xW+w+UafuMG86O9wTS4g/ozQZGbjhGTzJCBKZ8ivPjN'; b += - 'tspODQi+GrTJHhy+n5XXnhwWadvuGb9Hpsml30Ht/sRtDXDCmzaBL3N2z2qJvkWcpDzzaujq1hk'; + 'sEfcS1rC2hXmxCGsTG7GC+OW2T/lpXUL66Ewafe57Ox8CdpsmOplGv/rb+yfAXdg2hJT5u7N/+e'; b += - 'jsr1OUl4y+PehHcGM2h//doLoLrAUAsMx/gw8A5mk8f8hEJpLUAHIYmwGIEayKjymQr26CGo0J/'; + 'xH44NEgHNq9Gcj/+E70E7YNjquRn/wze99Ihtz7QFOrdH3R7784yA+fAUc7/Pb3/ric0F8Lghwh'; b += - '1IzddVGp3yxSpaFC/z2bTfMeHf7SjlL/ZpkM/Gp7o0Xx4o3mkr2xu2m9etwwZjbu0AGvpe03vmR'; + 'o2eGRz/wfaYqQ9wFo8+MTgyvC0+IgQ4g0eDgwdGsjF/H9DqyZvjx6NpA1CbO7D4JIdV4j/RLXDs'; b += - 'vNBulF2nhlVJ4MUDvpDAHvy18SVJ4FgrP1sLwU9tveliYE6GzcA8Kz9LCF0vhBWYhC3NSdBZeiM'; + 'k6MeFhsOdGE3n+Si1eaMl03OeEvQw97xfnLGW3qQndjOOeaMx9mpHXPGQwLxM44547VKgCs544E'; b += - 'I9Whi01XwTsjAnSGfhEIUXauHLpHCf6WZhTpbOwt0oHGrhq6TwPCD4SGFOnM7CXSjcrYWvlcJzT'; + 'DOu3EZzzOHS1nvAKk3E58xkPgAXvEQ75he8KDuj+bBqNvTnhLDkJFZA51S6sOdUtwqPPNoW5J1a'; b += - 'ZWFOYk6C1dRuEsLXy+F55g6C3NCdRauo3BVC98ghXthqCqFObk6CxdQuK6Fb5TCyNiLtIKmvVzP'; + 'FuCQ51vjnULak61C3Boc43h7ol9oBlDnVLcMDyzaFuSdWhbgkOdb451C2x5zZzqFuCc5tvDnVL7'; b += - '+6OSjOo3YpwTwheOoi/0nPQ7w3A+gmdQGUGb6Txac3XsIq2cDaFCNoT4u3av3CpPvBRN50OJPcr'; + 'FnRHOqW4Kzom0Mdd7YkhzrqbDGdM9BJh7pcfKjLmR5Xd+PAi0o/K47SAWY4rzt8xYefrt7sIBGu'; b += - 'HXMyKkhGCitYmg499Us5uuJM3rB3BDckoKaTj71L7kGp2A5UPwenijmSotN3R+Yg9vOOI3pGMly'; + 'aU1pQthGC3Q5H1s6gdwaIyiQXGMfBbJrTKdAeo1VFcivMbgCCTa2WCDDxkyLI62LBRfIsbHz4iO'; b += - 'd8xj7ecVTvSAbNEz7jbt4xoXckI+cJn7GfdxzTO5Lh84TPuJd3HNc7kjH0hM84wDse1TuSgdR2R'; + 'iefAckSLZA+Ku5IA4mBwQzYO7RHqE4nyRHdlToXnwQpEb2WOjeXBJpFxyVoRxGc6J+LPYHNUyRi'; b += - '6HjGTCvv7RjMIEQrOfXjB0WaBrra+fyXoK1bedijsQgvEb1SJZAZTi+xfocU5pKZQ8Fjlk3jKHX'; + 'eXrdGc8dkmZ3iGlurTkRxKEI+watLdGoUnL9tWVtHV3oU3Tey51c9vpX+52i24RokHBVfGKvGys'; b += - 'fXVD+EAZoyMq0wX2VWGTjFXQrJs2RDgOLdgtBLLrdRCqubRnBA87AG4xICi41Gzcy3mUC41WCxM'; + 'eqK347e3553oL9jm3I6+my1yjt6gD3vGOWdtSnGeScjlr+eVeL5sRLPnnOE+ciwQSr2SuyUfOJJ'; b += - '+EO8AsprwdhKd4FYlnL8ZWO4ccaOF4bs8Kx2x59a60+D01sduFalrzldZEPRg6lEuWhWwOG1rwd'; + 'zjuL6u9AqXPQfIlazCehxfVH15xTOOiCYXZcPW+LYXemGRPn91VFNFQS0dCpjj7YV4661qbjEB7'; b += - 't2nhJDinAJqUq7xWEb0y2OHsD0Ru3pEqvClgr71BKfzDNmr/MDpA+GOKotC3wpxKZWyCHdbRVEq'; + '42klzSOiqE8+whxv8so1sqF32Oqt+mjGfloc2fNrhqZ/Gj+lJx1F8qU879Yo+7fKLeRr85Y1jlL'; b += - 'SAUAC63rsC4lESVEozcgjWaK2m4YX1iTU8JYIqNG6jcezKRlagwAVqX8qMHUZYvrkH5tvf/Z+9d'; + 'imJd5R7LKvrD138f8Sj67YT0oxA2yvqYpNYwzNYy6JrmaOlKPSyN8PxEbx9uwKR/0vcXJ64+QmY'; b += - '4KzIrnrh2lV1zqnu06f7AA00NI99Cmi6eQwww2OeZAozzOBkwiQZJ5OXjjGJ8TCJgUwmLxo6gZn'; + 'WmQGxme8og3EZ3ac5JPka7EwyTa+VX+6oijp0n0nQ+woxLUvLhf3rqn/6GnsjsMA5ax7mAmOhjh'; b += - 'pcUjSmRBDIknaSAQjJB0vXlG52kyItopJ309UVK6iH79PjOjX12DkKpG7/mvtXVXn0efATGb0ux'; + 'fburOJiZOPNychZWY494xtTNupSEil0+ApvAhV17uQkuRp8/NuoUn1WStXgxOzxV3LIFIkNP3Nn'; b += - '9Dcrr2o6p27bX22uu11zLvLpq/diyB+SvvZL1xizmo11J1UK8Fz24xz9b+NtjtHXY5zBjoiRLC6'; + 'g60Rk0LqqmFh/YldXBCXMFj8nzvk6h2C0Snh3JRnW28JWdiHg/IBhPkq8jJ113gc4QhW2tFbE+A'; b += - 'LZKOX47y9fydt+83TdvN0o9lrz4Lw/BvN1juxDNmrzdSPmE3GVRmgF4iBpsBH/tdceHZk5yK0ca'; + '5MmgxHTqQKccUlgyjTE07NzuPYpY4PPghun3jRBJy9wE2SIsGoWkLeHfgd+eKAA6ZCuSjJGF7qT'; b += - '5tlMt41x2wXTFqTaMKp4QlO5Pz1RS4GnN0nNENUmdIVUY8rG3TBzpB/k+mlqPE2NUziXyJF+oe5'; + 'P7J71TMJOLMMfXLf9cAEttqU0Dyg2oeL2kOTW5O+43yeDTh8X/wDXr8Z+sBUm5ZCUiI1LP2xnMr'; b += - 'Mw59mkSV0uZI2BJB0dsi4Qv2nogm608tUmCYJE7zoEhU6UQB8EUdtOgpQPVykwgxJseBxJLaZKL'; + 'nMkNJPfGkNwzNSTHaiF5F0fEmxqQdwkgxfd+CkAyovnx6yHrQPLRMA/iLJ5flw+eAo4veiL/6es'; b += - 'RS4TwVulBoB6Ih9hoKNMzorCtxE0L4FBKyplkatxszMIV2FzCIXJiNTeRpXaTx8s4C+oVQHtw4S'; + 'VE5ln9zIUtsZ+7+K87Iq3mHgmw3GuTVzI6DRe/LLPshJa3V+OAwB1it8JYssF7F2Sk5L1ZudYhi'; b += - '/MXdVAj7yLc2GEau6SxnRp5w+DGdtM4UxpbqZH3Bm5sNY0zpLGNGnkb4MY20zhdGgNqZIrPjYFp'; + '78TGYat8L8gKd2qO1qW8qTOEX9EuRxlnMQLg+h0dkn+FYvBwxA4AN4nMEtliNCrvNy7P1j292kP'; b += - '7JTGPDUycefGvGmcJo0FamQ6zo0F0zhVCLBu2RIxyS7rFtPiEQWGvZMK4y5Ti6Fhohbrka3WSyE'; + 'c92S27x+8o6CL9HuSbQgX+3EEj6zM3ae2CrOE0z+VZw1W2DcAo3CDaZmFzifyUJBYi2SWZkcCB0'; b += - 'AB41kiKew4KhnoHqNWHDWM4AHFpzxDOCBBac9A3hgwbhnAA8sOOUZwAMLxjwDeGDBSc8AHlgw6h'; + 'DTzjN/iCB7g4/wcdbiCOs/0mXqfNI5mBGNYXp3IucwrIHoJJp4Q0t67k4I+84r/3xZmznx2FAhR'; b += - 'nAY6zHqdDdEAumprFgSjIHDrGX1SixPkGJ2Xp9FUqsT1BiljSmUGJ9ghJd0phCifUJSsyUxhRKr'; + 'vCbO4gMursdEwjLSZxmzkPsBiw/4y21cNAmq6HJ35IiHBaThjE7L82NnI0QH+i9pYcNmqJ2oH/g'; b += - 'E9QYoY0plBifYIS06UxhRLrE5TolMYUSqxPUGKaMHj1UAL+lyH2kIlfNKiwz0+jwpBfiwp7/etD'; + 'cSjR9CGRo1kk4EnClH/z6pwzInal9rLIbECduXLdKPc9QGEoxT7jtT7lsEqqbvS4i9L12nVzmUr'; b += - 'heN+ChWO+SlUOOqnUGHET6HCYT+FCof8FCoc8FOoYAMuMirs92+gwotABWILngKDgwMpqc3g0TT'; + 'iO5StVzdYPn8scWj/qIGIxpk6feUsohLmbGUgQkBIO2+HEQrV5v0A9bNnhvYBQ4piSP9ZBfETdi'; b += - 'ozzvXtxdAqRfvBQjnEe8Fu1VqL8DZsngvuOKk9gKE9oj3gktOai+YcFJ7wUXnxl7wQvcCKNj3qY'; + 'N3JvY8r6IEvc66fydfek03W3cMQKXDGiEJJMnuUS0ZFE3IOcj3OFczrDAFW97i4f2cnZ7lBFe/x'; b += - 'pFr+osenWdi16lF71KL3qVXvQqvehVetGr9KJX6UWv0ote3Vj0L3jRG67QZa5QEoCU+OC6XGLmJ'; + 'UIu4XOMH3n2Qq89Bnbnf+GXhNC+OKx0+EAw/H0OYXHPTFaG5EiT+/5OFmT0jk4fZtHu6JDH/vbs'; b += - 'QlICfMuaUBKmHVJBFKCnUhSgZSmYE3L5VSsaLlEJgZJCILQdSYlSGk61rJczjACURaFmVjJUg+b'; + '7XfSFTNphovnciE9KnDMJ0bJwubTlIV39E7m7ycI9nJA93MUlDP1P4hSKxsak83G5VHm63Kg+3H'; b += - 'kyQHKc0C3ZFLjv8gl93gMeRyPjgMuYRxStKElOaBu5DLEngLuQzBWcjlAvAVcrkQiWplxIsQulE'; + '+fh9uOQ4OwwZ/Jwcyb28cw6hjHn4T6bqc7DPenFGYhx5YQhmXPNi7XJiyHE34n0ixCy/UWSMZhf'; b += - 'ue+jSfP5iMEty2UuX5vP76NJ8/hK6NJ+/FGEk5XIZXZrPX444MHJ5E12az1+BWDCIvoTCSiqYz1'; + '7E+rXvx76TzcNIvIw81vPLfeG1vs55k5xhAQREpN7W4fUzui5GsMCresiy/GpZMZQ/urcXg0xuF'; b += - '8Fnl4uEWDGfP4tkBHkcjUEc7lcA6leLtdCJSCX66BPkMtboYyQSxilzeffDjWIXN4BOj+qShwVk'; + 'jruDwBwWHj7kJDl/wBYfH3AocHnU58YRCtF6FkPbRXotqugqHiwYLfAnAcswVHN7F08j5IgiHL3'; b += - 'f7eZdSvsNGMcpKuFtbw4++7oXmljTaPUqXoCI+FPKtmkXAbHnZVQm3GyKAtrCx1OTQSngd+EykU'; + 'kWh4+7jMMXGZdOuXHaORU9z7L3/+FV4PA/erc7X8wIDu/PCA6f9w3ofHke4/CELzEoiv+Jd68aH'; b += - 'spM9D0xKtt7zoHZdzybZAH8lcbjEBaSxro9PH4qMWqCaDIfXZtUw7jFCbYbP9PpIzmK8RkUkQ1w'; + 'B4RHB51OUBvNQ6PMA5zYP3hNA4fcy0ODxscziU4nEKVf2kcHk7j8KEaHB7KVODwCHB4bpy+3TNh'; b += - 'sI9RmWZQU+RYpXkTEa4mF2qwR/loSoTZjhVojcLqSnl2cH9jNRYTcDATRDFKKEA3pIAo0hYjWNF'; + '+l4aAo9cEwJf4OkXLErN66gbSgqTBgg8mmFOA9uQcDNCldkpXfatO5ibkJQFErZAnMxVOkG9qkp'; b += - 'rT04kizCR6MouoUTeCV+l5uqRDvUAv1HdOEncSB1O3aHigb9WLdI9erHt1n16il+plerm+Sa/QK'; + 'Qr6oS1COUCuKb+3HGgin2BbwKh+nKEL1GogAOoO1LooAM5yjLSSmHGFMZCfv4lI2MW5QoA6M/YK'; b += - '/UqfbO+Ra/Wa/RavU7fqm/Tt+s79F3Nn/jebUZcJlnZnPxxrHxMQJi71epJ5iBc10In/+VZ7oKd'; + '/cQz8wXrkSPYSe8X6olFKBfjpt6BkJgXNNkX8kzowncWZ8xJnR+bfHsYLdOBC5DWlZ5LuYKGfxX'; b += - '3g7jRjSFLeNxJJ7i97x0XllrGc8llvFc2jKeiy3jGQDK2hWt3VGskz5kbVg9l8HDypgas8Z87m9'; + 'T0T4hIBayWqqs9hGaJ9CBsqxzR7MPsXvPvgy3r3kZf17pefPvky3n33N2ru/nBFkDQnPnM7PXzU'; b += - 'jtREM4741jOf+v2cYZwMzY+4ywVwxY8TWZT6A4bPB1Td+rGymzZb5REZNq0pa3ZpWqfeq6/m8n6'; + 'vtqneFW3/UFtHEBiBL+joKc1MWYQTpq5TZ2KyaOKP2JhRByJBkFokIIh8mxoXSLFeyTlAq1YE7a'; b += - 'q0LrOj15uN+RZpSN9cafSMdtpzsP8pjJ/LdKaZ5VPoh9I1liBoFGuroolBa2wq7laip1QpPaWcq'; + 'lNbqNA08z2eRQ5TnrP5ypuM4KAkLXBN4xYYOJgDJrL7y+xKiSeDeexLsxXXFc0Z+NoWLM23mda2'; b += - 'Muw6q34I6GK1ZSK1ZQ+pz4UNaWCmhJqyciDPm0ZfnrxsxA/Gj9z8NOFn078FNn7jz3AtPWKSwen'; + 'MzjngMybTBfoE/z9a1a6bNj06fGxVTd1sCLSwOKSd/Y3wyspoiVfyJssH7ZMVK7Dl+oXcJIBHn1'; b += - '7RYFp6T/Qawk9qXjIVkF56Op+EpQamKF0uWEI/pNV09BSIM5xc+413COxeMDO9VVdorMKRfUVM4'; + 'LwRHxWed41INaiMbioBHJTIWZNGyC/hVsEXOnyp6ZEQpo/KU+D6l37KXyq5lp/SXzYpO0UEq0Rr'; b += - '44YM5GksLN0YUxg3kqYKJjGOh3FlqEffkVsYPBLqCMa2NMaRUkAAr7YwjxLK4YnYDlhB/Ajwh3g'; + 'a5v67QP+UmmRmNrsVnyuf4eEaD3lJQTKhh+MKVjSYEJmJQ1aAkolDRynt8c2MNjk4O3bKMc0of4'; b += - 'R4goi3MNBNZ0whfgS4QpwIcIW4EGALcSDAa+I+gDTEeZhzNO+FkhR5MDUQtkW30m9eA2ELup1+i'; + 'OE2zcl/Di/j2V4cXj0OEQexJxlNDhiBhPZ7d8ZfDwX6hYrm409g8S6TjOjnLVCze6KKSGcOOiJT'; b += - 'ZLTL1Fy+iVaTr9EzZFfU89C5k3d/d5tYYV+k218bOFj+x5b99i2x5Y9tuuxVY9temzRY2semwnZ'; + 'rRvk+edBg9vuurvHmQJKpE8O846gN/jdocTTrvDzPYNnxEzMSx23s8zEbOAyZOS0QHf0SxQTCjM'; b += - '9siWR7Y7stWRbY5scRSPeVgb2dYYR5SQIyST0f2KwUE9mj7mLxltGZ1JypMMoDwIOabygr+D7+4'; + 'CgoricRmTzEZ/ElHpZj4jRwdksbwYZz/yBcRZIWIn5uIGF0bD5bRLG5jyMAZeuHsfFMGJtAtxAi'; b += - 'N+SjxwpAHqHEkjz5Fol50hTz0TmIj+PgHW1jbwrx4hLWJj1hBzs22T/pp3UL6SCblLKbAblNFkq'; + 'SRQbjneflSg2MDpCFBuYESCKTYC4NS3QK9L/1KbIlSg2WQ7+5UugxSyNkThwfhLExjNBbDwOYuO'; b += - 'mkOIXjmalDRBNOgBoLEhnIqZIeFQFETR2Jq5I8NebaM5BaJbVqLHxlOAQmJ16N5YIMZFhJyxoz9'; + 'ZIDYIa1HKMg9qwoex9lxYp0CWdzYJYpOFYVUgQWyya+PoG3WD2PDnE1HNmLfIIa8tLs0wEHA1Mm'; b += - 'RnI4pK0NRYRMpDBJbNrzN9nkODViB+Ppt0yWZJDZKwnOdIQ/4luxcE7EfWw2CDQhT0syUWrjYyX'; + 'bIsdyjV0bIAZzL2U7HhQ2OLyIRnyWaWGrm0OHAfgQ3EYmETUjBO3/GhFFKR7zhiCUcLSQnlPo9j'; b += - 'S2S8RWjhU9l+IuMtPsiHzM46RsbDMa8zjpHxWpCd3jEyXqvEfBIZDxzQKSeW8VzOnNolcqHLfrl'; + 'kgInMVOdPEPToKb5ABgNjK6I6JlJxr/Zwl67ohomalPn5YgdyKAcehkykEngViXaThLlzlgJ+80'; b += - 'GxsMhcyviudGdsYQHc38uDUbfSHiLDsJEZIS6xVVC3SIIdb4R6hZVCXWLINT5RqhbVCXULYJQ5x'; + 'FQvDbktXvxxoHZw7N1q7gb302w7+xYmX5bb/8LLcdt/Lc9v6zMF2DhYx6nBYLKQx24BBr9pyJPS'; b += - 'uhbpEVsIxQtwgClm+EukVVQt0iCHW+EeoWWbnNCHWLILf5RqhbZGVFI9QtgqzoG6GOG1sSoY4aW'; + 'fhKQJfCLVdu/C6UD7T4qljpIxT5a8DTY+nQkXDJnYu+P4NEqEbxzoHlRKlySODgeo0RLoBjI5Wh'; b += - '0zjNDSSUBfEQl1gWlzdA4EXhZVsOEpHEQl9rihHw89Ub3bQCNfUpiwhrsmOzDEFxdMJ5NY4QYHk'; + 'HFz3ghbW/uA/bIb9I9nfsk8cMdwpVPPEXlySdNkNFLbSIiTsRftzkdtCjmGczORMwYZ6JTZ0ZZh'; b += - 'Gv8okF3jOgXSa7yqQH6NwxVIsPHFAhk2blocfFw8uECOjZ8Xi4jmxTNFi2QFxN2JgDiQCIjmxd2'; + 'JiJ7jAiMdoxQDVQ6oDSpEKWizyBOGP+0wkjq0NW4QyL8ZPJZnltNplspbNcukViolP/LWU+TRvd'; b += - 'iPcLlXNEdWanQvHi+6I2s2GheXBItl8iKcC6DnIg/C42oljU2uVyN5Yxlm8DwDC3V0pEIJQjRVz'; + 'B7VG+77Ly+9uonwH/tNJOycosqgxOoSSScTEFRAoP2nWPpJk+MQ5lTxEVMa5g1OtaIl6S+T9zHf'; b += - 'Xpbo3Bk5dtK5voap/Cmyb23Or3t9K/oHYLrjHiwcCVtUa8XGy64tHR+K28A/sde3qT6LPNGu/oB'; + '5KrYuy27x7ypepI2Bg+DJQJ9DyRZN9iz6QjpxfwCmQnxT5DoW6grZHdqgBuKI7W31Y+Xl4uwEOZ'; b += - 'VbeMcY76+kLeScrh1c8a8TzYyOelXOE+ciyQyr2SuyULPEk8s6C+jtQSg6aK4F8WRJaWL93jZzC'; + 'udIBUxT4ixRNx7MbfgzFUPI7NEgEmr/Dhqoa8rODILLRy7jD4ynjiPSxKbzWR9CcTKzGNDDY6P6'; b += - 'QREMs+PqOVsNuzPFOB6/qyrIn5Igf051QL5lZZw2TYXmu/SzzxshYU6dEH+9XOGXbbA/7fKpsOq'; + 'Nh5xDsaP0meAdbvyrO9aMfGgiPX+eY6P76GxlimU/P9YzWWcAYpNdbZXSfjaMKyEr+M/Dz0ascF'; b += - '3mRNA8tJGbzu6f/K38Wt606EFX+zbTr+sbxv8/At4G86zm6NEcnQsOU/ER+qV9ecu/pGcgYpPFi'; + 'M2iqbAw42iwrWmF6/t2TNoQUbyp+Kjqc/WevoUM8y2iRQ7EATpc7jOSaY/dbM06s+WgwJ2k6AiQ'; b += - 'lmgO093NucLYrLYcwl0d3MkeJskSN/3xOf67KyKw7Sf16xa7ocQpNwKJ0Iu7TBwXFRBDU6wVKkK'; + 'L4oQ88+RPJ33OYG6dy34D8hXyCRs4KhbfVPhmifHW5uWjM39/womWR6eumCC2Ee4vcfPgE8pXyp'; b += - 'yEiicZ9mr864hBZEmnlPXzMB2ZePC9vj49vi4/ByllGV46MyEFFnJ5pk3MkxPwXP+azaEYP+1gc'; + 'G5DfzhJ2VS/Hi+mG85esVsLzFHDj92noF5ZklezWpkJcU81ouCpnCscVqYQZL0IVYsSRo0GxUyG'; b += - 'D6RL3NwRtijDzuyBXNnDrRwfy4Vbe6c5A5Tv99ROtUNtTx0sTE12kvfYWeoFfATU4whiOnObF+C'; + 'ibkuUeOMfNKWdEGzIMnMBZSljPIGXUtRhp5hsfqVCIUnGIOfIOflxQnvuSUCNLkWoszakyuJT94'; b += - 'gEc5B49gJTslxlLF1XsBHAGy9m9Tn2U3CLf6xsucFT3a4mThkHIdms+nVslDG+HL0k685M1ov0Z'; + 'Z7JaXVbpFl0TXXPwyglhMIsfkJMTLR1OGhSd+ydhQn2GMFhb36amkKh+rEuwC7rRaqyTbqRqNbK'; b += - 'UuifVrD3yCSnrFA74ciFrJxwUyuLw1zOEGvl4NdOOp0+brcpG7mZUHK8vsZbGTLjUxXcOjTvE3c'; + 'lYeiZb90ccoh2X0KyMuIIYuVNXgs+yQHmi+MloWVJzIuXRKdNq9EpSyI6Q18adUf7wWP8Dkt7Vj'; b += - 'GKSJLd/dTbyEd4/VxsLLpv2o3Yc6stIlOqMJOQ+m06XmS1Hf5OUYZ6P2tcatwE5KenLOvHjzI0Z'; + 'jFCGx73qrBjMc6i1UgAz/lGK25ilaXo38UOSN2gDugvuT5IWyILrG5sWJwS5ALxfxNvxYtuGDKL'; b += - 'Cbsmz+2U5xbpucer0nCe/GJlasPTX6xM3niq6r26wXv5Y4vDPiJpYtbkrbeWAkRAy1rHSSTKgcn'; + 'YSA/5TwNxnhtpjNua/muH5NGzEt+q+6dv996ff6Wnyvi9PUHJuZi5U7xWFfZGPDxpiJCkaxx0e7'; b += - 'ocbDxfd6AH7Zs8F7Lh1uPMdOpoCZMH+4eRGptTNkyKBT2+nE6bhwhj/PqKt3Cx8pxx4hCDEB5l6'; + 'aLmEjfNk9bFJCpTTSDorkrpLrrClk644a3AIrEmTpBj4qIrvM4fALL3jme/Qxvy/I0k6LI2K/6f'; b += - 'sDpKelBTXAeeqWO6eyDE/V5+72SRYU5yMV7fHjqNQquuqh6ttZG/aNHrvC+cPsHc73gW2Erlc8f'; + 'iY+BzHp9tz6Pz+64JJ4AY8A9yABmCpR1yyQxhix6XU4WxMhEfVbDaSK+4EXpLeGKxssqlupgZjz'; b += - 'iO8+Dm2LA9wQJKJs48VphPZaZUcUkJ2Wp+z09JIzmX5ewc52/mFbNkgovnec9mQPmUA/iPjdGvL'; + '9NALsjHw0HJc7GVpA8CXWtkFQ0VKgf0yaaaIMq1682N1LRSBv7ZNR2DLbBDilTbVakOBk3ZzGt7'; b += - 'Qbr7g/J0hKtF/L4sh/ACgDg7LVMLzxxqT2endauy07pV2Wn9ODutH4fK5VMzJjutj/GMZ9cxjBG'; + 'himjjbqaKnumGxlP5LajlHq6JR841XfQR03wKqp5jtaAKdWna/5jpYyXEZqvoKb22q+AWeL2uZh'; b += - 'PNTqTrcxOq6IJz6bz44k4J1FQJI+mksAgEoQg+nx6IIRsv/qFOI8mD+xI1cC/nM5eS7OI7LQ84t'; + 'bi7U3DtTDudGw0MnnNqJHaS+9mjyMyec2ikcD8phRzSKvtrJor5iNIS+2vmC42008csnnNoJQP7'; b += - 'n1Rmyxn2fmGENAECk1tYM+pnZEydcYFG5ZF9+MWyeyJtFINQ6Pxjh8zBUcfp/g8DE3weELvuDwm'; + '26dEI+mo+Fr45M6JB9NV8GtxyZkbjn6a+2u+DV3Y0jL7Omu+Dk3Y0uYf6bqj5PjjrR6N7mH5Xf5'; b += - 'FuBw6MuB2RXiMuoEOo52mtRTVfhcNFggS9REo65gsPfYxzmOOqEw5c8i8PHXcbhi4xLJ904HZOK'; + '9RRIwP1djV07+5EjWsNr2Cq9un7uqYuqs4dde0qbumT901Y+qumVN3zZq6a/bUXXOoqz0a2VuLX'; b += - 'vsgKuH/xKnD4n707nM9nBYf3ZwWHz/sGdL68j3H4nC8HxYu/wwqaGhweERwe5dTjx6pxeIRx+Bg'; + 'x3R4N5azCpG45+rxalp0fDnarFpejT5bC0ezYhGn63FoJnR0LO1uDMrmvhsLdbMjkY+W4svc6LB'; b += - 'eNJzG4WOuxeFhg8NBgsMpVPlB4/BwGocP1eDwULYCh0eAwxaBfRmV82IReOS6EPgCT79gUWpeR9'; + 'z9bDlEkOBq3+/wpcl88o6S62jRl3JUtnNLGXg38w/fGq4pl5kongQRPDcVQZJfUX6q0rmuks7QD'; b += - '1QQvs3QODRLMflxS7E4a0NVebzorJt3cl7vITylpO/cv7zutI2I94B4v76cSTvSfYFDIVj6WSJX'; + 'FtxENQYrv+IK6r2bfgAPE1HmK8dOoXNu8E1W9/heu+vVhWaN0xQsOsWFtpvoFpan+C4qzTDX14x'; b += - 'iOANodK9SWAdpZz9wRyFSAQTFbCqz5tQyEW5QDw0F/x0bzLf2njdAivpf13Q6+cisbRZeNDSJyK'; + '3Yq15CWYN+frW3SWywVevdk62eq2xtUzVEzYyOVsejC7SC7X3AcXloK8frFFgMkFiPBSb95+EV7'; b += - '6wrPIcEgPAkG4SMYhM6/JQ4O6cbBcG382CI/xYQiip/qmWiyiFAoYfR8PqUuMeuEV7Pc2Q/w6af'; + 'lKJJTvhcfhunS0+h08Fn8MFuj0VIDEPbDrb5SKSM7KznGF4XGZ4MmB4rsB2hhiey7A2vsz+lhkO'; b += - '/7aV8+pnPPV/99IcrogE5MfPq9DLPeq1v8aoe+1e1Aa+Il/pNBYOHCaaAGJzMsOlU8AlV/C5z9X'; + 'zpKjvzTwffRnN/NB+ejCfxRuR7EfL7idPDKbMutzBuwD8cKXPdrk89FlDD3riidjCCX3DxTupMo'; b += - 'HIBURbQHhvRAaVeIREzr7vciBTwnoTMaA1up2jdTLp4cCugT2Il624z3LUoWsiTJhYi0SEmGkVL'; + 'yeG7F6N2jMlpSlpmxg4EwQqOtVjDvFm+jG2LTUT6ipiqqC7QnEa9kNbh+bLktRj8QGsvsRSYG0k'; b += - 'laCsUhgB08CO5imOIDej8dQMX6ivFa0cb7EceNk2mAI5M+zZe2aafOj/WdHxWfUXoGeFD+unPxN'; + 'UqL1vDJ7H99FZtyDEm/rRhQZr3wU3UNJ+n5nZp3kvNHaZ5gpqL0jyEADim+Rzc4KV5D0LbmOazc'; b += - 'Mc9vVa6q+G/KRqkSrJcgSzygtwsgEdDPjIi1fp9xjW4iUxnGz7e5oisroQiAfzLf6PCtpkVi9T0'; + 'HCXZsziLNN8Bt7t0ryLmrtMM1yr5kkzeM/5pvk0NS+Q5itYD6Z5jMp5ab4MA3PTfAqoLs2XsFKl'; b += - 'qb8EZmvRb/kzJvfyWONar6DKUmD9s1Ur7gj9TWlQPNnMKx3H9UYlF+CtesshtnK2YCiQVJjZMUq'; + 'eQ1SAy/irGrLOZblSv7t599V/HsT/97Mv6v5dw3/ruXfdfy7gn9vNHEw+2wczOVxHMzl691RwKT'; b += - 'ElckpSwcGle20Fg02O2vg2TCVNqL/TRGj1JSarf29lTNY43ir0B8gnzfFWEV+XhK98ZcTV3/FV3'; + 'PxsFcGYd3XM7BwWjAKTuA42D21w4YkwEmDuaq2gGnZYCJg3lT7YBxGWDiYN5cO+CMDDBxMFfXDj'; b += - 'mCGJCdDJNP4WDO/RW2JJpx3h1mQRB8h2xBs2Hs8zEXOZhMeIPKJNfl/XI5vEWYKistJkA4PYQF8'; + 'grA0wczDW1A87JABMHc23tgAkZYOJgrqsdcF4GmDiYK2oHXJABJg7mjaZnvXuRY/S0YlWGelH9O'; b += - 'CcjimIPInNHMBk7gfA8InJAEt47fm5HoDTaHIYIn3M8BInL1oyd4JnpCRrcQgCV4Am6m8XLwBFj'; + 'Jg+s8MLOaQ9+MI5lcNa9EIZBoRtLQu+HOcCkGi3bToWN+2yTUfjpkHbNBI3XWkxTYfjpsu26VDc'; b += - 'VETwBdjIET8ggXEILFOf0n9oUuRI8IcfRZ3yJ9JWjPhKIyE9iJ3gmdoLHsRM8EzsB57ZLOeavTP'; + 'dMk2HYibJm3TcNx00Tbtj5su2KZ9cdN527TXNq1xJ1q0uo7r/+vgOh3gwsXA2EokXox/jOt0lKM'; b += - 'waNg8JW5CRZZdLYifk4DmQkdgJubVxdJS6sRP484nYZc0oAuQyxK1ZBgLuRtxvkThJwn0cZ2ohc'; + 'DaYueU+0VQ2xHOJeubIVrfzRKDNCSaPIbxIYu5IYJ2i50NIQGjCD++OtUnEvFOaDHv86xj+bAj4'; b += - 'rIh2oWR2Rch3GeRHUvAMNQODKR4iMjANqw272pZE2UjHWiBD8pzoIVAKOg7HRF+nYVOdOVXnwen'; + 'sfg8OX4kM8WKkeakOfb8Zo8fDF2qTe7qrelrgXR8ZeqtGDj5g3oQcfNu/g83GsRLOh+Zk4uHWKf'; b += - 'xBFobJhXR3QnTnTgnySCqyO6E6YKy7REWRKR3yGpi6OeAbFOUXdWn3DEON4BVEU8OLNdXPP+Atp'; + '4/SuGmJ/uGm+IubdtK/XtOOey2JRn7D3FZH49+MP23yiPk01nzTEZruPcIfeANc3PhhOO3hfvg0'; b += - '1+Oxo7cby4h87cObES/HY+tvgDj5fPOpwfBMkg9mATq/YeiT0n0L8HHAVVBrcDV5S+0+JcVdJn6'; + 'tPqmV5vndFe1p5/P7Sx8WCpv8ZvJW3wreYuR+C3AGrTSd8qjcWCEkSceDZclPAJ/049Ot6cfvZD'; b += - 'dK3gYbcshEgIRe4x1xSAMlChROVYB1r0sSEIFjGnDUVcZr4FhxwAuJkLubrYBokmaM/QxxTx3Cw'; + '+haYdTwxpKnguad5bTVCHkJ+JYzdTTaZ9zA0IH8AcgOz9vOvLfs87vezxvLvLvs47uuzlvIvL/s'; b += - '+3/OF2ffdbEjbu/hkW4rimhidjv2pl4c6zDiye4jaP1mujCYAdZm/W9UaPN+paNMUx0FmsaV22s'; + '07t+zZvFvLPs07tOzNSWbTV3Q/Hg6a0KgDQRMadShoQqMOB01o1EjQhEYdDZrQqGNBExp1PGhCo'; b += - 'szPb7nOujbf/4gf6+Xigh5e7iyXuwjmPA9AQhXzGNznI+IJ2FLrAppix8f2Xyuo2y5AjuWOqkaQ'; + '0aDJjTqVNCERo0F9WnU6cDIBN3a/djlfBtv00t56Q8HVSeApfSvRJiJvzfQXwQ0vZ042n5w4DnO'; b += - 'J1r217hVomOgTL0Mzf5l9k7J8kIGoADq+i/4M8s6Zj849T/M/xlGo0fSXqFPb2CABVXMWgaUue0'; + '/ojzhQnIl7UHGekwoTzjIG1ZZncV29Vs0XWut1emrrGjxX7GGK7sJnKqjC+w3+MOtoRtRwYY2cA'; b += - 'SL89EEuv6+K14/IWTBv1J4kipL59kVvQe+Ib0l/K7pO4CUvth7W+3e6xZvR3Y3GqRCNjjaNm83b'; + 'ItBi/20LiDXwjupQJDWW9gZcjohJxAjR+nvjvEg9AlfniwEu7P1UWGA/eaLhFov2E07DjUwXuIO'; b += - 'gQT8O1fDSX8QBbmCGEBQmPFWGDOC12k6yVrmHrtp1G1IV6u+J6FBaneB5cqU32eqtulei9Vd5jq'; + 'F07PVUgcNhOAO7fAun63DCmZjzFuOrNQtsDF4aldkcM6VQGcpaXIBvhG+uVBSg95SenfgD0/vON'; b += - 'c1RdlOohHBYx1WfhMirVe3AMxFSfgTOoVGMWp5vq0/AElerdVN1tquGGMEeqB6h6rqk+RdXzpPo'; + 'p2udM5K/IGpc5bp9KRzZuIPTJ0zTWdOOmck/sDUOcN05qVzeuIPTJ3TTWdGOqcl/sDUOc10LpDO'; b += - 'KjDKmeoyu81J9GcYYU30SGimpvgRPV6leg1wJCzhC8FI+972Cf1fy7yr+vZl/b+Hf1fy7hn/X8u'; + 'YuIPvPwgh6pG53zp7Ej8gZcf5NDU6JzHWHpQt8f+wO2mx9crDnLo6LUEYfB6KagvZlfsBOhHrxH'; b += - '86/l3OvzeZM+PL7JnxpfGZ8aXr3VHAZJk9M74iPgq9lA/SUYeTtgOfGV9Z22FMOpgz46tqO5ySD'; + 'o59JAP5sG+pk00MfTQD+dBvpYGuin0kAfTQP9+LUBfXHyydcxwCGGaW6y6I9lKhb9SKYC/plrhH'; b += - 'ubM+M21Hcalgzkzfktth9PSwZwZX13b4Yx0MGfG19R2OCsdzJnxtbUdzkkHc2Z8XW2H89LBnBlf'; + '8mDf9MGv6ZNPwzafhn0vDPpOGfScM/k4Z/5vqif7GLfiTDehezNxCdzSYI0F21/vdmrw3+x7Mp+'; b += - 'XtvhgnQwZ8ZvMi3r3Yt8nqUVqzLUC+qfGeeMe+F8DsqEtJAzK7u16PnSDQjbWhZ8Oc4XQKJBW3U'; + 'B/LpuB/NJuC/0g2Bf/D2RT8D2VT8D+QTcF/OJuC//7sNcG/+/r6TyMD/c/yAXROT4G/pwr8l64R'; b += - 'srtptq47GVQO2aiSuutJiqg7HVZdt1aG46pKtOhBXTdiq4bjqoq3aH1ddsFX74qrztmqvrVrjnm'; + '/PtzKfDvy6XAvzeXAv9QLgX+PbkU+HfnUuDflUuBfzCXAv+VawN/z3Xwp8GPCDVzI6e4mkstXKK'; b += - 'vR6gau/5+D6yOEyguBsZVIvBD/GNcHWmBEbtEzqy3Iw7TnzaY7W+EGi4Rx4aJo4peIzZrPFchcq'; + 'dAOFe5zJDKA1zTRftFuhKxvpQ0rK0OptkeZxgq+r/B9mvU2nC2ZxT6inL+N9SEsArFwb+XRK1CW'; b += - 'qMhVKBHSzRyiC5n0+VM0OOv8DmhmfB54NdM+By3BVf0pF6qQ5tv+mjxhsPapNaeqtaWuHWEXtpH'; + 'nOlKSTz0ZOtIpF1RzBk+69qnjUXCFpnorf80LORwsTFLEYWYXXSCxckaKWHYVgJKLEooPNS9nTV'; b += - 'JXrxYTMSevEvmzH47FFcotnQ/E44IHeJLVxpPLRE//BQ/MVDu+hfn6nHsxZFI181j9XR+JH40yY'; + 'Yzc8xxXxiSX9eJ8sfDz5QyvW+WmNl2sV5Eu1mT7/pH53klnc+UHTzqbr+2L/8qp+GSqNv3mv3Je'; b += - 'Om09j4TachWd/jT9wFtxB+GXwTsbz8Gmo9U2rNu/pqapPv5/rWSpeLKP4ejKKkWQUX4tHAdaglb'; + '3EdPsnP1lF8tt53qs/ni/EM1Jv2v2iKZVzu4lnkibmjnhsEJb0vU9kQ0gaYCTNWjgrgWhE7xWU8'; b += - '5TXj2Ow480P3g1zPt4Bf6mX52uT796Pv0LTT3eGOqSzCXNe6txgA75neMZQzWZ9jE3IHwAcwCy9'; + '7nHsXebitCSUSsyMUnS4eUpKS0FpQwmMaJs4wKnY5k7tYlKCRBmNyNpfE5LLktDl5J5//se8GO9'; b += - '/OuL/s97/Syx/PuLvs67+iyl/MuLvs379yyZ/NuLfs079CyNydR+l/W/Xg404RGHcg0oVGHMk1o'; + 'ztiR+HpGKPrcxjI0561R1QnihjKG7jSbh3eWI7xeAcZJe9HOJGrHBaxJTsu87GApxHXrURja3IW'; b += - '1OFMExo1kmlCo45mmtCoY5kmNOp4pgmNGs00oVEnM01o1FimPo06lTG6H7d2P3Y5Ytyb9WJe+sO'; + 'HrfFmrJHClldWYUIQV9nd3wgrPTmJTq3K6SmMiZfNLiPQ9/DQ86jaefGcVCOAuwsaFT9LtoudO0'; b += - 'Zqugti+lfiTATf2fRXxz+v4M42pXgwAOOZA7nG3N4NWec3DxpMMfe4wONOWZ3FavOtuo699s7U/'; + 'MKjpfip1P6TrZZtKZdzgJFMwG2sz7sCxOysmYWJlEohTSVYyuTvity8J443Hfqf9+ATenEQ+YNt'; b += - 'fY3rPTSXwHiZwq4zfn97oDLWHbkX5GNjACLcZHrZB4zt2EJmWOUVnPuaU4fUScQIvkdw/bwQNQY'; + 'PUHIaFmYfZD/pJC8zIfEGNSCGPTRnsApP52UO0nmZg1Re5qBuXmZMaY9Mdy+mW7Hx0ApnWfEfZe'; b += - 'a44u9HuT4V5xtstGm6RkzHhFOz4VMijMBV7PRU4bec07PItHNrOCTsx5y3Gr2E62BgMGoUZfL6g'; + '7Yo68vDtMozs8mG7Inuepd670TZ7GXBHhiYcWZX1Uc8tEsFuMowGuFg4PwYoFOs9f1Y9cVP7VYf'; b += - 'UBn2RdzlboIfmxQUoPe0npH4ztF4Z5hGVxqnJ75z1DjdNHrS2Jn4zlFjp2kMpHFa4jtHjdNMY14'; + 'Hn1VCLtB5W/I5rBh+8ZD3TZpBnipSGJjz0GGdsdu5L8OMyUXPhrOPcWJNN4Jsknbf2o0tFp2iS0'; b += - 'apya+c9Q41TRmpXFK4jtHjVNM4zxpLCa+c0sPclgXNM6Vxo7Ed27pQQ7jgsY5jKUHdXvsO9duWn'; + 'CsKlWKNgttpDZMr9Xz1pQlU+x4bukAaIVbC1r+zhVzUxVH66YmkrMZFLZ4LPVWTFFPh05CVQG8I'; b += - 'y9/CCHWVlLEAavl4L6QnZbTIB+9DqBfjYN9DNpoJ9OA308DfRTaaCPpYF+Mg300TTQj18f0Bcmn'; + 'cRKf3EZou5zzG0WWUx75gDJkfMSEDbhGnlTtKAcfhOcWB4zhMAmeIf0h8/15Lf2D+mDj/vaZ+6v'; b += - '3wDA5BObnay6I9lKxb9SLYC/tnrhH82Df9sGv7ZNPyzafhn0/DPpuGfTcM/m4Z/9saif6GLfiTL'; + 'gH2flLEmz5km5Lbtxfed+75L630J/V6dv217/tHfm3VCQhd4s3hWLgqL1id8jJSFHsEVPXNnaed'; b += - 'MYLN3kB0NpcgQE/V+t+buz74H8+l4H8sl4L/0VwK/iO5FPwP51LwP5RLwf9ALgX/4VwK/vtz1wX'; + 'E1iUWPlpooraAS3+6afkeL+2CBOiA5NqsMeY0xYOL+0oS2cb2mG+CUo4zOmOJ5NW55x2fi+CUkz'; b += - '/nhvrP40M9J/lA0hOT4G/twr8l64T/PuDFPj3BSnw7w1S4B8KUuDfE6TAPxikwL87SIF/IEiB/8'; + 'y5fdZiTWgl8iIEc+jF6VEEtPCJwrzpOHfygWlYzJBEgnH/mRWLEed1V2B74jF/pMXTdao11RMxN'; b += - 'r1gb/3BvjT4MdpjtmRU1zNVy18RTsBQiPMZoZQKmabJtot0JT0JVrcytr6JL5ODtLrQid/cYqaa'; + '9zaYMv1mrpOK8zY4xIn4c2Us4+EM6b3Pbezkixa//+Tf+3GGPlxxuwIa87PHCFtyctpmpvfV4cY'; b += - 'dOIsnti8Vlf3DueNU75dIGTktZ+C1V1m0RBDuQoKauqFauq2dnkkivWpwnX6EdZDmf1MpsQqe+7'; + '3Hi6sloLB4vGCDlPCQjknQHqdtduRzHabnxuMlyMN0D81ZIfPGqtm6rrDHi/U5YRcrifPDr8S2F'; b += - 'DB+eg8PSCdFW50RB/ZeKrbAf89i0fBaNv+easFjINfQg8+fjNC7T5aLpwp7pLuc1HfFEJT1RMF5'; + 'mYxuFWLQYaL217+jcbDzBcYO9HZ/0bL4O8UYKQR78VEIQmlfPnvR50k5Ai30WDtGvcvDhGcv0/u'; b += - 'V9MCNOsPKZpfdLV0qy3G58WdoWd2ZJ46/xKljC5KPq643vYqGCvVjM0bn2iAI+NVu8yoaaeOzxb'; + 'aWNtAr+GXcTHZN8Ug++wKkw5rzncR+O0dSXjcJX51zlJxBE2jRRnQYMI1NdWFpty4wlFS0PClLD'; b += - 'UNA22QqrPV7vEqGs9Dux/UNgxTQxs1tFQ3TLTyeejaBgI7yeoturXmO1qhWGitbYAy0qWGfM13t'; + '7mFe5VmbmLyk3E6e3F17IATvgRR3lUiZeRYKohBgmEkgpiOGuZG0ZiLRx7tPNwpUHMqegk+f+kO'; b += - 'JRx9LnmK7i6reYbYEKsrR7m6kLNs4k5IAbnEyec2omFoaA9mvj4Cad2CqEk6IhG0VY7WdRWjIbQ'; + 'ZpUTQxZt2GYf5bgt2CSrilaBLdR0BRczapcXqPF//r4qBn9kiJhWp2SyUelcQcddC2JEikhL/Ko'; b += - 'VjtfCCATnfsYlB01U4ZAMtEI2mo+FiqeadEA2mo+Dcqgzmh8D7XVfh+iC0XDaOuq+T4EG4omnqW'; + 'pwVToiv+2+uCsxChm0GLi2eksTpRdiwSB4oRs3itKxTFamFMS5U7C71QMGwjy0VvhRaekP/fqIJ'; b += - '2WTXfh6BT0eizbG2s/j7jSzf+iZrzofRvtkS/rU3j5er2yZs6Jm8qTt40ZfKmqZM3TZu8qXPypu'; + 'Bn21L159bmxkHlveD548YSzvz52wRvnE1p05aW18fV5r7JNVajUfG/klBOSBFwPc6zhwHCxK3cd'; b += - 'mTN82YvGkmNbVHI5+qxa+OaOBTtZhVjMafq8WpKdHwc7XYNDWa+GQtHk2LRj9Zi0Gd0dAna3Fne'; + 'Dv/hDL8zdXZDIOWJWkqtYSS2a7aJbKlaSCY3Cg+BSYCkP1hbbx8v00QPFPY/TzPOX5oQ4ZeIVlT'; b += - 'nRuqBZrZkQjQ7X4MjMaGKqHKROs1FD/fwUu/lZCFp4QWD+cUjw69ykOYsf0x6vS7HiS8epBE4t8'; + 'Ve5Fkhdb/ixjRZ3OxU9IJzv2xRwgwkEZrbyrD+Zz5lUD3A0Q0Gi+bvoPGQTDhXr5pzFeudtqSBY'; b += - 'VBk/68/WW1eKFcrZ4puJhpQ8foncUHdodgQc6LDOW8x548q1zTtR1fA/e83DR4YEpSsGOMQHxLL'; + '/BE05+IsluiSTQQmQOvlr5LfBFzuk71PVUkHr+pK5QdMyq35G9wmYtnRoJ92E1+bPAgpkDbybNe'; b += - 'VA5Sq+gMUa2019ROVVvUSyhn086tPTSuhUnWqq5/t6lxtVTVEzYyOVsdVzmiFM6QZji9JWzmGUx'; + '7DMAwqDFhwKG8o6JV1YdyQy5363Zu2vN3lUSysyHk8eXVXqKzb6SXj0cb+2ky+gausmeBTSM3Mj'; b += - 'BuB1wDczsZk6v8H5G3LpXgj/1gUvmLxdVvRMnR/iDM+HfLeW4kQJCkw/CGilYxt8OxfWjgq4pfN'; + 'jnQuOGRsRHFdt7Iq5O9eyuIa7Uyn+yp5F2J86vqL2BMLf+4bKnTnllZ32t5Z45IZ1MqcixzKYsS'; b += - '3dIAPjir3khZ5KS1JjgeVZhGIlrEJJLsfcw/PuUuAyyXw4fShGvvbxJa8w5brw405MqS4ogtU0e'; + 'O02ZLvkVuOC20VQzln491mpjQdRSToBnwTVZuwZby4Rm08TTbXp025cmvn5eH08KVaGMLUu0vsj'; b += - 'ahM9eRWJnkyevu+Z751wtlR+8ISz5fq++K+dik+mYtNv/mvnhX30BB/2n/Sr5bGTfTbfnH+oxkf'; + 'ZwEuBWcjAzVRZCjv3dNOnbx5maQmvgfKn7z10nwucrJ+CHO8T8RlyZhLXkfL/4ux5uibiH5Znf0'; b += - 'xFVslo1EHl7JPxBXtXDFwztsatT0RnUNVAb53UUF8JUOnuMvTDuexQgY96ymDlIoIUqGLX1aSQs'; + 'E16OjfXNrotLgBbCBHhwe8U19GJ/rGRr9MzWiPA62u5ehBriuZ7fVINKEjkvZF4bdv3sX9HGUbC'; b += - 'Q6yuBwE3zD4I3lcg5G8ShBJXXG5GwpiWdNyWlz8k4+/6++m5G05DYnM/uSxe55sa8ODXUnXEWU8'; + 'YaiRbDocs9S3E76WPNMFEzA7CwaSYXV4rgfnoKkwNv5OZMRwzrCe89jdh1u5NPu+lfVtyo9y/1I'; b += - 'bCzJ82Qjtw1SdxU8fsctCTAiTIklC9Ajfw7zsYCvGFfsRGVrcgwdP9WqskeKeV0FulSC8jVe9XZ'; + '2meqM/ubobRTLbIypB4UNqoxym3fr4e0gZ5B1hc8M7gZC0Zd0v7uObCkqiaGy2vuF4FNh93taKz'; b += - 'ZTyHdLC7JKkyTSY49kzEZOMQkB+dfnoUC+FPADY4JfrRk4NUc5epYVDT81TqeUh9xWFClPGNl6x'; + '7jiPk7Fp135kNgFmgmwbE+xB5EEPMzJoWWeHFrkHNJZlnOXHELu4HWhXfMa98M1jx/4NJ/a+IHP'; b += - 'b7OXGuIMzWDnx8hG+PSNesjnJweiw27xJ9WiygXbZj0/gzekfM8gMxYlbqVuYe5DPTiUZ1QiJN6'; + 'SMwQ8CYVL5ffEJ9gPDk5EhbcIztEdNExOe7k1BKdOcFnFZZ9DJ2ETy4fVF5dcwsTZQESidEG9xi'; b += - 'h+m92V3enSGdUy6YxqmVRGtUzdjGqY0l6Z7j5Mt2LnoeXOkuLfytyxm/+yOICLnIgymcU8yTLpW'; + '8ynsYc8iXdI/q9xj8SXKPwz+J7/EaFqskoeHoJu2eo3C85RsWXOxhPE1qowkXIHNW4GMptithFn'; b += - 'nfkOP+kpMaQAyO+JNu2wWDMYjEelrxW+NggLxbsEn2uH/vi+qnF4svQUynwHlT+zmgamxqmbe62'; + 'vKxV+jiSaYeppjFkSTvzrqsJTA4aAG0YV0HX6s6frZuJK/qxJRsL91yp+ZghtFOauzS/v3QcU9w'; b += - '4XTrZu+EL6nk58yWXDigOvcVJEdgNsnNlv+J2FNLMpsuMf6A3x61/oCxq6ASL/qLfOCwSFd7Yyd'; + 'waIczrhKdD+AVkg1Vyry/jqxCiRo8m5+DzYRu0zz3jXi7s6OvsVw3RONR2Hq6bjcNV0pOtn48q1'; b += - 'B8dkSb0T4bMHLNjo6PipOgm+qWOBKfDDTmRyDiqw5AqWOvARywLnEaN9+Qtal7BIWncT1gc8br7'; + 'f83okZfyNXJ1dPhbjb9m7NuVXzP67cqvOZauj3w7Ae41z+4f8/ucPm3eB1gfzZQzKzu0+tFMwzY'; b += - 'VHlOThu1V8ce8sZfic7kkOLMHnGjnD40NyLOBV9GfMSZ8LeGX91I8Psk+7BOD3JRy/PHhl5XPvl'; + 'CRYopmYc5iDGyOMlBzMuvYYZI3GMdFhUSurG4pYP5+TJLF0vwa/0t4oru5oQVTDqugo2qFxDWck'; b += - 'ufeSn9Wpx+7sv5j78y/oTJ/cvHmkH1F4f/cE3KyIlz2ik92G5+rcE3iIePrporLqQfX+6adUeOB'; + '/rK+NAYqIkeiNiWf65Cc8Eqhows2tFSDamY+3lYBvM5X/24i7vfymXS1hUfVUvv8Ex7BWzeWUOt'; b += - '2C1OSA8yM7MjPJMXzt5mKAzHY58mbp3KuMIrPu/almeMNi79Qthck5YWSObfbQ7CREE6ba34uyo'; + '8B8B2/cZXPINHkG4PHpS10mlYn3RiPK4NB+Ar5YesGYYBxslRxWlRHjRMMvpMUY+b8J4nOZjU3L'; b += - '58uFEh//uhGP8mTkHKeekDdjz+LircjvxHQFSvdOjNtp0a+JaR1Q2lxyKvZuFdxVnW2NHRx8Owx'; + 'QUUmAssknUWcMwkJSW9w1mXZHqcsmXDBhPRI5ZyLGBEu7mqjQvrW41iXo/NJJMiMiQSZMZEg3Tg'; b += - 'k+mZ6pyLbW9hgfIf3lP/7KHzvsMBzgAZyKjx2G+cjNY+Jc6CQOw65xGHa1BBwTh2FskxI+xjEpD'; + 'SJOeX4JwVTSJBenEkSEZovyJYso0E6caRIF0TTvglR4L04kiQUzyXP9ZEguRg48ScFR/nsxUdv/'; b += - '+Nka458rmTGNg7DmTxUIqjOCbEX/8LY85cdhq3LLnuOyzlgHhLzsGYxuFWLQbrLaYT864zjvC8w'; + 'slVp7MKcfI2We5isHAxOZxy4gZ60nUj/7iQU/Yew/X37KOHwTqEN212URyYxmqiHzM8z449fMOu'; b += - 'dqKhf6Rl8B0FGGmEWSiLxiiU65GJUceqkBxpp87aNV7tHEIsf78808biAX7tczn5r2M97kNcpX3'; + 'XWe97n4eRPO1T4wH3+pyicI0C+M/mwz6W0y6dcYXg0vCgmgF4dXm2Ky8Q4TgQmAK0HVOCKsF0eE'; b += - 'yHW6jftp6yEta6Fc7yRFhVjklCWkFM9rKkqXPOJLT0pBzxewV71Wulc78JeVm44SRwhE5YAq8qK'; + '9SQ0J624V03FIPQ6al18XCIaO/S3CXNw/G9j5uCqrz/+o+T6Cz+Kr7+z4noTHet/4BCMNSEH/vM'; b += - 'NcyiZZKk0iTl+wk7biGO5K1paBSBvnRtoimsiMzCmo5dHfo3laEB37fXuiyMXWBl9NlfBM0Ria9'; + 'uSEbkpuiF4emv4WplDkCpq291OAAFAX3wFDzYOeg2U43iNMcpqLl5jhTh5Jnie0a/Mo12qO894S'; b += - '4OuBjYVWXqnl6NZxf/pmp1SYiWZPVPJQRFikTpocxIkUsJl5XCdE35I0mQmec7hj4pbi78i6Q6L'; + '3e0bldbeM8IpHagoPics8prTfHMZ8jW5SKOMpLPjvo9HKbwxZ6z/W/V1pG49br9T9HD3Ul0scyt'; b += - 'nFqe48Qzahan5Jyqo9WMcaFib/PNBcNEtqSWFCevYF90/wGiCQZ9tS+HFVy4hjuxjy6cdgdOnDB'; + 'htEvIad4dINg/K/3C5qV09u+Il0deyk6urdB6MXOraEflfYs0HtLPVGXsmIg/j07NMYc/nlF5yd'; b += - '5uM+O2rPnxNydPmFdwH1ea+zSXmq1KUN9qmktPozpxTpCYAlo6tzHQ7/4J14YIMGlOMnClTaoWE'; + 'YfeDoerS3am213dFHuQzXXrpg12Ru5m5OQ+iG3GIj36L9V+9D5acDarUR29nL9aaHvkk/dj3e33'; b += - 'ktknq+pWIlmVPT3Gkjdm9DebC2TLbromy/crqBk0PylwZCnLLxisqZA2Y5IXWfdtMZPpkxu+o8I'; + 'odJV6NrgbaOq6Sn3Rf/5QdPpDVNR+2dwBAh73dnUhR3/71nkT9HeDWuedRb1nnTeOv3Su+GFOwo'; b += - 'FuUsARJBLc25Nf0mFsZUJKReaBo/g6Ygx8J/+pV868iFbUlFXxoPpr6RJTbSlIPknhGzLGlnxLf'; + 'FEkC+6m5FNC4KKyHugC4Q1+sqBk050AD84Amivi77SeWNXqZMYTAIu1V61+yA1lxbGUQpchC923'; b += - 'dM5k+ax8por4vGL6DmX7jMoj+Rtc5uWZnfAld7MjXIYTmgvaTnZ58eGkL6mKxKeyF6QxnmMo/Jo'; + 'Hz0eBRo90QIbUiXdt5Lhf/4z859BR9GLLlyaSb9LSKtlxP5T0SzyqVWQojttOlO26ynUdF9oKs0'; b += - 'kQQ3dZJ8B6kRu5PFuQ/KyuxEBr9TG7pgvcy1zavgyleKMrBTBR7tSuXGrZQce42srd9PUAbH00S'; + 'PWGA+e4tcPcNwbDQ/ALjuy34Xlj4MNHw1rsLXjRMrMBK1RliFyEEEhAUHyJwhMBZbtJP6m6CRGj'; b += - '+JMWiYHiPPxMl24zNZZhu9N8lVTs8UpYGz8R6zCWhlki4jDB477/OjsCBGbYwcyTquq7ZjRmmnl'; + 'hM+qY/pz0F6v6BweVGeDLgFzNAPsEVwb4NQPwDAco4aLLQZfzls2hs/lENO68Nxo5GJSjPy6+j6'; b += - '2/VwspVZdrldIRMyjbbTcvEVSj+365JfCgHyzjAhDnOq+KRvzrO4JyajDOwN/ybEvmNmULee4sj'; + 'jTnzoPsLLMfxz7w96TThlfbM2Ew2V0efeGHZ+kuX+SkFbvDru3h730l9qXS3UbUsbZ8Uu3IzPM7'; b += - 'HNSBmoVMmx0tlUI1v6kG/BLBImTONigXP+1JBm9Xm9WZkHYOHeRbKN1HA6vIP+9vYpHMFRJsno3'; + 'm2617TopXrZdm7ptmaz/Ja5bWw72x3JWWUfnrxSOeXN4SyOuLN898ESOr5gOkqugUs3IeLyJ0Na'; b += - 'PKXn5iuzx9iCd9jfhS+/DwSvZvEPwAsJIeDh5hDHQRP2+ku3VM9srTu9ruwMiWy4f6ruGB/3BtT'; + 'NANh786wB1rF1qj1PoAkch+PLn/pJCfj0AR/lRflLMF96I85DpgTje66k4+sdIb6/spNBaLaUQt'; b += - '3IJAceUQm2HFKSojvOz12FKoeUwZMR1nLcBdgTRX9ADo0hrTufP91iT4ThVeCGmeoXB105NEaXT'; + 'qe//vc94mmlbiJtAjDTSrbSwqOI+rWXDlRBeyZtx5lGVI1ArSErXcF3pdtMKICQGyDX86Y4bS41'; b += - '7vyIenk0G2GenuRiZci8UICEULmSDiVLnZZ6iqLcCJxUO5kFNSuGcYDOC7JL3yaRRt+4aCctsXW'; + 'HDYDoxZaIsHnnkr33TTS/FVerPl0xESlU+Eeb09BOhei2976zohRe8LaWCpqbNJyB/pUOtbt3UF'; b += - 'XTG4/IaYwfdEvCLg3SsENLpokrgapj4a+yaz8qwg2P07OPHDfPwP1TzCnK2E2D7a4BmXvnltzzA'; + 'bZHanNpFkwFwMFq//2sPWjdWMiJROO9m0usxpV9UILCztpYaAFjBH20nPaJJrRuws/7S4isQ7vB'; b += - 'nJF7UM6rHceZK6lu+Hz/jlax7SEKd0EPaPUdBBuQHFlyQeJ4mtdEcEpQ5K7DsBmouvFRvufgUTT'; + '8EnE3jzw5ZNGiD5TwvG05GHQQnMNg5bpBI7WQe0fIZDoZcU9qi2Xtzcs0HsBlKWlIDH0bn166W5'; b += - 'RyS2s+qRgNfG7UYVFaUrpHlz+bKtMwJtLlC3Ehf3clooD8d8mfTsGNogi0fGDum54kBudd0iQGv'; + 'eScmd6D0fKGTl7Xo2tBLyaAK8ec0+aij1EXb17iz16Ha+byh5EfkNqAlv0KOX6T48OpuP/uwz9N'; b += - '4vRfrMskGqmzmV8dWKUCGhy9n0JXJX2maW6+4XdHe3+RcOTTTIdw1+rnI59X6ucjqF0eTAuXP/X'; + 'LzokNfMi8dHaNStDg6Zxs0MD4af46qu9F/Dl9Zii7G/YgecPTLprviOQ5/ZM+29Ndy3I3W6FR8w'; b += - 'THztxXyN3B2d/S+Nv+by8cqvmThe+TUX0uVzxxPgXu94To7zeA58y4wHWB91ikjnMfsWdRquCih'; + 'fQTpRkgHj3uEIsYW6JRoj+zhf60Q3aYYTVAJbGp/ZcmP708aYi4Hi59EKjb6xWJJtGypamhlfYQ'; b += - 'SFBRpA/kwcgoji5PIKV5+DSRGPlmO+GCghYRurJPoYHa3zCq4EqL2fkFS8ALNQTp4hUQeDl87Jm'; + 'AXGp7n2YyB2IEecx6F1Pm2MWuwWtREMynK617iG4qTq6l+1+0NDGaojIAT/252ymM6LKkb+VWvb'; b += - 'rStcRTYhXdw/n8+sq4RpySXY4UE7h+15XABqCqGeYFrZ7FxiiqvR07tLn9my/s9pUv5naXw57qa'; + 'bFsWhrvnvOO27R36frlcDHxnYcPILJy742zcMfumPho+6WNAHQ3WilIF8iInx6+CNKVEe38xWKH'; b += - 'xr8BsdwMsxRlVl5w1s877dlI4OZMJ2IgeVLWSaVifdGI+lzUBwBXyzcMyaI5C7ivS/CPlDr0nfT'; + 'J3WpubT1ALAgpliGSbUdSeofZ3xgMhuCekL74TyrhsDz0cXPcYjF8OBWVzs2HmI+lOrWGOULjAW'; b += - 'Un7+QN4GW9JWmC/KoeXxjOVILiBGCEdTskF8L7isBuO4vxMuOIheKVx0cQ7VxbNtUCVfgipBHoi'; + 'saoB4Ixn60mYIIUlEuzUBWl+t2cwo+wEwTJ24JslTTVyKHnQvUBcTXOlBuQulUe5ZZFxvoTjrYE'; b += - 'GkkhKGRNJKWMiKblxJCUO0sqBX5tEUvLiSEqM1n5FxDEbScmNIym5JibXi46k5MWRlCZ5L3+sia'; + 'PaKmXcTFCM6m6JexlcGLo4fo/S5s7yAfg2H3elZOwbeDYNQtzdsH6gxK9dJjjYFKQCQ+DCQTaK6'; b += - 'TEEfuIsyo+Dvl0pcSZ4TlFFi4I5/ssZ4FkxCQgblDrvCGoNGBex9+hTDk6SxtI8bturLeNw5/5F'; + 'cLyFeFjaxzRWPM/dZDwQkaraZJqLlfkIPmrKxTOhGvTQr+XxbB6ghzGdyoJMHPi10MpyF6bcjHy'; b += - 'RG5lDm8TIgVqwBZyO1EsrnflmObKipBA6hYiYsNBVdyajMjmqXnXDkC3+Bhe6/nYarJwyZ+69of'; + 'hMjzgOkje3/hSxFgyTpGcdKfWCe6qcJqJ9n/kOramuaOz37JqqmLdsmcHRYO50b8286V47Z3Gna'; b += - 'ZjW2BUzNOVaW7stwmBWZekzzUCbMrfPOuAwqIaqezq2LVcP4Og8db12XAI37wh4ktFGUTAZ475s'; + 'W0wV1pMMaomi27AE8WfnKcuKhxSoRI1JX1jz32FDs3RyBzilqDOw2cjCYESW4xcWwaN27eUpqMm'; b += - 'MeIfclx144Q8SeOEPEnjhtQPPfxHAU82Bl4+XoMonlGmliHwzDDVoE2pwnXFzAHbob704bs4kVA'; + '315yGYdNXlhXbBKRjQL+VDm6QzksyCmJg4V7YqcYiKoFLh0FfcMmojc33Le1HHpiLjhrE7I/bdp'; b += - 'BjGM+IciO6RCgQrUPoW8KHwz9HhcH9RheOM8lxMJ0gDqbjSDAd5uJeMRl72+eodbFcTRzCqb9NW'; + 'Kzwj43vxl9KTpuiOC5zFoYVsQk72Lz1qyNzhEDfOjK3HDyBCP2PM523AODWuj/XHDgc9Sw7rosG'; b += - 'NvLfxuzttd8/6VLyf3D/xzff1fF/SaiywVoOEDLRZvzJy42vMhN7XZGkLyOu5WRlFN33wbt105o'; + '3Qc/0deMzj9Jr8hXjtnLy4fCstAX73WeaFPbww4cV9WwOdy9MnC7IuxdYs+EEcy+PlyEh6IFrBw'; b += - 'tAZOOiSecMRF3vOKUxynoGYTNhQUCXXMr3jGhDaF+Kvfe8JbuLNrh9rOQaQjtRUahaWeU1pv5HY'; + 'nZ4SUOEzOGXBQuzdine5bGZQgQmHomnZdUz4kIbJ2/GUvF7wMEjZObdLKHMRzuAyV1QQAaRgpgY'; b += - 'fD1bIyivBT0tTYLYNtoQtNM71/620hPqt1+vfSi915cz+Ej4IQ//ldoWLNwzIf8FuqldPbfh3ae'; + 'GV9LGRxQFZ4xTTSbtHGydLMW270tkhJjkyFQgrQSO/eKYLSX6hDIE6LRvkX7hMHhBL/R3C1cz3p'; b += - 'rYRcXVgwejqx1bQ7877N2gdpX6Iq9kdH2sZvGpj7n98lVnV9jzYKi6dU+q7jXdkQflW7de/GB35'; + 'jGTBVT9sUPSgyxhdZb4kZ8YADTJx6ZMnxPhT4d035OnSluQ/SCPOSyeuegyETFwV4GfhCvVvWxl'; b += - 'G5hWcSDXs4RU+B/YRNn34MlZ4MqLaPR2Zu1plc+RT92fK8Jne5S7wYiTpoulkV/8P7o1PvpUvtl'; + 'YKezrApbCJIJcsCG2GuBM940TYBUqf0TOYM1G6SziTHKcqLXEikSxOsZcxXXQix6rjRO7KkG+gQ'; b += - '8wRo79w71IWA/i5b552jv6BkZ1DuXeeN4y9Jxd8J+BN2RlAeu1uQSgFaqMjb3A2GINr16eedaDd'; + '/HNJW3p/Fr4pmU5twKeHQ9yaVApGWS3gvSgLJLCl0L6e8YtlxbR3yteuYRd4ACtUsQMp82otESW'; b += - '+IMBqr5u+0nldd6mLxCMCLpVeMXiQqkvzDQFU+DBXOW4+ejwicnkihMGrWzuP0cVvf9+5nwhFC1'; + 'fcmRWxHPRX8ve6V5+DsclOYLfSgtoPefxUg4CwFXExE5EVX65AKmZRbjNQsRXWsIiPPpRsZ7yMf'; b += - 'xjS530t4icDk7kPxFNL5daCSF2EMs4ZYueQpfu5u7S1ER846e3wEcuBLtN8wuM77Hguzr/YeI9W'; + 'KZt5hY1dglcQC/EfIzojYyTNdiex6MWN1kKB9zmD9PcZQphbPI2TXIzLIWi8O8tcBOAF497BKm0'; b += - 'u8pkKhNjOwK1RWCAyIEEhAUHyJwhMBZrtJP6R6CRGjhM+qY9kDai1XtAwPKdPClQ1DTwb7BlQ5+'; + 'jWDQZhDdVKkau5TK6iHY+Vwzm08EGxpldTrJmWYvGwDj1Hz91E1GjOJku0OvRMEK0OIlodVUTrB'; b += - 'TQe8wwFKuGhy0OS8YUvobDkRjTuPRSMHiZB8q/guIl7/3dnM9lD/cSpc2P28U8YX23Nv4RK6vWf'; + 'la1hZzojZfbFiIwmDn7daEYRPG6XhI/xNUd1CM2Ht4msLSbiL50CH2ZHmNklKNvVyWe3Pn47z6Y'; b += - 'Dzidp7p8ipNWDYc+OsI/+Uv1SKW5HvhDbf/EOhAUf3K77TI1erJfs4Joeew6MRxls58NgPZFI2h'; + 'ENHkIsUcJlcsQV2e2/wUc6vuASsqc0urykXAqsKmAuheK06TVNtY4BR05agftc3gkNraUjBAfMZ'; b += - 'N48wrllLeE0zl2xtLBgyU0/JNpKLkGLj2EiEufCmnR9Id9u8JeGI5bo9b7AZLIfTw689zzHIlZE'; + 'IsVpOrIu8FCA8AYRXBYhB/+oBocSwvhEgVAwIdRWA8KYGBETSpTqAAAwgXb0vAUSHsZci/rKNuM'; b += - '/xVXnZLmE2+xTFynGh0912scIkGnv/TFZsKRNSjFpT2/v1ZbxNNK/HCaJEKmtU21k+dx92s4SQR'; + 'dSG8Ro0N7Ns0g+qx6SL5oCEEzM6yN5MsGeib/aHNOJ5PybxXR9dZjeEWM6TTB9TpuE6Fa8ZTqY4'; b += - 'O2f6nce1dIlaQVqilvtDr5tWGLHQQLbhj2VNV3o9SuhMBD0b5fDKI3/jm2YaFBepPV8ykchU+UQ'; + 'DYhQ5UTHF47FUkmWJkItfEEs5SN9aRVE0y0/JWdYOQdl7Og8Gf+DjFGshNslolnDhJu5SSreJJV'; b += - 'Y6KknQvUqGu/06OpVb2upoKlqywko17Xaols3dYftxASUpsMbBPKX9t/NpqHWjYVA1GiPbSmxpb'; + '7SQ7ZpIVT3KrLuCDseSpTQ6mPN2Fah6xkntQU3EPGWDENXEPikNW1OMepuhpm6JnKu4hkGPv6c8'; b += - '7Mu48EA5y+sdACth4uB6KrIprQugk/7y75kNOiiaHnEXNt96eeNxaSTtlAW/Lw0Ka5hof2VAJH6'; + 'Z7qGNJrVATOtxNLAOneif1Fi57llW4+kXy2qomDU0rAZzhrqWMyRIEB8MOEMKKKxXms9R6Vpqf/'; b += - '4D2jxBI9JLis6otyNsHFmhcAGVpMUgMjW2ZXjzIKyl5Eo1zcyEno+vd0ErIownwZpjLqKK0jLCr'; + 'Zlf/YFRMZcvgmIgMQxh1cBo7gn+dCgPpCCKYEUTAmk4GpZPH/qeQ+uYd59zPt0szL8ZOJhmQs7V'; b += - 'b1epV7fzc0NJisMjoCqMoFcv0cvw6lw++toADXpONPicGXS0j66ihdFxW6GB8dGhT1DxSbQf/yS'; + 'mbVxt34YGSpDDPm/lUz5uk91ZuC0jCteUFtQQZOWNDejb0Wb+xAMIQzWXuZrQ5ocXp52YYV+Czd'; b += - '1l6JTcTtcbvd+yjRXvMfhj+zdnv5aZm9aowPxDVNPlKaBePS6Q6yLbolGif7MEPrTDskoyzaeSm'; + 'DqtQ/v4cx2fGu7vmazUYa1x260bhtriieO3mRLSmcw8UPPEe6eeDLm/kHp2Qo1U6dzcSarZHq2B'; b += - 'JT+y9Nfvp40hD/Nlz8IFC3zysSTaJlS1NDK+0hAuJi3fcwkTsQI9qocrpvPW2OOewWtBINyXC61'; + 'f148X2igNPDpnRkf9OGNmWE6X0V2vxds9sLUAs2OiFWxIAztfYX8RS++cXV+8nC7Gy4lq9xccbr'; b += - '7qH4Nvl6D52ZEdFG9uYIgeSxCj7nY+ocuRvo5r9tkZxiFP+O0777pFv0P2q/4P9G57/3IkL/o4N'; + 'wSN87WmdtVjv6wteNszSq/LNxiFzuiYkvjgpOuRWepFM1NHcBborEcEgPvi7XfLbql1xvKrfNGc'; b += - 'Az//h8NHXSzog6E6UcpCu8nE+NUILyKRyV7PjkbydFqbW05QTR62KyLZphfVZ6n+bXFHWGUI6Yt'; + '3k9Q7fcqMZyIUtiWrAcW3rc0Rx+T0GIOE3E6MVfVmhqo6+mPzl6C2g2qM+9XQ3l9DS+GNHcODFT'; b += - 'vg6U1xylmiVMag3/ToUzZPGyYJSB6UmsYEAoX2IQc9UKt67NjDHzqM+XSdBTFb+KeguQI5qQz3l'; + 'S+TcrvYjricx6vvwd/gALHv25uRuuFzx5cr0f7Wy33tpt/ea3N7FtHim72tJnzxNxqj0mK9XjWG'; b += - 'akKqKpRgIVF3Yt2DWgEdmAvF3yKrcsynjs0rmtMBJr2kVc9OBUOn4ZWxmOJfcSvd+N7R3kYyDsW'; + '1BFQVpU4ZDgvhluh0zhyZWrCqxqD8WLgW89iiO9diVosiFCxuRcyTnEQFjg5D77EkOnMgkVOmIE'; b += - 'S+cKZoWY39A9Y7+Op1SrfRa44OUIRIfZiQNVFDOlxwMHRtDxevMc9YDAYmabaGJaHmA0IOmbCwb'; + 'r7kjLJUttEu9RXo13qS2mXelPapb5K7VJfWru0FNqlZTXapb6r1i71Tq1dmq+XiXZpeYV2aSm0S'; b += - 'ulEfzUo+39YBaggPqQB0cuDfTzCdDKdj+m3PzYWpiFhEe9vs+lPEJk5Mkp5+pNQH7qlymoj2ffG'; + '0srtUtLrXZpeYV2Se6AnM/zb1cfpj/Lkea1Dbql91Bt6TrvUfpDC+2j16JU6mOl0nyjVOqzSiVd'; b += - 'rtKa6ozNH7JqqmLdcmcHRYO50X8286T47Z3GjqW0wV1q8baomix7AE8WfnA855/QhFSqxQdM39t'; + 'o1Si7V6XS+30p6NcKoo3TWu15JZ6EWqjVk5rikWjPOplWW3Y/QiVl+pe+mOUGbFOCT2tok3ysfJ'; b += - '5f6NAca8khbgm2Wnw2omsrcbcJ2rKo3LG1NBUl+faSyzhskoK5csgGyXTgx4989+WwINI9B4n15'; + 'b6ZqlA+FySaLjQ8Hk/xtWMNG0viVEntTNooYjOti6gbjeI2H37nCpXr4TSe7o70PEOLVq+4X4uF'; b += - 'OCNSXONowkFPWsT0ZtZ928rh56cf5m+CaH/N22jd2T42fxl9KapuiNCKB3QwrZMTPbGdlmydxYV'; + 'ZMiOnupW4o1VS1osphRRX4T/9xqsSKqljxtApTvOFVO8NlT7IGKrxV9FThjZrVVjfrW7dv0zfHW'; b += - 'c6MzccWej3CPC3HFMVSsjS7HFQMfpYp10eBuC7XZ/k685nEaJn8hhh3IwOVbaQnw2KebAXsYMOH'; + 'iirqQpXV+iqVk2pqyrdtkGxmY6TUlaxqmrFk2H/BjVQukmv0su1fX7v9vjlqD1+bLd5gL4Zz699'; b += - 'F/dsyOsjTJwuyLsbWLPhBHMvj5cjoKaEYxMJ2eEnDAMJhNwULc3Yp3u2xD0oEJh5ZB2XVM+J6nI'; + 'yhr6jpu308bN+/dyfvnSMnporAgzCazpW/q0d8Q87fbtYR895nbz0XfU/dQ7r/JTw1XbNqht4Tq'; b += - 'gcI2Obzr3g4BFO7h7Wr+ejncDkbliXM5GCkQPpvkpZKFYU3jFFzNa0cbJuvhbbva0SoHyTIVCCt'; + '9YvfBMGdVZzmrOstVqM5yVnVG67eQVp05rDrLpVRnOVad8ThRnTmx6iwH1VkhVp3lRHXGQ63qzI'; b += - 'BLv8YpgtJdqEMgj7X3rDtonDA4n+I3qHuF61hu3j8la2iZpwSVjfJGN0pgRDzjAxKlXlhzvQxn/'; + 'lVZzmjOuPuWHXmdOWJWbttW+kWfZNet7O0lHhYtVn4gnXQEm3Ty7fpNdvCngF83Up9004iOGL4l'; b += - '7kmHQ3ea5yCHHC+ZvO49GDJxUYCXgS9s92Vt3OGwpwNcCpsIEomB0GaJO9HTToTdoPRZPY05E6W'; + 'dPe+0u+kexME0vQosT47i+Hs7GXr8QgaNPC3BFNIF+rl9J6fhjHLjoiFFzDtxLB66YbdhPMlpd6'; b += - '7hTMJOE9VicO65yDkXsZ0IW+4I2AkllPIN9Ch+PqStnR+LYIt5DimNt4dd3KpUynpZLeCdKccMo'; + 'cTfoV3E3AmUr4QQmFTcVk2MxMFsGTRcRCAwgkNObhUsfAeuyHCSgR/e/tZQjlFmnbxkAnLu3lVb'; b += - 'KWQvp72i2XFtDfK165hF3gAK1SxIqlzai0SJZ9yZFHEc9Ffy97pTn4O5wpzRX6UJpH45/OSDgdw'; + 'TB/VjLVFtgL6Fhhf4KVAGKr4T3ad/2wAhVL9eCTE5DRoo0TIt3ejdxX1ht175EN3gxm1U7dn21q'; b += - 'QgTAw8RVfrkAqZlOuM1q8Bd6+sJ+XQj4z20u2Uz73CjLLBBbR7+T8jOiNjFM12J7HohY3UmQfvA'; + '2SGCLXhu0GcoHN8pI3YtJ67UusfGuhg5r6B0o30lfSkqUO8Kft+Wga/Ts8bJkc+vTodKompnTQM'; b += - 'YP29xguqFs8jpFYhMsimVgi7pQ7ACcC7l/0ViGTNMghrqFaKXM1mchXtfG85nEkLHxRrajXF6rQ'; + 'nrQMnppLePgsBVDjz5PDSuiyecT5UGFwg5kPJof7fp0ldx6+PkqyfbQ81Wy78Hnq6Tjk8/ZBiM/'; b += - 'Ui7t16Jl69iaiRjM3WaLVoTtBtDqIaHVUEa1ZbN8NOcsHL7etRGAwc/brQvF243W9KH6JqzuoRR'; + 'n3gueShYYcEGHA5WYpaX0XID5Fe8lT4EsKC1prbRsl+mVzzEKrFwje5+ZCstEYIyppdmlsjLbVi'; b += - 'Q83iawtJuIvnQIfZkaY2QU0LerEk/uXPz/fviH0eQivwgmV5x9XZ7b/CRzq+4FKypzS6vKxSmvw'; + 'Mt+rbB4gA3TGg7xzQqzB5d2haj6u26b5tpeUbHH0LXbR22zaAyCXgdktlGXCJijT/ax4idOjbRn'; b += - 'qYC6F4rpEkqbSxw/pFytBKlLeCQ2tpSMEDWgEixUVlcx7wUIDwBhFcFiAH/2gGh5KRoI0CoGBDq'; + 'O/VmDFF5S6+WAEAbaeDZAxsuL5BBvCwW0EeVwLAwY00g+9Fj1+uV4xQPSlR694KzuQolByzD3lt'; b += - 'GgDhTQ4IGFRKdQABGMA2cH8CiA7jDEf8ZRtxj6U2qNlge55jkXx6PSRfMAkgmJjXR/Jkgj0TSbE'; + 'DEtOj5sOBBZGnfTPW6SZ+NmhMw3PUSLrXsAODvw1q3wASIM2eAPPIKt4a1baCraRdlLZ0xTIua1'; b += - '5phPJ+U+L6fraML0jxnSaYPqcNgkrq3jLdDDBbUKGKic4vH4qkkywMrEm4wlmLRtb+asmmGj5yz'; + 'HfYixCazXxBYhqWlbnlEDo9YbR/Rj0esfkivlkesjh+xbMMj2+nbHuHizO3pB3nxg9zUgxz21W3'; b += - 'vBSDopsqDwZ/5O8TSzE2yWiWcECbdyklU8yap2kh0zyYonuVUX8MFY8lQngilPd6GaR6zkHtRk3'; + 'XRTaeao19elsxtDPli6FbxWYQ2ayskzBVOqEPSKXYKIotaZxiwzGJCFR09Gsn2aWjbEu5crT30y'; b += - 'EMWGHFd3IPiGGz1uIdJWtomaZmMe8iI2Htot+Ee2vJI1BtE+1DBHiBE/6TEriGeZTWefqGshopZ'; + 'aRGRiGHlfj69rgC1LqEPaiy4SzVc01w/U4j2UJ59Eba4iXQkNMOABEXAYdca9exjriPmduaYGoi'; b += - 'Q8NqMGeoazlDggTxwYAztIDCeqX5HJUupfZnX/ZnX0BkTkQ0ARGQOObwKmAUtyQfmqkPpMykQMp'; + 'vGly9aLfD9yjVmRURUPK855tCxWFfvyMbGqWEHLfEiZayvUzGPsZJpSMx9WkiI5ffXS9ThlytVL'; b += - 'MCqTMtbJ4/uTznrmOefcx71PNyvCTiYfbNZyUmVUbd2PByFIZZsz9a2bM03uqNwmlYVpzVW1F+i'; + '01dPenz10vjqMxh21k1fjZDEFWpqBUb/sid/9wXaP/L7sBWZQk3tnSjNg5ggVlPDevDNc9kbomy'; b += - 'W4R9+DvRYjdqAYgkzWXmafGVqcXl62YQU+S7fD5Ze/P9hYEL8ylgHxtRqMNW67baNwW1xQvHYDU'; + 'LCCPtG821PDCtuZ4nmmu86TwwPcV3mqulhIsdUWbztUT1rDKbhVPDCsrsY60wfmkpJ/oLNkGb9B'; b += - 'a3pYHPBkwNCK1nQ5Y3cIwk5WqWDe5BNqT1aBefJlRjQRqng3oHpHa2EjJllPV1Wd78Ko9u8rQCf'; + 'DrRE/nU3fPfYVp2hVJhgthkwuFZI79pgqQiW3fUjK3YREoPbmUYVsQcQUJ29lXrhzONDpIJyWGQ'; b += - 'cqIV7AYGJ25hf3EA9ZhdX7ycxuLlRKUHCg5XnokrZ+jsHSqgP+zKOkOzqTqHOC8LHTENp3HBSZe'; + 'yYoo4MMaMOcuYkWycxYBxno4iYWFG4t5cWbN2OCJhDbNg0yuGlVOsjJz1RR2eGhKjp8eqiKUu/9'; b += - 'iC3QVzU4J4C3RWICscPti340W3dLnDQXrvNEgr6fplpvUWBCyJgapqKG/Gg3wexJKxCmiRi/uUa'; + 'bBUtP2cbdM7fgcc8Hhbl+1KSU5nhorx6Uedj2TS/cRGy6XxeNP2sgZRpdhMNpIgMjJkw4NBDaBM'; b += - 'hqK3FK64BGAcsGtbl3qKFAT+GbcQSSE3K0RM4daj8OwxOjvg9/B/gUyd5AnobbFd+uTPuTle3ei'; + 'WJXb8JiNUzYtQ1WFZg8PiDqNRlvcRbagjILaSVVd7BLhMWt5BrEoG/pELXsfxOejO7Ylwyq8jnG'; b += - '3u81+TxLqbFM21PJW3yNumj0n2eqerDZgmYKkpd0h3u3y3RqcCITC1YVWMwfsxfi3ls0V1rMatF'; + 'LtY8YKp4jE08bdLbZIRjCVt60M6lhZaKRAFsa1UkCH3c/r97RN0cPMaDfb+JeQAIBmIG80JPMwj'; b += - 'UQoWtyGIXwBwuiSfw+6xKDr66URPmYIo7UsK4YgJudvEurSsxrq0LGVd6ktZl5ZVWpeWpa1Li2F'; + 'fNg9+NWSOYyLJ6q/2Kl+I4ZbFkZFk91Gw2kEU8pI5py0qIphR1jmNfPmBtriu3SYH/XxvOIBWrm'; b += - 'dWlJjXVp2zdalvsmtS3P1ErEuLa2wLi2GdWlxpXVpsbUuLa2wLskTkPBv7h3qA/Rn6TrvPboNtq'; + 'UlXOZdLzrzifL2XeYjw/pAye2yycKTwnwjwds6b09LuFeIHcAgOnN5s5kJW6WJj0/OtiYiX+Ta8'; b += - 'V3UmnxOu9R+kML7UPXY1RaxkalucaotMwalXSNUYm2e10utdOfjnKpKPb31mrNLbUiEkWtntZcF'; + 'QkF3zrCqeVyI/00VKLeRmejKtNF/lQE/PY/4wnDiL0YxJ0WLoAc1jhXp7sVD+fcFaF3aDHMkOLH'; b += - 'o3xqI91tWHPI3S9WPfRH2PMiG1KaGkVa5KPld9K9yzuD5dK4gcfBib/P7GBiab1DaG3JVRbxAxH'; + 'GFentJMmioxaRmqBgE9fUNYoSMPQR/h1rChbRdLJTt4n4G1/6gXMImdipTLk2HW1sWdrB859Ic/'; b += - 'dLB1A3G9R8KewXCxXroLyY3o70PEOLVq+4X4uFZMiGnuo2YY1VS1ocphQxX4T/9xKsSGqtjwtAp'; + 'B3NlEr4eyFbChFhhI1xqmmdnslErRBTPa4W76GtoliXxtGdZmAe2S2PzxNomgYsvIcN8mWzIuyi'; b += - 'TvOEVu8IlT7EFKrxN7FThTZrNVrfo23Zs17fEVihrqQpXV9iqVk1qqyrdvkGxk5mTMlaxqWr5U+'; + 'D6u3TbGWJkjvVJwZNbVT8QjEdmjfRD8FbFa+BLDLbaJDWrHJZiX7JxRGZmuJNxVfF/UN8ROq9hQ'; b += - 'HKDaq/dLNepZdq+/6+HfHgqD5+bY95gb4F7699yxr6jlt20MbN+/dSHnxpCb00NoSZ7IX0Lcu0d'; + '/2VNyZjENQ+s8Q7ugTL4O8V8iJvdKxXrzOb3efLI2rrCp3nyyiZxKWbM1nlRCqaubVJv5r8GkGq'; b += - '8S87Y4d4TJ6zR3mo++s+6l3XeOnhqu2b1Dbw3V6+eDBMLCms8CazoIK01lgTWe0fgtp05nDprMg'; + 'OeHL49d9+1Taqf2qn9lDbfT02qj43ar51UPQMa5Bn5htyvq0v4T7T8m1ipXjPXc+vNtX8PvVCzu'; b += - 'ZToL2HTG/cR05sSmswCms0JsOgvEdMZdrenMiU1ngTGdcXNsOnO688Ss3b69dKu+Wa/bVVpMPKz'; + 'XbTunuZ67TuXuYaZmzXgsDuVSGwexVz7VXMtZtCYGM3YlSd+Vif7Mf6ZMz1nLx4RfFcE/GeAW39'; b += - 'aInzBOliJtuul2/Wa7WFvP75uhb55FxEccVsMtPfukm80O1PEj7kogXFWlsMZ2MtXoBOsaWFwRB'; + 'HPxH88ncyWyJAlGX77GcTkHbOXXB8zSbU68kEalSc+rLnPrJnNK9rwl/3avC36uZU3+KOfUM++7'; b += - 'PI1+rFtJ4fhthFIkLBNXwrEbweemAPwWxpqQ9Pg30VTyNQthJOYFI5H6tIEuweuQSWLiIQ6EAgp'; + 'WnVevdl59M6+K57UYTYOnV1F3lalN9Me+4V86qdRp1fczaShSGjdgOA+pKSferZp417zJ1OcLgr'; b += - '5GFix8B67IUJKBXr3xjKSCUWadv7Qece7aXVtMHrcRaolI/fQt1L/BbYAxU/CR6zsrt/YRQK/UK'; + 'CeTQ+fgfMFRB0zhI2a0cZGWwKgGQKgGQBQ0OiIkTNHjEXlsDWGUUEXDAjtEQOK5kUg0osAoIIEP'; b += - 'qMmpU3+JlmnpJu9ubgt79IqH6AE3badi7/Y3bruHBb2gDdsN9AJbZJA3YdL67CBWvLHQQVUr+0s'; + 'iSI5QGxGgAFFQCaIQBi8LQnxwHzAgWzQ7fLg9pjKkN3L+j25Dgww+7nmJUZyXHAAoxAx9M2R8+g'; b += - '30VfSkqUG8Kft+WgK/dvzScvk0KdHh1MlcQSFldGDldFLWxnPDMUGO1Qsj8aGEuNBhcEOZDyaG5'; + 'f3M2xeBpfhBorzgIFLBJttddFAS0BffiNHDv1rvteWBOch5oqTwPuCluzK08D+Su7TyQKOmrubA'; b += - '2jPxV668ufqNJsX/hEle77zCeqtONjcYXRnx/7RPJSsMKCDRAOVmCWl9ByA+SXv5E+BLCgtaa20'; + 'petqm6JmKC8vKGQenUvo45kMUn6UTXoXOWEL8zcQa6zmWmWzmc+wlogHtdp6hOS2XCqwJLvk85y'; b += - '7Jfopc/xCaxcI3ueWQbLRGCMqaXZpbIy+1YjLfpO/qJAN3Zr+/q16sweXdqWo+rtutl20tLNzj6'; + 'VahpaiFgxJd1lDXe/IFbkPFDK8DqHxLeJiWKizt+8OccZUjHNYoTDjKFWojrvKMv8+cg1bJTLHj'; b += - 'Vrpp7fbtAJFLwO2RwhLgEl3S/K95iNBh2Xaa+7UCK76h1MOCERTYegZAxsiK9xNsCAe3E+RxLxw'; + 'CjeVwA8XOiEM6w+psd0sdJYF+nFu0RdXEQXSDYLEj26YdSPIXJuovdykcc8wyOi089a9rXSxmJG'; b += - 'YUEk/NCx6/VK9vJ/oS69e/kY+I4yLkmOeKdLGlGj/Jw0HIkvjHnrGzfJuPIyQ+eaHaLH19ANn+9'; + 'mrUVOWtq5LTo+LM1I42lxjQwYh16HsRgHeJr3aElyqnE6GybIbc49+yL5pUrTm6zG5/cOgFzR3c'; b += - '+4DQe8CEM2+P2PYGt441aainYx9pKMaa58zjqODaCdD32BZVhc6pFXBHjFavuKlXjF6of0annF6'; + 'KrnfiLNHZBNdTZzb32s9sLzvOK3zBSzpr2PnrTJ/gOpM57MQcdmIOO/kEN1tOcLNlDmfj9Da72R'; b += - 'vgVSzY8soO+7RG+7NyRfpEXv8hNvcjh49jtusi+Va3xse1WdO1KHdrRreLxikwv9hw4FbpgD4hz'; + 'y+pNPbyz6HbmoOGaln/8vM6GzMqJUVzU5mdDZmdDbLzFncSGen1PmJvSXc1EtUHih3i//tNdhfV'; b += - 'TcAhjT2hbVl8pPkM/O7PPM9nf8r2Ch76wFbkZgLD0OtqfF0bDg2VOoS96Db5GVRzy3A9zmNJwnn'; + 'BrutEVnHRiT9VhjjDbd1uvpdd6D0HW39bgP4uch3bZSPRI5rIaG6UUbBzTFHxZyt8EKQcNODY7o'; b += - '0xRbixbAQEw4AEZfARtynl7CNeJkzuzRPTMX40iXrRb8fucatyJiKh/koP9VZU7EvHxObihWszI'; + 'bca8YTEPb2PttScdX4s7zAWaDRvi/q9X9CdWDfN5KIwa2qJzjpm4Nhg1PEJ/NGIwtun5a/G2nLl'; b += - 'eUubfCzDzGJ4hTZubDSlJjpu9evB5Spty9OH33hMd3L47vPo1uZ9z03cixUWGmVmD0L3vyd19G+'; + '2K/0dVBLp0U/P1W11XHgRpa+40wT2USawT6337+0cbEEi+kh0QfD1bvGzHEwhR9uMbP9lbZx/U8'; b += - '0e+AV+RSczU3onSHKgJYjM1HDVfP5vP8pTtJWKv+MZyLS9MW67niOUaI50Dpqf4NnO3XOFmR4zZ'; + 'H1kmtV6lqVXKvMtVFY99rqcEns9VucVDZoroQtSL2ziY10a2XcKW3CrkkSdUK8jRUhp+5ORVVKQ'; b += - 'fC9RPWvMZuXUsIIx+1grte5rKSf2C3ZBm/AQvE9PZam79/7CFO2KJsOFssmFQTLgA3bsyLpja8k'; + 'p44HA3Qhm5zJHSbE40+I7FxnGjoGYnYyVE2xqjCMXG+YyKfaftsh+MkRhMc3xNvYaPruPCW7pS3'; b += - '8hlWg9GbO1Y0oeY7EDsyyoa7T2CCdlBquSBKssUFmaMPs3ESLpDO2QWZ0cRMrCreV8nJUO2viYh'; + 'K8rbOhxpSkzWeMYl/F5b6N3NlliuxGZQSZjRJOAXs2DmG0sevHzlkEbTDtMuBCEruJDRcdZrPlo'; b += - 'DbNgU6uClVNshTA1VU9spAFR0+9JEqSj3xkSob5LGPWjoc+DvxmsfDonxfSnMqM1yUoRd1PtZN8'; + 'VJBYfAmEikAO4+bwEoUoFbVDRqRdOOHGQjTaGESfALv6pYisZJxWpUkUjjUbbZOyDL9hk7KZh8i'; b += - '4iL0E3n82LpZwukTLObWCBFZWCc3AGHXkIbehIHXNpklKp5Uao6rGtwWN1hLMoyHrGGOgJiq1l1'; + 'em4eYKsEt0qzha1i7x6JfU378Xg/tHvmo1F+UWw+QrV5GjOmdyVDsS4lrifXUil+GEEiHOPN9m3'; b += - 'tUeAy6b1HcSqZOGsOe/VHIKFntyeKKf8Osoptj5mrXKKSDxt3D3ii2QUU3lby6COjYVGC2RhXKs'; + 'gaCcHTdInHRJkatCbGb43CNfPdY55TjUg8/jSNK96fRFQF4PXkI3hhspgRThmlu8bc9cFA52iHA'; b += - 'FdDi2QP2WtklamBnt4RMqJUTNohnIGwvJHEzjHPj9uBWauSyrp+oPrBQ/EVndwyyrp3qMBdKop5'; + 'SJWyiCOQTqzt2cTayNuOOBcZiXHhczRYzSEQOFqGiQPCaMMB2xGoEeEISy0cgg7p4vGgvIcXaLm'; b += - 'RRTTlp1ZTCjjHM62fMjS3FdmnwYebG84gFauZSVc5l0vIfOJ8vZt5iPD+kDJ5rpwbPiTBPxawpP'; + 'H8zPmy8xNcbA2+BWWw6xkbAevgLhTeRv4kO9m8Coj0Ua8JIZLYN5Tgo3gKziYKVsf8/MyfGTX2d'; b += - 'fUeIV4gt8DAqc1mDmSlLhYmLf+xmFiJf1MrFGTXPauK55XIz1TRUgu5mZpMK81XOaOn5jF/6E6c'; + 'Tz5JCVPIoRzeSrt+F5YV0pYefcWFNYJ5Li3sFRs5j2c8lEUjz78dE4Wzq9b2scp1BJFnqCDSKDi'; b += - 'xWjWxDU09IDmscK8vVAo/77MWhd+gxyaGSxxhXl7UdJpqMXEM6voBPP1LHFCxh6Cv0Mt4XzaLub'; + '2Zotbkpq6366I/cFFCVm/YzKKMrg/amOcG71RyLoY2d0qYOvtuRlwieIHx/5OVvdlinzbv/fTDB'; b += - 'LdvEAg2t/plzCJnYyWy5NxaHMHPxg+cmlmfg7mi2V8PdCrhQiiAw741TTOt3JRK0QUz0uFu+lra'; + '5YApHPwAmYeoFYFWEUpFPA0R6/W2mJ4J8hYkRNhehO3dvw9pyhWH0jYUWJavvOMaROkpVsRmKdr'; b += - 'JYl8bRk6ZhHvlQKcsTqJoCLLyXzz/IZkXYRR9Wb5tiK00mvVNx1sDUTsU9ELijfRP9FLBZ+RKRO'; + 'YLDYuj7JxeWw9vwYvM8j0yUGg4raKz5tZlu+p+tD8Wkei9SEykRbS6CCAGFOsmVLL2clA8CKmGf'; b += - 'dhEQlqxyWYl+ycMRmZriTcVXxf1rPgNVXuKn+wpgVlMw7A6T9MuKJOvQ/w/UZN7pWK9+Zxabz7Z'; + 'm3O9Yj1Ltboj3Sy7JjAUeOUFHLAxIbrfgZ9jZwi6/KixmtKk76xa/77DOFPQlsfr4yQmr+b1vc1'; b += - 'GlfYVG8+2UVOpbzZGk8qodS1TarZ/v0Gk2qcegJ8e3D/9U2qn9qp/ZQ1309Nqo+N2q+dVD0NFuR'; + 'jjiKUfE5VvtRIzMjCxs6hvyrPI5w8urjdqGlQkXaomqabM0ptQKZ2JlQ5MTaUHcCbgZhy6y3LdI'; b += - 'p+Ybcr6tL+L9Y+TexUb1mrmfXm2v/XhpQs7l207Z7meu07V7mGm5s14PA7jUhsHsNc+1VzLWbQm'; + 'CMY9vphsBma0bAuBhM/1BGU7QSiGfaEbHl0CabDschwhPldqi62qLzgc1ts4OXk6v5Hlj4jBjBs'; b += - 'DjN2JMnfnYnuzH9mTM9cy8nOnjuSbiPQ3W+pn4P80ncyczJMRHXb7HcjoFbefUBc/TbE69kgQdS'; + 'V/8ZHVMVDKvSI7Qqikc8QkqyUcOSRErtVGVssI0Q6jb3XRGLchKDdnm7jmN8/lSxVXqP0Fq8tsZ'; b += - '82pL3PqJ3NKz74u/HWvCX+vZU79SebUM+y7W3devdp59c28Kp7XYjQFJxSLurtMdWI/9g3/0kVX'; + 'rCkztEk3Tn4j8qauTomgT432GblXtoX5GgRDxswkSqzxuDAA4OfAzsx+/Q6ezUEKKURMeoeOCzd'; b += - 'XdZ830ldke6zAcN5SE068W7VxLtmJJPLFwRhPYNePg3yBVQd04SNmtbGTlsCoGkCoGkAUKaRiBE'; + 'L/9svKVoS0mGP44mBqaUM4E0Ory2fM9cm5nDthHxHvzJN0q8/5fTcDvVgx+bxLw2zd3y9q4mDma'; b += - 'YEWNBOWyNYVTQBQNCK2LA0LwARHoBAFSQSN4EsTwgVgOgTAWApgmAGDztiThgBlAwO3S7vKg9pj'; + '3ziAJJa2ye5rg2Hm4tCW7BNKOMCxzjkjrOtuh5F2cn02uX6DYCv66frcBjcvEVL5emvr2OuNq7C'; b += - 'L09IJuT8SBaXY/x6xMS8QBCzACHU/bTD2N/s3cFIOnuSDQXiEIFLBJttddFAS0efdBGrhv2z1WH'; + 'wwX24IIFkCweJhW53XUeiR59VrFSLnOgwTVR0dEim3BXKVcTyO6vsA+WdGF+Lv6tk8axwxjlSLh'; b += - 'piZyAMtlfKAm+LG3Ep5ILg+eSAx0ldzYZO0tE3SMhkXlhMZB1IpfRzzIYpl6YRXIRlLiL+ZWOM9'; + 'X+FG4wBUT/TN/LhKk+o/JMQohCHzeshiNG+Mf4lj9U5V5lLC/EL/yvUy2HuOW/JC30Yep/U+s8t'; b += - 'xzqTLSzHXiIa0G7nGZbTcqnAluCSz3NeomVoKWrBkHSXLdT1RK7I3VzI8jqExbeIm+GhzmfVd8J'; + 'mCIX+q3XXmpHte8FJ4buvRO7jW9E0qjnEwVX49F7J6qeNB33Tpfzw/yrvZBkhIawel5FnYjmCPS'; b += - '0LF6h9IJuPq5Oj0+bjrvLMv9EwxMjMgcqKd5fADxc2ISzbD6m13Sz0VgXaeDdYi4uogkkmxWJHj'; + '+pqthLmCUfpCjk48zpnfVAJ7CKEQugqzZ2IBqWiSW0ZSLRe45VDSgrsO010nONJmdJyTN7t4rTj'; b += - '0wWokuIjfRuFzk+M1yj+jQLsu+VvpYTEuztqxnHUz1nBLt21XT03hqTAEj1qHnQA3WIZECOrSE7'; + 'CaPyGnJbb45DYQuv/7qpI3UhQS+pG3FpSh7YKUgcaKaQOeTNStO65mNY9naJ1E24DWvdcTOuebk'; b += - 'Zeg823T5BHHdr1gXrlCcpvRWHLrAswd3SW43gVZoqsJrqdkNvf6ZbaXHOcVvuBFyRp2/rrSElxX'; + 'TrkEa5Dq27bGndXzOtO+Y2oHWXK2ndhw2t+0ia1n20ltZtS2jdZZCWGlr3h24VrcOwUVWH1o0hy'; b += - 'ModdmMMuzGEXS3AzRIKbIXM4A9LbjGZz+KKkt5d8Dt3UHDJSz/jBzOgMzKjVFc1IZnQGZnQG68x'; + 'tgfujGtG3Mb0roJV2idJAAxxG5MVVC7cWWfZandD9LU7rRKkzvBkQbkTuKZT0XuRlwhdxPuVORO'; b += - 'Z3UiyU0p+4tMSbmoQlQLlk3I89zr8Lyodd9qiMw6cyXqtM0abbuvz9DrvQdi623rdB/HzkG5boR'; + 'rp+K3PH1CbmbcBuQuwtuU3J3wUZknyvvVE3uJlyz4P/KbUDuzrvxij/tVpC7Mb7lj92EuI1yyz+'; b += - '6JHDZDw/WijWPWcuJvwLANXggafmo4JN1m3BsWcvc2tl570vBU3GBu0OzYELc/U9GeeDXM5a5wa'; + 'kWo5xyw/dCnL31+46b8RNv1RC7sxL4blTk7sp3wklmGnJ1zO5O1PxoITcpb5+anJX70EioInJHU'; b += - 'miLzjpm4trg1PAI/dEIsNmm567FaDndwzb6O6AkjKefnqvb6xzhxaH34iVXokkpE02q9vTvHRwq'; + 'IFsL1XmtyN0xcOBwYVDLmLQbGPrxhzE+I2xC2jqZbd3HLMrSB3I3TXwYDJ3WnXkLvTSUDl+A3xW'; b += - 'RMJISehI8PVu8aMcCiSgbUa2/7I2h39TkRPvqIwxLK/Fyd3iPygb21gCZ6TeawJh3VYZZEybuHh'; + 'iNBitytiUOmGl9Z+sFRlz/At3lFuPg3RkhRfLjpVS/Uveq26mweEsVfsRilImmozWgx16QtgUTA'; b += - '80LdIyLOxIr7YPakQWknQHQmuamPrORJbz4n2X7Fp1y/+2wkTVTUoRweumNh6v2VC06UzlSNv9s'; + 'M0EuwbF+3mcIFb/Af51VkGhT9YuqI2/8S/AECMAldY72ytELRFr6o3U0IXAaiVo3wTlD8q4oTqJ'; b += - 'jPPm9Satv4Ti5OPHfJ6IoyWofDionbGc+axEdsC7172JvKleggKokGm0R3YzbKfGPJw0ldG7HDh'; + 'Djf4TJSz2jvsk/MYgCyA/riTi0iAtgkMnneKnZBpVdJxqkSt3H+R4MO7m4i8SCIz4qMmrfN95xd'; b += - '3sWosQVXOjZon3/84QcpC9IsEREKkUoEXDkeYk4lgobQvzRpRNOHOaljWGEc+TF4rcVe7o4qVCi'; + '4lv8qJhRmYxHbfUZ7H2OGbkDCSswOnkTwV8vmbnCmnm0rflMOWKv4fyhTOqfyWdHDuKkmZEWf4V'; b += - 'KtrdqHd0euKEEy2NTn/X2v9MxUlbcUsF2PFRvXGMzeL/60mkFIC/+JUY3N/zVau5KVgIt62gIpV'; + 'jolypP7uiCI8sQZi8/efixB89nY1UjQTFBvEVqcd63QYkWtfMtBVL36o/vi0SKX4n1ARVf+gTAv'; b += - '4YFKJOxKJXIK7dSHB9jklipg5bEEwkYElCHKROGETSthEQg44fgE/PbYbBXzVy2/jwN8r0+iKOM'; + 'X/w8IjK/oFioS4N7aDALayWqtCOqP+2Wk3xLvMvlV7J8joMz0zb+254JaW3ledWxq3l89Tuzfmk'; b += - 'mevAQjBqsoMa/hXls84IELCojKgxkq5XSGF1ec/9yz+c91TmKsZCW+ioRj0BzlgKO1mEg0jDacR'; + '8/dZfj/OnvBthQvnuEnnVZClByOya29B0TXWblPiRX8ureq09GcnvNRHn90KZToOlIBJeZtwVhk'; b += - 'QiRNBEvstTCMQLp0ViepbyHAbTcy0nD82XmiDgyH84GlsMcwCj7PSKf5W1kSn6awausxLvxkihC'; + 'jSIe1nsgaaZQt7bWHIFvbYwm5b2GULg7ZwRZnCZVu4ZAuTtnDRFi7YwnlbmLCFc7Zw1hbO2MK4L'; b += - 'GTNOCXeDr+Bos+xBzO/Lstitc6n3iaCUvIoRjTGS47ZxBGF4SEqMQTe29tUJdbl3YNQspv0Do0m'; + 'Zy2hTFbOGUKPcQKb63/P8nhxCa/P+DMZcQ0EOjZzOgiES25ASEGrVl5wGNgQGyPDw6YG72t1H4+'; b += - 'oyzMfMYGMJVRxaxxIUiHMAuMpAriLdWe1eSibnpYhRAY/ClCVh65kUEZXBuxDA8G71RxPoY0Plk'; + 'aZdnP4bWC0nrmGndWhLQhXQv9sCHFQeY0eIDOoMQJhnkTWH6WHwoWlGimyD8R8AGUB4UezwgRAS'; b += - '0eHbkjLyFWEbzvN738LQ7bpXkHvx9utByyhwMYIOg+1SISLoL5yGlBBOO9PaZngrwFCVJ3AIElD'; + 'abVvMzTu3PCHCKtb3bduis6aDNiHbJ0nXVEV3Lu6me2xGZLfIK/MLEjvrRgP8fuaFig/RdPWXzQ'; b += - 'iPAyB8rjnhuqKgsXxnjGsSJKlZEByra6EA2MpSykaFsOb8Ggxlg+uQg5Edbxed1luV7qj40v9aR'; + 'vRmxmLrOSFvJoXcvmN67+QKxnbpnohepPN8iZYmXg9gsN7+IUQDbVcjErEXa5gWY//eKS3bI0Gd'; b += - '0IyIjaWFNDoIYccUq1NKgZ0MhM9impF/i2NPdXr3SDhOGiwfDuDoDypq2SzR+Yof4xMDbvEVeXG'; + '2zlBAsZ7NacWyawx97AZIz5tq/ad6RFkVTEWkByiFEl64DTQUR7jOkTsNxY5gDPlQlYgHwcXISh'; b += - 'FVcW/9It7fT73hH0FrHq+MoRt/h9a3NY4JC1HOeJH/aOHDA2ysBEOMGMNyFmJdoI618RztUTV1F'; + '3BWJVAUh6GUpwjLukhShMp6UYp7Dt3OxDVjvlK1pwHnHaOgJYx8NO6rQ1N3grEOSjagH0jieu1J'; b += - 'kaU2qliiHPRpBHzH8Ej8BZ4dAtPuOLL6Zb/GdP/C4Rb/6ca/eFjAQ49gRnu0ApnvGFcHh0C1S6s'; + 'cuiEuTYtLLVISjNbt0eDggZHsY7qDNuI8IWYh+sTgyPC2x6ASeWZw/AfbqZSPvv2tLz4XUKk1+v'; b += - 's1xJP+g1Ba7RiPhfUbIu4elld/ISsTLTpkfVPy2jxiax9zQI94pEx3/JGHJCgkbHylxPpW+iCOt'; + '7Il3+MUkv0B9/83ieyVMpFfzbyH76DUjb6u7N/+exHqRREv/rb+ycwzo8+972dD1HBi37/9/7iN'; b += - '0PcDJu7mBxFc3dNtHJv9Q8la5UVKo9heYluDJ0+ILtKTi/+kqJLjnxLkf9dlRRvHdsK3c7dRJRk'; + '9RjWw1Kb7MoPaQYgwhrfKBPAAumBJ+RGzxLdzHoEyT47FegT1CNz34F+gQp9AmAz4HFZx/47Bt8'; b += - 'F8saqzwFzxhD26XdJ+hp/DqFGojFEP/4UPW+vLH1liItJWnDOLfPUSvKCVpclyDEl4ncgua/GlX'; + '5qX1JgQKmwJ7RpVgj2t4FRGy5nvEoIYltoSRskc7Jhx4Onr/clx6wpEIy6OIzy1DUXbjsW4y9ut'; b += - '2XbpWZP2VCs7ei9ymVxGb3CW54UM4GQg1oiuOIoVjeJgqzjX4axLFM+Wwn4QGHpce46P4dcLZO7'; + 'Kxh5SyVhkAawa2xPvMHJEdVhm3EGf0FGmfebvlZVr9jPlm2kCX3eWWVGAsLGWswVHSZxkLAf87y'; b += - 's8l928QjEU73R9scPMSxpbvtz6Lfd45NyxscB8uSLTfwkEODOQ6EuL7gsvGsciJjtFcRaPPyaxL'; + 'YJ5LBrgk0Xz9CRkU/5NAOlLPIw0MeFEDL3GIVQjwkTYFUQPca33ybI0L4gMFMVnGvpZhwowZFgN'; b += - 'dB64MihEJbJho3lMjLPFY0oW0HLnnMvmouXOX0PPW0C41/SzTCzx826eyQhR6VOuLCNHnOnH+JH'; + 'zorbWVLVYXYZrTfZUOgg5Smaaux0+GsGuge4+4LSXcu1c0hDGIiC4ww7DgKmKWfEbZmXCXsDPiG'; b += - '/6pb7lPGgGOWaf0rVHOOa7yQ19GHqb9x13oibHtRXXBlUr2sGhfeGLo3Jva4x4Qr+B/L1WMjiZx'; + '4pMgBoNW5ln8lC/SjpD1OECaUYVzPVhvv/gFT6ZymFNE8mHSExla/j978oAhkYIi/DhH8BWaRN9'; b += - 'C/6DfcOl/PL/Ku9UUieSCPAM8CzsCyI4PZTpgzGKcvHM4YVPAkYFgMin18x5iMj2dpiGtGUzWDX'; + 'Oi1HCgHDE37fh5xH8PISfB/HzWvzci5/X4IdPSXdw+jn8rMZPP6cN5JRxnD4OP5r1NvjpFERAQG'; b += - 'HMsqcFTR+ipA4hf70Wn8DDtYlhxSNl4hBjWSKZsgrcRvf+7ayJ3oFrV5G5Y1ZI71FWQu3FlyR1x'; + 'FWlrGS0CS6m2JfDF2avkc1woeWhXDwaO2aSSeqJeTD3Ms0E10TWiLPsc0QPTJhkXewzUQbhcoYR'; b += - 'Uilq92xM7f4lRe3GVQNq92xM7f6lEbW74NSldmOW2p1mandINaB2Y5XU7j5D7Talqd0P11K7VyX'; + 'DXNEBMwyZF3t81EX4X+yHfZZvDDTIzkm20z0WihTDIftpmoOJMpmSrbSmReaJZMozSzYMCYo4E4'; b += - 'Ujp4QXamhdr+mqqgdup1z6lC7Y5CYfk3F1O6YakjtxpVQO85PY4jdOyto3UT8Jkvr/ihN6x5Lkz'; + 'ETDfIbBMZ0llZHnK7hyCLM8IfFPI8ijhyvOCK/sNrgwpwajFSTbSOeJryQl7jB011EH5CaV8s1+'; b += - 'p5WgNSN6QakbphJaRuXE1G6uT+yUgd35+QunHVgNSdUU1J3RllXyhjqiZ148os9v+uGpC60ype7'; + 'JdKnexpUcvGiPpjXPNrdINyG7gSSecHJSKq5zilLqXMcaVg+6fUdLqWed0wN7GxA8VsilKSBH2P'; b += - 'cdVBak7xo/8jkoIm4Sy+JtUzSGu+XNVQer+L0WEQKUHlZA6Myi8d3JSN+mYcDWqmNTR1zOpO1nx'; + 'GjlWVewERY7hHHJFrHOAYhR55r1FiuDlLHnoqELb65py9U9VN/odzO7Z9XNtHczfTgm4tfgb5wc'; b += - 'ooTUpb5+clJX70WS+ikmdYMeEy5VQepG6QsHPIMKhtTFoLjMdPeYSgjbBNeMpGo4miRmL03qhum'; + 'PrmsIeqPdFgSzn8FM+az9f2RIfy5XBNkvN5OB/2HhkIfSQT7okOUOdaLKwFSdLnAF1r0DgvSfrs'; b += - 'p5zgidXRcGVJ3XMWkLh4hp9/yUqRuTRy015x3pR+IuvwBvk3/wpdnjKKh+HDTu75T967b46QrEo'; + 'HtTzaPxpGr8OXV1UGaPKLagsocopqtyKykKqjFLlNlRCqhynyu2odFPlGFXuQGURVY5S5U5UFlN'; b += - 'zXpBVRrAqpyJdlU47MNuHu8r+pEEybw6yCY93tM4SKT/JfZxW00lT8rOrImzMieAOU2JLhCBnJr'; + 'lhCrrUdFUOUyVV6Eynx67QPemV908xry1OjhIPVJ5FW389NLzkzzP9L7zTed66dRJnmfq1KbzTu'; b += - 'tJqXxmtownBwY+odRMOWEh6HMW5jqjSf6KExd5xv4TQGGAl4keURE0aUNGVfc87xadkGlW057PP'; + 'lcnOR5ps7FpvMO6VyU5HmmzkWm83bp7E7yPFNnt+m8TTrDJM8zdYam81bpXJjkeabOhabzFulck'; b += - 'O5ErTx/gmC7uluJPcYpQUQFhqH+u8qucWJOAL2j3HeV5DBrfxFSRjCYQBfJ0kc/f7Ez6rfhM3zz'; + 'uR5ps4lpnMdOncf1F1xnucu09Oj/YO6lyvDeZrAszSBd1moR+NUizCdKdCfobYN9UB/V33QX6Hx'; b += - '7rDIXf6HyW9Nh0KtUTUaX4FvVkFgf7u+GFsiT00ws+PqxCspnb1GjgjLh00Vj8Ceu1Rgsr1UuOQ'; + 'r7agv0yV11jQX6LK3Rb0k1TZaEF/kSr3WNBfoMq9FvTnqbLJgn6CKj9lQX+OKvc1BP2GNOij5MM'; b += - 'hLV7/3sri3KIUCSWEHPUqULw4iIPcVxVpR6txLnVnbKUHFHbGdabec5KTi/SW/gpVjHJubNtADn'; + 'dfV8jPPipRniwqREe3NsID+5phAcbG+HB3Y3w4DWN8ODVU+NBtJs289fGkB+k2v1VkN9Fba+rB/'; b += - 'olobhVi1aHLuX/1mNlA8630qPfF2WXegSix/HQJvGtyuCBies1jaLome0xKf8fD8qqG1St2VBby'; + 'nX1of8YRr/gIX8Iao8aCF/gCqvt5AfpsobLOT3U+WNFvL7qPKQhfxeqrzJQn6IKg9byO+hypsbQ'; b += - 'XSTNtSHHq+Kh55fibSccCQg7iqDC0hXXbtzXTfr+kpK+h1TSl66r+/bG8yIcjcNqhg6amo4yzc4'; + 'v51acjfn4b8mxtB/uFGkH9TI8g/1Ajyb2wE+Tc0gvzrG0H+wUaQf6AB5I/R/D0SQ36Eam+pgvxR'; b += - '/KisKr+QQup0mWm9XmXVLiBZoiSH4LSI+sej4XZPebdi1yXuf9zieJUsZpRyCx9PHhdBL9BodYq'; + 'antrPcg/Uh/y52j8T1vIn6XK2yzkz1Dl7Rby41R5h4X8aar8jIX8GFUetZA/RZWftZAfpcrPWcg'; b += - '85HWq1Vr3mSKcNxq99ScuMMGHMB9HD+HysIzEOdE7qwE6c23VCMIGT4nbbuM3RSW49v0siAFnzL'; + 'fp8rPN4T8W9OQf0sa8j/fCPI/1wjyP9sI8o82gvzPNIL8OxpB/u2NIP+2RpD/6QaQv0Dz984Y8h'; b += - 'EfwR/MYN19ImoNUM59cpUfz6XbO4WeYVVxglp5Xksxk1FAir3jJS+aAvYwu2kfL0KJTvE28145Y'; + 'NUe1cV5M9T27vrQf6d9SG/p1AOf8FCfjdV3mMhv4sqv2ghP0iVsoX8FXrGZgv5y1R5r4X8Jaq8z'; b += - 'XjpqKv1tlWM9KfXbKoc4ZmoxL6wii4foad/fyVkIN+sM/clbGc8MmDeOURsqfpQj9P+BJxRlSJm'; + '0J+kirvt5C/SJVfagj5d6ch/6405H+pEeTf3wjy72sE+fc2gvzmRpAvN4L8LzaC/HsaQf4XGkB+'; b += - 'sysVvcHBIYZlofr9/NS8nzDmY5Jvx8wh+HsLPg/h5FX7uw88r8cOb952ctgo/q/GzkpOOcaopTj'; + 'HwHgAzHkh6i2pQrye6ltaz3If6A+5I/T+Mcs5I9R5XEL+aNU+aCF/AhVnrCQP0yVD1nIH6LKhy3'; b += - 'uFH83qRPx0CbIhViXrcFl3bRJkbav/X+gSiB7ViExHVHngwEiOe2vXAJZY4eijAyPD282zTPVFq'; + 'kD1DlIxbyw1T5qIX8fqp8rCHkt6YhvyUN+Y81gvxHG0H+I40g/+FGkP9QI8g/0QjyH2wE+ccbQf'; b += - 'n52YPyvdsh7bDVYxN/4+ue/kJEx2OpLVP2nI1/614xZDKYagvo3v/p7H83J2G31Far+o5Ff/62c'; + '6xqSCP03hucziXeP65LFN8Gtqfd2uoi1BdjnI0mi2HzyoU6FB+E/2dpL8fV8W3UXE/jVqxxnVKH'; b += - 'fJetxpbxD2f+4rkPyTfb6t1U/Zlf3X8uI/Nhqwep+lO/t+shmSpbu4dqv/Hf/uxrSqZRqlk0N54'; + 'VS5SO03olKkyj7qeQbxDEvTqHaBulaiMp0qe6mrH5UZVDlPPctQmUmVIeopoTKLKhPU04vKbKrs'; b += - 'OyIhJwPyUW5nvyC1+zzOw9Uz2wfOMRjJl78XjHgWECccU5gxNPG1ccVEqeMK4YkIqeKq44pJU8C'; + 'oZ4FqMyhyjnqmYdKJ1V2U88qVG6gylnq6ULFo8ou6lmyhi0F50KKHS5cw7aNcyE1D/tQyVEF9hI'; b += - 'RxxWWp4OnhiitSwRPDFQOMvjIlXLFbKngyuGJQKjANXN4jZZ6A924jDCeaVNyuPcbwczZrAc8A5'; + 'hKi1UuUKVblRaqXKaKotQyVPlMlWWotJGFdgCLEaloD/OH9lOjZeoUaPiU+UUVeajEui5a9xR2M'; b += - '6A4Z3OVSN6mmXL4iFOdGMdC6Fbz55TyDaMiYlqskKbL4qhfciu4mOJDoIbshIbsARLkVvIIOIFc'; + 'R9nCax1xvNQtu4FMUxLvbhHbJWDbkKXxHXSpiHuPYMoHAhrs7VRd0xoKfraQN6pp4xoGfrWQO6U'; b += - 'Fdc5RbnqWsfmCg/GLkfLVe86pzfPucGxzKCrNcNEBYec8KMVZSZtRHLvFU99onBgb5ARzDU6YZI'; + '88ZoJPhDQM6qzMDukXnBnRetw7ogm4bQGL7ATottg+EGUKYbWGWf3P828K/rfyb5982/i3wbzv/'; b += - 'QU/xMRf4N3zzTF3bqmT9TbteOzyqbVusWevEtxY9D+T4wdUvYS8VepM0On1Gcbprv7Y0O5cvhmg'; + '+vwb8K+7YeGTG171VOgJ5dipMzZ2VJhZD5uY+doTWrFTZ20XDYL5fxb2+ou5n8jGTp2L+7Pcn0P'; b += - '2//Mf/frVD9/a6w/mw70h/6CNdfG90gBrXghzMO9K/4erVf/t2fnuYQdMaVM7hym//DFW6B/Uc6'; + '/IurnlblTt8T9Oe5vQX9I/bw4d+rWuL+F+1vRv5D6eX3u1Pm4v5X78+jvon5eojt1W9yf5/429M'; b += - 'n+K+q9DUzcVxqhwKwqLqHCSCrehMJ8Ko1S4HYWQCsepcAcKPVQ4RoU7UVhAhaNUuAuFhVQYocJ6'; + '+jfl6lO3Uh7m/j/gL6e6mfF+pO3R73F7i/Hf3LqJ/X6k7tx/3t3O+jfyX183LdqYO43+f+AP03U'; b += - 'FDQVDlPhFSjMpdfO031pWjGH18tanTlILVJ4hXYx6Lk03n+/+rV/VjzeuaZxvTRqajxw8Ru/2sG'; + 'j+v2J3a3UZD0OGiYy5w6rRL61quGkB9zI3vwvVTbvxUro+68Vty/bgbfxXXj7nxLHD9qBvPGtdH'; b += - 'N2jTeJY0LqXH4y9/49Sw3LjSNd0rjAmr87S/v3S93LjCNd0hjDzXu/sz/+AW5s8c03i6NITX+6Z'; + '3HiWuX7YjaHC9UNuDEWuH3BjqHN92I0RZCB0GYNeGg5WYZ8bYx/NET1sboJ9MWIyJeQBB+wARr9'; b += - '999XM+N4am8TZpnE+N//Xb/3hGGuebxlulcRE1fu4Pr/6Bx42LTOM6NA4e1N1bou/8wm5IQd2mp'; + 's7YBDMsDgX652wGEZYBCwpXbAiAwwGNhaO+CoDDAomK8dcEwGGBxsqx1wXAYYJCzUDhiVAQYL22'; b += - 'Vf7B3UfF4bzNIFnaALvtlDnzO8RpjMF+tNUt6Ee6O+uD/or1P+HLOgvU+GVFvSXqHCPBf0EFTZa'; + 'sHnJIBBg392gFjMsDgYWB61gP95oJgEindhmwa2AYGQCepYQANTP3RcolatqOl3zRMUsMONJRMw'; b += - '0F+kwr0W9BeocJ8F/XkqbLKgP0eFH7agP0uF+xuCfkMa9FHy4Y6+vxEe/HAjPNjUCA/ua4QH9zb'; + '0VqGMRwvcC0XHCFxOtVpuG8K5RdLzENsPsAQdd9puGcK3Rcd5sGZBZYxBlDTMMZV6i21tKwBpYs'; b += - 'Cg42N8OCeRnjwykZ48EOT40E0SGzOq2LID1DpgSrI76a6V9eD/KvqQ/4w9d9sIX+ICg9ayB+gwm'; + 'TL9ffoSkJy1uiJBC7qbGRyF3U6OjkLupsVHI3dTIKORualx09KBqiIuO3tEQFR29vSEmOnqgISI'; b += - 'ss5Iep8FoL+f1UeJ2F/D4qPGQhv5cKP2IhP0SFhy3k91Dh9Q0h/+o05B9IQ/71jSD/cCPI/0gjy'; + '6els9PGRqGB32yuHnGIMIqn0A9iFq2WtbetBygFp+xbYsRsswtfw726LRsp9aftW2zEPLPmrZZ1'; b += - 'D/UCPKvawT51zaC/GsaQf7BRpDf3ADyx2j+HokhP0KlN1RB/ijVvbEe5B+pD/mz1P9NFvJnqPBm'; + 's60bKXWj5vW2aiZYhavmBbimjZQy2/Zlva0LKbWvbblhxadlHLF22Lz/g46OH3FUBHetAXVRN83'; b += - 'C/nTVHiLhfw4FX7UQv4UFX7MQn6MCo9ayJ+kwo9byI9S4a0W8sep8BMNIf/GNOTfkIb8TzSC/Fs'; + 'K+aIOSvqSYY+QXVBCU/r5rg5D7VBCl/tRlS/jvVBCt/RTVBy72qCV5+Tk2BmNEIgfjT4NrOUeE5'; b += - 'bQf7HG0H+0UaQ/7FGkP/RRpB/SyPIv7kR5N/UAPIXaP7eFkP+HJXeXgX581T3jnqQf1t9yO8plM'; + 'gTW85yyFotbnTevZuPUMtQ6b1jNx6zi1fsm0jsetp6n1y6b1dNw6Rq1fMa1jcespaj1gWk/FraP'; b += - 'OftJAfpMI7LeR3U+GnLOQHqFC2kL9C79hiIX+ZCo9ZyF+iwrss5Ceo8G4L+YtU+OmGkH9HGvJvT'; + 'U+lXTetdm03icGr9mGu+wI49R40HTeIttPEqNh0zjamn8tMXp/pcfjx19qBkaH2yGxl9rhsZfbY'; b += - '0P+pxtB/t2NIP+uRpB/rBHktzSCfLkR5H+qEeTf2QjyP9kA8vsIAO+JIT9Epa1VkN9LddvqQf49'; + 'bGB5qh8VeaofGXm6Hxl5qh8XAzNH6+GRo/p6amr3v8cvh1A+Y9ygJ/N7V+w7Tujlt3Ueuvm9Zdc'; b += - '9SF/nPq/10L+GBUet5A/SoX3WciPUOEJC/nDVHi/hfwhKnzAQv4AFT5oIT9MhQ9ZyO+nwocbQn5'; + 'SuS9xw2rYNx6xVCnyOm9UqMkwiW9E3TejluvUStv2FaL8Wtk9Q6Ylon49aL1Pot03oxbr1Arb9p'; b += - 'bGvJb05D/cCPIf6gR5D/YCPIfaAT59zeC/BONIP++RpB/vBHk3zsZ5GFiCraEs4nnnw1tQPgzUK'; + 'Wi/Erec9nGel9bxtXeNOMC1+9OXHYXrQx5sh8W82Q+JvNUPikWZI/BvNkPibzZD4SDMkPtwMiX+'; b += - 'W+Q0P3iuJSXEejuXL4nMKFKoc3098J+vsRVXwzXe6nXsvXuE6pgwoXqf4mFIpU2EctzyLAV2kKl'; + '9GRJ/oxkSf31KWjxECPjLoMXHfSOaQDnGxGO+yB5QjBuP+iJcQDFuHPFFeoBi3HjYF/EAinHjIV'; b += - 'S5Q0woUplJhLzWtRGEaFc5TyxIUOqkwRC0lFKZT4Ry19KEwgwp7qGUeCjOpcJZa5qDQRYVBalmF'; + '/EIyjGjQd8EZOgGDcO+yIgQTFu3O+LoATFuHGfLwITFOPGvb7ISlA0jb9svnBI6q8AJe5tgsPLm'; b += - 'wiwqnKGWbhQ8KuymlkVr2O1mdnSaWuavYUeh2dEAtSxDIaACtPEhCi1UuEKFHhRaqXCKCgtQyFP'; + 'qBwfxMMXtkEgW9sgr8rmqDv0ibY29cEeVc1wd1SE9R9ZkrUnciUw08o/TSwd5wOMfMhfDMygG2W'; b += - 'hMhUWo9BGBfgQLEShoD/CH9lOlZeoUqPgU+EkFeaikNGz17ijcDD5CE1inzeag+p+MS7H+HIZxp'; + 'XtFBbcCW6VS33ZbpCLjDlum8OKhshU6X82yZjqJdtkzn1oW2TIfc0JbpRLzIlun4vNiWcdbGUeo'; b += - 'CzOv1V+Iq4VMI8xKVnAYULcXG2LuqOfj1VT+nXnXpav56hp/frLj2znyTDWf06p7P9ukUH/TqvW'; + 'V4FozTU71uzJNTvW7M01O9XsyTU71Q5kmp/q9mSan+n2ZJqf6/Zkmp/rhTJNT/YFMk1P9oUz9U/'; b += - '/t1Qbf1I413P0mL7f1hlhBme5jj34B/W/i3lX/z/NvGvwX+bedfn38z/OtumP/Uhlc8HXpCOXbp'; + '1hyEoRY1AD2+ZXuhPw/wj1nlX6E0DFQULLnapyzFyOeLgavbStfgbDJqgwpIrrcRE6xmnAHpEfX'; b += - 'rA2mEmbXw+IyV3tCK3bpnG2iTvCHzcGBdSG3E9nYpYO4PcftAdoXUDuvzF26JW4PuL0F7SG18+L'; + '6HiZ5UVIF+m2i5lJciXApEssAB5kiqfVFaCfDEQGQNLkC9Q5UllRcjnAxE2iAiZKk8pK0M+F4jY'; b += - 'cpVvj9hZub0X7fGrn9blL5+P2Vm7Po72b2nmJ7tJtcXue29vQPofaeZXu0oW4vY3bC2jvo3ZeqL'; + 'gWXIZ6myW1kh8pnACCAgRaZlFZR48x8LIDum5RRAbExLKYDEmJZRAGExraAAcmJaPQFExLRyAki'; b += - 't0e9xe4PZ2tC+hdl6ru7Qft7dzu4/2FdTOy3WXzsTtPrdn0H4TtfOK3aXd7dQFDS4aZgOnTrm0r'; + 'HadUEpQKvmACCYVobAWTCa5BJkMXBB4KSq3ezOPhCBqLcpzBPkxkr2X0S1ctx9ZM82bHcdxequ1'; b += - 'uWufpTH3PgpXD7pxm/l8qgbj5LLx934q7h8zI1ngctH3XjWuDzixrPM5cNuDBUuH3JjKHL5gBtD'; + 'NiYLrNBN1mPABMIRLO6CLEv9MGkKkYMuAZA7pVz4QgeNaAbtOzIQ2eM6DbdSekwTeIXPhlFwkPB'; b += - 'ncvDbowg/aHLGPTicLAK+9wY+2iO6GWzE+yLEZMpIXc4YDsw+uVqOxySDgb/gtoOh6WDQcCW2g4'; + '+nlW0ckfCBIL986MuFDQXr51hEKHw7Sy7eOVHgkSC/fOmLho0F6+daRCx8L0su3jmD4eJBevnUk'; b += - 'j0sFgYGtth6PSwaBgvrbDMelgcLCttsNx6WCQsFDbYVQ6GCxsr+1wUjoYNPRrO4xJB4OHGdOyHu'; + 'w6NBevnWEQ2fCtLLt45seCxIL9+0cPh0IDvDxWyldPhCtlI6fD5bKR2eyFZKh89lK6XDZ7OV0uE'; b += - 'g3GwSTSOl2hJfHNtAPOkkV/ahg6o+aS1SzAzUrTcUEVexERclUXKSKAXTX80wN8oSBxOtVpuK8K'; + 'z2Urp8Hi2Ujp8OlspHR7LVkqHT2UrpcOj2VdQOkwPa7yPnMo22UfGsk32kdPZJvvIeLbJPnIm22'; b += - '5RdLzIV8BcBQdfLTMVZV+i47jEVCLW9gEPom4rTrlBtraViDTxgmH6/9AhJb1rYECGF3E2Oj0Lu'; + 'QfOZttso+cyzbZRyayTfaR89km+8iFbP195GKWj437c6K205+1wuB9OSPY3WVb9uaMZNdwMsidx'; b += - 'JkdHIXeTY6OQu8mRUcjd5Ljo6AHVEBcdvbMhKjp6R0NMdHR/Q0R09PZ6eMjUMDrslcNPMQYRVJc'; + 'Ho7/Uk7ZE/OyHoH7MEzZ2S9T9ohu3KiuLN8TzSYM9Lfp+yQK1kj/t1hj5lZUdjp3bGoOitauxSX'; b += - 'B2IeoZq+t6UXNAar5tK1ZiJphqvlZW6NRs59qPmNr5qBmH9XsszVdqNlLNZ+1NZ2oGaKaz9maIm'; + 'NJkVCv7yYyU9aX4TFlo3YaEXN2GhFzVhobubsNBhExZ6YRMWekkTFrqrCQs9rwkLvaA+B71T6SF'; b += - 'r2UM3P2Zo21AxSzX5bE6BmN9V83tb4jI8DHn5fBnSkF31eNcHH/aoJQv6caoKRn1NNUPKzqglO7'; + 'FJyJmm0WMYbQTIr0QPYTILEThIJIKUS2IfEKUCCKVEF2HyCJu5LJIIFZyWeQOouwQacMyLouMoT'; b += - 'lNNkPIzzZDyZ1UTrPy0aoKWe1UTvPyUmgQxoxEC8cfAtZ2liy8IrHGcxFIoqv2iqT0T156m2mFT'; + 'clX/jlV0b3MOo3I3d+M3LnNyN3fjNy5zcjd34zcuc3I3d+M3LnNyN3fjNy509B7qDyHwLxEESr5'; b += - 'ezquHafanze143HtKar9kqk9FdeOUe0vmNqxuPYk1R4wtSfj2lGq/bKpvXuLqTxOlb9oKu+0PY9'; + 'Inn4x/hHvG/O9mQAkf4yiE7maXmc110PGsMEsATH8sawwewxEezxjoBLPFI1lhBgCM+nDWmCuCI'; b += - 'R5UFTeautPEqVh0zlaqn8mMXplS89Hjv6UDM0PtgMjX+xGRp/uRkaH2iGxr/QDI2/1AyNf74ZGg'; + 'D2WNFQQY4gOG6jFDPJw1JhHgh/cb8sf88L6ssY8AO7zXkEHhhvdkhRvenRVueFdWuOHBrHDDVzL'; b += - '83Q+MvNkPjL6jJ6esevxz+kgHzHmWBP0i1XzG1g3Htbqr9ZVO7O65FNovDpnYgrr1C6HPE1F6Jc'; + 'CDV/OCDd8KSPc8GRGuOGLGeGGL2SEGx7KCjc8kRFu+HyGuOGF4GJ3MzO8BHMZM79deLm4Ng8fEd'; b += - 'RLRQ75qai/HtZeo9mum9lJcO0G1I6Z2Iq69SLVfN7UX49oLVPsrpvZCXHvegzwrtedt7Rr3HNPi'; + 'cW4GMzFYzwIN1iKPsSGeGXXeLX7Bx7vtk59kKzc+zFZufYyWbn2EvNzrGXm51jrzQ7xw424z92N'; b += - 'R196HKYXfaQZEv9KMyT+ejMkHmmGxF9rhsRfbYbER5oh8eFmSPzLzZD4K82Q+JcmpcVDhIAfBy0'; + 'eM/dk/Bf+zJ0lGTTrCfwblzrmCxnOwGBJXleDcg+CxnPNHAmYPegGC2nPYGBL3lyDcgOC7nPmER'; b += - '+7hvVBK5jTDzmi+4Bl3HlUV+UC7iMK0d80R7gMq487It6AJdx5SFf1CO4jCsP+KImwWVcOeyLgg'; + 'MnL4GxBslxOgcN0ZOQYKy52Rs59Q/4wcCK8j2/8SyDaXxWSWzV2QYnC7E9Z2XoqpXZSws10pRnZ'; b += - 'SXceV+XxQluIwr9/miMMFlXLnXF10JLk3lx80XDkn5ZaDEfU1weEkTFF7ZBINXNEHgm5rg7/Im6'; + 'xwsIuSTGvOmFbF6YY1ipWdegVY1WHmrOqC5uwqroJq7qkCau6uAmr2tWEVV3UhFWd14RV7W7Cqi'; b += - 'Lu4CfYua4K8q5rgbqkJ6j47Keqey5bDjyr9M8DecRJi5kL5ZnQA2y29IkGt316TVLfDXpMIuNNe'; + '5owqqG9VnVZUSy9KeFUxWDhucEvmLL8LxUxIxhWCpiwfAlqYjxwpelInYLX5GKmCwckIpYK3xVK'; b += - 'k7w4oGyBpMs59ppE0W57TXLrfHtNQm5or0kiXmCvSXxeaK8ha0OUehm41mwTqX53tolUP5htItX'; + 'mKo8DWpiI3CQamIecKhGMMGPdHuvgIGXLlmBly5ZgZcuWYGXLlmBly5ZgZcuWYGXLlmBly5ZgZc'; b += - 'vyTaR6oeyTaT6vdkmUv2+bBOpfn+2iVQ/nG0i1R/INpHqD2XrS/WHoStF0C0NbJtb6ZvL/xHqPa'; + 'uWYGXLlmBly5KQy4YPw6kgHPyihXn2clxnQZeC46TfdWjuD9dSjeXw9nUvvroUxqfz2QSe2vw5n'; b += - 'f0R4GKA4SWu1Rln9kcAmw1Wmlb/QS6naOLIVVcj5vQME4d9oj++ApdflJZBfJlKu1WVoN8KSOaB'; + 'U/ro/vb/uS++ve9P761B6f92T3l93p/fXXen9dfAV21+vKyVeCaUE5PeZamHS2Uy1MOlMpkqYNJ'; b += - 'VYgT1DhSWU1yBczomNgDfIFKjylrAr5fEaUDaJCpsLTyuqQz2ZE7cA65DNUGFRWiXw6YxQQ0CLT'; + '6pFiadzlQJk5B3qVKYdCpTJUwazVQLk45nqoRJxzLVwqSjmRph0kjmldqh6UnXhUkvizBpNU7qT'; b += - 'ssqUePMfy0B3TMspA7UxLaUMNMa0jDJQFtMKykBPTKsnAxUxrZwMtMO0ajKlAq+YDBTDtDYy0Am'; + 'PeWgTryCWM1/VtG1HKPwv/nRpO+KGl7qZ1VXVbJZdVbRrFlVVpGmWXVWEaBZVVXRmll1VX/Ooqq'; b += - 'vQWotVgcfyJRcPcjq4AtZqHKfxjxNZK1m9ykUL8fFJ3myY73vbhQHU2pgesw5esx4BjCFSjiri1'; + 'Q7lYUTWSq1BUHctVKKpGcxWKqrFcxfl8OPcvoKh62ZmPoBnzETRjPoJmzEfQjPkImjEfQTPmI2j'; b += - 'D/TulH6k7ogKf161bdCUXw9H7dpmdAGzyzX7frLmiDZ4le+CVXCQ9n0su3jkr4QCa9fOvohA9l0'; + 'GfATNmI+gGfMRNGM+gimYj4BWz7MwaahZPVg3y/Tq4n8n7MGQZeAwEOQB6w6Vm5gpoUIPS9Lmax'; b += - 'su3jlL4cCa9fOtohUcy6eVbRy18NJNevnX0wscy6eVbRzF8PJNevnU0w6OZ9PKtoxo+mUkv3zq6'; + 'pYvFPPZ58lpZdzjfPQFrdQ6zi32hq00kltpKI2UVGDvZCt0T6SQ4iGm/Wn8IL3EG29OXKL76KGm'; b += - '4bFMevmmlcOnMrIzXMxVaocv5Cq1w+dzldrhc7lK7fDZXKV2+EyuUjt8OlepHR7PVWqHT+UqtcN'; + '7lOr1LA8JuL92KIKn4Mfz6lqDoffz6me+gKDqcQlqJDeCXjb1fqcYfdsM+62pWiA7B0h0vb0ipX'; b += - 'juUrt8MlcpXZ4NPcyaofpZY33kZO5JvvIWK7JPnIq12QfGc812UdO55rsI2dyTfaRs7km+8i5XJ'; + 'O45dsrzC1W45jT8NNyd03USVMVjFo7KCKqdgEY/KjVQZpUo3Kiupchym8aj0U+UYzOJRWUaVo1T'; b += - 'N95HyuyT5yIVd/H7mYY7FxfyBmO/1JqwzeFxjF7m5bszcwml3DySCZCNvt9JO2y57A6Hr7reAZG'; + 'R7PxHlRHYmrDXH1UOu5wJwAnnIQ+57ku72i1nR7MuuNot1VJR4pI2r8K7bp7pnC+dCyq86xaYTi'; b += - 'F3vU7bL7kAMd5bviQYCo/192na5kjPq351WzMyJwU4PxqrqnFjtUlzSRE4o+EuPlfSmuU1YaN2E'; + '2dvRXedb2mc7F0LqvwrltmOhdJZ3+Fd12/6eyWzpUV3nUrTWconTdWeNfdaDoXSueKCu+6FaZzi'; b += - 'hV7YhIVe0ISF7mnCQodNWOj5TVjoRU1Y6O4mLPScJiz0vPoc9C6lhxRJRMw2ixrDWCdEeyF2CNF'; + 'fGuuyn2rrvJ9JTgbNjHlWGXJvBsGuqMlvMwnasS0J+xoO+rB/qlFaBfSuOvWNADDy5b0AMPLlnQ'; b += - 'ZiMFBNBViWhD9hBgRRCshtg7RRdzE16KBWMHXoncQY4doG5bwtegY+lL6hY+/PLaHUb8ZufObkT'; + 'Aw8mLeiBBxct6IEHFyzogQfnLeiBBxMW9MCDcxb0CwB4vSoN+qUJ6Pu0VObhw1eZikpAneDBAtM'; b += - 'u/Gbnzm5E7vxm585uRO78ZufObkTu/Gbnzm5E7fxJyB5P/EIiHIFolTzwX/wj3iP/dxY4UEOEru'; + '5PwF1gge9plMnoE7wYJnpXJyAOsGDftO5KAF1ggcrTWd3AuoED240nWEC6gQPVphOgwc3VeDBTa'; b += - '+xilprluuh4zjgkgCc+ljOOD2CJj+aMdwJY4pGc8YIAR3w4Z1wVwBEfyhkvCDDEBwzVY4Z4OGdc'; + 'bT4sHyGA+Wm54S2/4nkAcJqoY8fAGuBfLwd4ghD1eHGPLwcoghDweHGPLwbYghD7eGGPLwaIghD'; b += - 'IsAP7zfkj/nhfTnjHwF2eK8hg8IN78kJNzyYE254d0644YGccMNXssINX84KN3wpK9zwRFa44Yt'; + '2eGGPLwY7gO+RcP+WMVkB+pA/mj1wj5c2nIn01D/kwa8uNpyJ9OQ34sDflTaciPpiF//DrkXxLk'; b += - 'Z4YYvZIUbHsoJN3wuK9zw+Sxxw/PBxQ4yM7wIcxkzv90YXFyag4+IS/PwsdkKRniAHjGUe5GM8E'; + 'L1RAfqIO5M9fI+Rhgx9DHqb3MeRhcR9DHob2MeSvpCF/OQ35S2nIT6Yhf/E65F8S5GGhnUAebGQ'; b += - 'uu8Wsmx55vJsdeaCbHXmwmx040k2MvNZNjLzeTY680k2MHmvEfu5vxH4OT8B97ciRqkgT7Ccids'; + '15GGufS2QP56G/LE05I+mIT+ShjwM0mPIwxA9hjwM0GPIw/A8hjwMzq9D/sVDHnHTeum7SnQiWJ'; b += - 'wWLRbLrF1QW8a5f8FlkPLHAGUGvXzBbpL1+QW8R+foFx0XuExYhK8Jfv2C7SIDCdWdFDBSWOyuy'; + 'Pi7/MImyHAX5vEy6iKk9ZVAfYuvU4iZtwisTJulSgZt0l8jNslMsYdEhPjTomGsV7iYHDEM4UYD'; b += - 'n1D/rAiEN5Dt/whkm81qMsvmzksxuD0JazsnxdQuSNjZ7hQjuzBhYRelmFedsK3zUwxrFas69LK'; + '3pBGoBdScSzeborHfFMVcBMmc71SXiMBGbzTeedSXiMBGbadN6RhMdIYLbYdN6ehMdIYLbIdN6W'; b += - 'xqkPNWdX5TVhV3YRVXdSEVV3YhFXtbsKqLmjCqs5pwqr2NGFV5zVhVcP6rOoSIln6Y8KpikPDFw'; + 'hMdIYNZtOm9NwmMkMAtN5y1JeIwEZgtNp414tiSG2RLTwzz6Aq4M57WNdRaZSCcCsg31QHZXPZC'; b += - 'S+4svwRSmIG8OwFMSD4eelIM4LX5KC+C38ghTEZeGAFMRb4ctSEEeFX5SC+CgclIK4JxyKMWzAE'; + '9WkD2GgHZ3QKyjQKyewRk9wrINgnIfkpAdl9DkG1IgyxKXjiOVFYffj/VCH6bGsHv3kbwu6cR/D'; b += - '+vuy+DAFTRz4AqaOXAFzRy4gmYOXEEzB66gmQNX0MyBK2jmwBU0c+AKmjlwBZM4cMH5dSQLnpVR'; + 'Y2gt/djeD3mkbwe/WU8LMxyu6vgNjr6kHstfUg9oBA7EGB2OsFYm8QiL1RIPaQQOxNArGHBWJvb'; b += - 'rj7PSozpEvBcJE33Vfbg/XUo3l8PZ1P766Fsan89kE3tr8PZ1P66P72/7kvvr3vT++tQen/dk95'; + 'gix16Uhdn8aYm9uBLGHG0HsTY0g9lAjiL2xEcTe0Ahir28EsQcbQeyBKSFmY4u9pQJib60HsUfq'; b += - 'fB9P76+70/jrwsu2vN4wSL4dRAvr7bLUy6Uy2Wpl0OlulTBrPViuTTmWrlElIRFKpTDqZrVImjW'; + 'QeynBWJvE4i9XSD2DoHYzwjEHhWI/axA7OcEYj/fEGJvTUPsLWmI/XwjiP1cI4j9bCOIPdoIYj/'; b += - 'arlUnHs1XKpGPZamXS0WyNMmkk+3Lt0PSmG8qkl0SZtBqSOtO9JaCOLGGspn9LiFruUfjf7GjCF'; + 'TCGLvaASxtzeC2NsaQeynp4SYjQn2rgqIvbsexN5ZD2K/IBB7j0DsFwViZYHYZoHYewVi7xOIvV'; b += - 'yNtH9Wzqcsauax5yxi2rEnLGLOsGcsYsKzpyhitrLnqP8ZQdSiIDVUjQYWh6lhQYagaDSoMVWNB'; + '8g9ksNIfbuNMTelYbYLzWC2PsbQex9jSD23kYQ29wIYuVGEPvFRhB7TyOI/cKUELOxvLZUQGxrP'; b += - 'hXw+HPwADFUvOfORacZ8ZJoxH5lmzEemGfORacZ8ZJoxH5lmzEemGfORacZ8ZJoxH5lJmI8MrZ7'; + 'Yh9oB7EHhOIPS4Q+6BA7AmB2IcEYh8WiH1EIPZRgdjHGkJsaxpiW9IQ+1gjiH20EcQ+0ghiH24E'; b += - 'n4NJQs3qwbpbo1cUJwh50WQIOA3EbsO5QuJmZErroZU3aXE0di3fpuXxmSemlXOLEjMWtVDvOtb'; + 'sQ81gtgTjSD2wUYQe7wRxB6bEmLMNYphKPGOy3Rv8WP0u6x4L3Eoy6hcIp7y3us85XWe8jpPeZ2'; b += - 'YEq3RSGqkonasowV/IlmgfQa5yfYt+BgO8l2jrLZFbfDtV3MJlGkoB3W8p3ocuqvhh/HlGUXEu/'; + 'nvM5TXucpr/OU13nK6zzldZ6yAU9JPCPxkdclkde5xutc43Wu8TrXeJ1rvM41Xucar3ON17nGJp'; b += - 'nxY99IdHE4hLEWHMCRz3q7U6w674TJ71K4UHYCnO460La46ascRV5ZWHLVbSv1P4ZgTmm6mwhi8'; + 'LIyCu+C9JHtnCFZFJkkqVYJrlMs7lQoczty/TN9Dc1LlJsGSv1UjQ4XfI73mzTiaHAiYQdpNhLp'; b += - '4lFYToWT8IhH4SYqjFKhB4UVVDgO13gUVlLhGNziUVhChaNU0Hz4jwoj8DXhU39UOOxyWG0nnIP'; + 'UUuKM6B/C0vToYcp0fOL3VM8uNIbdFqa+RuNdkaOQcyt6Ml/0mTws1k9OXky74k2UbWZslZGCKF'; b += - 'EvHpZ+qjdUj5o1o2jdou1FJQcSZtTcbpujmmcK43zKk7XzTONWhr7Kk7X9ZnGhdK4pOJ03RLTuE'; + 'faRKJr+2c29BLH0/7ofe3QU3rzlzIHIxIvekWitJ/PBAV3uSCr34P10nz+my/9hHZuniJu0U/yj'; b += - 'AaV1acrltpGnukcUXF6boVpjGUxpsqTtfdZBrnS+PyitN1y03jInO67ub4dN3NpqWEw4bLuDDs0'; + 'OE7y0KlO06yivMk90nkbn+bM2sHm8E3WWbakYl3JSyt+m3B3R0HdPcgZsxSVOWRftpRK+0eVS5E'; b += - 'gSeSUOd0XIOpnNVAvrTFvTL6oF+cQXoF1P/Kxb0wIPLFvTAg0sW9MCDCQt64MFFC3rgwQULeuDB'; + 'hCPddMDrJN/rOrAjMjnGwyOn98lIa1IeMkhgXR4OApvg4ZPZGCVRJgpnJfoj0r91YbFL0P9ekkZ'; b += - 'eQt64ME5C3rgwVkL+nkAvF6VBv3iBPTLtBTm4MNXmYJKQJ3gwTzTODcBdYIHfaZRJ6BO8GCJaVy'; + 'TLSTfe6/MauDmwJWXc5abVvclT6myP1OCer5CfeszXMSFZAfg1PZ4wdSY9bRAJolyZE+8Z5wNUu'; b += - 'YgDrBg5WmcUEC6gQPVpjGngTUCR7cZBrDBNQJHiw3jQYPbq7Ag5tNo8WDpTEeLDUtJfb9TyAPEl'; + 'l4qcBZfujJtyqlHz8i7Sm/JtC3J7dCJXdobz3NLojQXk2MtEqozH+ehtozfP0IzSe3ZsKVNBMmZ'; b += - 'QNeZwFuB7I47xDDHkcdYghj1MOMeRxwCGGPM42xJDHsYYY8jjREEMehxliyOMcww3Iv3DIH6uA/'; + '7kf8EaiUvb2/Kqfe84hFJq+dGumxyX+usSZ/pIIG8s47zIXOu7cBkjOYk75K3W91dcCwOoqiKD+'; b += - 'EgdyB+9TsifTUP+TBryp9OQH09D/lQa8mNpyJ9MQ340DfnjNyD/oiB/oQLy5+pA/vx1Qh4++DHk'; + 'fzixxGzI8PDg5+GM+hHlkHQKwOQbSwKhnq05IM1UuB+UeByhkw5+jpOc6Zfd5mnE6BKlf8OFqH1'; b += - '4XofQx4e9zHk4WgfQ/5KGvKX05C/lIb8RBryF29A/kVBHh7aCeTBRlZDHu7a1wP542nIH0tD/mg'; + 'eYwy0kOkZJTMOOCU+Yc1UhMKoA/hrSvxd9SkgzzmApbfC4dVyVf8CJTHEb2xUxxD00cUB5pYp9A'; b += - 'a8iNpyMMhPYY8HNFjyMMBPYY8HM9jyMPh/AbkXzjkETetj76rRBLBmhR/n0fYDAH+2iReRlWctO'; + 'Hl6e/Y0y3tEZ3YKkjFho48g+StcW/4auXOGMqALm9m+BBpGitSUZpTe4MpnnnHJkTIwIQ+6lFsL'; b += - '4KsHfrdRIx41aJlXGbRMm4XeJj3CGRMe6UmBh3STSM9RIHgyOeKcR40PPSAOxOIp7N0d3piGeqA'; + 'u47jP8eeAyMdQpAEP0YDWtUjiKY9YixwUKJ9G+REujqH4IBVu4ZyR+LziRUXv9RWPE6cqRkjt05'; b += - 'mbKNK5PwmMkMJtrGu9KwmMkMNOm8c4kPEYCs4Wm8Y4kPEYCswWm8fYkPEYCsx7TeFsSHiOBWWga'; + 'u0eXkZwAPpfjQ7TL6A06WMrABJBOkj72TLbU6WPr4lUhs5Ha9vkyF7jCxY9h6WUI7+ZMvRPz03K'; b += - 'b03CYyQwm28abcSzRTHMFpkW5tHncWE4r22ss8hEOhGQbagHsrvrgeyHBGSvFJDdIyDbKCC7V0B'; + 'nkto3PPjzrF/aAmTh60ReXjCa54obykZaEnZjHvyGce9LjvkcTavHADzv9pHosJpln9r34kt8Tg'; b += - '2n4Bsk4DshwVk9zcE2YY0yKJkwHGksvrw++FG8NvUCH73NYLfvY3gt7ER/O5pBL9XNoLfD00KPx'; + '9/IM52Wtc9pUQgp8Im5GiJxjSsxYjdy/kpTTXk/9bcn1WQQqXewwhXOBGZw5OepBithRZa9lnCs'; b += - 'uj7IEKiL26HsReVQ9imwViDwrEXiMQe61A7HUCsYcEYj8iEHtYIPb6hhB7dRpiD6Qh9vpGEHu4E'; + 'ed0OAmJcLhthOIVcAONOH40wHHP5moZLKLCz+er7V/wRdkHzTOVlf/zwl3k/69fB+xLV4P+RZvB'; b += - 'cR+pBHEHmoEsdc1gthrG0HsNY0g9mAjiG2eFGI2ttgbKiD2xnoQe6QexN4kEHuzQOwtArEfFYj9'; + '9TgvdDvsX7MTeN92OuxfvTboL3zwneP33VeD+oDN7/NeP9qFuL92fcGO+RKzXB+w8L3p92Y7wfc'; b += - 'mEDsUYHYjwvE3ioQ+4mGEHtjGmJvSEPsJxpB7K2NIPbjjSD2aCOI/VgjiP1oI4i9pRHE3twIYm+'; + 'wXvdylB/G3aPGMtsg0oSZS91t0ti+AyyoNK8mAzStMnNsZ9OJP4ckuaoalxf1TVQf5R9RKQn2e5'; b += - 'aFGI2JtjbKyD2jnoQe1s9iP2kQOydArGfEoiVBWJbBGKPCcTeJRB7t0DspxtC7B1piL09DbGfbg'; + 'BvmH/GrkH1MV2E8YbZ9rsP8Haew/rdLoP+QJ+uMr66O/JDCeCv1H3BT6j7kp9Cf0tMmP66O/6ax'; b += - 'SxdzeC2LsaQeyxRhDb0ghi5UYQ+6lGEHtnI4j95KQQs7G8tlZAbFs9iL2nHsTeKxB7XCD2PoHYE'; + 'C/9PuVaL/pJ9C/+2cCBuzji2CP74jL1lqHWa7UnsE3XKmQS8n6jPY5UQemAEnGjtykiHkoH0xuC'; b += - 'wKx9wvEPiAQ+6BA7EMCsQ83hNi2NMS2piH24UYQ+1AjiH2wEcQ+0Ahi728EsScaQex9jSD2eCOI'; + '2C3Vq3iNJat4cbfGrQ8iV+8ccEtsW0u4GR4vzduY3+Dt4HHSRQj5xAe8jxLTscoeMLL7yQvZ/fV'; b += - 'vXdSiDHXKI6hxDsu0X3FD9PvkuJ9xKEsoesS8ZT33eApb/CUN3jKGzzlDZ7yBk95g6e8wVPe4Cl'; + 'EXEShV/6IVOQeWxldEY7PHg47ZvMW8sHB3zeLLFLRR+LnSObKDS4QHM4OtCp4t3yy+q/AJqJTgU'; b += - 'v8JQNeEriGYmPvKGJvME13uAab3CNN7jGG1zjDa7xBtd4g2u8wTU20URGXvHt0D6yhys0k6KTLM'; + 'T/k2VTht5pIKeVordmJ3u3Zok/5/2XsTwCiKpXF8jr2yu0kmFwlJILNLgHDfBBGBCXIJCAooKk8'; b += - 'U6ySWa3YUKZa5fom+hv6l+kWLPWCmXooGpkoXtFptODBecGNRBYsBUmtOC4pymw16c3DROd5pf7'; + 'IyQI5yLE5AEWIQDRRlPsJPEDkEERAFFRUkICo6ENFQUUBQQUFBYmCiArkX1XdvbsJx5P3od/7/r'; b += - 'JhkppHaqtW2yN1m8lhyTlOuR03+SZPCzWTo5GSqvmSsRRZWyeYYIs9vpEomWa1zX0E8fS96oXdP'; + '+HZmequ6enuru6ju6eKjeGzsGv/0p19QEM934Xe97F6qdXYEFdV9ZOSIYLqSXaFpNjBFKKTMIcf'; b += - 'weW0iZqzVCIrp1orqQfxQk7CjbzCxe+4Tp5zz/66j5SxxU3aKf5mnPdzcVXmV9dRXmXe1zz1zvN'; + '2xuNauPCWjAr3DiMOksOvBumRGHzX2pdIdkJ9ccaRxhwEnQOxwPK7Kl+jtM+I5ABc4/BxUkQdRV'; b += - 'nbWD3eCfqKturYnwVyFX+duXujIb/6/Oc2VbxFaesiw7QFb7R5avIkTSArpkc5OFcwElEH5AUsl'; + 'MSyw3AdUHxPTNGDyFFJUZMjpHUcfspn6wRUkRDZxsHeXzwrqbaiFLpy3KhGvrT0LYo5l2mM8aOo'; b += - 'KPhMAdSI1M31l8mrPaIq2vJItV9xQcO1G4VMWH8/QQnr2PDAwMfAB56KhFgIWv75DZCKtymT4tu'; + 'NoACkRgWJNdKBgcQpUrGWqb1NuhrpyFCOVYGaDcUe5nTLCJC3H/UpC0u2ULJQpMwY2tqMXfKMKv'; b += - 'Uy91Fi+l1GBgQ4nRudEreNISDjuJilVQ18HxX9yk6zqJhk6ZxFF5M6SzanJOUs56bRfHFGSZ/KY'; + 'QmR30RdN1QCqEH9x2pYHHHJWMNv9X2q47aQIBsBkziM2CPqbtZNzkc8ZejBqIFi3SVTMfVMmOul'; b += - 'ClskXfRxVULaSnpgFvnSlc4iv7oHuGjClyfCVs4QGWY3Sn+ke2+hJ+3j9NBIHkr3IkW6Wu6MqAI'; + 'hl7tcx4qWaD9pZvFw1aX7bd16C6NOUN9Qr2TR1sL1MmTcy2QCPEaJWtfQvmRN3L534psezLPIy0'; b += - 'SqV4wmdE53/FJVd7gruPsz2edcjRH/GCya5H5MqI5Po7nXBgelRTmCh0eog6ta5EfU14Rp6Y+he'; + 'oBZSrk65hK5bcA1S3XU1Gw0CfHwiabk0i0rdMHN05YGpMH+0SvUKj9v8j8de2jnUNZAVyZgLIyP'; b += - 'tH+HIMlw/Sxa2YCf684t8pGtdzHuc95XTnBDkaCZKpcwfuSM+j2THJD4NyKUuzpG22Qn+582jYc'; + 'ECxVjbDj0FmPKU58F68as3ROKkqAEAZN2j2O+ihNSMiaTjk7x5SU+D4W9JjE6k5BxKWi8xBAThi'; b += - 'ruTo49viRQ+OUuzECdL1IS2wE0POBTQn1w5Ovjzo5JIOBr8kkm3blKzSypsnuCKAeUld4jNmI4k'; + 'mBBoZxYBoIoMmqj2Myo41NXLQLqqrekLIMlFYXq6qkfLIGesQZclaIIvuUcInNaBNj4Ik+Hhvp4'; b += - 'uhmTfR1Z3kMkmU9lX1eSwt5mX1fonMq+njHZ1znlOz/Mpk9XVenT7f25ivTrqfTpSB97TEnm9V5'; + '7HA2+PhsvsgSu4YuNtBJhizBoincu7K2S2qMWgRagsUEhBYqcQqlVlVq3xVnTlQQa3zPyFf9olp'; b += - 'keB1NMqED54pfd0OA2JFc9L1xo6wpAJxT0B6XJcTfLEtZyZJTJvs8Peo8yMA4z0Ig5OD7k+L9hF'; + 'V34Cy2N8cLCKz0CHGMk0l401j8F92ePQQ+dlzqpoynKTh4yymGTVxoRTb5R9GF/dDMLcEVNztGm'; b += - '8P70dci/dDnsX7MSV4P+RbvB9z03g/5lq8P+UmeP+M4P0/XzPeDyiD999mvB91a/H+tBvjPdKQJ'; + 'sQRrUYWQFeZhhrPlumxRgxsQStaMkNoC7w3Quo16GBxxhbCIEUEhtWhS4HKOOvexEIDKPF1IkiX'; b += - 'nj/AcH7U26M92Ou4P1uJYi/XZt3rEVIfCXZQNe6g7IILuN6QEniUUZp+sTGuI8TD748kmZoctwf'; + 'QrTnfAfBC52vw5DZ4DvmKmQcSXOyLYvLRlBiAbLbE3Gqvk7MB0xAvVQwm/W2Y3oBPDDfUKGkzY3'; b += - 'VXWQP058+0KQn2e5BvmH/GrkH1MV2E8Ybd9rsP9UGvtPqTT6S8Z2l7+yPvpL/uHJ0H/ETaH/mJt'; + 'eyKJZaYHLVEVUphYE0rFdnqN945acokeUjR7B98OYHA8twmELbKJMZ7dRMYnLHU84zlsxUQG2gy'; b += - 'Cf0JPm7u4Pvqbxir0P+VeI/pP+Cn038Fb0EbeglzeWGdzvvaVJid4eo+gR3Ya9HKiZQa7nIh6tN'; + 'qAN+i0shcGdFLRYUJxDNNpBUsaj50GSWdZuPjztcnIHjxeTn40xORHK6U5DunHDZfGgbUbRizKM'; b += - 'GfM59/niHkoH4hWAKC3Vq3iKu1bi9X+FSh5Uv84t8T2BbS7obdnlPBBht9JA5XfY6zzqG9P6O9P'; + '7jRHXjMPbJNIhiP27FVY3WukKykiFCQSSkeZqMpIzFj+Hwo4Kl4zaSOrFOFklI6FnHO/SS7SIeH'; b += - 'HK/8g5H6Hj16tWc2Swj2u+Lf+KFTkHlsZVhK3UxC360Y6sZsbAdzIjIFjdfmI7QObKBrg73YwZf'; + 'oo0pi2AphICBSIEeOvspGDTBwJmhv+HPHYwdeREdV4LFLQlDFV7o8EpwHFRHFaYhStybRARDSDf'; b += - 'HTrdksBd5edRLcGh+Cu+zfRNvIZkGZ7Sip3Y3aGdPg/JlV0+ovak9vrp0nmD3F+S5/Mr0FFr98j'; + 'b9vBcytJqixUZN86Ws2VE/fHqRok4DvIqNwgXXRSpJc4WjdSFwFh65nq0WqbwVJ9a0gqXgBrVsP'; b += - '2dfSHfTCLX/HzbwWmqFTWcg9Zy93avOVIYfstJcgRhLW7O+cyF/aG4UgA540+n3/aVdnKd6Qyow'; + 'T1aTSOV2WwzUwoED2gybsfN7mNxrkf11zeTaRYdM3QI1oRKnItwSYc0PJyFs88G6he50yNGBqxr'; b += - 'u5StagCxQEQ4Xcter+AkFIOA1aPI9j8aJlUzeftvIfoL+0QzzGFOz3DzzXsinyHi9h3XqMvMFay'; + 'xmUkSaFhrqYfcwQiYEIikdOtaWh5xhyDgQMBJ6UFrmVUVioATAROla3CL17C1RuWD2yR0pJKiP2'; b += - 'UGOPmuRaplngzAA2OgCWTvzyAOuJRN28Rucl50ZOeonjwBnwwlyE44IXJ18f4nISlaqs1xNd4A8'; + 'yc4fcTEDgXCJwPBEomBwBTA4GyQGCaHyhbqWt6mFd3evUgr+7w6lavbvLqiteQeuaj0ZaAP3Xxp'; b += - 'YHEG+OH07hlB7PwspKFn3DbZ6Iu/5d+T0X4+P6cenBnKWadBY75RY1ejxtmNGuc4+UU2vXvkPk7'; + 'w7+xONPHP7E4k9t/InBn2j8qYU/UfgTiT8R+BOOP2H4o+FPKP6E4E8w/jjxx4E/dvwJwh8b/ljx'; b += - 'AHvlXkz7cifb8L7ksjnmMnjTz3iTs9Vx8r7CJvrC24IGjVY8V/4i42Xn1W//akeY6NwPK3uPcqr'; + 'x4I/ZvwhA1LFHwV/ZPyRvFf/B0LLSCj2gqx2OQIUVt/6Jqn7TmYuW2ndFI0ekytIRRUzCLVXEy0'; b += - 'mVhxtaesB537X3GKeqp9t30Lr1GO2dJ0NaE9rt300ro/gX3iS3B8nts2snh6eGmjqFbAiCYFxge'; + '6Mi4BxiGzVIQOCxQAI25N4XQCoxwk7qFGJ7+nCxO3TF+OQXoC6jb2IS0eU4iZgO4KAjUGf+K1db'; b += - 'fHhNFtCbk//HDHXmeKbwDVH4yj4xTflP+thqSE/9knnXhY7xm2abSsuOIJBDkiSu0Gt87qYvBKy'; + 'gmaTKOYf4PChNDQIKGZpzjj1BpDX8isXQolC47IUrbiICNGGPeiYDSNqaDQ+kQKL1KlEbaN3RjU'; b += - 'u8TwRwN7aGv5rhvTQpEZZEk6tECuXv2GsyXCPvTvV686W6MBetPG7khtaXdVzF47slZ9Ic0LY+r'; + '2BRJtyxaDAU3emruCU1GleHyrdJRJ/GJMOm9dNtOtg9Opho0DYrX8FEe00P8gGAlFMAupnfmY2u'; b += - 'ZGVNPotpz6M/w/8Ce3EVX33SYnjKVZGpp6KYhpGBQIJAUn3OZ9OOhjjxUyaMun7WPOslXOnWHqn'; + 'WWRVq82kXm65o3Qn8i/seLKehzAeT3adUXm8gstN1fgUjXu2hAzQPgnnIcxYxbecTJNLwKDCKcQ'; b += - 'vH2cnvQH+kpyahbB9NSLSOV2k0juvDH6MZ+l/KECFejLzgmRQjrbYXyLazCbsa0ntnaJvOd1VDm'; + 'VJKMEKiEJKO6AL+/+Dto3A+W9XVcbqUn4jJ3V3DWLI2rHOlVgFT4YzW3oEA6jDcFWSJFegDkTH0'; b += - '2FNdH6uoBW1oSE6/HcnnJSAMpuxHXtsRHQbUinPMt2QnyILIYUhs1gmrUeCZ9ddCIzmc+z+0Mtc'; + 'TGCO/SDoIUjubL1LYaq9XRErOLa6ZrhHgm0jBcs/KRu8vEqRkjZjpBnsMBjxEDBvUgnmwDwAoNP'; b += - 'k8E7IisY3CxzX5HuI7qSYSDi5flpsi4BrXiwMx15Y3RIPZaux7jA+CHre1kuiNulC54ViEKYbvm'; + 'nLkgfKALT45mrBMEL++XMyrXpZZ6o6ZFrDJUNF0mYV2aAQhnwcdVpsuu63BYO06TQ6gSZt2VHWB'; b += - 'LHs/6+Rn2Ue7j6ScddFVuZ0zVDWoq3lOYhdxcqEfqpS30aRslqZWpqvZJlJzNMy/EXATwgHgUcH'; + '0sBuYBjYDSig/BYEfJYbl60noIiBJmVmGWPzDTUL1V3d1CdOV/tBdRquQmeKZ8xZutonjlelm7V'; b += - 'd/BEmcrnLgT4klok03oD1oNsuoGI/SQUyh8yVDmvHHTyi07ACdBu9c4F0b/Tn+lycYo91oH18VB'; + 'KE5bW3gUZr500uWSxwSG2ObRnaFMF6LcfbW1MfZd2CXoE4zQvEQAaqU+YgoG1YE0WtCFhVvSGBL'; b += - 'bmG/uqEw9wBE/bQlWdvpA9ysfu5Qup598tU7H6GsCQUChM11YlmAdWfwGJ1ovn3dpspreEPZjH8'; + 'hkoZA3SgDErZAVstPsoDe6UEnBZAsKySyQ2jZU/ExAY/3yg83McpXcMFRapgstxQQgrhITYe60O'; b += - 'OzHZjP4G+B5Tb3pcZ/QPXwWtQcb3VGOnRZtot9oMnCoSUswUJI92H6KFspQQ7Hd4fHH92V+trH+'; + 'HiLcGJlocWKA6xgG9jNUrbzwi/jsE/Pv0PoInbwUD//E7J4Qma1KUzU0wNIOxI1m8jHqTqMc9Xq'; b += - '+xS3uJCKKVV8iIWCV45SmQghxDKdM8yiaBy/WRnixNsLDH2KO9dR1Xi9zxmE2ArNM5CyIgmjgO7'; + '6R2sKl1rIENLEyao0cA9FuB/zI7Fl6Etje+0BGL5mQr6j8W3ZuGgniWFiF7G3kzLek7adQqiaUi'; b += - 'RS90NEubtsmIBbyzpLTwKv5aG8EuViUu5FOYjLOstXmlo0kchoTrnXIUboCM9FWEDBR6GT63O4L'; + '9wzYUgpDfBhEDRvWrEh6iH1RXJ0Lvq8Vj85H4fXiy1ZNLWi8u4xjCNoDhGozbF1oX3HXAdQAzDZ'; b += - 'JbDdhTyKLRxfcsREX46UGhDwef6Il3i75Qj0cTACQdBOTbop6NL5no7CpfThSvpwsBHUoXd6cJg'; + '8xzphA9BGHhiWu26i944DIgajuwGU/KzI0VCB5eixmQDLVDI/Fwu8pE1OHjZa+lRoy8MiKOyxVT'; b += - 'urAnKQwe1EU9ZZtu26Zbtun8Np3bpv1t2t0WOfduhWw1Hz/z8DMXP3Pw042f2fiZhZ8u/MzEzwz'; + '6wVqG6jIgQd94GJq9O00+Sb4xGsKK1aKJnaLBgHUqL4TpQOvITEZahQxrtmBTwNM18WMz/qMi8d'; b += - '8TMdPJ36m4Wcqfqbgp4ifDvy046eAnzb85PHTip8W/AT4yeEni58MfljO8/Dj4kfhx9nW+D/aga'; + '5gglYwhtb7jJ8mIpuXo5tCkjajIW4CqM+zC0ZiBaoX6ORvt4dqzamYn3gVnTFEe1Z6lJYXzPD1m'; b += - 'L5T2yjjbeUT/GVsa6MufI2kWpzrIODbOKXWjxwgi1gMn1WYMmSJxlOBArLahIGEMRzGwyeEJRb7'; + 'cvDbZrz7yVR9uivwjiO3boaJHmpmusl075JrMDjAeVPqTil8CrKSpVKIYWyfdAmq+USUjXCUL+C'; b += - 'DU9sc1c8x/ZO4Wt7QI+EXZHQ8DFP3eZMhCLSbtjF37mFD/vgduMhtF+zpU9hVAwKkYj5hbuXcRP'; + 'LBF33wBdkB813KbCpJkNQ3GKnDgss/ZjQ+NcPsshqH122XXBakX9oo9OXtmEbpbInHwAVuk3ZRR'; b += - 'J3p3QE6MeweMwFFXNJ7uHQirTL3boVKxvYH7kY4m0l1lp0bXAnUd+Hv74JX80WAuBk84jJ/Rzig'; + 'S1dt6KhSTXF+HgRtLu320r05O1uEpuiwDjROKFb2gmDmU1TQukRLPMlUcKua69gXDx2ERoKGfG6'; b += - 'oPqADTeKJJkmKvi1nQmlArNItcYEG1WYLOmOuMtHdW1j49ZY794Xqduf1IEaYeBZyHxGCzeJXdO'; + '7KatMAV1ECtcgHdCv2Kd/eMgK9hCJpAVTQnQVWg5DjhblstKtbqDWKtvgSrA+MlibYGHsXwQJLi'; b += - 'jCqNkEvehPIYOLOpJKZxysQ1qxbqya5MVly8SPuUwVnOj4344KF2GvIDn/HX3fx7F5t2qvz+vFP'; + 'VwAKKr4CNbJNLCqj/qoCpegErcHOXBfeYLZm0w2iaRN2ksg5QsQPstLDgG54gMsOyYBwc3al11C'; b += - 'a3y5Lu3mIG24pkekYq4/L/Zew/AqIrncfyVa7m7JC+NhCSQd0cCCTWEEkTaC11AelM0hOSAFFIu'; + 'IZspGWe+FzoAMaXfKRPxkJ+S40Xob1QSvKsBTqFi+wXhN2oASUARwl0ZARRu0RHgJGYyn00qN5/'; b += - 'lwCKEEogKNJRQEB6E5CqiJRQRERUBFSkSERAEJAgRZCS/87svrtLAD/iB/x+Pv/fB83tzu6+fbO'; + 'eEZCzzlLMRnsNMxJqKxWGaL5gcC7veKfTmz0SkzxZRMd8D82sJlx3O4ltwS7uJwR86Meyyoo3Sg'; b += - '7szOz5c3Aqph0CINB1ccdZKQXwmmREQILJO+S9ouUDcKepqHMzmcgR5evZdMlRDwFaJiEqVnAqn'; + '2xi4G053Gu3M4Z2TNubMpCu2V3o5rahVhheC6KiUSPFWfZh6gdPTMkywiRMFtAeFktwbaRvld1V'; b += - 'nkyZTlUgGfaTKRx5DVElkfioo+wQrWZWgUApg73SMyVaOZRJY6cyGvdFm6oDZN0ZGlE2iNFq2q6'; + 'oP7xVcZkZpU/vOFzcpRmUhN0A3ddeacowNzPMTwQ0rWaTlwY0WWyVm1lL563/Vy0d7Wspa3OSr8'; b += - 'ikewNGJQiq9yVv1nmRRataYCE0apK9FC9EAaIQMA40QbZJFibROtRIqyhsGwoQ0KSVVGZyliKmg'; + '2Jvjbr1GbWHCTdOMITsVOTL9vx4l5lWJT9y/4e4sNigA+LXsjw4W3GAWiE9igKmgtLtqP1aeLWJ'; b += - 'u8qadiGy2IFUJ5E+JMPCntGmymK7EFaVrJV+0EBpaRMR2NJxjYVXN8vVLXNpOm7QE/rtgNvklz7'; + 'xcFYoKjLcjW/dlaDC6qENf8VnXQZCMrQntCdsRKuFDOlCQ0fKezNWGti8MRUo2XMvZYU9Mz5ICE'; b += - 'CHedWnrjLowKwlhyl8SSsBWrSwVKPzIq2JIEEqSCxlTwCwrb6At6sNeEbLaBxQLIOxGEqEcEG0O'; + 'MN+yPB3S2GKqlgJC8H1Wi+DhxOvDSY/EfauPTUZMe2WnTGUCV2WoGr+8wleFVl+eYbi0rIGLUWG'; b += - 'I0hMY6ZHlq6QKTs5KhklIssKALIxpzngYxN+tMrEUwsVJhYYlb29AGGplCd/FZMAT69AxFF7AjD'; + '6FDvx5g94tRXS5ctw8VeLndyg1Ul2mkNGRTmUn3KxkfC0VeurWSrWI/vfhqvFWvWahzG5vKSq2p'; b += - '3VwPcGrT/C0NoHKbXwAt8ux2Ug+ZtGkFJWqp62nKDQrgwzuIGhIjQrs1xP+R5eb8DJY8sI7de5Y'; + 'paMC2kmgwl35CL8ZHASu7h2fGGlm+Yin2Qnm+YiwkBbafCFPmurH8+4uAq1qXGDDCfhaYczLr9s'; b += - 'fioSZUbn3FowYc+idoMvo2/G3TcznmB44DTE3oE5zcsewG89kAGDLnWUPIQ/oHsOJ70v5g7OAuJ'; + 'ATdHsuyD5RANle6nSy7JeU6mRDXccWeHuQ7HlIWe/AwuhtmZ4Z4WVzH1ToFAm0dz1uUsIk2ILZ2'; b += - '34kk3OR5ovRoMoQgbCExCT/IjSk3hcACW61ocPmWIMgzpIwRWibC9IrYNIUROiKoH7M7pgaGBNs'; + 'Sryw5N1Og60MuSOy1rqViZgZI2x+d7DOUiLFkoA7hKdoYsXAHcpTnGJBwa3xFJtYb3CH8RSTWI5'; b += - 'jSgyGDJGPN5LFg8ntSQ3VbJdq5oYKrNVySFXGlE/2YluquovrR6Yq7CEKKNJp0uCmAzEcqlUjLG'; + 'wh2NKxFrco+Mpjom4qDBhgltlFxO7mNnFwi5WdrGxC8Yqc9kNq0sGu9uuY1PUlawZih6MPyH4E4'; b += - 'lK56K2q0M1S3Z4mU5xXp3iAu2YOqwAyLPEmb1zCwIqZRFLtUIovXQ5Wgn5lOQhhH5TNULRGAlre'; + 'o/Gv6E4U84/jgmkldKcsKIlfldMrL3+2OJMUQC4rMRRn5Xlgw1v+dKhqPfUWV1ZHFegoIWzNbDe'; b += - 'LtaFhz9GqNqcAnH3rPGCqdSz2CQfdlAEvIxfHevSCNkuDFtAvOPBa0cwjQ5VMBk3zrTIHqn2row'; + 'Rnd8YBbWemOZMvjAhPRV3QALUWeMoEKRTFqFeiJLq5eqBazCgXOYmSqF4pmy+qiIWJAqxeKYevs'; b += - 'UOqJinkd4RnUuT1B2jHiOKOdKCQ9wCa/C9xG+74Tv8SYysbmU6hxHktp7AhnoYDtGC0tGSdFa9E'; + 'onWCDqoXqo06j+RrsiCf6oVi2YI6WsDTLs3H9SRDzgcqBO3VvjJfj8B+itCVlfleWpNHGwCT9Vh'; b += - 'rxvF2cRQeEqoUOdubNv7cT0umWiwIbzhrpggi6tayH5SHWFORkOqTdba16JBx7S416kibgMRaN4'; + 'MiKEEGyXUxoRISrBSQgwmaJRgoYRoTHBSgpkSamECKZW6iRKi8sXSJ1AQJkRigkTzB61lkyH3AM'; b += - 'skUmcJI+0IrT55tUSJ2zdp4wmauBdEQcOkt81Y8mhJA2dCTgDBJ0q9QZ8cQkuWpw4WLHhYARCnB'; + '2VtGFdykcNmviEmt9dTE7ahuKTk83QTMdsEyim7GQdPySmJrId3iqpH1ttt7lp89DUgzYudTB4x'; b += - '7THCwlIteqzV6kFb/RypgixZUmlbyMNQ3oMkWAX3AoKzgAFXFA8UEP9VAU3pAnrCti06OJjUpcA'; + 'V456myo8Rk2sfLutqBOjoIPLNvecWR/2/rFuc3GpAIjodilwGMWXHsivRJXnrBjTIGbkya+OYn7'; b += - 'OlagZgd0k0g4QoQOMuB3gHB4PXDylknEwtcTWYYt4kg203AaeI8qe0jQLGJESlmWB9Uh8O1j7KD'; + 'PWaAtEztI5mOf4EmZGKbDUzKsNUO3cwtM9+is8zUUEUcFqN1Z7babOKHvaBVLqaYMubMukQBuxc'; b += - 'qHrLMTHquBDuQIZRDWEa7wAIOaSB4iHEXnsOOjmR3JMzrylNkBz0CngyM9ZTpPN7FPuMWPqOdkW'; + '4t++Eg5PkXolGgg9Vj/50aAuVM1BQvGjBIGQp9iWEUILTnxBMCeHFhjXfqMQEp2Fy0qFE+dKHDl'; b += - 'qVRSpwmFmOEy9WFvHdhbzeaxELhhEwLZx6gjDTAaBCJ9cWYhCdlEDPjQZkWlcL6QhuzHtRHXweR'; + 'OBmnUGG3S0MfCJYFGmglWpOFxytW1mJauP7xTBB7K/vbyVKqhoOj+3ww03m4NWmhOBgkhQQMlYt'; b += - 'EcUcatiiE1M7Yem4eeKpYURB2gPSh28LtA2CusS7A0RF2PYFMdM2BDZbcQZFQjeQ7qsvVKeYayn'; + 'atTcjCwHd90WST7CAil9VjKbKT6MpHs6uFyUT3JYZWYQdWG1s7xDJ7CSIwdZlDIAmSbpqGZoAxM'; b += - 'ml9yaVrbJM92a/AlH41ra0uXz/1VLBzpbStsc6WxzuLPNMraZNgdINwTxBOzE2Id2vBoXKRYz/2'; + 'NtH6FqHQi/YCEW0m31wKMFA0CRU8mIksitYunJkuhVYtL90IdbJtUrIukfr9S3qOr0KV4EnyRIZ'; b += - 'V/93Ji0cmJRRvg7ORtyiXSCKkAJMrJKbtgmalhy0zG89UJDos+ug9Pd1BgKwS55mHRhJMNlwvSd'; + 'MECBDZruJDr3g3jsXOFpCHFbpmxa05M5ydHbYUWKHHWUf5MRlpcCdS3iCTRp2FAlX3shAxR1uvn'; b += - 'N4UzMHGNdWGSBmiDVFJ0dRk8irFSyl7LKvSKbxbgo9zmxxP9ldqSqUQabeV1qLycOT1vqgwwjlS'; + '7AdvmzYOrQmcb+cbjlRuux2M72tIFhQnYh094QrmWwdXdc0IV6rL56cKG3Bz4N1hFt5uCejpUqa'; b += - 'oUYJqi/s47GM+14KVuMSTPAq79KbKhSX6DK4KIWaB7FT37yFVVvIPbyMgZYpR4/7cU+RXgHgQSP'; + 'qSSz2eZ6N8o0WnBlI4SlOj94wxaFbXFuWTWWAvjAbiFYaKVE+IIqz9e/bHUBw086Fw8Q9oL7i3U'; b += - '2ZlcjDCglDaX6arQI9fCut8Eer1S65ngqgK9fK7UT5onbnxpFyFL4XHjEvZIXWXaoImUpmlwnJG'; + 'J8azmNcbN8NtulU7o+BSis2Np4AR9k9A31Yutc/C1pppRzfGfy6UlmMNkxc3t5SuKuM1LX37YoL'; b += - 'cp2lxEQNoqUI29Ge2fPQxcTrtUmUzWyapK7Em7vYgj3R5Ms0+UFHKqdm2m2dGYa6ZCXIZ9dnyQn'; + '/cMscZ7kLZrCb9snsYl2mv2kSnloBXs1Picpcy7RrdV3QsQ4QdTaGjQ2PXEnIXGxooFpoz4t4EX'; b += - 'UBwqfTBIrBRSy+asLKw+yo1cgfqmtbpBJ/hBkJs9YRQdcluNSt0P8fql7raKgyHzCB1cW/1lGmK'; + 'SSC/Q3WqDB/SGqyklcSbdpn+OhECijsXNSjVQtGbscJ5eJLTigRsjPUFiwZCQd/7EwVU5wI+j6l'; b += - 'v7r2t3qxFEndGrB6sxSzunNglViKQd1YsPqwFI2672D1hRS/1XBmxlJMw2H3YNgwq0gDDQ20NND'; + 'mRsJmXyE1G+PVlrI9RfcEcmdGX3YOSmO6VMvXp+Mj9GCz9ds7TX2XwwY61t2ZFgvmsOjHSjiW3r'; b += - 'RQE8DAw3AwZXFqOgtPFlgG2VoiriMNkOQPeHHC3684UeCHx/48YUf03A0ZYiW+6Aylx0/+n6XAy'; + '6ZnaOZXMM1qz59WZsf+hCbQ7TJu/nCXgQ0HYy3xrnWhZA8Gr+0+y0MxRmF5Pm8paC5eJXqE9rdL'; b += - 'qKiJtTL8TIZf+QouYyd0hxdFk3LI0szEuioHnSXWxWRja9ZhWWWf3ppraKidpXeGspjh89DAsFU'; + '2HxiltI1kZXuENjp6hd2i2+IYokQM0Lh4tjSLtzHsxAC0zqydo5Nw0IluMxp8MjueYELzyoTLYq'; b += - 'GpV0VO7uHShcnT5p+KsjkzpQoF0M1xtiDqgpQsF0d1xtXUqHZQuVB50Hs7ZZJV8ShcKptvgsNSd'; + 'oBLAXnRhISj3ZQJUZrqJioMjHBjo/hkSiZ0W1iJnIU2tB2onTiO7Ldqx3SQWHjxHnn32lBI9dt0'; b += - '8GA+bBwpfBahQqK9GpdlyX7QT36ysCzLjjvpoOxDshwMCUGYYMCE8pDgjwl6TAiCBAkTdJgQCAl'; + 'VaaaGXWgu2NQlSANrRaIIpptdRJy+NiR4XOrTnZ/qupOzP5eAZRrr9RklvBRik44pc2Sg5olEJ0'; b += - 'mTNBiQjlIQKVS1mBCQJa6YUkoCBL8IYHD+QPLYo3CtyKaK2rDMpcFGjTyCTGrpTo58fCITU46Q1'; + 'hM3w5Uj+5ooMB40J3NACOg4WMlaVL+oENZOcIKCVrBBFkei0AT8DjZvC0IWcncmsCYbUE2UU7ST'; b += - 'NM0zREMaXXsTiqmovh9MS1hOtA98gNVjzM07TCg0SZrGzVs2vQ2UDjUwzqfrlVBzo5CD6yhG0bg'; + 'bcM0IZ66cYsJpK/Npa/NNW0xxgUR32VMkVyibvuZEycdliH0E7GAp7MyeG9fL3U4QGcCBFBcuWL'; b += - 'gttQ4cQq1YZka2E5VoE8pgONplQr4QtJugYjfthoYYdFsIpjZZAUop0kHQC7FIJEODJD1384Vtl'; + 'IiVqRJ7OxEl0pzBYkLT/O5gnE2IF2FsJmBIjKE6MrKmUzg8SaY0lbQxoW0py8BUNorbHVXq49kp'; b += - 'LVuCObeKeaqGktJ0KYa7xXSPWEPPDKFVFqqYUuZMu0QgC1zCuZ03Dswo9/IkFHygenTES1SgnBE'; + '2rRLpUdGWRFUc5a/ePqYNvmDsZi+ShbEBk2t9yMCzJ82A47F28uPiOUaiv9ZrIVYRgkRSb9h5/e'; b += - 'FxQ4rGIB0uc4EL0wwuxI8McE3V9FnKcWQYFY0ZrzJxj/4UBEWKFunp4L34dyf8FTLFNIqBZOFL3'; + 'NNPkBm6DJTS3HWnd3EiJdIViKTudgEdqDk1mipAJyxGnwdN8CKuM2nQ+v1oSDwduY6O+5tMfWHU'; b += - 'XsK6S2c57qf8672staKRIVTWb3aNjCzWDCLeVwQkEoKEjJYLGZmTNRsB47KpnFOwkIpPVgzIwSn'; + 'NbkNnrPXq+chtZLYL5ec2VGtbdmKGlfVzG5lzG4lNOB+3IaHEuA2doyXqJK7jG22Z8xUqYOzYXC'; b += - 'ZlAdpVgX6gSZ9JzdEFVB09P4IacQEmMXi4QcAVIjzq9U4gycFnEjSxEIQlP8PAGHXmmiFe3xGS4'; + 'Fp9+HxxEAC5Sf0HVQQKwniR87oDdpaoFCmiHygOlZaZHWSwtVdxX9MKHAQFDzTBYOgyooqOXxng'; b += - 'rSFIr4u4RIvj6VHWpxw9y2KXgC6dLmQX7kQ6ETlUm/D0TJoKEq8I7h+Z2rCXGCw8exfh0rDuFOD'; + 'ZykmrixT878CoqEos3H45tn8d5Ey8XGebjX5uIhlKSOUoKxXWQlZBo7WZYRyb5LkbsHM7yNDVO3'; b += - 'KIPBB3Akxp1gE3AN98IzUTE9QS2ObVxbbCaWx/aw0tkVn/hW2eYgtrpNhHrt2IbG7ScevIGs302'; + 'S0mS1F5ix1GMZwGmE5cIL/MDUsoc0G0rlGQ6zAnSQzf2Yf1WOthpTPuN6teqZKYuJXYPVvGqs30'; b += - 'lvwXMEP5x2sQd5P+46aPBqDZzwMzEqhYVAG5yTHU8MaI6Md2YUVDdEeuuDzgPYFXM/RSVPUFZAL'; + 'ACVsFBKxRabfCDj9UMgSrHX7oKPm/jkFOEsRkMy4AKdQDrCnLZTfuZbshsydjWCqeSKEFYFwJxv'; b += - 'zzBxiEuu+G0nW1/0LsEqYQhcDDbO4bA8R9uJ0PH1seTFg0wQR7PqWArhh4bwH40qUfvrAf2qVvB'; + 'O+PdhKZlAwOwZsYkuQMrcTFFyWMOUH07HDSGPGKlw1EcKI4dKdnsSJB7OCcW4qe2T5pWVxfxW4E'; b += - '02TNhwdLcL6kx4qiRDR/zOOsVvJk3O/FCwt5cscQBTd1DSEWnjZWRzkbnMBocOMH+dzKb1Z+w7W'; + 'ajBZAkwY4Eai1S1BVtqxhFTxbDQqRUxLLwrFePwr/5+5PtFdADTJ+mURH5y5HQVPGKp3nku3mnI'; b += - 'DZSsZTasebp1yePpBEt6DvLZwMG+Q9dI5AXaCDFa4EAuwi604j5WxfTq6VY6ny0H0OJSLFSXcTV'; + 'ikzIJMV2PL6Lv1cNfO+vWImZDWFJyXZMc6HeqyBHVrFv4S4YexbP8YgjP9j12Hfd2an0SONR7Dy'; b += - 'Y0djhoE5qJlINGO8/oVK7K9huAd1kIX7LimZ1R3VbqqBkBd2OIBELGhdcIcDYapYoW0rEmIsANF'; + 'lOi788HWk8Qjr2epHXEh3ZtOGnRXTZToyZESSquY4q8h23K44bCLF18e3mcqAD69Xs1GSy1lwl6'; b += - 'BsDXOzigGUaYNmtw/M35LCkkyxEK8X9JTjIwqrMyGtlg3QUrp6QMhK9jRUlSrHQ5cAyNHQbBfRc'; + 'Mdkdl5gSCDKxJm0je1QHmJ3/novideoi96bKATMKOOHVuwcN2Q1o0lfsDfxJi3jY2FBU+0or6H3'; b += - 'dlNDByX98ZKRjiqoKo8lXR+NS+jIFHbvynk+rI8CrQwOlLyXtfQEGbGPS5FL58eKzdST5Wap0gY'; + '2TgIRpk6MiTdCsdamAfVmhHkCdWSiBEgAl8acK1F20K9tF6NdOFSinmggGEZaAy/JKIFvYd7Msl'; b += - '6AbVQa11onFZhJ/hEPMzX0CNGOUX6ScRFJx45sOq00P+kCXhSjQfRjNHBQx7QyyI9qkBalog6Ib'; + 'EzsSLpg6Kf5BnHGp2Dot2c9RUUkCVVolukZWj3wcsdSWKXSkx01pGv7EaBVsz3MJbthuB4rUNiN'; b += - 'vuy+DMEehqBQ+4pVoWDb5CmiHiUSRZauMpmJ6eVxrwghd0i2wIoYgiMZDGhdKdZYgG0dsLpHVa6'; + 'VHKav6P5P93u1Psfd94B+v3x/i+H4X+/3NJALzHLEtgl7GfVqNseABfBPQOi81RKFbEvaHnIhUW'; b += - 'QLetyOdaNXCMpanVyU0sGjUwK6eqBBGCXMjEohH2i+i+FBESBSp8KOX1ODiFU/pNpz0gFSIh+tm'; + 'Gj5MvYoTbKY4ZoRQe58ST+rZYwJg1cW8b1U53t7mS6moIdg+dkXEl0ZsbViHieK5HOxLjqk9nma'; b += - 'kLnsdLhlqatAIELNMO9cB0WwdLfqpKka3FjWQXsDABVCG1I5omDgZq8Zd/fVAyG8HWemZ8GalnQ'; + 'kzj4mrCGF0DGgpXQxqMpnTAJKUEpQVYMYOYddoL3oaL2H1p3aArSD3cOlBRvOPHd5rbjKZexRcV'; b += - 'hyzKQcl2N4qwCNEqAEX+wUbxbowSkI2iGM4dzNVfNMOGYkAju/8NgAScX2VaVRw3OTNQOIdVLED'; + 'klHbWA8X2jIwNFp20c05bhxZDexEpdBlR0WYThHZkcVD397sisBLV1ckXjq5ovDSwRWLl7auOLy'; b += - 'i8+eBisiCBGTvjaRMUrjVIXjzVNsBOGMxcPk4D05Zn09bgnLaQYiF6isUYx1m86fTVhnNOLoPsw'; + '0dMXjpamrDl6SXHXxkuhKwIvu0vES73LRQLnceIl01aOxc9XCi9MVTaPrioEGNKFvX1S9MX0uo+'; b += - '+0ATqA3A62w3W81E0FIOJBggf1WWkQPNAmdHW4Rca4AccGdQYsnzAagKy86M0DweyFd6RmTcb9E'; + 'qN6LsYVU9qr0zDa2J7ZSFe67dX5uG1QXtlDl4btldm4DXGmHdoFbrttrSn/ok2ZpYfLLfCtKJO0'; b += - 'Raa0nqwxVB0GL8WDDiPQzWkpAshOlAItIr2YSIuC9qB3jauJHuGbKItlo6wDZOjcslIuSPGhp/1'; + 'WsZz5ed/xBmoI11WD1j/85VL8CoBbGORApHY6OEPidT6ZyJmXemXXuFCDLPFYqXQpcDL+NcTrxM'; b += - 'MaFvYjBBKHVRocQVMhoETeNTq2B1RLU5uwm2ghGQ1Aq1rowR/izeUMkLFwANl71iq3mmgHHIauD'; + 'cAUz9KZx9Mo4elM5etSsYI6+k6Pv4OiHcvRtDOsghqyF4Wilj+noCwk/ChaGgpWhYGMoBLFXTOO'; b += - 'MIsEipTWbzKxp5OOE2BuxrNv0Jqy7DbfAmt1w6H7gNTw/RXNwGa61LhTQt6+I2POM2HJ1wTm6DQ'; + 'vKOOvmMpfQSgEcRRsHAUrR8HCUXAb+6fuf1fNRF0bcXEZPy7b8YE5060xpHTjwG8P/mDJcocx7B'; b += - 'olyG7yti9SJXMc52jzjK1hA2betkJNegUuQ7gSKryIyHwtCJR4URpVqm2hapuPFEe46B7um5N7x'; + 'KMZ7c/vtKc5Q6/HJpX7KkgjqaNo2nlaFr+YE+FMezCGVIhDBftL+2pusax1V9uBWbKe6qO8eBLj'; b += - 'AtwpIx0v8oLImZx3kcyoZFmhH45eJYqEIBXAxdBjENegnqIUkbg0DS7BRDbkwpTlalZYirKKZin'; + '82RfT0Vb7z+6FtPKZmip+KMN35/fhX05P9zPRVrnHn117kwC0MZLlHG5IWlv1qzRE9FGp/9NP0p'; b += - '+9LMMvqUnxVUZd3snF8lx9Tl6HUYpubWTw7ucAP/uAri46URLLxRi8ZookRiyshXq16O6pBTT+q'; + 'P01FGNMWzTitXoGmHAxNJ0MzmKEZ8gd6KoSjGczRdHI0HZftqdB/p6di8PM+YDv4HSBwm/ZKITK'; b += - 'W7PNXJwlt6ihDK9OiCg1YRopWociXQmxlHKIKlbmY05FwfhwD38KDyGLayBOwB2pT5vBWO360ks'; + 'Z9koeziyOnoujp3P0Ejh6dTl6dTh68Ry9ONGLvPN4n/GuYnwLT8fV86H5PKE5nPHXdMZfRyN/TV'; b += - 'zVlUiLciMGtbNjThpvEreierIcnvWCsoZupPFvxCLDBosnyxAuN/krRTNj/UQUQxaUlPgmTjcwE'; + 'KykdCwJ6bxnijjPTGV98QfGtBQY+uaWftlGsBBxHZ/q3xoskwDOIDY7luvPXRRIlLvS2x31xsvY'; b += - 'yq2x7J4ZD5aFI2HCgYhCj2sauuxhmiSvLIKWamHERHVY8NaMOiysKwVlj1s/siMuvNrplG5COLv'; + 'Niv2n/pgIYz7GozpDSGS9g1DaibDaiLDajOBjSBDWhdjl4djl48Ry+OoxfL0Yvi6EVy9CJEL/LO'; b += - 'W8ul18oiudOdZWKcB+9EAY1RvEMC72HtF9/d+AZVo6RAeuY5pFtCJBeDCIvQtiXlCz8I9IvXKEX'; + '433GuwrRu3QoE9hQ6mwoXWwo3ddhKN3GqX3LTymZYihdxuryj/aYMsVQAr/fs/2o2TeUCcbnM79'; b += - 'Q99F1Let/dXzkOnSeUxoVd6/ZXjtGeLX3/BhV0OlXoXTWZxytLij+qZ6abAm+Eg5ciDSq7Tl5N1'; + '52fp/cCjrsqGsw4Yyng1lHBvKWI5eFEcvkqMXwdEL5ejFcPSiOXq1RC/yzuN9xrvq8kMZx4Yyng'; b += - 'QR4eK2YBtKbTyWxdOkMT684eChMedCijim5y0gJThedTywRUcUiegBdntKbFjqmD+IOOMc+HdBQ'; + '1lHTaUda/DUNY11h186HWLb1bWMWaf3vS62Tcr441N609XmbLEUMYZr5QsKAX4/9xQxrKhjGJDG'; b += - 'hm2gY6GDu7Kg48HXHnDvB5g48CFZj/cw6Ccb0iHgg8UcERxwLVgDu0jSSOijtWKKBRRRyCVLOSh'; + 'cmGMoINZShHL4ajF83Rq8XRc3P0XBw9naOXIHqRdx7vM95Vlx/KCDaUkWwoo9hQxl6HoYw1HjtW'; b += - 'DKiML8BQ8ojABDkT9o5fNVUaOyr4HY1YitE6KdXFRUIyI+iwiXQN7B94NWEqzBbyFZMU0CX6CpD'; + 'tVP1DWWU8crBLz9SfEMZaXz41jPtfZMywvj2o+VPyf8HJ2UoG8kYNpLRbCRr/dkC8y8VlaVzD2z'; b += - 'X0mHYSnDGvJRQprQCqKMKPyP6r+71Un8OFAbd+f3h/q8Pxf97viUQu0OUptE1d+YMuTecYYQHs4'; + 'x89cYY9P2E5VKpl9Unt///HFTgKicveDwfPN/ReV/oqjc+80zqywBovK1uas2WANE5Ucnz/xozf'; b += - 'xK8IjZfwAUsHnRZgKigUfxDFrsGzKOr3cIGfNUR7CswdQGpwC457ATL9JwqxVKdrF3gao8lEq/5'; + 'KLyt+ffvmEJeu/ovI/UFQeWlfynTlAVL644e9bA0XljOMfnlQDROXBA+/vUP8rKv8TReW3z208r'; b += - 'WKKQ51nC8RqPJQKXapaqOC6WapTRVcahsFTBwaiOd2Li8kBakJVLN7oibUPeBsvl9rgD0oxIPTg'; + 'QSIygOn//HPQFH5+5y3D0lZfllZWbF6yn9l5X+krPz75NnvyQGysmzfwR/lAFm564enXlUCZOWL'; b += - 'EEUGkW2HNYtXC8m7yD4WcUl7JIwEefigSbiDJ2nQrjKxE1oaCw2IE5RcvPhmBxZO+bWHxg6CZxR'; + 'v25fof5XVv4nysoN8ysxhKlPVr6796uzgWblB3NOHwg0K08femWb5b9m5X+irPyh9PXl1ky/rDz'; b += - '+CRpYACBpYgiGoawmBINoSCkF1SwUIIi0VIQi3hEEgW2QIQi0WHCiLFQJ/SyUcO0s5CMyWQBxdS'; + '11tw3/WpPvHFi+hefWQNk5bnfv55v/a+s/LdlZT02lBFsKCPZUEZdh6GMMh4qmfobaKSc3Ucac5'; b += - 'xBpQDX8qkaUq+KHOKIchV/ciHJkfWEChOH1hTkQRtQXZkJYub4wHcIq9YXJEAYpM08tB6vVuvrY'; + '9+/SCoPbUYWhFG+ab5ZaYsd7TYHnn88Vd3gdoTc7l+rMf6MYL1YyTrx6g/MJRRHM1IjmYER7MeR'; b += - 'P4HKlPEnx+vJtMJOkcsp6wrufk1moIF2WCXl+L7l68moedCOBAqHBUYefqgm4tUYLetMo/QBEmS'; + 'zO6GgeLDeBgUXpSpitJj9QbZboa6RF640xXY+jAJpmuJjXQm6AnZroSCTW9fqarPuGqN8h0NSDk'; b += - 'mxRsCh8UEwRCLGYJhFk+K3gSGXgFDbwxDD5vlydA3M/RNDH1vhr6BYu1BkdVRHPX4mR5+e+FCQU'; + '9YaZroY6Ht9TzWwrEo+i6MyZgdmIKUR3mxfVfMNW6MUd2mKCcEe22Otlu5mmTDo+iado8ZRREh4'; b += - 'dR0FMUDBQFD/qKCewVBewVY9grEAUPhoKBoaBnKOgYClbl+Jjj+8UU0K8BF4tyddGer7QpVokiJ'; + 'UV3DHCk87JjIfTfXJiwZuZ+GJgSZsR7YB25FtyE6Wkns+x/I2Svwk00Tu7c6ZKOlOPL9TR9sLo0'; b += - 'Ssn/hj5qy7V6kOxC1Pe2zVxmTbV6vswNB/ZUx4MTQNDU8/Q1P3FnvKh2PlSpLwoLtI/2lMVlfMr'; + 'xR3vn3+k6KT28SAIan51/v04f7OxVIRKd4iva0CW4xiLlZFMbQ8xYBoA2qBDx5DJ7ET913KsnqK'; b += - 'f9xBmCnrqQrKyA/enM47eypU2f7G3gVCitpTIcruO+uWk578f66ngpXrW27PILPQm+ISoIyak39'; + 'qzlmJJp2OC6SiH/oMaJo+SCAkqxr+NX0QFw7DzjvC/LJLIsPGvaNyKLfWBfRuenoNoyFao3Fops'; b += - 'bn6r2lL/y/W+TFrhoyk+ZMHfyNfERNGWiaJopmp4UTa+/0FNeDE1PhqaZoWl6aE95/52eCoIPBw'; + '3BzmZ0QRu00AWXxQBUDi23tC8hhDsg5+r+2ywh8/PhqRKBmTaAvTqkdAz9DHe80kGK589IcQZMi'; b += - 'nbgS8MCbepLziAydQXMmFmMfQsDD2ZoRfG0KvI0KvA0Atl6IWovcg6j/UZ6yrKt+BCXyUnmqsRz'; + 'ZmKRbafOdfCMYCcVQkBUyEopYOcAROxbzgF3AtQidLGAaPNkzWMJDsxFJSjy6xoBrjDuYrpFuG1'; b += - 'b6UvyZR/joQ+GukkAaEBj0xgfVEAeuJMawn/tKAeis7Vk09zuMAdkO2+0fx2FE8DmAnZLt7Px57'; + '01t5muTreFrjb0pxFBrl7oin40UmT0kDGBfbXAbi++/Ku4nbzz7CIzuy1d//B7ErstW//tfJXd7'; b += - 'n0NSb49s98Du9eD1qvw/OqC+FLvyFCmJ4uLzWANqpQNqoQMq0wENowNakaFXgaEXytALYegFM/Q'; + 'vzt510Ku137/DuHY5hPDBN6w7B6dQsQrVe3efVgdI6BPjHwLKMriPfU7llso9qo67KqeKJnBtvo'; b += - 'CGHr+DD0/tRdZ57E+Y10F6D04lGF0KGU6lBY6lNYnMJRW5crRxVeEFHUoLcrK8YcOa1LUoST8/v'; + 'tEKPGBPyM1nvoe8I7BYLTgK3wtzpTYBJkIneBOkAdCH3DYufX0LXTMSuEdUp2oN4jLwc91OX4JG'; b += - 'Cus1rnUIYpx6ac+1D/XziUFelQVqBDGUqHMoQOZTBDL4Ch58/Q82PoeTP0ghh6gQy9cmovss5jf'; + 'BcvxW28oOU0+jiQ51ltGNrH2MxSA10xWj0leh6PekJBHPsdEnSy4F7tYnZrqZB+B8PFFszHhqm6'; b += - 'ca66uFDGUKHMpQOZQU6lBWfwFBWVNacHLtd55yVFZRp1zZv1zpnZaiyee21Ek2qOpQhykd5s/MJ'; + 'R1howZ9RF9M2XYjMNQzAJoV67k2ZX1/c9BrXjyTQmsdqd0pXrfkQKfPCwK+muuXqDkRM2qT1yx6'; b += - '/F83lMF0KAPoUPrTofSjQ+nN0Ati6AUy9Mox9KwMPQtDT2boham9yDqP9RnrqocPpR8dSn86lAF'; + 'pPk39Ekqj7BHRz4qz4Z8Cg2B6+ikcL5gajAiidjYARKEtkQNJOemCEbajEOKIy5ioeYgzLdijgw'; b += - '0KIOfwFAGK2+eL9knOocyQPno5I+HBOdQ+itf711R3zkp/ZSfDy1ewP8XTkpvOpJBdCQD6UiWe9'; + 'bMoUdzbfnTPTf5xY3EX67mJ8d/G+O53fWQzscUABX27IxegVEqaljOcsAl8fjFMPnRfQMaoebnM'; b += - 'oC8x8VlfkzTmxz8dcgZfOuS8VCiktU3j2+7oLGTVROm100S/s/UfmfKCqPnFuxXOcmKj+esXyD3'; + 'cP/8RTGfzodHEhQOSbSzZViPZyZKd1ZLxBKYPC9YjdKQTadEII9Q6oX5E5OmqbTAUQ4wEV11AMJ'; b += - 'k1UHrp8/ao+1SUq7yz98JIu9X+i8j9QVJ5ak/eL1k1Ubtrw1g53UTn5wteXRTdRefLEl3vE/4nK'; + '4+jTKs+S78pFwtBovGqkNT4Q4/0AiBrs3OxG+9sEGGpMfgNDbrtRE3c5y7tu7AyQJTQg/Va+OtV'; b += - '/0RR+fP7G68JbqLyxLV3PncXlXemf3qKS3XJyuLClaP/Jyv/I2XlW6OmfcG7ycqCoyev8m6y8sC'; + '48s1uvmo7uDTPQ4akWPGIphLnYrWfl0nqxLJp25dQXTHFwPWAG3cvND3WbfGJl9Y2T2jZHZN0Zm'; b += - 'vC7YIbrJy0+1dS8T/ycr/RFm5YVYxePB0ysr9R07fdF9WfjX92gn3ZeW1Ux/t1P1vWfmfKCt/zd'; + '3xiZfWNk9o2R+fJjpFuBdLwwwxLyXWY6MBs4Vn5cUHjBJUzX8KvxHu5w0deaQe4ZwnDATHpAso0'; b += - '++WJ/ikpVX9s74xKX2hCqXJv3wvd5NVt6689Ms/f9k5d+WlZXoUPrRofSnQxnwBIYyQBmbN+YPo'; + 'l22okO1mys1py9QFTaMAUYkJAyWGMkGGUocdMKLQ3z5TddPBkE9yQursRbux4sx5uaE1hDdyQfb'; b += - 'pEydu+vzFi6/SRRe8pRtPyU8ZtnFWhSrYHq8cjEiVsOELUn6GH9WIn2ox/tR3/ajwF/YSgDGJr+'; + 'oKbuh00HK4CcObJXATjjcL4Ya0vnlwY8abOXBDWuEMuLEGuuIBzummL8WjdVs+jl8WCE3mK9+69'; b += - 'DE0/hmYlhmZgKQ4W7MbBAuTIFEuk7C9HpViiZD+5aoqlKunAaimWamXQGyaHp1jCETU5IsUSgbj'; + 'gG3jq7bLX4P+S6EzX7n+G6EbX4v9Qn0QRkggCee9Gicx25KmkdJFpbkoqQ5lGRlSTolzaCkcJaU'; b += - 'KlVMslRF5uUqKpYoMV/ZELT2KhOsnMrW/oFWCHLJWybsvZikGhx1OaHMRghPZXLudnmZqUvDKJN'; + 'gHWH+53cs7qXUJGwgCJhflf3rMhyKqJhESqg+d3dJ6zUFSyyiopQbi2/v3vK1WuxL9rW+ItE+b3'; b += - 'wHhptFkXCFVYATK7jhGE6tP0WgFQ84zoIbA9XoiWxleiJbhd4mRcN/psV1hNARmuHMjp45nJPNc'; + 'esyJRrMh6fxG73/c9K2JnRTb6i8T5PeCzItF6HBbZJIqAfIv1+cGnfPoabzPlE4WcEBRyTFDIEU'; b += - 'GengrSLjDI6OWcmBszonl2jAuCdnRkcQFsD+wSSCOb2BGmKhkTBh7dWLQye13UqAGtQwe3J8+RJ'; + 'EhhwWFHBAUsk9QyF5BIbsFhewSFLJTUMgOQSEVV6QQ03WkkF28TWY/hezkSRY/hezgSVY/hVTwp'; b += - '+Dp/nxArLodazgspioGEywW4p2VQTvyEVjNIKfpB/3K8yg6dp1xyZmnULB3LuuvMojYBCvDOFKm'; + 'PArU8huXiTsyhSylxfRrkwh+65CISb2ieOBq1CIiX30ePgqFGLS7VjkyFUoxMQo5NiVKMTEKATI'; b += - '2QCTVKxPOsGw4HGb3QgG7zQTSOaFCAqnmAhDJ8xTJCvCJuUVP/tiVUb9wThmBR5h62Y/0DH6GWI'; + 'AlS6IM7X8Gtk/DYqEU8DxoAwUQpB6QAGD2wnxDAR24HS2o1X+jW6uOoCp4SypM2UkdIC8gPsqHi'; b += - 'Mjw5UFJhw8FD4FkmQ9Hr6jOQclLJcUpIWUsBxajuAIHQt5hF2QMAfsQkAaebK1JwcXZf0ihVCw5'; + 'm//AklT4NJkGhEJ+HDid5oYC8oLPohUZnpB5zMSqxKKqA1WWRUmv5X5AJQMWgKONBZ92alU/SwX'; b += - 'kHCIKsnhv5WA4aSVYuh2arD0AAmQPzQ1AyGYPojjgejHsPo9xc0ev/D22p01L6bc7U0mr923Bcc'; + 'tV8RDJxEOoHsnEg0Nw9kgmHkKZeAhItrFkW41kJ0t2Vkv+N8RDlBAPtYR40IR4CBPiIVyIh0ghH'; b += - 'jRas/XmWSKP7/rhxQKDR1es+KwqiZjw0YMBDb5d1hGjtssEue4I9DzDjAfcXLR6spw5OpQfVSkW'; + 'kKFeHD82+LB/ieIB/ul4sF+qXiw1xQPdt3hm9mOy4sHux7qKxJ6efFg1yP55I+8qngIrzn57cB7'; b += - 'LXoQbPZPpQaee9IgyLCuF9h6Yu4Bu0cEksArUUN8wMglSwE4hXnom6TqaDnYgleHQNWp1gpQHF+'; + 'qouHsJqT3w68p7p40C4VD1oN8VCr5uS3My4TKB6iAie/nbGYGuIhSoiHWkI8aEI8hAnxEC7EQ6Q'; b += - 'KBAyjz4cpAAXxerqcXqCfgRCd1FmCElw5DMZKaYgkS8ftWMNWSFw531/DjK4tAYmvDU6zUAG4W3'; + 'QD6FCPDj+/yEerkIhQjxchUKEeLgKhey7CoWYGIUcuAqFmBiFHL4KhZgYhRy5CoVwOXTsShTChd'; b += - 'CJWJs/fyUlNSMbkCEBfixkGpYgU0xG0i5ey7OII13OkVrjtJrhXu497VL2fce5PFqkFXTWXLpB3'; + 'C1iwcyYWeg5Yo3c8TNPHGzUNwsETfLxc0qcbOGbsASFw5ZUZi4gvAUeQOfx0cwi5VJRpVMZ9SDj'; b += - 'qWzVlx5Z9WW0HKlRq77EbDK4qr7s9ig0B0K1kaq9BrUCPdyMISOQF06HoAb39mReEXNhQMmYi3B'; + 'AS0K8gmBMvbsBTTx5tMkDiMbVI+4EhLHyFovEtimUrc2Xx3Tt+d5ruL9N3F+O7ifXdCYoSgxAjx'; b += - 'x2SPFKqiXhDUpaszgjJlTXFeI1Zi/MxbkjIU6YzKL6RTocYICvFzhc8HeJJmWPNyzcH+9J0w9sL'; + 'W3pkQADuYIWibECxKDDAj9NC0ObDL1YtPdw2wdcdzNgLZsZeQLKNJdtqJDtZsrNacgh5JxXCwUT'; b += - 'eA16haWbUh7P6HJ97HJ41GLuyWbKDJhjLJZppsLpUMty6dWNAewWucQIuKD6LWCPQjJE9LeYWi6'; + 'CgUWNAZERxuXZYW5BS2Qh46IEhwhHKwj0K/ySeMcvo9ClH535R/KwoENAlULOECxncYhWCU1gO1'; b += - 'KWEWSoSBEPxIy9Fn2WBj+PFXLKi0cukqSQGn5p4ka5NS4Gv1qBBCicHwTTWyuUBN22ItbxsgslC'; + 'YfkS756N+djD8L800Nskol408F44++7cUljpA/TcBXGy7kDYFGH5igAWPmQyUU5AwNXyhymB7uY'; b += - 'poTsLZeHqF32z5UrZoGFhhSwZaoHIx6Cos21CqlZeJ+saQres7V44hxcS7Ai3MrKLnJrnWOkdY6'; + 'NHlKM3dKg0frkH7k20s2VYj2cmSndWSq4+bhcbNwt2U8nFThFBXkpRp9YFjw7WsPjBsuE6t7yb3'; b += - 'R1jlGWucYaZ1jpHWOkdY5RtqHj5GsJ6RjJzMsLMuixUuy7mPlwgWEFwl8ZAm+f29l9VX7WlLQoo'; + 'oSX10a1LknI+EZ25JCnnElEZSVLOJKJLmCSlMtFN34qdSEQ3MsDxE930scuRRDd9Pn040W2pyaZ'; b += - 'QPDJhGdks20GRDmWQzTTaXSi49YAIOmIBMiFCyDyVkMsqkxzQgtLdO4a148WQziaC6u5FEjBBZS'; + 'VJsiDkU2jqzLOpi2CTZtrsGlbDTYdXJNNn0jEtqCEVjmXPpZIni8ohTHpI5hiYSmMRx/GFBLi6h'; b += - 'yK4p7CKRHB9upxE8HbQYhLxgch8EvGFyBwSQa1vJoloITKdRFArnEwienfrQYRzWvGb90DZkAXj'; + 'VYdCUrEeorcQmHPsNKXJ5Bq1jiXGKggeDnz6pPgp9PDLQP/OxZ9QnwkvqiRHXurPrk91RfierMW'; b += - 'l0qEJjUVr1/9mlUGy+U6l4F4C8Bal214K8AGl5H2MPw0jiAAN57kQJjHVkyaiUk6mmTBpOmYpKd'; + 'fWJ7zJeohpvVn3SexpmEyVs5pSwiVPCRk4J6zklrKnPKGFVfUYJy+szSlhSn1HCwvqMEubVZ5Qw'; b += - 'JMiZNxiRfmhQGdfu6bLzTuudjER+3Ij4uS++0yGIsIkERLCC5rL2HLZMFKLIci2BuOZe5d8yVy9'; + 'pz6jhBn1r0AJputICQtZM2x+SpjHUsx+SpjDUix+SpjBUq5CCUtYiatQwnJW4iqUsKr+FSmBS+o'; b += - 'Fv81a5igS4jL7TIgG0yFpXEaPL9DstYqRFNrqKhLgMwNMigXIIFNmsFiHyLdhpBh7z8bvCrZiPF'; + '19a9ICVxQr78yJXA5vfHKlMDF9KYrUAKX0pvrk48QYM+MVWltdBYYzuFPI9kNhkID+vwxgvHACO'; b += - 'HJJpZDzKoWcUSmkSKWQEyqFHFUp5IhKIQdVCjmgUsg+lUL2qBRS+EgK0TxBCjnA2qR1Ucg+lqRz'; + 'bKI4J5q41grjzoorFLJLvEsEs8XJgjGb2OiADjZFFoHO+GyKH4nVeJ4v90z61qH/OgNn4/yjtlv'; b += - 'UcgelqR3UUghS/J9NIUcZEV8Hk0hR1gR6dEUcvRPKERDP9Y88ScUoqGfbxb9CYVoZCMUOfMnFKK'; + 'yNldCkvtl1oK2YTftmHAbtoj8ZsVKJmIQofAyBUAIcBsAU8uU9m3wFukpPVeVjLPhn3aMzGPFrj'; b += - 'hFHL+URSioRRCyIKodB6Mr8F31fA9VDjcBgwiwkRwEKWDMHjCdrwUDbIdUlp69lG/SlNLRcIpSV'; + 'tBlzvmXbKWa+eTKPFk9xlddY7styiqxQnrXRl8V2ds7JwKax2nNYvbFDZONelW7z+UBeBVCoD1o'; b += - 'nUZgpQaSHyg6yjQqn+w5JE/MgZBYWAfJ50OMoLgcgLvIvuUJoA9WhzQYkFUUVYXSoqtbr/A5lAq'; + 'PUIiAEMl9hCTbl7HSvoyDxK4dF+cVPZjEqIP2W1Bs03f9diyMuzRuJ+3LsM0bp9iXwa0Y3MOifZ'; b += - 'JgoynDRWdanZqF0sP+pePCn4sFb9qfiwaRydn8qHrypeHBLNtBkQ5lkM002l0r+G+IhQBUP5VTx'; + 'lgeCyhyOWAhyDN7tuXseK+jLYWrzHuMLpGukPoqrlD6erEfRryKBBEVxO6MreSj6M/Z1/Gwh2V2'; b += - 'IKniwUcVD76qePBXxYO3Kh5Mf1s8GJ+CeDA+KB6MD4oHY1nxYJRNzplterh4MMreziLeDxcPRtm'; + '7x6qFcP8aLrco3vy4D8dcBfGPRURX36NNOo67LjV3jGjET84NLu35XBvuO7Mg7/rowdd2VAzFr8'; b += - 'fTX7/PxUPvmUnv5HwntLiwafs5DcS3lNaPEgPigepjHgoV3byGymXcRcPAe6T30hZTBnxEKCKh3'; + 'uzIOlg50aue7Mqw22pTBTYMlAEChskTmjGBaIoukiP67p4HqqwFGwfQlYDA6zSkJxw/1lzyyTTL'; b += - 'KqeJBU8eCjigdfVTz4q+LBWxUPpv9/iIc/oRBVPPwJhaji4U8o5OifUIiGUsiJP6EQDaWQoj+hE'; + 'Wo7e3C1UFhlPrhx95Uk7LTO6YuSwCwTJZOJiGRymlJCDlHD1yTvKnVFJKZUDKMUo5FpBymFIO+1'; b += - 'A2lkDN/QiFMDp1/FIUwIfT44gGXsJNh5QqR6WpkphqZo0bmq5HFamS5GlmFEbISVw3CgjCxeMAt'; + 'KCSZ8LBtT4SoAJd6WeSzRMxUzn0h7BxgDmrlDjguSyG6EuUOaZyxfq3fW0TUSRs8KzM3UtiTzMO'; b += - '8spOI5VkWSyMUEp4vKPuoYTBugLXhGTlrehy8YNNKkhMyk4ui+CIWx9esHjn1G0qNWZwxszOmOS'; + 'dABQkgcCA2Q3Lj877aJhX0kNdokgMQgtsSPGwZuZzGICkjGpX1c1Je50ifnkw9ssvryvYiPilY8'; b += - 'M+TtjQc5YqDOmSgwvkBherpUeLiAI7mQVCrIBxKKKAXyQ5gVrPvhKVdfKalD5uoku9jzpYs8t2U'; + '+sbTw0x+FELhVRpMOaknGhssJCqhIQMa4uVBbIPBq/8bb8PuUbVbrvRrdIGeQVfKsivMMNF3wGV'; b += - 'CTDWWSzTTZXCrZCw2qqsJBg8JBg98eEJHhw+RZEVtBc7hChk0JBiGOeiLQH/GL4h2+jAIrhHjnH'; + 'IA9Bc0H7tjHpEb0EnL0nkK1ccCTkLkbh6ey1sLPDxGf/G4+iz3LcZpvoU+8tQ5GVTyRqakciuc/'; b += - '8hDBzYMxVzcFAGYT2UQ7hJqyNqx9Ig0zQLL8bj401Hb2ERWibj4E8niD7/nhS0Or6cm4EsNF/AG'; + 'h1Hr8u5Ncl/LqcX1fx6xq8VtT3ea+YEeHzLIUTRtWDyHt2ddPMkPN9ZGj8KrtstKt5lUEA1ob9E'; b += - '90UfWYK6jZkTFW8iZ3D4vIHDtLJ6ql0O0twq4vDBHrQr2UCTDWWSzTTZXCq59LjpcNx0zLIqGzd'; + 'wRGh82Y1MPtZI7BbcLgIK04M9DgsAmDQwkwOKhPLbxPa9CFhXcrVY19S6/UkrHmLJeNZKkvmbo9'; b += - 'BFepCpDAhgnBsEhZEEIZNwjERVrR4mhcBBmoihbvhYJYmUrgVDspIpHA9HIzbRArF4Vb8VuxSOB'; + 'CBpLspRHFbUyWWplstTKZKmVyVIrk6VWJkutTJZahSxVRTBBM0hPrPIhuxI+ScUTDyVBzF+MgmG'; b += - 'jEIRw/3Iofu5wJt+In00XhVl1ZNi1SQe4JbBqMrjE2rVPZtLYMmzaUYdOeZdn0pXBoC0hokXHp8'; + 'uwCbQluEGvgMdL2EEWgCZ5x7Jbcbvp4ei1jYEfwbhzwD86Ys/vfDnZvyhqECd8KcD+UoiN0z40x'; b += - '+FowwNTKJM+Ayk6mkJ5dBGkoBAXH8Gii2kJb2eJBzj0dVri4QxahBK3wt0XCC7+LDol+N1w9/WB'; + 'R/6PNr+uqaXGXF+yIYRPqiEzj9X8fTF9hXiNTAiFcxJhXkg0jSKnk8F/TxAABGcEA/vt1FS3A3k'; b += - 'iz2LTgGeF6GWKM2dRaf8HuMsUZo5i07xXcBKlOLNolN6T4BspIStjBI2M0rYyChhLaOEVRGUEpZ'; + 'uI1YKNV4UVsCR5u0M0aBttmeiZqrQqIqAfcUagwoTKrgKTy6Zy1eOoqxa36Nc/olbrK4tO5nSzW'; b += - 'HUEpYHEEpYX4EpYQ5EZQSZkZQSpgeQSlhcsQjKEHzBClhDm2GwUUJM2mK1kUJ02mKzkUJk2nKn1'; + 'HVN4dyjoNzNJqVCYQrxZYYrzJoUpzhsVpjivV9DjISjSCq57AUsKCmypGgcTAr/Er7USbV+AliM'; b += - 'DCfFriTyhhMS3xJ5SwPOKRlMAk9aqIR1ICE9RrH00JTE5vfDQlMDG9+RGUwKT01gg0RELYM2VVU'; + 'UtRIKIrQEoWihYnLlF3IjKXcNlcXcCL8KC7kRlLvelxvuV18hN5xyN/pyw/zKK+SGUe4mX67m11'; b += - 'h2Z+kUzudJQdpOFQmX8/NGP8kA/ar7DjxrY9aPmOzCQaOBPgyAahJKAmsSRK6i+ZczUv41pvxfv'; + '6jMDoI5m725Yb6NVfIDaXcCl9uiF9rhdwQyt3hyw32a6yQG0y5O3kuCHenT1t1UtYuhQUXdNvIE'; b += - 'Dd955QmuT/esorSbuctxmX7ex7tsP4NJe/XYBY9iNsOXfeAKDM9otEoxaBZq4fME8FaBIgIY3J6'; + '68bp/dQcsFAIT/dxL6YrwVyOICqWzVuRd+do8BGrahmFmqTQRS4Ec9G1MispOcqL8kC7m6GOWXG'; b += - 'ET8PhIGQzHyvOhFqO8nBGo1Vm4h6nQTl4lh6naNnhyUzcPIVdXqXImWVWs7xZVrEzi57s3OIJm4'; + '3fc/6QwAukl2g7LLVsishCm2VsEzSMBIqO04A9hiDW+52VC0F2RKLAnC7XDVB4YjGCTAiiQEdQE'; b += - 'Zqb0H1St45lg1nVbLBabZ5OYG8ndBaAnmpECB5FJGk5zJ6PJcxodg1wua8IHuiGDXheQuIbfyW3'; + 'e/klCWCOYahInIVjX+85F4H4Bpa5XA8scrgbNMPnDSaiIL1uSo0lrVPxa4XNvC5zFTtNZ5FEycw'; b += - 'wiF4ZTGasZzGXp4Y1bPZeAoBs6w8FzGkzwWlmMxkYdImtF5LqOHcxlpNYRBVh8M/a1eGEpWbwzN'; + 'HH07SezOmRi7zTZbnsqKlluRzcmZJFRNe2YIMTyQOjbFRUVaAXm/0qA99EUPOBHyMYjKBTMtbsg'; b += - 'cE6DVgQ8MNSA9XU9Wmt6OucyOmZb3WCXve2ylx2srUvsXIbIXxP58yE9VRiBn2YqFS1G+ApPmRw'; + 'GFtrbWSHJPNipW5OtQDfRhq7zPXU5PwFAiFylTRVQ+6zTCTq0FyrqE9xnyKAa9DlzFSispjjrAY'; b += - 'OH1waXacy0HfsVMbkOpUxwqkMEbM616mMiaYTOjWyUxlaGx7KwKHBfAKQQgXh1ADBhHD6mSeYHJ'; + 'Bwo9ZQdJ0pJHSLW5yc2eqbcImGoiQdQyC1mcYe8drDA/1EqKpG0lVz0WoxXLJO/SquGs9vZLXqo'; b += - '9AVF+JYOSJXwJ6gqGcPF/4OH/++J2cshbs1t0ryVbMUgf4yBNzolOYLekCPwALeNUmNnkUU/LcU'; + '4Al8DxjnYRn3iXGDKwEvWplTJU1x2FhfLQv7HIJt5J7FwRNxWfJvbhsjIHBndjsioDhRxfXR7yv'; b += - 'm7hI7c4V0oxphS7pZzHlPNuKUWYUuRM8UR9zpOgxnYCNHAq9X64osmlOpc0HhpDMLd4K/c4i1Hx'; + 'wN3+zCv9q3ewOhu5nHHV+4HFD9UuwTdSu9doLLzkQjRsrgPhoRQyvDF1QkG+6Y6bb+cS4r6xszO'; b += - 'thBlnpp5wd5di8dE6JPLNy1FliLRVp4JjB54hRChQSQ3bP9bDerGPpAaHhKQRA+6xQ8HBlZzLhE'; + 'kLB82UYlMfnf8rCMMIl+Z6mSbgeQEqDOaAT0cpqjm5OzcabUg/4PSr18MLYmWDqOrQd1BRfNdoS'; b += - 'VJBm29mFTn2dKH5+FZrtx1ZdlB3xEWMWDlT/ZR+NCwZu8SiJTjmsNiw3qERTR4Aka6ss96AGDXf'; + '1s8+eCr3pWTSg8jzKTaHDilCbygTyekG87CqNlFjblDBtGSekFTyKWZLUR3JKneRGjhY0y4ZLAc'; b += - '4bb4PuEaXnHvWrNCU9A9afeYuPosHvgAuABkhzifZrpNSj9hbp5PnhbOeKIcGnAhJ/3l4dHQt4f'; + 'PGCtc1ALVPW4KAHaqAcA8OQB4RqYYDBiMY1y+71YWt85qt8UUZg7nB4ue7paMs5AQFyZLEpaiwC'; b += - 'PLfeBzMrDsPw0SnYv8QinxoKq6GJofTcDoLZ7JwDgvns3AxC5ezcBWEhRFOixWT/ZzWpGDCiLIH'; + 'zaPY73FEWh2FvC122JzJ3d+iOxxQMn0vJZ+FcdnVMFuDZ1YVAYSiCHduj7Bl3PG1VSptHS+BRof'; b += - 'GvwuvTRT+CwnGSq3eYsBTzX/ZBAIa4P+8SCLDoMyopXVTG2ZG9QFB2rFKe4LDoO64BDcFhzYpzr'; + 'aURivs49t5xupKJpig6EnOhu+TQO+DHVOYykVdl8hyiGA/K/VmoemMzc+BE1WGAXvThq2W4JPLd'; b += - 'Wp2XoQse6FauGvsVXSrFQc6rFgLLUmYzd7kEai7JUT2WpnspSPZWleipL9VSW6qks1VNZqqeyVK'; + 'dYUXJv8Z7yMvuiWysQYKaOXMEWQ1kLyeoK7mIBdyazB2owKd+3cM3Mw4CipWbnJUTD5o8bwsRVo'; b += - '/KUlF1U6gl0hOqNKtG06T3edMFg+A7QoTrD3ke1GCMAN60yAJBmgin+SawvATeWAlITfdwVq10U'; + 'x4casyQjFSAbMTZ0RSh6GXQq1k7Aw1Hyw53E+sxxcvlEpwgRMAmwirpWjFz86sKWbewdL5OwSJj'; b += - 'EM/4AabCtJxEZw8gAXglmphOP1Dlw5Qr6ha6poPlwlkrQS+naleB1qiQETCa9YAUFBAeRSIZHDq'; + 'iuu0/Id1szycmwjHvOFqxOpbgNEsbFsGABPD+GEWHQiWKhOyjLiMlHT6AUgp7EH+i2xdypmW4v9'; b += - 'eOVY6nLBKro0vcBlskg9zREejV7rqIK5RwCLm5FCoUAV0K0CVVQ3C1RR3ShQRXWtALYSieIqwD4'; + 'DJ3dvgMrbzjgiC+FWcAVQvsmmxFs88t52VKY2vVfAq1Z83kTsoAGReFukAsrVkYvo/3Fw6jmZbb'; b += - 'TYQEe7g6AxRBCgPDle7llsNYk0GKAApaRggDNByhQVemYskly/TF3FZaFXD+Xykhy/TB3rTPX16'; + 'MfyEbuZtN1M6dkYfqpL27ZCjQavYiQAdLiZiIjbeejML9HVrQOuzqPXmS1pvpm179DyFq8+FXJu'; b += - 'UuklxfzN3ozPVxKYsk1wdzNztzJZe2GAAORCB3qzPX26UpklxvzC105nq5tESS64W5e5y5ni4Nk'; + 'GzhBdQC53dVW0nqoln9aZlOd/PKAjAp7B/gKMZPQsiAyZfFDJWQ4X2m8yq4C3WOYtFn5+WYvppd'; b += - 'eR6Yu4+lkuEqdmpHZox64BA3QRaDWjD1wrTqQ+aPEDnnVZkF9S2AX7gD6pSKe6A33mDgAQtpGwW'; + 'yzcyani4CSmeTVjOiCv09ydEOHfywsCU4f5KQUbQ0aRmGW8anAh+HlFLKEnChmUUQPxwYM28io2'; b += - 'aG8e6IIR7iKUySzG54ofyCLcVEvIVgun3U/pzB0MLFuJckl3pPSIKbRWgDs/ZOJi22EG0M0R1nK'; + 'k+xciDFqkixqo9iLYSZhWPGXV1dSrEqyoRAilXxDDVUZ/JTrIoFLIJiTf4xM5HPUXqVGZe8OMWC'; b += - 'tIkhreEzM84DjZ9EJ+gLooYKFkQDKKlj0GwewhDDWpN48oF3vvIcA+/OYulZ0L1NUCpqscXmcEA'; + 'Bf1HKFb9IxRrYxSrEsVCh7AYVH+w45+T0aWWjI5cIY93m3xJt5l4t8nkvMosKnRjpGM2bXDwMRz'; b += - 'FfugWGk1aZeavQaRiXzHUjTmeWR5OpmTWWJrWmhoUsaAEu1WIEzSjVYmIGi3SqM2cdNDgcbTfyy'; + 'UBCpP+6K3UJxwFIYPTp5qyyaEuI9LEztTIrOHcWah22uFRaPJZE6kq71GEQiTEjVjPyhR4T6d6v'; b += - 'tb7hWA1Zp9IwZ0ASk7wawA9ATRzyqrdZFhjpNqcaZRW0FNzgrK7nUBpJzXvNAJuXaDTSxFM44CZ'; + 'xxUKNsPnDqdwCG+cDS6VDY7gMrHwcwCkEvC3OETlNZeLcYXFOjSBR4rkebZuLehMkpPMZ2lZMDA'; b += - 'Ci2a80NjFtJ9dDcGBg/ARAsXJzK3JNQNgoBPGQnnjma+Tg1Wyt3aqq5PNcj4o1OBxSnGtp4CtWA'; + '8uWLRaxXSkACOZQABAWWDYyk31noWgL0MUhecwUr0SRFvDKxb5XPnItr5xA7zlX/ZXj/K8kEeD4'; b += - 'txHHSVjSNo1Nq00y0Sy0q5lJvf+Clgsn9NWQxTNYi7UIsZOlAXrI6roQfbTFSP1g6tPFFsqk1EB'; + 'QhYhMQPceouIu4EONSm0SFaIVVZUk9liZU41KT4uukfb8XYFc2MJ9sUuuNfekzFejCiCruT2vVV'; b += - '1DxKqHt1kNgAzPkJGNgIxoApHSTjbGzdpw7gD8le9id4deoBZunB51iKoVZxwu6/G1wyxGKorAm'; + 'B4goNj428iAUV6BVvc50X45nJxhMIhiBIIeanIehAkBzgPugDyQ3l91hpLQTJy+TnCNLYch/kjp'; b += - 'QazgwgY6im+RCUxwAmVbOgYYtHTvtGC4RG4zwV+e5z2nnQUI9gCb60ZAetvFNJat06EVU1NMJCq'; + 'eDlKSJ6iTmJbQxd00bA4RsxOi0wBdD4s2IMXZ+VcEiruiNKQ9XPxpTKGaj7MsKFs6vMVuxa4yKj'; b += - 'VT7hWpHfs1wrOxk7DZm6JqkQm+KsRppD+9kJj2a2izSyB9qnhObgpUDSG8JwNHJBbbOK1cSgZ0S'; + 'Mr8vDVSK2RXLbzOo6DrjdQ8YMVw6eWKpkC4Lg0vm2R0ZdlInSG7YvA6GqOrNVK7ukg3iHHVxst6'; b += - 'ylKOWh0S022WIE02xIjOu6j5Y9x4YLBNz/eomNW+L6JYBHHEMyXJGeTVqLhXNRX9xhLSXUy/cVk'; + '2eXEa5nsisUrfuoFlw6ueLxorjp4WSW76uK1RHYF43WIKwEvLVE8N1JtLh0vS2RXGF7HuVx4GeB'; b += - '65QxJCfHiOg1LolEV60fSFIAjod0s1f5vHM/u3LpdqoYTFSFnUQ6sMVp7crJ1awCEMJqA1ODAiA'; + 'y4yXJVY9pIlbmZY6CzyHcCDSTJpDWxEhCRbsxklsTHq+0CVo4TbhNE6Y3hneU6q5S3V2q1yvVra'; b += - '9bolRIuRYlWviNEvEzxhgMRY9sQWUiBNR1Y5LKABWXvHuRHU2DRoKFlNMEhKCP5jtTluTJhFlpC'; + 'XuRDCGITWmVI8t1eNK9fhSvU6pu36KXF7qDtctpSlNy90N9FpYJqlUV0t1e6keXaprpe4QvS6ma'; b += - 'wurAhy6Y9ZWSLRwawXrEC2OfxvvQsG4er9yduYuTxlIriqVAkZonldE0OckAJ4wC6dy3wLcyZRV'; + 'qV6cKmeUApldb3UHUpPWrDqhimTSqfgVzXQj6U6vMFUqjtK9dqlwN8SqZhVr1WaElLuTgI8WLjh'; b += - 'gTcuKtovRLC1cPEUvKxo44dQo3uDcgNp4U7zR6LBFwHYiFoqYRRbGMFFpDuyDiOh0glA3NBE2nc'; + 'cL1uaYpS7o7QQ6CEXr/UHQnPpCSXw+vq6GZMCy11R5WmdC6HV0H9pe5ayTCIaLFBu1IalUPloXo'; b += - 'EEHt58krVtPTm0FElmLmxgD8uy6lPQ7jAPh7c6qE5EVw4cuMrQQQG4iAXeYMACocPqkaoEZYEZT'; + 'Ey6pPmzio89tLUxqWg6EfAXVQVkQyDBiGyNBthGZIqbtuMgwPhrGAd2MSvCgkGQaDfPhHlqZ0KE'; b += - 'aAKEeUaURJzmXUw2eiwU1tw8AxuYcPOGrwVSBurJXwYF11ap03Lh5SG1opZ6DNPn8KsfRFkLOj9'; + 'dvwtBvKYlYlRU6ISWu3B3EKtRoq0bSo6AjU0IRjSCwsSgrNBkohxqXUJpiL3fbcXOZZcUmA70QG'; b += - 'ArDUp4IfPtZfMIxa3LcGjxSylrVdi+nQGe2wSjwAA1ZFWkWP1mUSaJA7GFjrtdTJ1/NurU/F1ms'; + 'nZ6pw06JxmoA5LsHLOgUrcrWR1HLQwrTQlHLKJgnFIs8G6oUy+FXnE7WH32ZDUPlUro/xRbOe7r'; b += - 'faL0Wz7/BhBNs4zqYJko6Q+0CNJAri2rrsVo0c52Cea7H3TrC7RnoL4IRD2b5gNOiMSc+1WSBhR'; + 'CyTCktXRqAJiS2qXu4mpsxxbsjqcnjGJ9yUkq0OoLLUNBsAdlKwO0PGjHuj6m7BeK1BBSiTiEgk'; b += - 'BPK2At5lmLVau8tMX4UmbsOYXRhVvJFDQPhnTB3seZmoPlPOqpBKYPsEj0tEYahp6Q4Sn3h8nL0'; + 'jmhIPNbLaopPVXlAyWA8vTWlW7naiWGA5jmRSny1AfClquRudpjlZTnyy2oFqD2YkAwSUrLakWg'; b += - 'YsJWiBMRScfpg3gf5FStYtieXeKFYFiRSfF6hAzHcOM2Yx6kGJFYPbuFCvCZWRSncZFsSIU0KkU'; + 'h7oBx3PQy4K8HbYkpTohCDhnoSe7o2xiDHjo8rTWmCGCWJN9ZBj9jYMlZLg1K3zsLENcLPu6iM3'; b += - 'q3GNmQYNduKrtLB3xCiWLEX/CsWKf4ViDZRiRaRY0iHU/9Rf7Pj3ebBNxYMVVJLHuo1/oNs0rNt'; + 'hDIkO1c0FqABmwgEWZ9fZjxoTDbw2CqR8DEtsFsNsOcDYGpGeRyU1AG47NDwLFAIJ07zN01wuRD'; b += - '4tAKlVSu0gjNiOm1g8MEV1DAsjweMz6Erb5ByI0eNMaQhQsxApIZezuDpwzCzwBK2QB3UpFCTz6'; + 'V66OIOb5eIHqqJKRey9UeGT6eeJmjriZIW6miZsycTNV3JSIm/Myvzknbs6Im0pxc0LcHBM3R8T'; b += - 'VeI6gIo3ZUdIxoR75OZWnKFAIaneCYC0Rd8nGCdyeT3AAXeJ7kGgC0U89HYHGUWoYOgs0pdE4BF'; + 'NYXFzQNzsEzd7xc1ucbNL3OwUNztkERm0Qr7SSivKGSjqW2l1bJdZ2L0K4XNTK8d11SVsa5b0zR'; b += - '2Sk30VmihftxIOTVmYrmnmI3ThfddKK31JADvoEoR5i/VPoBwsCNReN5ibVV7qMUeMrxztfeeNx'; + 'NTt0mZPJwF6szszQW4/CNyLLiORokYPdg44k9nSBVg6jF/6k6e6qUPONBrtHFYEhtQYNOD3qX11'; b += - 'XjkM33Or9CuHuF5JLVT/wDM/qe6WvlXXue6WKdHbSKqXnhdEjVanp9Yp0dEt2Bmb81khtQdJFg6'; + '80YAY6tf+GC9xJFrIHzJFrF8w/nQ4rjIRrOaaJHysTNVHFTIm7OS2KoxM0ZcVMpbk6Im2Pi5ogk'; b += - 'LSVz6jAcXMmoRsMm2dl8hiitYUUxgRXSgGd/bx5RZ8GXGK1cA9AIQvcCfAdAEIFqP/d4Joj3H3Q'; + 'unj4VXt1tiIr5KVWBLnQHsVencE7GR2isqqMkpLl660FqGYONy5UOQq8bL8OsyaXrF8ygRIYIsa'; b += - 'CWAxDNNa4HEMeWmSU3eUDL4Qa46UMPIXK4OIIa3qzKLLwGEZJWgmTcMwtCQacEKTNPF1J3LHJVz'; + 'jJbsPTaQEhqLx6vOLFpspgSFvfLp+6W8sgTXLeHPdO5OtlMAabOxZ/8rrLIF1hXFy3/5Z91EC6y'; b += - 'IMNharoXVk5WlRInfpVpZtgVUGlEanptCixkLeUg3AmekiPEjMJUyZBG0sg+ra1SBBs5sE6ZJQ4'; + 'TjiRcXHmZ1sO4zZr8zZRDBrF+NN7Z89pxc4IVhwi/OJugqDRMtTMayRVcWvEQk4U3AMC1Uxd3Di'; b += - 'mbcEQTgQfKxFic0sqCUEWcpDsJa3mCEs4C3BEMLXUyRoYAmFQLJUgGA5b6kIYR5v8YSwlyUMgmg'; + 'mOWytz5VvqigXTNEt9oKkYH31eXGNxC7P7T55ZJLBiEjHv/9AKxw69QQOAgAexGl6MBz/WitVYW'; b += - 'Q1FGiwSJDMJ+3+EA4xGKBoJPFCkGkpRLVSfTUcBu6oAM4iugo1UhaNSUSdOmqQHjVmNfSarCIqc'; + 'JQLDmGAgZoxw/J1C2xnM/b3OAm0kIU9GSxoGhL7dPHaCbeFTFGeZhWT2PxzvElGc+bGB0Tp5szb'; b += - 'aWLT5yVfKOfNmSL1vz5Ur5sj7fGk7WuyQ1KF8OzpdD8uXQfLlCvjUijh+fb/WVdflx1cdbK8vlo'; + 'KTorHyCk8xWY+6XssEk0f2jDhH2eOxmjz8Ngq32PMLTzGafY/5nTJfHeFfxI6mtaZbMZO/hiFR6'; b += - 'Exkvizmy8Z8OTBflvKtXnJFSJXyZc98OSyflJXlfKs3PqmDqqvEjcgfDR+qkH7Ml8kbNPmyKV8u'; + 'ZjBhKPihzkA6BCuwCwpb2Sacubohg7PrEo5knyROPwmyw0q+oLa8QCH1Gsz0ZoWkFNKvv8NgYtB'; b += - 'n084XTgW08vl8uO8xlsjCR7Ug7CvXDE/Thhv9ZO9SAk5It/qT56Jix1PXldB1kKad741ID+uyXj'; + 'R6uhXkitiBzt6w0VBbP2eaPyaFinGUNl8gUthqoPaI6WEh20syVST7f9jA+u7ZtQyzCTJIbjRTU'; b += - 'yKlJ/vrVcLBlEWJSRdsVFjSeVe8t+NCsCz0VArTfmx1UZT9byfqQOzPKLJQMG/jNkA6LplW+tGE'; + 'lbXm3KU9euQ+sh04/FvcOfyaNwCYtmObpJ2XJYdb5kGmNAfu8Mcj7kZ8prbSxJbvZM2J6Z38gYS'; b += - 'uGB3xckHdDEnmRVywZDDTw758f12A8GOUl/RYXDlXpSSfEhYy3etAKJTz94OQA0pFx3oCGB1lGY'; + 'NTpTLgvtpwW6KwInOx8UzLEiECJQbggVawk0oC6F3UBUlWFUHVUPuGSxrGi78YUOfJp/zkSwQke'; b += - 'ZZ3LKEcbFxYfpxxvNUI57U0KziW0AuiYcR3GkjnxBLqIElGhplHvtUSKw7BFvrkx/kCFgFknOJ0'; + 'ZW4jCWMYvgjAuCiSwUoM6MQFqFPqdws8TN8nnwIooMGszXEUFTNta8it7WNYA6+SMDSEZTzrh4b'; b += - '5N2kTjmf9IrVROszxoqZ6Ntenx9nGA9H5SoSPrHiQFAGoSXlx1uRvdMcQ6zYF5/RqO8LixV7YVl'; + 'FdACvuvHrlkZqEhKKyHicUnsLnNPHwZEmOcP3YAe68JcWir82Cz2HTuzp65UDaxE7ls5TNlMvpX'; b += - 'sGxkAq0es2EmG72RI1zeGevWECuL8ARd/MqJxoaRGWltgrNiGlPSUffPjaoy3mkFA0BxTLCrSOk'; + 'xnBTk5gZ1ZIH53CIriHssDNVUfxwQHE9IEAJf4DWorUw1ufU3ysxeg57trIk8FX8PfGZvhriWZo'; b += - 'J8ceJ4K9ghM9Oc0FixAdbuSUmGEFCsGI21IPaEcqyVwO0uR94WlB8XABhUkSPp0+XBrTh0fEh+X'; + 'KwlprjHaVyqIwqgYLNINdxJDCmOQOIn6icbpDisWIN0TpxjE2MTByzTHKvITuOVWL5V2qw7HIpF'; b += - 'DXAKFJ9YwUwLA0to7VUzrfK1IdcFHwxhWXkKoQM6WEALvclwgbCyayPIDPem8x2HzLV/cjENpDZ'; + 'hwXlWyx02TjDNwZ2bDZfJPLbIXRQgHFvrITTvEJhZBXAmW6Riy9pWYNjDWWm0XiysDYxpgWsKg6'; b += - 'rCVz1otMTQ+LFT02KCtOEd5FhM++ImYBkUw+sI5qSiAyWFR9jlEn1mi/l4ZmFhpYqKEheo2gO3U'; + 'izgLNwltlc6aLEuFmWJj328i2IdgFEG3BY6gEenxZJxLh6lgpWMZCU1UZJiD2BEx6YsxkmSiMDi'; b += - 'WAX0QW2H/hV1U5FPJz4jsLCUsFxy+e1CXBONFUwkP/HKOwNzZz1Qj09XIZDUyQY0UqJExaiRPjd'; + 'UnkoAqwk3iUFkprNxQPJqKIairkJkymOxXZRqlWEbeVv6WDILozpXIemlHgaDdPdwCHAbI0EsgC'; b += - 'zlWeSWGrmuRorVyCU1cl6NnFEjRWrkhBo5qkaOqJGDauSAGtmnRvbwqgfSQv4RvnetINNI0Qe64'; + 'hRu8rIUKV6UgN/LTN5AFskGfxWDI48XENFGrmEdewSkZ07BEeDIbP9xpJuuLCEKG4UsTRYHRTye'; b += - 'nVnbLRgWshjLX3gpxf8dIOfTvDTHn7awE8L+EHLm43gpwH81IWfaPipDj+RaB0ZTSPDTyj8BFEX'; + 'nGSoPLAl5iGpEZrkaihstHjw6OA5PDkg4Sijg5mzpu9QWB5vFeoMMQPxc74c7EgY/kFB7gnvGsx'; b += - '1uCoHCU79STldMX0l/EeiwM3QW17gRoZo0by1MhdTh0UNXJdjRSrkUtq5LwaOcOpndn3r/TfBGf'; + '1TsAIxhzR3EY5wPYyGLgd6d4nzocia/ZtEVquLXLMdKM6iDStdA1cWgUKtKisyEbgfciUXZa5S8'; b += - 'sDWdsjGCaKlITs8VOrxTNUtXvBgWlgfNLQHCyoJ5I4yeAkdQpAQ/n0QIerhjUkuBX10MFDoIZTL'; + 'A4Jmsurj3Hh2XSF355Fuk1GxAhrtpAlDC8UsrkKwaA8tu0oYgwfjhjwps+h/EgXGBaMAF1/assU'; b += - 'fn2uB+JPVWAO40wJ8xOAo+IYBGE07NsMvU4UMkMDVYlJJG4/eE8y/SY2V0hsxTz8auh0MtqjNkd'; + 'X5G67V2wnCmOCDPHBVTcJsNDyurMIynwtFseWRagJc0op23759diu2S98aNxOvJK/bcn/4G08Vg'; b += - 'pQ9UEYLy0qh8zE0To4ujl2P+cMqAr0isw8GB4IHdjj+dj5GzZODu2PXY2YLz+zhss8UB+JeDHzQ'; + 'cFXTMSeUhgZC/8jqKfs1UhmWIF4IrRYv5Cmb1NZW9T2dtWXeVtGDiZcSTdwvdc6Ngf0KBv9JmiE'; b += - 'RR9DL8N49M0x58IeToBUaFQBaGmbWDyGRWfApm91gnYEP1wp3kQ9nIpOp0HUrRB60oyCVQqpSaS'; + 'kNKCWiim98Fo+ct+NFmMY1Ds7llLYh5x0e+jioHxuvoykLudGKRxjowumI6l/apygo6cRevJSvR'; b += - 'fhAaB0s3chlDruDrgjrplikjdIhtcviFEcFcswTaSQHfMpDtoyr9ZClVyhRFOG+tkfA4U7gQsfD'; + 'lCXZ3CrDFo+4mDBOq87eZ+z0vbRrFq29+vCLQQMSJArVSwH2MBSrnchI+0Al3ZMiCGq0n3KYh7g'; b += - 'ScFfR9UDulmsy0OliJPrOTsMi9zGD5ql0EmLB7Jyfd5jmTlWcunCQTnDqHAu5KaIo0VUO3uHjJD'; + 'x5gGFGclsx3w33q/BV6Bod+xSZBMjVL1GhBpjL9vlMvDooTXf1FU7gbGvHMYOno5XYxIgF2yqUT'; b += - 'OmNXP54lUaYS13nSZ5W9G8JBrHVZ6izAtXfrBcUiCYRb+qgbr+olqBV7RcVwmB5SYLNMWjoDFF1'; + 'YYmAlLcLE7Y8fCCprCu3iyQneGCHWPC38UCo0JbiSuzRe30ake6I+fttGJHlq4OwzJFEoYsLmGl'; b += - 'UA/z2yqEgEtg6ggZNs3CqUMZma6ncKf2gsA0fCvNZ66B0O+mJ9trI7xEWfURWACXCNTIZaGeU6q'; + 'xDi1ZEEDg11BEP9vji6rEkUhaariOyI8yHMLIlwMsTXGdMAjRz5g0SyiVyvOAKniiNYStl9dMOF'; b += - 'z2co8pxKkoP8qoZlg6qIA3UtoqJ18g1XLnIMBMYa4bNjT92oAh7oyc+UKTWcm1qlZXw29JUp3B+'; + 'ksm/zt+Ju1gpbzx+ZOHmbe+dKpnkUCXZ4Vj5vOJGy6VCcpTa01LzUtMyCsfrucUe78js3LES/tO'; b += - 'NGgc1fcOY0gq5IopmTCJPaNYgddKaoFi9yKy67OcpgD+B+reRD+xz7eyp4caHPFue5v4q9JzTFW'; + 'kMPht4S0qKExr0Xpk67S2bTqkp3mS26V3SEtr16Z1WpsRqakd2t7g8aSnp7W8oWWrDi1bp7XIzh'; b += - 'UMoTROJLJKqwhJFpD4ORYU6PIEuokiBa28TEj/SOMaAYsHzClK6cotODPCgcgszH6B7RtXqFijW'; + 'jhTfWOb5GanZ2b1qLAm9ai2APXPE/asJHe3DHDMgo93mE5noJCT3pzb4EkxcN77oX33Ah/4dftf'; b += - 'YZqrEXQwr/LohqZmhDKGxLR0uDSuqYVLL9WVAHXBY8VTSw11xC148ng1VvpSZNOGjLVU3kL9m5A'; + 'WNysfZpUHdfqLOxQwKuBXUPLvB4C1qMzh2b6k0vTB3TonlaqndUbguvZ1RGQSFUgo9n5KR7xjVP'; b += - 'xdVulkUGVqTtXEguvLzSQgi3U2w8b+1AL2t8nqxrCbUkHMN+vUDLEwrwl0JL+tKSklkR7+OAvsT'; + '86YWegqaZ+Q2az+yVXJ669YjRqS2ateyZauRLYoLCgqaeQuatWneunlLeqTAU0htOcbbciv8Yd8'; b += - 'r1tRGpegKxiMw8PlQSauHcSc1gYQ5NRLUa9GhJJlMI9TEilKoI2sre0kDhLeAauQJOKfVpWOMdJ'; + 'J+Db4q3Pd3p+eMQq6r1nL5q1aNk+mR9JyvZ5hqXkZLdIKhxWnejNSR2R7EKHRMBlz4b0T4C/xur'; b += - 'ByCrAD9CVkQoYbvy0NC5fGaB/mpm8IcqQDPYj5NYOLDdiKpmfkzgyop0dFHmFMSNt/LJMmCBRxw'; + '1/BHR0VrMRRSNHerwMi7b0IIwEvPQYvDMd3rVIYn0eCNcPgJfXyEdYD4DXwV9QDTg2AG4mS1J0A'; b += - 'wqYLQ4PSDQwu0I0eB5e6k8xDd5J0NPWgIrLRw8vMhMlBSRMKRZic1U3PO10sM78jpMMAPwu9dU3'; + 'NwO4JgAuAPAdeGa7ckZVTjaR9nXpws82dkZeYUZac3SirzFHuyENs3b0aOjUwtGt6ZUdjsyw5Od'; b += - 'FgZPkBOYnnvKs+wJ0ALiCZkbLwQ+zMmYLklxL9D0h8yksTMWQVMXCVNMyLa8la30w+u6UyOjIVI'; + '3sIzLi81J33YmIJRRCffK5o0BXC7D/564V/rbs3639H99oG97+7e7OaBg5r9u5MACYFRZHZGmqc'; b += - 'jjqdBtgO6wYICO7ieC5prg5Nxwn1pAE9z+Vo0y+S3SaDNOGNxzpbb+PdX24A4mB75gwJfFDJ761'; + 'FzjV8oSyxf3hVriMdFIwsym7WunkbMQ0yRuWkFhZ5ifYqVU1Kg3cVwl/odXtnwejU1ozm2lejfO'; b += - 'uPQ7SxRfGAfoy7dxwDuNv+tXUhhVJABPrCBxREspMyW1D8x29aEsaUqsI8nF7fz99vnD0xb/7XS'; + 'pWKd2kSalwTYG/CPgb9U1QZum6Ua95T+d06vhz/xWTbg+5bdpo8z+e/WxKQu33Dt8zE3DEuTrdI'; b += - 'BXkle9tb/8bbmP8I9DamhDOHu8BeWAwVcLrBwqP9eth8mc5eyNO3ifRtIn3brRmPfhu4JaYcSda'; + 'klRkjHjEeCG5b1TCws9Y/IK9cJcPT2jOCPdo48Yr9/n8eZepyZ4vOmeYSNSvUg37XjXsbkDZOJJ'; b += - 'x4wu8ikZo0Dn6VFEJQqWEqF/TD5BVwzzyI42mGodksPKSB7XYDnwdVA7wIdGMun5pRD1eNaB0RX'; + 'A8aojyzyFo72eOHFUIuekaOLWd2Mk3NGTqFnlMeblptTmJFTlFqYkZujj8gohPT0jLRUrCI1B4D'; b += - 'Uu6RORFjTDSVc0LVGdJhmsIsUWrl1owAuqTN+nzHe+tFkqbmM68QuCFRiRKFgvLkTA0akRyUjaB'; + 'i1OyM9Cs93MjMeushPhMF/AifeSmpBRlp/TwFBamjPEbRqDGenEJ60QBvbu7I/iMH5BYUQCYkQN'; b += - 'nNqDI/++SRcjBQxVytKMaEwJZaeKi//nMTHwCtAtJsOCLyGEqpcxmuKspXyVwWuw+mzNM2kY+CD'; + 'kYiyaZkcvBFXu+pYVJD0xzwp8J/qCTJSv82eAvVb85oyAvO3W8njEmL9vjq1v3eoCAchj+Hq831'; b += - 'yaSsYukQKiMIcp6aMmU9eWUzTbDQmFI8D/26KRtZsoAxRfUYD3to6JKLCm4grsno6hWcKc68uhN'; + '6sX5YhuyR5PeAlKtl8XaQEDl5FD03Iz4NwH6jwALwmBa1FOVk7uWN73OYX68OFNdRwVjw5jp+fk'; b += - 'vmeAe2EaSjI56CTaP8RJEvDSShEOTOjw5Za3TSy1tEnpGaab6TYT54KN1LgCRr1OmEUzYRA8Tyl'; + 'igykvBgra28juCIXgqK+wRR5g+CKfQEtS/V6oem5I3U+Im1ap+oFnvwiT06aR3IEtNHJx0bAiFe'; b += - 'jsZtKbZrepYiLz5uDZDffyRt2etQ8OhOJ2TzwzZ+vOL67kjTCJHG8yfbQAPeTlFXKmT7SJCZkJi'; + '6B0goA0b2PqicUUh6bk7DQh2ezgVqTdVHeXOL8nQP69dqz4fWqE+DP+iBorRCfVDGGE837/i8wm'; b += - 'cmOoXJGrs3ePy1jMAf/JM6H/Nay52Q7EmvF9I9JrFunQVKiLbZeUoPExHp1YhLr9EtIaFD3GZst'; + '4ZedDKQs+4Qn1sBiDXVtSEDbVpUmNeh42PK7ZNvk5zo2hEIdBp6xrzQpK6w3v/Bu/ZqjDa/Ksl6'; b += - 'KSkx+pno2g2iYxJrpSX3syfYh9ZKSEvLSKyVbU+slWsjYaYtMb6/PWNQfLLDZo9Pt2U7bEk17dk'; + 'UbbXy9J2wZVl6SBcP0AeHmNfCFJBSwkaSAcGwALSSpgIUkFLCTp/7bobDFuDKmMSXZNehjwuR/+'; b += - 'cF0re8zJ5z7Pkz/eJvW9QBtQ+gdTdntRZ1cQRrkXq7p5ts2fXGpgxOMGe5EgYVKtmYoJ9QEYtu2'; + 'WsOfgOdwDfLPJsaP7NVp8SKo9CRZe6nSby9PHfJz/80nTvWfNj/X/Oaau55PjPkrJN9wR3XJJ/0'; b += - '1AcraDVAKPJ6cn2YbUTLQnOGzZNZMzatTvXzs2KSamX7+E2vWio2v3r5WbnZ1dw55do07NmJrR+'; + 'B6ZeaDXgVeYqys3M8YwvH53kEQ8O2ODXiFeE15nl4AO+IqAEjr0oDxgpcafjtnoKi7MKOHYtyxn'; b += - 'Ei2zYFtOc/a8jz5g75T4c7krwL5i2vfNb5r29bxJKwdU6dB7da143t1aNGwaxulRky9+vFdu/bs'; + 'pT85IaDdeBtwPjG97d6x0O78ku8oDEZfXiX62/gIeUO6uPmz+vR2oGYg0CPy8VpLCeVzQC9Cc9y'; b += - 'Ht+lY3ynjp3i/2JRpXvrv1r0+e7tHywa89cRiPnrCMQ8EoG/O7qJGXYb7eq05ERbLSAi0uMpgoR'; + 'zNeTy0AfppZANiP9ozTmbAYnINsAYsDx0WOqaenFqZK56B+lEktJTozJPlrxUfTPcSc/VX7s0E1'; b += - '9PUnHcQGccjCfUPOCjgkOh21QpkN2ZMhJybnJSTa531D5FZs9g5TcTtjTNPI3kPw1JU/7k78LJP'; + 'zRg5XvepT5d9MM3Hlf3ZkIWvr4n+5YqyHCCiwOrTcseMyMjx+N/MChR01CuDNeJzAWVTCwr5M3l'; b += - '5kKCMpeQAh7BrRNWtH14zFRwDv+ITM5FqJjvjcBHtyQr80G0H8ybyO1JFki++XYLeRV9ZjtEh6j'; + 'QpIDLHp00TeIfgg6Qd9TmPKY3V0ECepSJvOZ6P5Dc+giPfkN7HaR8qxtaY2szCguaG4VQht42Np'; b += - 'LzANoRMODLF5P45dsdAm510AalFTk6XVSxqpNnSBzgGkiSHbYDNnpiR7khOz0lwJGeky/2SHSQ9'; + 'cjRBLXCwIyw+tJF3WyrMs2sUCMRR78oTwV8GMcTtULi0DvQBHMRCiknQnRKK8KrqirCPWJIRwg0'; b += - 'KTkxAapISCdAbkJactKjHuY4jShx0L/DyF/4E5tp/ciUTq3RL6d/f5ud9mpdtzZ200hcEnnXXI7'; + 'JsCKmmejGKU7aEatbVVKHv2GmXzn03y0oTQ6jSfCgPnJUVrJPVbR30MtLDTTaB9ZI9sDi1NavQX'; b += - 'Obnc4wg1eXCYfYNkNXkP+PMrAwW5wDZ7jAt3gegQOcoMbELgiCVmfqDz0yXSBLS0tOdORnFgjMc'; + 'i9br8zovyoi00anwP7yzTfNW9NioIiAn6oeJGrNGUDY2DIBXoPwIgJ+uAa/kcKjml//tasB/lT5'; b += - 'eeC+Ncu07NevjowITsgTGYSqP9k21pSbXIwCekJ8UPyh6AHKmnVuJGE9xeIX9t4C+meY2OPVp26'; + 'wcxiTx0O4PBaw0A8C4foB8FLeZgEvr1Fe6AsCFvpCIBwbAG+ukS/0BwEL/UHAHWrga5ar44NwrQ'; b += - 'dr2hZY1WnTtVoOkieTPTP407E9L/siE4hLkFsnZmWkJQ+XkQZlptkG2dAclD7vNkWNPp5Rhs9sz'; + 'A4COAGAbAD4Ho14PAAOKpGfVG8PiGL+uchwdeURfrwW3NzPFwWXYvYkuIDZCKu6sQH8L6619PSb'; b += - '7HJOukpwaUM5PUf/kW7hDE+Eo5PuSk7HBvXVSVw7UucJMmBe/0bdTn6SODDBXmuQzTEwIymbvGA'; + 'cNooAO3U6AoEfOACLaq5Ia/NpIfbsLHMRBGGR7AezMK0ILRwaYFu7FwvJ6XC7bgoN79uvft363P'; b += - 'rqb8Tqfdr0gFGErq3BWgkm9B5AgnHMppS4ddZfk56anrGYDbL0h1y377VZZh/NpnMUjk9Q80gQ8'; + 'sJS+A1u1btOh1bAh/Xt07NXn5h7NBvYyWjdr3a79sD9pxaDQmwocv0UhmB7DSJRhAxMjNSkL8B6'; b += - 'O111MJ+xIJgZ5IUee0VfMKSGh+YvMpe2BCDJ1H9UtxJyQVbrGetiWO/PmRvwHnPFLy1wz42H4tv'; + 'MOijOLw7fwfUNAd8Ff3EBMOotrVAH6jtw2MDePX3N6dl62JB+N3eEtlBTBg68c/Cw2/sPMwZTkT'; b += - 'VHDGx2XjOji1XnCQO07730/Oqz8F0UvxiVkJyd2sGVnJwywKTkDnPTRyZ6R0b9j/04Z2dkkkyTA'; + '9SdED/AcP8MvKynfgHa7p1cN9h15Pj5dIqQnvOJ4h/EI3kRWnSCOT7OB/+otWXI1HXtvpyqSwiB'; b += - 'HDFISFeNSQh1dzLQ9hEKSrDbCYll9JfZ/KkTkyBn27JybOmJNhwDtf9NjE5VGPo/yUb6JZnwpld'; + 'PROTBh5aS4WNE8tGOb1jExqxKST5G/bc9L/2zLt9ujqMk3AQqYJ+OkasJBpX9eqLtMC4b9KpsXE'; b += - 'Ip1Eel5SRXsUhk6czCOdPkAfYM3IyZRul31LPe5WpzxvG02HPSXTI3ZIH2Zrbh2Y6midnktFz2I'; + 'VJdpAhYyLRCuHwALmSbg5TXKC5kmYCHTAuHYAHhzjXwh0wQsZJqAO9TAV8i0QLhWACxkmoCFTAu'; b += - 'Y45MHJBLm6ak2kw8weEleV1WFgc0eCup7QYOX0cxBOG1OGsxNtgrz3JfKeHQKluX9YdnGFHv88r'; + 'EwwPgqBr1/dkyLaGGTEv4i2VaYmx1mSZgIdMC4f+LMu1cbHWZJmAh0wQsZJqAryjTWv1xmdbqus'; b += - '29mLM3r3eEIN3hxmXyV16uwyuvd4WA3WOX1KqzyehVWef3/NXOvNWQQqs91TRI3juDzKvmLIX8q'; + 'm0Vv+rMu3m+L9epm2K/zfWVf5NuSbaJ+TaZRZki4rHFqSNBtPx2Toazc01/LqWX9fVYbbrn7bTi'; b += - 'PJ1p00+bGH8wlaZF+HefLHFgPgltRO6PD8f0utFx66UrHSfMytB+sqr3uvCgf4KXZZpL8zLuL/C'; + 'dY1dM1eeM9w5NsS45N6AL9w1YBxTrcEAmrbrn1yhxtSR6Sle0ZeH/xGe8bB0LVt3qaa0VtYV5Pu'; b += - 'zhDSCV44tJy0t3TbYMTTTpjJr6EtPCfmDT5m57uPGP3zLwCb2blW2+nOgpf57srXcU5StWz1Ly9'; + 'hnd2kxmdBMLtrufuV6G3YFhedlEB4NCBU+vIPEY3lXUZ3ewDu3tAALwf4H4B8AEO/7k4tSakpiY'; b += - 'ZEUogg0reLLTsnzdGwYU76YHtCZmRUX5ngSdDr29Ju70v6KC3HhnNG1R9gvrhIpFVCMtRClPHMB'; + 'w+gqRGU4CDqsBh3M4MWDvBmVvg//h3k3DP3HvZpxefe/mWoRfwxqyLhBGPSlg5af6khAQeRMXWy'; b += - 'KKXypk5/YgKL6fahsoJ2YQ/p2ST2gbahsgUke7pwGagOOHgwIHlpARHAtfNS0JZUI3Dq02cq1Z4'; + 'fVXWz95xoMiutvpiAjvgbuf/1lCiIAuhn0xVj46wt/9dyadA6u78HfaLdG/dokgK6aoq4Ff83/B'; b += - 'NMmGzN5VtSubKGPJ/YfK2ckD0hNIz9oe+mCik8u7skkWvL4s+g8rSnMIQbpXn5gxqF9yus31Zlq'; + '3TV4k+kq93u6nQlCACXyzvqAZSBbamnUZmO9Rgt9M7tl5rXlyjldr50OZDv8VVP5Qua3YC38tvB'; b += - 'AEKf7GJZn/CeE/LVlSrZbD1GRWFPuQEZZ7meTn6kvE4qo/UwMYJ/syK6pOEiZBJLpGJzBXoCahp'; + 'hSM7GDnjB+cUFOXl5QLrTx/sa3H33JFsjVmsnaN+wLdpq6W3/itto8vuaqeTcldVj8mKzgqTDQL'; b += - '0I0GS7LUmtk2Y9FOVstW9TGc2qcAGDE2RHDqFRENFUxAJPlSTMq0ZCoGd1gUARdlNkqhNUEm3Ju'; + 'uojCdvU0APbTltsj/hB7a/4n0cDixOj3Y7QMLU9OyOtrh31+9J9mr/l9vr+2sX90+C4TrB8DCPh'; b += - 'STagpSF9r7Enn1M2f20xSq3XCrNyxKI/mLHSdkf+62hPIi0sFFjop2k9a9JWhoZ9V+5bLSDDCF6'; + 'Pw8hrlhX0mYGGfBcKxAbCwxwQs7DEBC3tsIO5G6GP41gKqtAWpYzyCX6cyLZd2369Pb43y5Hi8G'; b += - 'L/mfvLNOzdr42IAcRzbth5U+EpfIZGcVN3gJ+Yt0g5eWgZcx+Fkfl35Qrwz8T+kLmb5UXvdi8lq'; + 'WnNqErsrrZ80LgycraBJoF5JQ1VGL38gfmIX3T46LfDdRvX0VnpIxHB1tW0pSUNNWkovONXrt8O'; b += - 'FVf3BHY5wgxeyNqvw4jLlVX1ChVV9wh0OdoO3lslX9QsVVvULFW5QBl8tXxofgMu5wR4EruwGmw'; + 'uL2PXpBxHxkEQHdemFOSKINj2ugv0rtbJl273s2LSXTMEJiFNzdvvK+bIX031Hn97IbL2SqsTyu'; b += - 'hcqQzs6wYHlKkvgNWn8vqOmUDwZXm93Pf5jHQb4/WPIxZw10uVlxXZLpjK+8Ke5LqmDqWBBkymk'; + 'TGH97UmY0fy26SMeAsb9RMrbtqZAcZxwt/yRTdbQnOw/qxS7f3oh1eCRX9FD1Z8y1o45MtG1jdn'; b += - 'aJIzMP86Q6clfzV4VxwNTaO7jDIdzfem5wNKzc5OYnwHtgbzcxITnd0a9uhZfuOzds597rie3Vs'; + 'ila2NmaPhYb25aWhHQSbqeXoRMEgg5DfgzbcMBKA2C8g0DNgLR5NTJLMZJQOaENBXKxNUow7cjy'; b += - '1bBNuxatanRto8TgfteTou/s/jlphE/VYXzKYU8gHL+WgyxN4lE0QQM7BUjIt7uD7gfrKgb3YPq'; + 'dhZ1ZgdqhHCNw8PIOHkh/TggHTfc5B2uDE7dCPyMnLyigoLOurnIV2r8QyinQsdQdIFSCWyCcPn'; b += - 'ICvdmMkaFQaep/bAdyX97lw/2Dl0y76Gd+Dj7hU+Q42XgPll9xieQfyCNzCkncf2A7zP97J/QT6'; + 'r2boHZr89Qx9U5PqDDoQ1gNgwZAFLBiygAVDFvD1PTQyekxqGmNerQJwn9CUMaYCrrgLGPuv3l/'; b += - 'XAv6GfPiCPEAm5ERVIdpyP2TUTsuPttv6RUVRCca72vc/9vy3XRgWVlmsqrMo1FV5aBlblml9Qa'; + 'EqM41vXZGJQ6UsdWWkRkgQTg1sh11riReH/SLMnIKm92XMeq+1FHQiuodCLi+3IwZfa9yZiXgrT'; b += - 'bnmDv9Tcq1N+dJyTYVVueYOR7jBqlxT4cVlyqtyTYVVueYOB7vBW8vkq3JNhVW5psINyuCryjV3'; + 'ITyAL+lMOdAxTMLsgPAmCD90O3wLlMqhMXwGiMN2dMuH96up5TNGaEx4t78DBHMgoL5kBeZMCza'; b += - 'uJwbrMo1FVblmjvs6wYHlKnvacs1uYxck/9hudYtpLRcU2FVrrnD/41yLTK0tFxTYVWuqbAq11T'; + 'cAdUkGp8+p6aqGel1uQQUxDWg/lcNFse3M2/6/zaVnpcHN2LDTNyg69XPlA6PV98V0tAt9rVBzC'; b += - '4kXLt3z4++ztyrfb/qVxzVPjn5dr5Cv+cXFPbp8q1Sm5zMLwMHPEE+XMZ+nUSBfTA+YpUZjjYvH'; + '46j2K77d0L25RSSEioCYRnk9qdhVhaOBNffp3q2b0WdYDzDKBt9687Bu8DsIRXpOLnBmYVK4rg+'; b += - 'tgL5xg3idMQhpOJyHg9pAt9Mg8kufvVgb32okQWhxG19tq+lM70YadATgPIe/pC/KGY2dgD26M5'; + 'BZXnS0lKzcIZUYyxSbEt29OB7rtqJQ8iTS9j1EXYtof/g+miJT/TR3YM8PYiXe4Q/X8avQSwfVX'; b += - '+QOzk4cSJboTWWKUzMWKiyMkynOT6z/Hfbs+My0nGxChg0Y1ffPpPQ3UKb0d5Ss4Tu5wccJ3MEN'; + 'y6PsrhR1l2STl/TuVXhV/5a0rs/IY/XyLexwuUCDxsPF20p5Ifb7k1t7C3sEt8NtxAFGjdcnOKo'; b += - 'PsHgp4tTDCJ1V6Z06sVTnFTYpwzsy+Ang9NA2xCCS92adUptcky2SNwL5B3NecoT3OF6TEdQ9yt'; + 'WOBVkUqyUQO9ESVMbUw1xv4yEAmLvuljkOjEOQFT7i5KC+bDvT29vEKnsOf9qeL6kB7q15H34wx'; b += - 'B54n6N/crqz7F/co069/fr6xaRl67wyAz3XawSm9tEeEaVonuBftXovtYzSpJ+GxNt76rRf6imS'; + 'GYV9wUAcBKQxaLTXUzA6NztdvDHDn8Q4WB2+JB3DOX4YN880LiFq8WOo0a016bdWmnQM/nbD30v'; b += - 'z6u30X8xT7bnml0n2nNhK2vRvKbq2H9oRLWMY3nLa3bUaHhMz22Btd2DZjV3ZeVzqVbT42J7yER'; + 'wtwL+5sNfOfxNgL+R8DcE/v7M5a0C0K9S2cSVprZm6naGwtoi4EyFaTYCzlLY0qCAs5XruaT8r/'; b += - 'bs7+jdQ0od2T8/OyczMIOwjqbuzxS0z+lNdRt1HruvijaXS6/2Ta5iH3rFIQl7/XTjljU0IL7GQ'; + 'Fs2qY6ngIWeApY4CngvwLPosKMbMRybxu2XWjmGmEg3DZAg8Izaii3hrRlmpUoV4vTTvcACdHjG'; b += - 'UIWbClS3ru9GD7GgA/+b9PDMU6SHzRGl6cFo7OpISExtaCT//unzRbnyP7+uml+59DrKHY5wg9V'; + 'tXhntWW5ozK48AR51n+7FNTP7b9Mw4b/2uqGN6OjfI/uS4h4A0yO2QSCLcJgDfWyEe4bQD8Yo38'; b += - '1lAovLlNeXUepsLqOcoeD3WB13aTC6rpJhdV1U1e49iQPYscAoHpmJwyyqTwpgWqjeJL+ZHprgC'; + 'F/lCuIBfqpH/Uo38DN4PgXAgfpk18gUVCzirRr6gagFn18jPrpGvqJJ0Qw24VwCs1shHuGcAbKq'; b += - '3dZk9OrIFVQnfVZYPGBMmXVSSOLIO4PgKll78wH/HcRqXfZ5+cnEtN6g8IxpSSdEMiJa4Pecdtp'; + 'Rj3CPANheI99eo35HjXxHjXxnjXwnzx+z8KfTM47Pf6fe0FkP//NkdpPpNwzy/j1yjzms6q4nP/'; b += - 'od26tJOzk5+BRV3Qnd2Mqc4tcxCJuf+Cf3YEPX4+jErxuH1ScIs7BmZQ53dDOcWpM4np98/bE1B'; + 'usl3X67RuNzTk977p92/luLziXvendsqvrDd+0bVKWl/hu/RnRdS9U4cc6QcWK5NzhkM58/+qQt'; b += - '+3RfFOVv7/KU5h9H3jZ2G/smnDLrm0LOdMkj+imp5ANtaZmkXujy2VVph4MyXfn/4LKEudo/z8w'; + 'wfeOa/XsO533p43cMj7Y8ecuGPpE7HWobOPlPz2xr1noyRj3hmYIPvMfybBjmKfukkxHZniO1/s'; b += - 'mVCvNnNxh2Q1WmZEKq8xIhVVmpMJP9vLDwEEJiXTi1nbDvVN1Oimz2caKCg9jC7p/YpIeqP54F6'; + 'dHN4gdgp5/A/ZCYuBbxQ5jvvHF5UA15cA36yBrykBvxUDXhpDXhZDXi5zHakroUN9fpTdsOvvoO'; b += - 'HUy150N6B/MuGcTJ2CU03nZaYng3pOcrqjxivJA15JGEBaULrzCK7jatDFxBY2SVV4B08FkQp/x'; + 'E/3pEt41vm3DozI+mD4Oe/qbY/vFLc/tm9zz6WMWURbOfKft+VLO5tV8s7Tx+weqv3511dPq8sM'; b += - '+CmbopVM1i0ucHQ/ubkr4Xb4TRVGZjggbyalPl0TEqS03MG9bPZ4ZyYzI9kR3ZSTbqIVZ+Fu3YJ'; + 'NP9f0sa02vk+fWrlTrThnW6mCje1Mbtxu4IDW67qx7b61om9TT62m3N7x+v78VzRze9mn7uBtZn'; b += - 'RJmxy3KCQ87MyE5GicHl1aQL4qkk9HwSl/pKXRLmuLU16TXhRD29oPHIC8JP+MVRtdzfq0w+RZj'; + '2xXmOIu4DdqwDtqwG/WgN+qAb9dA96pMONAwO8ozHC4dgIvuQgEXmK5lsHr/ZcOHttq69SFWU2y'; b += - 'eDcMj367I9owcZL45hJgG2G0J0FWOgYSVtmvZvLnSLr5VfJeO3Z9vEd+c/HYDUZae4ZCdqrTlyR'; + 'zDiBgBUOd8elE66wDfBmse0ADjPg+poWX3VhloVq+xcWDcpt58ALMx7eMPTnquL5o85Hj9v21I2'; b += - 'BYqi0xMSEVZkcppsL9Uosej19kKg3PWPqoPBq+TsM8/I+Eb+Q5WT7GRrJ0D1budfZ8AQs9aD5cP'; + 'Rb8/tH9Xz292n38tcV9n1zH7Xrpz3Txb97lhsjJXD893fOj+evebVxy/EjI9Nc097v771zohhdx'; b += - 'cDwDQa/QbPzxrPnRBYKLGSvyTOyCHs+T30fK5Cn4mFg6Wp7itk1jNYxSv/+yem2yLbpJEh2DCU6'; + '2cc1vXAY2GrLmt4i5pbZdp8SGZS20Dznfe7LjmQedjh19OX7znYpWyfMtA876ngmz7bmjT64FFj'; b += - 'QWRtSpnOvCGNq8tDG0e1qE2XQh1JCDOla2261QHluae8rZBN5G4CJWzOUZuqYckC5VQqnCJQiaf'; + 'QauPFmg2ecoS6f/9HPs3zc+3OD3nzeUHG3c+cXZq546vq5T7KL5c+ZltU+LSXt5VO6nmwd0mzXz'; b += - 'CqQJd7qtwGoNb136wzaExrM21S7e5QQxtc/MY2ubWMbTNUP6fbPPAmNJtVmG1zSqstlmF1TY/TT'; + 'QbPlbL3FRRXPrHhj+HubF725ZLVl3ENfxUx8/sZRG4zSXS/FxvUsjfop5ORL20+fHF4Q1HhW2C1'; b += - 'xzHMlpgKVUh24DapnW4Q7XdVtuwx0kkBHTSb7kVq4cu0r2nBs3bveYKlf7UlscyvLzhPvM1D3tW'; + '9ew8/Zy/oe/fC9vcm/DbhrrvT7KuzS7/5dljv4JzjL556bWn9U5VFz+yxHv28ZOLjF6ZIf1uffm'; b += - 'zRRdZ/G5dR/TRUz69JR/pzJbBXewMMnRqXhOm7wxjL5ANd1gzeVyd/ENspU+IMy+R+UyU9m/eAO'; + 'jW+Yq1B1Ijm9gbro5Z8v2RGzPXrH2o47Kb3rl1aO/xJ9/ttHzAkOhvf4r7Iu2p7U2uvU/Ipb1j+'; b += - 'u+OXUiZfpWIVTi2Tr1K1CqeVyU8rky+IHG4cuMNt3GCxTD7Ard1gTZl8gFu5wcYy+cYy9ZvK5Jv'; + 'LOrqVdeqaoa+PzFqmfrJp5df3bJRy1HbQ0vPT21z9j0T9f06fbSyrg+C76ZdMN3YXLstb9nSTm8'; b += - 'K5JvL5JtZ/qA5v12bfGHWZ5X6TB33+eW0apOe6WZ/y/+w1qek97vff99GP6nLRmVreuveXXbebb'; + 'pzL6WjnRvxJ9p6vQpGi42i61Pd9a2jVwUok9677j03t+mvjqN69P3PN8i2fHbb2x4J3HJ34x5ab'; b += - '7evOgT+7YDzZ45V7daQWb4/ojJgRXvlQggU3IFzrzHxF2/uKXXp117zmwT37Jnl8yuvb4cPOhSj'; + 'bun8SlF+Z/9CRd9T3PlrxXkIP97N/mxtXuue5lLwhi//5qvx6yEuPfzRg95ScB35VjYfTBnn0yp'; b += - '4VvB+v7TDuT98ful2/C10O/kQlyS/s0CXYA/UyM6/QMVTBnsVNKFZ7NFG4VfoenokmF5/BUYVfh'; + 'jbVv+8IGS1p8UbtabWbda3x0Nftdry8syjQzdNuPWnF2fGf9mwXcz5rM9zkpNK61iPvjF4UNTdk'; b += - 'uWXgeWXgd8vA88vAC8rAC8vAi8rAi3l64vg4bKjjUzkZ/ZNTgFaZkdFDCPt8ln5x4GhIxROs8CO'; + 't3z4+D5j3Q6/sGsDzd45hk7TncOPblnXcqOWTedbv73Tkvn9P90f4cj7qh3xg1qsHmN6UAVLjBl'; b += - 'flZxqS6vAuqF1w05dv6r52mPpuVzjNx/MaJ/W+uybhaPnTltRcHFAjRnlN+U3GTp75U/7p56dNN'; + 'l9WRZrR8TMoLfSNpyMnoxFFju0Yf6Ha83ppFrqiIhXFdBg849pL99Rb506wJw1x73s1/sdv2Znn'; b += - 'OnaEH771NXtbl8a/UyseLo+Nono15OqFqv6+yEwIpTX36+sG5ka7ut3hHfiA4v5UzpW3epcW1D2'; + 'xp4Zv3OXQnujfv6xZYZMOyzq07tx0f9n097s81SX0SNXSWfOeW1ogHX7KfTE/Y/7vuc0K79nQ+Z'; b += - 'me7BKpIq/DuMvCeMvAnZeC9ZeBPy8D7BKq0q/BnAlXkH38CHL1LJsBy3eMMbucyg9sqKyZSribL'; + 'kFO96c/0XE8J7T8o+6lr7RsPPDZftuv/vIi953szo8YqR2nWyJj5CeO/1STL9pX12c/YTrt9rra'; b += - 'VeWcqOlNqJ4wk4TwidE7TeiA/BNHLpub0FUOz1NuosICg1vC7ipblnSyp9JtawZT4MkuBV5uSlc'; + 'k/q8WNpUhfThqqf2n53oN4gqaLqoyH3fHjmdd2uvx4R9OiW/UM7lJaXrx752dudjozv1LHee2dm'; b += - 'CosF1RfzPPlMsZ+56b/K4DX1ulOTOGnA3cMjOBc/6fzqjY0Drnw9e+yJlTXGz68ctB9K/vJxzxz'; + 'f/lE1Np6I/vVPZX80P2Tgz/6odkLYWunPjz/zfuDrH1GOnp1HJKy4q3RRxtUZOSff/rFfbe2OrX'; b += - 'RPGcz7Zll/Nn8zbdWWifeChgYnWid8GaHv6Rff++T0zs06RfVa1bmwN7e66YRQr5SFhk53m2w1P'; + '0nm8rldsqZg66Z7zU+IG8+TmHEgcP/7Ru1FSr0fCXvCTXrb1dLZdvaXH0H8/e1PfrOePv/LnB8C'; b += - 'TZxsDGGr5fvv3i/RFi8rav26AIPw9Fn6rR5bW5U12WXsyXjdGHhpN9uBL+1cVzlOzc25J2t2mTT'; + '2nGh+7uMhUfvuApHEHP/d8Hyt/12rv7JDu/VZ+0mfsDzNKn99qPBL/+X3pZ+pvGFgeGzq05EicK'; b += - 'tOULLqxpFDx31vSZqfUTgxI/HJDx3dZOzadOGanV3aw0L6dwxZLdfb/YOveT+St1Q8aeDhq+7tk'; + '7GvNv2+72rvuWFmrbNNBj6+NuSnoJcbtD/z1eyDY7Z8uuupBU17rdhyZkpMWvfWkfsrJv6ya469'; b += - 'BG5T8Ax8Eh7TOD/jN6/IHu65d7pvtUXWqz3Pt2/a9Zcxu/8Kc+i+H/TGs9wuJxpVp+ed+jm/rmX'; + '+ZO97gjp1SxpfaPy9hv/ufVMzIVmXQe+U/lmveP93x+SUdXtvrRDK5rdFHxD09BPf/1y3tBDu59'; b += - '5h05WPF0ZcKc5ZcVh/9lje8In3RnMvrU06NfVu4eoTCf7VjFVWBs2/eObZlFWrxzZc1Piz5/u0H'; + '4wbsiY96+qovH6rd4u2ps+NOrLKG9K8+Mf/BCy5JVc86VaumPPj+o5efhnuAys2fSiq9+lI4M/6'; b += - 'Xp5f6PFnXoF/vxbyA+JC3ZVe/w+QdPrpr7vrcRe+aikpOu6+yXvVQy/ufbm/EPRA3b45l8b025w'; + 'lwyWtJu11nx4942eZY//G4V7t7vylKj0lY8OodUzfeuOGbs1vLxv3zodBlr5RGffXDxcGnDix82'; b += - '0ner2jX/YFlIu9nnRjzziw8f/PjvmV9A3lMc+Lgc61+J0GslcDpRZaWRq3s3hjvQdUSeMfWVC5N'; + 'rxmxaEFB+d/E2TN/3nrnW8cDX5Bi81atzHY/th7GzaMeu2Or/q/sOjWO+/Y+8h448KAYTO7mYrS'; b += - 'afxe+5dz24YfX1XpvyI5nsz+bOPyH0Y07t/zWI6s4a+yZz8QvDi35IqyV9b2XZoTkH34/LrPXvM'; + 'Hv3ilz7Tgt5u9NkDE1PXf1NUMDBlb3LOxcW97ov4/Ivn6nw/objL2g9PHfngy9BJI/fddkv85Dp'; b += - '+38Nu9Pph4qNPB0emv3RaVcYndbHJxUOeVN2Z7rbTV2l1uTMUa7VuNPV1724dTzvbZPOz53zZNC'; + 'b+xzqb76/+DHPgMb7vR9vuHPpbzO3PtLz2fTkKZ9kHP8+SGscmWf0aPF6y/2r5f7P/y2/a25p5r'; b += - 'f2xSr2gu6nH0mMj8yvoz+7u3i3gBc5ou9p91uuNLnw19esNtpnKnmtNvC8fXhO3Z2rjazXfarRw'; + 'qY7r+uvzB2yYhXlkR8fiq08Jmnb37zk87T7ui3rXPEozPuf6PLxloz7mr0TkfHwmFha2dnr/bIn'; b += - 'esfvjjc4Yw34bEi3yltXaU6UwIZQWkEFbnL0m1ym9+7IXpcDwwcMbhZ4ovmFSqvmWgL85oQ07d7'; + '22zrLhxQcN6mdGeOfZ3P5hVVTk4+flbGt04e13egPjPx4R110/0ndWy+8n3f3zw5CdT2tjOn3jy'; b += - 'p/AfG7bWyJujD4i2H92dtar6rRmbolb4bD5iktzt2LKjhqNZgUYOYJtWPF0z6sumCpt5nShZOnf'; + '5qe3l86rbDN2z65BTW5J2dbh4QtPfh594bcNrRuu/H1J+Og+R9v3b1/1VT3zyE7bGoUaleMmh+3'; b += - 'n+wmyuaIH1flbyrDsZNRwvbmiyYvaeT2b94Ne39YSss5aFu6s0GVdwtMsLZzbZ96c2eF1JaDZKF'; + 'q/fXvptYtprsf3jvgti8WTK2/551D26MWftLkmW5H7jc23zyuabzzZuuZqbcp4feb/5m5zjNpSI'; b += - '+rHvX/tg6AOE07fn/a25Y/ya8qPaHU1P7KpZkPJb3V/OVGpG1dYcqjXi19f3y4b5e1+Hm9sO96n'; + 'Le9bbWp26O7P15Xvi3c3/9PSWzm3e45fNdL2TFhPafYSuMqjh7Mq3TKxF67cj33A/N/H3jwXc7p'; b += - 'Qf748Sv7f/9pozNDGzWs9MX1aT++HbC6Uv8OFa/Ejn11lOehX2us91k9ZtysT1710Lfrb2rTsFf'; + '6T3vaXB7780bFTve8f2mzqeO9vv15Zlp0s+Tdx7ct33r835uFnXXZbpXV64Law4Ye+G2nd28yQ+'; b += - 'ckr0Dz1YuTM66u3TT0edrX1n44s/FQufCKd1eHMpVfS1zVvqp8O59v6sYMEavVPk9M9LyfFtL9O'; + '0/qVpm+VHWt/Jv3IW3f+8tQzeYce7HvXPY8ta5NhGbkx2Tsp1/nLzuJxhbZOGZUlH/zqKH3Hnbh'; b += - 'Jttc6+817j9j9NH9rzRuW+265UPX9/rmZ8l06RQ04es10M5n+pfWSaV8sOy75tN/jXyfnrdiivh'; + 'twCuf5894vN5z98d/MmJzeb0JH3++76usze6nIlc/nDEz+kKtiIXdqr6OW3kov6hjomf+g+/9PK'; b += - 'x57Jel6xIau44O9++SdCbGEt5cmvfJL+cPPTCl3s1rXiau9fvP4sHL966ennRy07bsDC2ZXb7Nk'; + 'LR2V/ejm8/5/SC1W+1PtNw+5cxP2x/re1rrd58tanmtG5dc/87kcXzK2bNfMWbdi71jS7tIs/Pn'; b += - '2/XRQYktY/yPFw7//cB0Y8132/TwalMjcm3U+PobP99xPehejWZdPyv+pNKFjl/2Si5p/kriqSU'; + 'XZPi94PN862NHk37OGMrfdMj6517PCZyk8PPB0+yjvlq9OT7mgyauWQV+5c3K9OQcEW03fTlfcP'; b += - '1Gns+U937u9s/zuxz6uDb6+1LkmceLbl/PqLWpyWDfZcu13m3Lb4+dOS96Lzl02/lS0lvrOsWfc'; + '7cl22Je12jW7Qcbkp2Puf0BTG++92doyuEvvlBXDBm+fP+5cYS/gzhcfGf7E9EeHV/5tZ+8m5tY'; b += - 'zX5lmgtY1Ycvoqd6bvb475H0cetNwc2u9Dg2ntN0O2tLSfy0kKCpu9pceYjc9uOHdzR8GQz8d6L'; + 'dDkcu//iBuU83SMsb3N3Y/tnax+wdzw5tPCvls4gH6jbI+brNxHaP2e6YOmGp+YPKAa9+W2eLJH'; b += - '/ooP+D0r/e7XzkxZ6l21ZJTs0/OOuehz7qxo+fus57rpeDUNRs9jW9+sWHDgI97nO64fu7zPXsc'; + '2RMK3FwLd3TzE32vroaccvEa9teW7r3At3DrVGD7r36buWJY1xtD+78f0pNwwcM/HXs09++dwvT'; b += - 'eX2ocq9T/JTmmpzEN374vd0Ej0+jvn9teMLacznZXeOOxKbfn9fmFb9jP7xf4eKw3Karv75y5qs'; + 'WoP6D69B1Dvo4uOvPeSo8ttj1S9PcJx14X33/V+3bdPK2nVpjnvtz6VNeym/LlLph4aM9M1b33f'; b += - 'fvUf0P9r5udBRFXa0O9VR+2rum7ZOVY/bv9nQc+EfU3a83vq9pNjR3yZfuOghVfXPVFrV2h59fC'; + '979Lf6wsztPJ9ZB6cHNcWCt7qxWTyyM//7nilqeOf1Rv0DsL1/668kjnpLkVOautM+ObKwn3fDA'; b += - 'Xfcd1LWc0y8lPWBLW8vfbe4Pn9Pprvd+yKt2PF0haffNtkQo8OO5v4vTH51d1NN5ab3Dvqs4amO'; + '7uuzk3YcuyAM+W/npeu8KT+2OPac82GzoV1seePif335/fvv68gXF2XteMP++OOdY3N/DX0344t'; b += - 'fE+q6elrbTx3+/ULXl2dpVKKYG26cb9X00tKe4eu+65qGenrcnsFHpskE9L+VL7qdEtL395deTl'; + 'C2RnHfWxPf2/GLd+7h2TMHjC+eMevW9i/e9tzoiT0ySkPb/nzDnFUPLE/vd2Ryyczfzoy/O+ObZ'; b += - 'b0fXMdy99G6LpbvyZxbXGXz4QLdqz8XtbDDu3rvHAu/9sSGmyrI7830Htjtbv2P9ktOVtP0b7Yz'; + 'U0+tg8aFnzr1EaRM9u8kHXbstu67B6ZM7DrHROH3DS57cpnln300G/Jg0/+uPbjkGdmF9yb2Xrh'; b += - 'yVoqHjPI50PanO5qYWpOs44506vzD7DERhz87tStgzrfVVjQ/86qytcWQ6qHmFvrrYzoLvq9qP0'; + 'wsjYWeGd1r/epEf0LQ3tv/284MDJ79sf2/L44AU91vWP/fHc4vQRBzo18XwpPfjPz2duH7FlREy'; b += - '9ZYxvRK0xu1jnmSgv/tscyfX+ecftOXEpze1/dsQPrU4O8O042OAIKb15ObPSRn1ze/wvr2Cl3N'; + 'Dpj+Wv7vpHXP/Na88E1prjtz0t/Gj774pPXPRlz3KDt4zMnLr2S7PDQyu89rREeUvvPHl2+HRnR'; b += - 'p7c3yQuqf1zle/8XiWq0kXTrsYNb93scDu64Fred+FHLq+5+PH0b2o0O6Cb1HR9Z5/csCMbyvds'; + '9xzNh674s75FmxJ8YeuHimX+x32n5rQr+7Ynf87cPfg2cOvKXNTz3ndlieP6TWvCcNRT/f3So9V'; b += - 'bgtfEfNR9b0F5+tfTzqzt+fvC1ZknhrZvveLby6qk6zrvzHWPiLD/Pu+3CEOQ6Pk4ryvbpvyP7O'; + '2vjz7ufrruo8x2P327pWBzduXjCqdcWR1U+3l2OeO3vCSkXe0z5KPHrhZPvbxYc1eOTDi9mBc3u'; b += - 'G7+z00bGsyRMrvf9q6Lf9to6vNOybY0dPp261LvBfOS55SuC9cn5zmpf8FLLsVFZOw3DbrJFf3O'; + 'OLnO3NoNGucu73/bXd9tGDm9RdAvpuRv0n7+7bOf+mZH9PH23rr7gw/uyjD1GNg1p89jhd9N/1h'; b += - 'gXdfP3T0PrT782e+XemOtVdv0Y9Ouuj+t+XPuTLdUls37Hqlc/88+dVTh1ykf2xFsJu5vW8787Y'; + 'putB6fOZd/xgzx9PbYvzw5Wsf/dhq1JK4LstGffXEOeuwEFftoEbR2hMD5j2w7enGDze+Iz281s'; b += - '8KLtdqOq5qmq7bfZ1zyjhcnBZY7X3S9+LsTS30H2EefvjaiR7UBy3p91HNehwrZ2ds0v0wSvjx1'; + 'BdPygDfq667+vnrB1Gv3503IyiQat2PbI/qtkrO16JqPPihw+P0eKbHO25qF3298P7pWmPDDsVM'; b += - 'OM1kXFT7wLTKyaOWBr36miRWPdJCH+3ZtG3ckvjuu2YNueVoQ7jz/df7vj3pjb7FL+1rW00b06D'; + '/GeRWVL8n87WC/i/JsH8jt7M4YGvyzdeeb2H2cWH6k771H776+0G9y/U2Zq2Gf75xaow3I/9wz9'; b += - 'If/E3r81YWjkxs3tLZdf3q980NrzZp+rUuO/9XqtYOf2nOsPrvWnoMWbYQu1XxZ22/FxhG8f9ED'; + '+s2+w34a0uCtZRcPDehcbL2j3ooDbTI7X8y6/5dTa0MXmvPOjHnpeJOUUXuW3bVtaWJyY+eH973'; b += - 'ahVtdPD47WRu1445rpd7+Pt72/Y8a9nn30gd1eXtp7UeQgU/2bG78c/UzXQcNv33z3x/d/r1a+U'; + '+t7B+ZUebe25Je+lM7L5NLzx60WQsvHjH0pXb5YeWFd146tz9P3WxvlNc2P7R8mG3tpiW1bxXos'; b += - '8tJrQj1vjH3zBcfmJp2fr3k036m3ve+3G//qX272tzyzdO/jLmSGt84a8b8MacGTbHMXNv+y1+S'; + 'UWdvGT1w7vfOTmVsWTtq2/a8vWmx79eIIa9tYPo5Y2n/l2K+nl94bF526t8/yFh179un/wnuVLj'; b += - '3iwIsTWyjBVPbg3xqW2svWTUeP9jNwqfW3DhUKVun81ZfXvZmSaRMwrTV+qnhNYUwl78alpgweU'; + '78+/fZ1nRasfSbzH9/sev73Oc3SXpvdzXTs7Rd/OHU2563Br3kPlm9PnFdnXu0fP1r+fP6u2kG/'; b += - 'XTt3jO32/7Lu19iW28g1bjx5Zo8/pba+N+/zni3d3rR0/Ozft8HrtnXnp50Pe8t0S9sOpnVEhF/'; + 'r97WX0t6OuUz+VDvkL3e1mODOmYHnTm1dtj3YZsXVCbdWWZfcaB134KMKO+yhN83WDzf5Y94ecf'; b += - 'XhX+z53T6jaNqUTkNzJ099vv6mzu8PHN4qOd+77o1npi9/bXFShzOj8qb8cX3oC8nnFlX7xtgt3'; + 'j3vfnD145cu/Jl/oOS9/7oPOeI4/eE/LjfKPl+GPPzz2S/nnVkTb/uNi53T/fSkxfnfj74sWewn'; b += - 'vP5MVH+U+qsT+28qHPTg/3TuzbrMbxX41F1l61YdGjsH7HdL19d/Y3XimnZL6fEzJnjHzzVt9Ha'; + 'r20W0eq7QU9u2sjGsTvGJP4YlZ6zZOfKLtmidXbzTeeLh4xuJy9Zt7vt8ydOWuz7aqs3/LeqZdo'; b += - '7dVaBT5XxfjHjdknLl+sf37bxO6zW63pGHz11rykficaVbP9yI38/NiUXf229QuqXP3q+P2bP9N'; + '753vHjhq/w2b5wOab7mbO+9Cccntryv3StDt3x8tCQiq/aKaR3H1tt9a7T3qQu7164rXhl67yvZ'; b += - '2XPXRCu9y0/nqfwwd+ELjpJS5P7YqOPlif/8dN5u+39Wzwsdn+41fv/vHT30Dm7xumrzj5U17+K'; + 'VRNOOJd/7A6uXXqhdNbhhr/cXx7dctXgRQfWzRln3rKvd9G5fTNuSq09NdreG1517/Hzi3d0+Wl'; b += - 'nBlwafuH+9Q/Av0nF9WIfewXte+vqO55Suz9X5rfWMBouzepWb+a4iyHdb6rn3y228cXBpxblNe'; + 'd1ShT3LAOEzIXF29T4yu+C569efyLX5+sd/fbqYO6O+sNXTxZz3lvYOOxdUMfn1x1f3jvlacyw+'; b += - 'kzsomuYG9gkd9iVj+cFFE9syft9/FZY3P1Wow+F/zRn1Ks1PANafdtgU6rHtIajKswoX7lqxuKO'; + 'zbbm64VYvXBrXK7Gh+7MfXlLMNKhefPrFk4G0H/t57kXR+j23Lx0GK9EqnT509jwxbHPPRvXc+l'; b += - 'nXv/sqH/pFoev2tizyXe+OP739qn+bWzt91x8KuveidrWnVtlt7uTccvk74Rqs/RX5jS+51B021'; + 'T1oy8TBcbY68+5+4Ijr3b0v1X/phTt36aVu06tPrT89Sds+pbxg3icPLhq/Y//BiHa9p9zQ/MlW'; b += - 'tdcqvP3586GrtAfNDmi4acPrtW/p4L0t5j6hA6e1OM1/bubTquKo9knzLdT3wq9DpRskrP72vbz'; + 'Qa6h67c0nbtYnZ3+y9Jnxr46eFS67a1DX5suNC8c90DzKXN/D7n3uV23bv815Fr152stLxkVT4H'; b += - 'Bw+9khk3O6LT/w+vGAGh/t+civwqavxw2SQqudbT23XtrFvh0SpdfjrwQNf3FuwfysP05W8rv7y'; + 'i3/KN7kWgdweXf7yitPVA9+nGTSf+o+VIW9mARK1s4rS44KWjZ+z/qn/lkciOpelRXcYcjQSDYS'; b += - 'YmsJvbkPp4fcj2vd7k6JfdMxZlvGO98VK97x0YpCT7fH5+RLcZnHLP1+emT9vG/9aq8d9H9U52a'; + 'k+l3J7hCpJHY+WKue+CHXa5C1nu369f3HZt7KlVYPbkm9zPHvz29F3zvtEGTXou/HHN+rhYNkvg'; b += - '5Op7VFpyok5Kk/upr/5+ZbX3HG3m9UEfXKgWN+Dwot47F4bHVjV//cr2l3w6FJytaXsu8YPrwUc'; + '+dmmDKGnDhfVbVj7/gL93z0w+lldUZV5Ua82WbVpC3OQe+1iWxwV9PRU5sMC+3eq82suVulvx22'; b += - '3r3/jvkaZc7/HwmW7+LGLcp69cuvV35rqP8t11H9jfPzztSak1mwTrjP43P/246J9r7eonTti59'; + 'Dh38K1hA3z/8W9X0z49W5Xo+6rin++zC3aFnij2WtG9u+2xPyXHjpthGXwSbLj7Qd2SUbd1qqL7'; b += - 're23Y0fuObYaLP3l8HLKw55dPa3IdfxIdm7Kiw7t7YLT919Dy8eOGF7ZO6rGk0e/WKlHfOHVh3Z'; + 'q524Xqnqe/Knq5dYZi44v7d3xmPW+11pPaXV61YmMijNL6j4WecqiVHVusMFu+n7ez0lDp8ueWp'; b += - '3qNxI+nNdec/3TTr1dupu/t/rH95Phd4TMrzCx/9dDidVkHynvcWbmzoxS5NO57/lRbryP2mMEe'; + '+5K6NNyjdvZ0xJiiho/UluVM+Nj59sNiJhyXbvD40bHz1S9eDU38Pn2Z5M3VS39PvC+qY7ZoWPP'; b += - 'DdM8rl9ZHX/RZ+vs4sieBcYlJ2LaZycH2BeF3dmgs/2S1e/DPRPtX87qvqz/kcsftI9POjLS/OK'; + '750/+NPfRv0zNwjo37Z1P3BG5c2OzRma0irpOS/fVBr25n2I25+PeywrfT72zZNXF04e97w0xcG'; b += - 'ZN170ujpLiR56ft2MM0nHSs7Ueed+k3qf7w1PWhl+Z948m6OScWCdN4t1jvZNhCF1PJccdlyaum'; + 'xTd/q9a3b7WYtHPlxcUJv69LlIc+dPOxtNfPvXD36Yl3j5200Wb/ZdqULU0ijtRuOnbKmoxP5e7'; b += - 'bj8Lfrrnp35UZl97jcyfPGi+devLitz7ID3+8Qp/2RuqJeVPsem+6dzqqz+5pXzVU32x4JuzA8+'; + 'Ntxce/+SmVVWPrR/77RuPb172tw+am7a3q9g6wDbpeKMbrNc6EB+t3wcdWv7M6d9eXn7w2543vn'; b += - 'pV6H/XZ9s3ZPL/U8ksmNBxc6eDzgfYF9w6uXpO7zPvlj9JKhl0yL/7G6lk+/17+1KIqv786PjB6'; + '/xUINHRg2ouq/2qgWjkvq+MGS37c7X6z4yY2Rik0nyqxWhLyw6B5T1nXu5vUP+odY7c3KefvGmr'; b += - 'efe5J9ZMH6LddrRtzq2jkxsnlB8TaGxLXvXyhbvz9jT9bU3JAE1IfINhKfNyd4qhhb94Tts6dNN'; + 'nPicl4tmLNyYKetRW3tTY2MFXtu+rD/gcJ79w8Nv9byQIgrgTB2K9dqun64YOiKvw1p0XnKg9se'; b += - 'Plyu98GlCt5bmSn3mjZLTv+hadXBF74mjSl71bbvsSoqPcWeLKjukUKlb7ZSG2jevfizcrFw879'; + 'usk1J6V18ohHd96c1CGms1b7QuO1s16pnLCm/63j6+y8d/ID52d97Pg8dNndS1d+cP+EibMab/s'; b += - 'ql+V07n3ir7Vzu7mHDtm88BO6jRt+ZW5+Jnxd06OWeC9K6bRvePcRQYeYLr52x7D/yQcQH63sek'; + 'i+sCPr9+ate8xW4uVews///+K+w6wppLu71vSCU0FpGmwAlISehGlC0iTKkUhkIBISDBFQEWCYi'; b += - 'POtmi0L1l4bIe0aPT575rcj5w7dc/ykX722o5+p+W5tD0uftduqz5gnTkv6feGKwVu6D0gy7D31'; + '/YsaBiV8Suq2uviBXsfW241hV7o30z995odN19//u8+z4fPOe5+c2dfmfOnCnnzCTe6QuW+88vy'; b += - 'k+ZeTceQ12qOnnHH6+X3Dzy/67bX4+rPj1ueUwrnE8U/enfLHKJ3e47/Zkl+TFfrtarVh78T3d9'; + 'EpaaX9xUuu+P8b20ftf+88Yes/i5IgPA/p5MjowE+8wVo5ofWt7Tj0mo0Gy7BleSvvg3lBXYxx0'; b += - 'Q0ClcKhg+IcRz4cDJx093LD7j3zA/KaDpoLP+ZMGwAJ6L6+JH1t0Nz+YLt37wNhv4bTeb/XR8Xs'; + 'wu8Zjx1fru74T/2Diq0GFXsYbRgRHh8f/yhtVfXw7nfa+0/q/Fm63TQ4d3hQ6CRW2eSjVic2Tsf'; b += - 'HPvK525c6xnU3vtfg0sOfMb4UB3X4ZemGj7MspeQvJc5M1yb0u3S0p2XNk6L0XD/16bVGFASUZf'; + 'WnXOzPpDcus7A+STn2Igk4J/L2Vy9rKsBwr1VUVRkOc+xeZuF1K/Jn7ng0rsE+tEHvshub8/SR8'; b += - 'p/UWT5im7nbF3X8K/euPnBMtXjvlm3qTJ2xg3upSN+n+22yAro47o+SScfOlmTYDjU83HKa46D3'; + 'LCpZ2eeKytrq5+s2VQ/K7ZL9uXB0wf436Du8p118rVATT/wPuzHsQHl17KMp83dFNb7ORFmfQ/e'; b += - '9VybLvFc5+8P511QGgdH/eCpuf9a+/4BhjUrSfUlN5rfK2l9+beSD2OS515Y2Lbhef0rH8eMrn1'; + 'p4cYXGy2nfmw7JR8fFs02Mb/co5dJPr22QldZcniK4nNUz4VLRTmnMRUzspzWaaIn73auAaBVqx'; b += - 't+aXkwuvzK77pf0UnlDSpvMGouTjzRmSfSbyt3PfW4kCNcO7T5NGRftkx32YEtN448XKNfmHzd9'; + 'sSPo2l5d+7WvshS2pLxhbTf1OJPofrrzi+kyt96iflO2zk+vG12Bx2zw7L9t6QeaQzw8mDQykIe'; b += - 'l/rVr17JmSkWPu+M40vJuwuWL+RUeEpsdU36EXFh6fuOBnjxUzzgz4fXPLkc8urHFq0A6v2pGxL'; + 'EBCxG9txOmiYNO/90rKw2ZcPh3Xx82+64Ls0t23yF93fqlLAPluLF8ddB/JNVd9t1pKL2t36nh/'; b += - '31Vbuf1+v1abPcpMuRf7Lx5+ErHtJl9r93rFlpzb7mf99YasW/Z/Xlhd9aE833GtjifuP3W+heu'; + 'vXXHyy7eOnX245nTNT7ug62D7k1/c3n+4RKPfeiy0xPljQcqDsw/UFDxqyvN818ne1xixwb58c1'; b += - 'DX9h8IiNBuPvE0Zvq+Z3pnz1waNXJX/Ht6y5y3Hh28bLS95cO/jn3RO3Lnrpq5qaXfUKd3QyjLg'; + 'vk+7cmXF93PJG54vmrTsocX9Y9dOSEYSq9j/VP/gGduIb4gY+ds8Ok5h1o9Rk67GJ8X8TKZlzbz'; b += - 'Q9Yz+cQfi0NqjpEPHr7j2x4eLT/7c+tkv75+q/PqATiWvlF8+e0Bk+/W9Dhp6bq/4+uT+4dVG8F'; + '87ilVzqbWY5eOWrlxJlzL27ffgwrUbN1/DsWc5UWseALfr62vvpmyMf2eqvgg0skEy8sTh500Qq'; b += - 'sKvdfPvUUo6xfrYmODrFMx+9LTl25q3Gx6SPqW7OnLujbakVPXWF1JXnK48dcdTzhePt7H93HLE'; + 'zWpkf8tp21eGcHbphWxLabY6f3Ya5z6wBX5D+ICG+aBgTud1yx91oqhm6gCv1zXyduYFh8Xvp+n'; b += - '0JcSgjjoPC4S9evZ/dZ8lKvWk1Gj9w5trFlelxMbL839rWIbBDURCp/r+rqqR8VD1vV8fmhFfa9'; + 'Hh73TR5+Vq/V5BUSapb7MdVxzIX91zZ2/nBx5th2dkv6p903DplMPC5JS5p+ItRNnKVw8Of+gdN'; b += - 'POq1u1O/MR3zXvTCwmVfvTps+NSqO38IPHF1+/OpR9801Fp2xHFsnLz/6wpbv3yrf++FNQ6Nu/f'; + '6vaWjp0jCHi92orXM26mzzyS3t7BqpqHo+EPBtdbuj2NKlbX/OEK6q6DUeW3zdMH+mGtPQbcXqQ'; b += - 'x5eHVvJ52+X4vF4V+mnWzdZNndL76nid1C7PuXav6Rd6wfgfT5v0ijtTcjD24b1W5lp8ov8ge3S'; + '4U0/n6pa/J/6BxW2HaRThZ3AvFvb27cO2dv6fHD39x2vmRlHrBcy1w4NO742cpXKbt8SwyNWSYp'; b += - 'fl+T1uedKxK0jHFvIHs9p37979bPyilSmVTpY0HRd0O319+VapKS3bjjOMKdhl+eS9CcKyL+pHb'; + 'azofmmgMdbzzUO9EOz+Vty+IjL0SPkU5nGBfWyHYN7bduA7utquOpsikdSzYVNnPuG8aUz+6nt9'; b += - 'nvh3jKpzqfG3Vm9SXmzcc3KeWESZz7+9tChFabXurMuNF25Eqd/6/D1Htpdp5txHz77zMizCUPm'; + 'Sf/nv1cdBSImLr27PDTdorYi176kx6rnhzyIg9KWbEuDc3j9kvO7230sszJPHll1vKg53El013x'; b += - '+p9vsHTlypW/vd+5+6Ypv5a823zCsNjvzYvqbVq4uLkmrsWPk093bzXycP+Q6S+vvt+1YFai9nL'; + 'MxnMTuO5+yak5ZTW97N5MLZvk8qXtrc3n56c8qqiPPVQ57NfWjxPKt5q363N6zgq4/CNw3/sP3F'; b += - 'Ep1mhn65sNvGnMa907+5Rfvd7yiSjNvDouowR+47kJx3tfTD/1tCN6cmHhLwYR/DE8pxS9B7sUf'; + 'mNCW3Cr/wfMuLep5eX5IfcOT9b57K82PTPmt6tGZjh4OW0rKJt9s0jP02jujyNyt+YVd8sTZe+4'; b += - 'Bvv+dHpnbDsCYliyok3H3xN8P68g0+7xm7P+jShIz6VZKajF87o+++V98Wu6x4pum6uTc1NbvDb'; + 'gR2be7NP9dflhPasBp1/X9j1yhZY6+tAA224DktIsHpW9NkARv4ad8IP8r3ko6Lq7YDr/dHXviW'; b += - 'brcFjLXpvlsbvOJ3m+kP/flheEZe19cUfhhtLjuw24V79xd1yzhx42mER7bR4qvdT9K6i/IOVVi'; + 'gqKM9rvm3y+bEb7+x5+7HAqNbr9HrjJVir8pPj8KNSi/z0rN1ubulC8x4bV5vTgVSyG6SzlPVPB'; b += - 'Sk8quabsT4lbdej8ut9vfXA85otgx4awXjXafHTj2IXNtR1birqOKLd98N1tY24efev0wf7PXj8'; + '5F/Kv7804L8U2lkcDxot+0f61vbl0993572nrdt0i7m/ImezfOtK3un7u2+L2uI2XafO4MvurSf'; b += - 'Tvelel7diSwqeC/pRc/6PS5U+77ni4qLV83465L37m09qv6zdZ3jc8oRnrsER1G2cQobeuONeg9'; + 'GVTOasAo80Stu1va6SGj13G2BnQ02KrImvXFK3Zt5K3HtH/5OOxfKSvvTCXPBPxOnR8Igxtw8BC'; b += - 'w3DnUf1OHXF+T4ibdHzf0mKLjCqwtfWTh24rRD69fvFkbkeZji/F4zO0K7khG8/d3ylcfa/F7yl'; + 'oLJ4yshZEHjWFagtDSJWaqNhvjuFDSPMtkTKR2GG4ghcUy8uTiVQSyjIMPNYkyoGHlSVF38432f'; b += - 'aXV9nfSxn49+4XOhyyCZWFmm6tVFxUmb/B87v0eJVF7DqwTYieuIiOoPd2j+9CBeu7E3ZOxAa8H'; + 'EUYjFvmFKZr/BydBTJMmFWHLPFSphXWV53KYhsuMJerLAn47KnQgYIJRJ4Zk2TmF90KHliVeZAh'; b += - '82+Z05slXk1coQs9N3L5qPbXPfmLk/K8K7fsGNjn2oBaC7ZlLo7YWKXO6Qb3C98cULz3t4OHP6s'; + 'gzOkUhii6SZ1OFijT/SDy9Alpcnk4ZpcgiPXamkwpHAKzznCWOIFWeq5GIvXkJhokyeq+DFRA7Q'; b += - '584UXp33WPTRpgKP4dOHNKt0mr4xMf3mYD6cUvw+7WadeyP2jpKQfn3NnNNfml1cn+dS/0NvaKK'; + '8gwLkyPNUVJWZDS5SRRnaOcEFCOGyEwC3ORSUFmBngLIbEC/3ycdExjjFxkItRFJi2/wLN13B8I'; b += - 'THNzn7Vux890efvrn1ubtNsvZ39jmmNJ6/V3zc8qTD1pH3zBc+EZ69V1Ky9qUt9y72qnTD77vgc'; + '0Hsi4eHkqiTIHGsmBqqwKL15AdDyIUaES8yQ5uWJJUYxSMkAsJXPhxUsETURWoOApihRKcR4vSy'; b += - 'h2WJ+iXvvzcnqXPL8qp/vE7PjstvbP3Gm/eWbXN7/ufvD4pgfuD6/pHc5eSfub8P9d9vSRj08tN'; + 'XN/HrOHZQWlJn0GSDLL/KHhnFARsAnJuoCapxmyYV54gJQH5oQYrlcKvMC31VE5JJU+uAJqXOAI'; b += - 'lq3wuD/f77Mx4/1GrB5yx/ijT5dJU5p4zY3Tnlu5h1BKh65flQxoH1jydtcKEaZxF7N/2xHgMa5'; + '8Xk9t7Xz+nFUw6DWqyg7YqVfzrrRqkj9KL2Ap0otSNHSl3RksB+dYcAl3AWUC+hLg3czpenGSDh'; b += - 'L1qjfju2uMW//ljkNn2nT89c/jju2+9uOlN/QZYZB7zfauGlqfPLeSdbArw80Ov/2r1En1u9f8+'; + 'aaTukhl4/jHUADkIaCkgNaBYQH5lh0HQ17Ru4Pd70FhPAEoHlCmUwnwIMzPFCmhJCp61Eop44bJ'; b += - 'KiDl+ufOmXaT+FXux/Z6239TdDq2/Ptl+dcnP9pWFt76bOj+s1/fCsiCMz2nx18PzyZlvmhOwc/'; + 'MoYQXq5TJhdlUQTTnp2VynjALHuQTib9+JoSwYqvZCIv4L448KpQiUkmZyIejBOYDdlBJugESBe'; b += - '8P8s5/7Naj5/ogxBceuePk03PLm0JD6dy5Vf2HslM0nuZ0Tj1WrdHVSoZel9f6rexvt/EbT59Ud'; + 'L9QB36gpuFVI3DakXi5DmkkSXFMJDLXPhLyJPAupbzNNaDb6eTNqP+e30bubAgbaQ4E2SMJSQt+'; b += - 'rataW/eODz075qrEc8rBDTAgT5uHkqm7Ed7zuLt755NeJ+25Gl31hS+Hv3dy87XfBwfsbbh/ebl'; + 'G6mjp/+W/UZ9T+uz/3C7+szSusQFNStzJTIFITetXSkLBfUrBx2AwVo1YCBfc1xhhgWQCSX5eeL'; b += - '3hHuOW7VSdqWHZvbt/2H9+n0TQsLfWxyiJVrJB+Q9cw2PK0QeV/153IY8rjbSqzuh25Lfv7pX8u'; + 'RWEKoqdb2yBDMwwIPcysDHgU36/tOGh5m4xf9SdL1MOXfCaRT99y8jn5GPkc/ol4qssc4IY80tA'; b += - '7rN0rib8jrxm3Szxj7zJ0ZkXOq9NlS6eP+LwWvb3yy16G6JZ93nmQ4KDCTOPc+vFuibfPqMuPa5'; + 'hk3iWXasgnuJz5+CTl1aFwQ38JyND3OFz5TyzPPD0fVTJXwmes7oc338VPF16vc/lBiDqe+5Fx/'; b += - 'n7S2uz+k/9o2HXp88d/1jzhq5uP+gC2bh96t+Acu4fQBQ7y4FOejO7MaBmeiuCV0vV96CcOHbu6'; + 'wCkKrrExJdRgYgdZHZeUc2BiA+s9MbB98P8J2+q9Byi1FgdNODq41mAwPnXIlg1L9SB34Iu38Ss'; b += - 'Eg/0oWZBns9IstVMyZZbdpUHZSTlpDGLI3AVKSkZLtamDXXdSaouZ9ts8kCHIzO7Ya1aSRmJgEq'; + '98VuHPpjaKAwmeBszFrO9tpvCBX3Gn3u01xQVhZW+OIG1OCSjt0dXzc+3CQ1bXfv9wTvAt6Nr3K'; b += - 'tATYH4JoxqFI6qSwlu4YtuwatqwZ7snlCWhrcM1NfpnRqK1Nka9InWyWnpXX9/4r7Drioju3/27'; + 'M6mfTXCPrazJTTPSgk2k9F279swNrjwV3O3h2rpgfMz1Z0sa2oLHRZyUC/2dBzzkFdV/7jBsgHl'; b += - 'ayVKWLLgYVkLILC0tVkCIgTaoKCgu7ILLs4hYpiiyKsYBiixUVjV1sscQoauxYMbFXLBiNGtFYo'; + 'OYsAek2UDtq0wtr10/uIAy7DKd5PGMUPWpB57bZPpE/LY1Mz9yxB5iLDq3vHC92tDiuo6f7i6/X'; b += - 'pHyn7n3rqLx5b33efl9/stnuPd778yZcqecmTnnTIkimxaE1fuj/PBDlAUFSkWUPoVQVEqrkIwD'; + 'ZIeHF9Um2TYeiy1IBXu3ODQ2ud416sYYwJTa3auaN32bZQRd2KKsGjR6HlXqdZY4eahy0WjT2hZ'; b += - 'XqFcJqSQKMvWqmR+/JTiVKUqX81PiB3cxTPMDJSHoa2T6FOTKsvqmhKQjQQyMSlwM0xNJwV6CqG'; + 'z4o7HDrnZEXhRPC+MXzOw3Yuzesn/SORLLzVdj5U50mT7rfY6Bfi+nwp6bJAzf4RD8QRM8a2DGi'; b += - 'SAf1+GnVCaEJwbCjUcKMsjUH5t0+EuPQeKFr8Aq1ckweNr0D1SLUfPyQ+GVBUa2V8eV6+TF6SoJ'; + 'Mbmf6PjAxPSlryOKPw/M20OTrrjtGB749mhj49PMcKOtby2HNi4MN6/MX6OyrA+fLcyalCPHI95'; b += - 'EPlimoVPjxU0EVURap+eoStUZWwM/RKrI/yGSD3II8Uz5DlIUlg6DBFZAQ8InJsoBajDkqSYGsC'; + '/7v8Uj/KIkH8qf3g8QxoxoNlTb1/rygjTUXUXbA5ci1i+0CtYWaMbKVreuLFumn+kz8k7V/c6FE'; b += - 'JSHPoRMpVIo/cB3lZKppBQU+BJadm+cjNoG/PA5/fia0VAzEtRdmeYv8mm06Hxfev8Lqre40qoy'; + 'RyPedPz/lSE7ku4M7HUosHkbPnXVatXGUctevX0I7TwsOjDDvpvbi6pTTKeJHhurPmv0SltF9pO'; b += - '9rRpCFckuPEA6CU8hfRLqEMDxQJ+H2WCnBlF7eQuAdcC4AYAZwefAXdhpAkSXHkQBH1BrAL3WuD'; + 'LTyedSiQxMe7A6yii5x7H2rZ0V8dFrzq0FNLVOjzZe6zTX67XB0RiDt02Kj99Gj4+m/oCm2g/Li'; b += - 'CgLsDK71EAdMhyc6WqaHFoaTRKplEyo9WZkvk/ESNUiXJpTPCl2pJ6Ualii/JgcJ3UtmHz4QgSV'; + 'jxneL0wfVGfrkmBaMW/QKNcjG+/uPzVIcmTwGR1jJObka4eDM81dYjw3782Td8uJOZlkw9bPXR5'; b += - '02O5P/BzFFtUZKKb6S6XCXw3TABvo0w4TcLX9Di+VCXVe6xGGxIkmqPMp4j3o0SGU+vJPw5bCsV'; + 'jef1X8dOVl2J6RFofWjWNFbtJ+Gbz9M39YrnFiX+Y2Ctio1I3PRnyaV1s5o7rGaoPd2K75J8cwt'; b += - 'Xy9Bd/0TBNKzPh/1g1RSYoyxsmyQcKmZVJWdLfQIqP/VHmm/h+XZ4Dk0/JM7SJMBfUZs+VKNanL'; + '7bIa5nuOeuacMGxDksn7Rys39xXPGxeT03hW6PS333Wdr59u9xihF7pnaZaxH/JHiH8dtbg+JXd'; b += - 'qxinzAclq4LNQA1qNejAPqQ4SwYzIFUpCwtl0ig12dIdnZDbgDbUwflFAiUKgjuOgJq32eL5QCp'; + 'k6/3RQzMf50l8JLGx/vi+/fsY/oTP7reL3rrj5tZ3smdIgcf9bHNyXhjMHF5b1YsxPa5tUO4Ied'; b += - 'HDkHUdTh1DaqhrtOOUNcxb8mrrtINbtwj582yyWvllYXkVXb2LLzyM+owuNH/aFyEGF5XzbcpAN'; + 'SPDx2pO0v/JLQlaPjnver+Anqv8w6aU4LUq892Rpk37rosTp246+t+nXkNg0xFmxM4I2ONcVmWU'; b += - 'egB7WCVeA6u+fRhsvgKur7Op8XgujuiEuOBIcgdVenpIrGhSCNsbkFhzaFIIFzMluG3Q0Jqt5Vb'; + 'l9Bx8wh95l/OrbPA+G7XHg0urBtu6VNXerLs+2NUvpNCwWS/piLX982epAUmv5Z/W9HQpTNpUPl'; b += - 'LfVPDS+9d7lFpshoXMvxTCbnutC30TdPYG57grduexaSUjx49A5mKOLcxU/zAv3+P7V5qQwrLKj'; + 'Lf0W9z0lnT6pwDTx4k9a/qdPzFSpPkqDrT9+umRSQ7WfI/hxSMSx7bY4y7udHu5GX2KfSMmy+Sx'; b += - 'Zey16WEVZr3cH/b7Mcz+yi9/3hG+CntcXec7fIBTuMM29rTWmRnhlgrGrl175oXXngzvfX9tYzg'; + '7UMDihmdUtZ5e04r3JqQsp0jvevAfbTUyp+Px4bVnkkxYf3y5NU/ENKxPqH3VzK+qTyQ8/Pr3IS'; b += - '+4erjpec7wifFnFBJBnkOvs8vaXpnNnqwbV5qyB7L5YO3r7RwvnDu58F2UbWvpk5iRaxJP/LCKT'; + 'po655bcvpGR+akpMh2dmd0+nFikGXsw/gwxJjP6NEdHmMiSvcX7IPZ/hQ45vHmJfk1U1RGW2yyN'; b += - 'sw4qG1jfjPkaoISd2do8Wv10aUNFq9ufzdzYjosqbhx1tNI5enhzz/Pj888rhn0tM1zAmR6XU7d'; + 'RfXlIB+EDRl4Ve+jGMRE9Amm+Q6/eSrePpyuHnu3wa2E1Y8PQksTHxvEhd4duWRDt4DqjY1rK/s'; b += - '/Sr3B6pblxZJ3zwILLG7xR74ijbqCXSiceMbIdG/dh+a9zPkilRgrJvug/euzdqgOKWXL7zedS5'; + 'aicfkhafLnQzqvmj42rfcOr6ZHJjvSXqexc+/eeZz2x+4zQYlXLNPfxSyflrAmJn1b70kONZGTQ'; b += - 'k92nTb3rMCS4zXrMr9YjhmwIjL8njJ89pFtMy4gB0qNDUjOXvYgpezekYA+hWHnTPTr05eGWll+'; + 'O+w9krsdiAdq0gqG+n6Jv1Yi6zn5aO9hO+azzhMUaQKC4v7H3Ctmy28mlpuF+BVK+S67Ph4qa5Z'; b += - 'zo823vbQb1bIo2ra2cI3Wril6jiRnap4Kj3n9buCveJxPjOptzf2jWYqYwe99jfa1r4qxLm38yW'; + 'OAlpGFU2RJCxASlb9GinOOMy8qi9S7clGWW8prTY9w0Za548c1/vRM+sX/koKKbEK/PIhC25c8v'; b += - 'n/lZgVi/zCNfWGsdIVLZsaqwbFBp64dXmvW1Esz/eb6rw/62PXhdz6o6LHvdg58y9qV31rEbfrh'; + 'zM52ylwQX7lid2ebrPzjh3o3M5cNsPrraGYhqj75VBrgHigp38GM6BRWJEu7tz0pasEXkxnW79/'; b += - '8huVdHRcabdjZ5e3loRZ7HYdN0Z291xaZ2Xzh9c9SRu8cEp974Ps48vd+93o8/C5PiM98+HtrbN'; + 'HAQ1FAecB11abO4k6KuMhL1yPFL06+MygbMF785LPASGy6RywsHJt8sOtLsY9O+aerl7plcc9v/'; b += - 'iLdd5j3P/PaP8VmhxNsl5q/jxyczdqNpzkMLko+Y3i3OHNroLEqxXjh/aKnXoU3NDSeHyg8NO21'; + '+Xs5MSs8tK0xvbhM7I+b9338m7G0SyPpcOfVTR/yJoYSH9UvNcu+3JY9y0z3wmzp1i+SN4+YkH2'; b += - 'ggSSceOF2YJatKMF3y94CVe+8hBPDnTjG+SsS7K7+IPt11YUEh1jHg99WsRM3S37fUr1lQCKvLP'; + '8x7rXnfRO5vdsYCVeGkyOuzavNN2rOeuw3S9Wt1Pi3OHhQS2ZSzrumJY8pUDzROyrwzbFrZpVPY'; b += - 'U3S1d1Ylz65kcj365LzN5xNUv75lZiz8ITIzl7zZL6RPvuqho9OMltxdRVWwaVJZUdmd9nc+R3S'; + 'RTs6WyJqae3t8c5Izrl3r/FiZ89rrnO5dXnXO1cCqYdPi7uVwE+r8N+d0Gl6eO+qSaVnocAUjKY'; b += - 'emv3imsbv6SpB67Z0bPeT2SH4XvsHh5Y2jyKqvMm60JXyef6ll8YdPDfckDu/WXni58kWx01Suw'; + 'T3qGQ4a7W7vUvTjuGcGRM80OdPhoe/WjvxSM+uufwE63cLC2Jz9+U6CUriJ+dWM0pafxt+MNdWJ'; b += - '40yfFLPYyWcCg9JSTpv8vKIve05Kx/zjgwVRx1IC/fYMb6j9MyXHodue1ysFqbrfLPuqT0lT7zx'; + 'Bt6Bnub6+qj4zb2WG/JOO7MY0N2DpFcOOmxeO+sOZLaz7W+T11OStz3fJrVHWuVdFcs8Uqwcsp7'; b += - 'a1mrcvji1evvh104Dzqe2jvRU74whhuV7IbPtJb7Djg1CXuX9oBy2z0nnc+/Ct8OcRXXHrzdeHe'; + 'HuV/auOGrLzfH87ZZxxXmZd/3tt15s4LedyjU49us2JIy+X2zl2qvaWLslvuxoSNkJaUNlc8rlw'; b += - 'YVHFFs+t5o+CFH1yeP00OGv1C9XdNHVDx8c804Y/fgLcPPWG/M2//o3vCBdd2PPl1lOSKu0fr1u'; + 'jvSv8UmxFuyW1K97/ct4DA9nIylxbL/Mg2bzxjF2sjFEynw49RgQVb5WdNc47t6CyUVaSWqfef8'; b += - 'qqYER52gncRRZNGTHSYILY1/37Ectc0Rtb1pyMmtQ0LKWP3TvvW331+7YyUtGqu/w8hrtVpC385'; + 'w0v96zuCHeLDo/YHJl4HNeWX5c9TGjXja/5j+d57JEpmjKNwQz557ru49I6OQncJwzeERu0uzWv'; b += - 'mhhVeygtkL/7UTr+Ji1m/f3eosr+6YLIc9/UeUjSJ9wI3hdR/k16WoLZY5vmU+kl6iE/F55GRqb'; + 'b/MHPHw2qjfXJyOjbg9w9T4aNvHEbGvly+Rt9nLL38IWME8lCGf8m7elFPSCvlGwZfno8POyXXS'; b += - 'G32bGdIhGFrR8E3EncMzIo1tGutbn1I3U2uzySdVdHGkmuccsqOOM2jQhxiGUCBp1+UamazJDM+'; + 'xihmRGKKcyNTGvgP3BSlcXLagcUSRYPyZLdf7q1Q0GKKNj4cfFUxcW3iAosmHWWnug93Rqj8lJ1'; b += - 'qM2Q/FG5kbRpWnPrRIjmgetXVBvJvXzG4ZaQ0tJZMKIzJUT0ZafVs9MaPfDr/WB5Y7Ml5kcPKbb'; + 'HKePPX1Qply288Kx0wEZlZvtRp23c+8q+hxQld6KMVDpbou9eXhWmys6boyNeq1YdZhVEttXvVL'; b += - 'z3M+O3702Gpl+wyXyWsqEpZk5C5vd9Ut/rYqaB1OPql9t6fiS0cXjnO6/fMI23KPhcP95W8en/a'; + '0+3elBK/5MdbUtfNNYf97I6f2qBneJjRvpGFn38lH2lJH7hKOG3z1yaKRR8fSVfW68HZlc6ThtZ'; b += - 'bbo6XVJcNnC/V+McyeX0GpcQv+MSnmjHHxca30umIudLK0cKszYglYsf7JRlXUQedPbsvTSrkt+'; + 'L11Qf74Zvs4PK2gl9OByk4Zcwu2jn1xbJFXXUHqsscuvqFtBZ+PGljV/eFUuOdtnI3XhuzCNfzq'; b += - 'akfj6fNaaR4/F6z0Y2U2rHoQllPtlH5qyNX9eTWG2R+7S8OIdq7M7ggYNS7lzLXvFaKc/vFxMpM'; + 'HZPnLi3MHhqW7zrmYiH6IfWsvzmzaJyzsqTjg75Fgqr1juG68iKfujney2etLYoYVcA56XK7KL9'; b += - 'cPv9SEiEOlxTsECd3DSqQpdxpyhi/YKvXmed/5Y/99aUhNyFXtZitZd3VS7IWrsbKnJ16ZVA6eL'; + 'malZLleGo6Yn2am928CjZJo/0qdNGjxJLuo9xc982qmSAnTltwqNRQ5M+WgX9bjb6VoWX6/P66N'; b += - 'Hv0Tmgus94jkxRPHHGg1zNZoEHN28sXeufwzn23+8y01JyaioyWzjEzc95t2/esOetwjs+yMY8X'; + 'EXfaZgv+MTRgfP6DP+buDe0eEezdt0cl+NTmOMWnZ+Qo8xHyZ1DvZflzTmS1x97hTWrDEetsdqN'; b += - 'vn+T83Uo40HZXpfci1FfbZ31SpI73e7piO/GLsh94rDuRU+jM7nditipF6aho6/MP+XCfuI12tC'; + '3KOjzn5TrEnQffzmE+vZ2XVRDsWe1eYHc6dk1nM8bHayihYWBw+3Sa1bt754q0fF3m2WuBjK1XI'; b += - 'vXXxKlj86IrQja3mvlaNHXNr/fkrupdHbozaX5h7i5m2Nra+/sycob0TWlStWDzV5L/zOGjbzN+'; + '5L6N7mPxuUj1wDt5Yx+k+IZFVa8ce1PeYPEw7trYWeW0RnNb3ZK9N8ZJB3n5l9jM6n76Ud3IEmd'; b += - 'ZdDq0bXZV0J4+X0jhoS173MTX5pResKyPHqJnDI/gPysewV4tdRa07xnBnTvFBnzwaE/187deH+'; + 'lTd+uo2tKquqeT3h79n7Jv3Skj7zaAgppEgNCdn3OIic3Q7VkzDR4HBke9PtnNqP+TVsA0Giuvc'; b += - 'vTKF6Q4vlpUlJi/L99DWJ48LX8js7z99pgD+c5S5ajT2Mt8r0AD74lH+skn8WYdGblzpPynEz5L'; + 'CB7+BJ6s1BAZnI+DEJuRgAT+7CY+IaXIuSx8o1+ApKzsE0+AxK6h9rcD11zF2DoX2BnsShy7//g'; b += - '9s6eKz/+7njQr6ITcvGet7O/wtrlX6mX+qXYexQ8iRt0ctOGnIJf7s/dZ5FUW1B4zt9r1s6fCni'; + '1K/X+MtIDWD336T74AfUztoIlmLk7PC9n/4h1D3PrPYlANHh6urp//XAf7T+//Pf/+XCd9C2b8/'; b += - 'HZxzebs9U1KhcPXtu9Fcszm1rTogaqyiveL/wYe0aRbPkzzJ74obCpazh2fx7JspxtfnOfrZhyv'; + '4Tsu+37Cl6FlHAJ+H9F/aRxC/D80DqHO/944xH/f4ZVyx3x4VlcuhfHfzicnlW10suNoYystzGF'; b += - 'mTmbvYWaXKQDOHsWFl25RnLArOLqhtUZanN+oajlgXNvmWnU+2iS8MmVYb+oRfWZi08Yh5X6cfC'; + '8/x5iq58aHyCsDuQo4MKdPC0DahOC9K2l4oI0iVhqoylPO43U/NLEN41GGX0SKnkSaD+alymTqP'; b += - 'n+dL1qqVLcWmoKZc5/1X41N6R4sdJ87bGz+8Dnte3fPGnv/SultkceRsTdnWlsc7vhjbOKLFUtV'; + 'K+XTjxE+so50aQxlFujSCNo3zvVaqSSL43pvIJ+Pv3rsz5OUcimgeoWJ6c1FmuoHSWNXgJ1QY1e'; b += - 'Ha6qi29CVrIOZqmmv5o//aRioWqT8M8n46POqgwyJqhnxmLqs+PSzgvueasrklTE/iVy9XnNid6'; + 'OUP7zdSRvo0eAvFoKgLFb5aU78sJ8tOmpz+ZmT9hZzUX/3R/DpNQa6AqqQ5X2OxUJD692KpKo8P'; b += - '776xUEwklm+4Pu6z+em3qgh6tBprujW9ujdUGa6xKNcnnftZqli/66XHF4E2a7M7DHtt5dzUBB9'; + 'fsP+kCfMR/qC3zhMk1IaDlGQiwOaOMm8IMhgBZkHchAguX0+FSeVDmEIsExBrrQSmsiEVQsEWUi'; b += - 'Xlt+LMtQZb45svfhulzS2YayBbq9P+yC6K7WjaqX1xqvu9dvyx9nJH9OaJg/jjqgfUDeuZmDTOP'; + '5Ubq8SA3A8CKPb/q56en7FeR3Pakg7QNkSWSgPwLfhCU5Xvp1BakdpnlP3UHCg4PUJ+DG1nqXIZ'; b += - 'bbx2YPc6eP2SUrHNB86OM68rHpV/2svx42oda8a1+RYVDj5vWsSnlHU12N/bfeseUXbJj49stiv'; + 'NJxPAUP7RHoPz+HRiroMIwwleSebADjcUX/Ma0/Gie6XApJf0bTlWSxtE0+F9sW0SzEri5UGZvq'; b += - 'sSh9+UNRUGRH0bvDJvaNv3kU73mZ5OS3Ibd4jWDjjmnzlhXnjooq9JrwczH6Jv3MIFtWySRPTXm'; + 'EEaNGgwZIPKzRdKczKRMUpS/eEFi9SwFFLa0UJehgw0xQKxRl0afj8tg4wyypD5CC03+f+Av/RV'; b += - '3ewElwrr17tGGqpLAxrn+K2avLYkpLeKeEN0sKayfkdNWZ1paneqq8+eElyo3+2TOqBpfKpN/Nc'; + 'kf17HcVPNHgHxW+0sfZ7d4of/EuaFUKF2M0lTZKTPYywmkDdDkEp551VkeO0N2UEUIP7/oB9KKy'; b += - 'FbvL20fLCLLTHlQemo4X/Yh/1iM/7GQj+vJ03x438OnI79gk8ZHz6z/+Tm0L3jo33ebzfIfz4+g'; + 'tkx5IaSNC3a8B1NVLodRuBORz4dRiYCS1YBdNXd0VAw3LQIN8lAFHaLQxkTJ+Bw02JlOCVobWGA'; b += - '1m6/NwUhwlvplqFD1o3fMKfSU3509mzJ/g4Hzm+iXt0wolX6j0phu8mvH0xO6c+3r3Mf6HNj/lz'; + 'XHGWijAn5LqPeeA9feoO4bPDYO+y71jbW/rZyyZQB5gwpuTQOCV7EVAiqiroviUwafnCjDSRqDS'; b += - 's8u4gfbbmEWLyqKrndIb558r2/bHYt/2HvjEWi0yLaBFPBGfh2wccqtg4r20oKi4jasmXled73E'; + 'dDokTtlMMaTMrLlqFUfET/UTyRlSFODB1C2P3x8EL8DTUAkiu6H9EP6kzb7vLz7+misq3yVc0gB'; b += - '/6crE2TVEi62zYfnea5MUQ/0GlTvN/urUg8Zx5Z6a+oBe4+vL6xqfTHl55m75PyTWRx0vASVq80'; + 'xsCwQ8dORsYmnaGOF9IfMTO3sOzSlWfVrXuPnr16W9vY9rGzd3CE5v8Qvzmv4UkOC12OJtFRlKq'; b += - '1IOxJP2NTkJqcLj5kLlQ+gyPd/Z4fon9Rbh8ZVXYVuAjdfSs8NMshkwkPk1GIAlACG4uZ6fBylx'; + 'xBo/+AY/5ARdT+B9ItEQFaqRi7YrUdh9NpVX8g/tYQCUIpQf+fzDdox22FDY+Ypma2MVCQorIHY'; b += - 'NP1+BJKzcH0+DRKSdLqcRMtLq/HUBe+Dyl4+fc/yPUHt1wHXDO4D552E9zMMNMTWYtTs8LO//KH'; + 'QfV45zZI6kbQ6xyBEOpgVyqLOjGJaTR0r5s0A4e0qVyIZg1lAdPFsmJ64YIIYwGXFXFPlTpYTsM'; b += - '0McYszn0A64Bz9DI+F8H+Hfv/z///pMJn5Xyn5/whSo/nfCN6WLIABpZkv+PhgwK/g8NGSCF//A'; + 'U+cJ5MXfRN8eGKpCLpngYyrvhkV+2r0hLgSSi5X5QNH0GVVUJwCQztx44OMJ5FJszXjNYxBKswT'; b += - 'BAYC0eyGU1VUpIP30QmpS2cGgGk5XbN8Fc5mfvofY/ouK8qSGfJ4aLtypMrKgBiCI31EhK8qQyx'; + 'Q/c8obQICgC5iky5TKGwF4lHQutL0AVyXjnhUQTEfmiBRFwozlQpiYszYBy8DJWiSC5WyFTyTBI'; b += - 'RO+vx0EpQ+p55eFUHp6kJNSjm0M8zPVsq1BR+P6viCJY+YsZQhj7SxlCbXp14VWrn8U8MfxcCf3'; + 'QrkRyUMqEiNpKGqGSKYVAOMgE3EwsUojFufAzg2KAX1/jkwJJlVr+VwDplKxGQqUJ7l6BwquUmi'; b += - 'T+nc/vFHomsHtAAw1hKx3ghrWOsx0vpOqjHqz57v4k2/KbHW+kOijbk/8GCd5KKyjtlyvijYW+5'; + 'LAyzq+MwsDb46ARQLVrhSC+KRiJbkRBXM0TCgVSbSzI5HJ8mHx4FVbcMsRVp8EqtjzrMUO2Q48R'; b += - 'itI5/dzkd6WKWgHVKvI+UKlVUYcxyBTagm0qSrq9QFKINKgoCXe9om+jiloc0NOk0oIgV+k0UIM'; + 'VEeUQPQnw2c9NjLpJIinlYMILAmryBrOao8MiLwxYhNK6iZVZQDdze+uhN7Ht/gt+9WIFNJRDzC'; b += - 'A1ds/p2nS8ZDG5Qg1tdJKag+TFhgQxIp+RuvfIi4Aw8MpPurUZmYGqKnvOlhNqTnkyJWgPQLfpH'; + 'xAtluVUogWkWgfoCn0+RIZeBF7z8nHyxplQiWYFUKBLBOzyI5L7uD2occ0DlKsTwVaZMKiXaD/U'; b += - 'UyfuYwNaVlpn9Pn97Ch0r9xeAZp8u7LKVSLoPS/tCY/GfvwFgFlXyRbXQaXEBl+RHcY1386K+Zc'; + 'DpijMIJqOJjaVFCQHBAEQfpgMtBctrBUIxCtWfoezQBIiUIy8HOIKMZ5ILAUTDqoMMO0sKI0SXS'; b += - 'Ckl8yO+qaaMQenxP1i3yGol9BbRJlroQRpUaDBkg8ItlCjyspE2NaUm8ZRNGZKT0BrNEn6WElTF'; + 'cX1DTZL1GKxkEGSlm8K9AaFOGdegOB7ygFvGzj+75cBmiC1mQC3nrGs5ZRRo54Npr+aVFMCjK9i'; b += - 'IplexRluS3Yx8gePxCoGrqTLs9L/g/6lQUO173V0f6LHO+j+pivu+l5M9wf/kHaFRC3zFmXI83J'; + 'ylDR1R9aoboAq0JxKSf92fwM0cGe296MWlI6BmlEE1trOaDMZ6QjcCkitjynl5M3pq2vJgUZDTh'; b += - 'Hk1YO6FMJaCW/aC01TvvThuX0OOAzHEjj4M90ycMQSodsMH0oTSSt6Qj7OTjuxNBHaMF8xdPHZ8'; + 'mnHqphqlCLTfLJk8jxisySwD99PFpKBoTZnF0JRtCnWL27Qf3KdTN6DM/Em+FUXSTEcZkCChVe6'; b += - 'HdikSEWoRNphdHU+mFPGgEEBqxgt8VannAuKX0wnHOZ4zYmC5jGByH4OEkUOOiELixcMGVtj0A+'; + 'xBoRCeAM1KGhjOPjA5sYjzY5o7lWErUYuhla3oGWbPJVSXPjTFORi4h3J20aBeKGl6dmUSQmSbf'; b += - 'wYtXQe6fvvSLoadPGjjiyLaKJF3F0M/vrQhKfcu5RHzWfnE0kbi9HgwbaciMBAJ3v8MsETxA5AB'; + 'GIuRXZvr/ez0IxXQSpGUsakDkylhSef0yFCAyivzeWNBoV//3OIRDM4F070AwcIZTxhslkoKfLZ'; b += - 'yECRl7fYx9fPP0BvROMjn0MxMCamZt26m1tYWkFdMWQgYmPbw65nL759768c+vTt5+jk3N/F1c1'; + 'Xlwaxm65BJfhtjPY5UYEAPsj2l89Qdv5Sgh62aS5lYMCvth1K0XFPbFSKva2m2wnBpvNO13FlUX'; b += - 'dIPTwRILnPgd0640MufpIS2mLino8/jM84TNcRuP/gqMlaei5Yhh+InDlsGKQS8jkDhP5Lx9UzA'; + 'BhSeA2juD37gLVfzKTdNO1wAy/mNrQcAsVCWRzUS7T5QQfjTGj+i4MgRpVJGZUUQVf+dlcnQb2O'; b += - 'k0Y4AilL52AW0BakKXhlcBKwvwG6eGhuKRT+hPAm5yF4alkqRRoFSV8El+geJQPtiyp4dh+HUpQ'; + 'CHzUmhAOeEieThcu+2h8JpsYD4BoBhoNwOBoEyImrAQOJ4QA8yAEg6OsAAMP4A44fQ7F/+Bu6wZ'; b += - 'wbmJdSA8PnqMhkY1H5RCXVaT/Knq+Ggs4HnDEAzPGRHwx+tVObzockWuF0Cn+TDnphao04HNERf'; + 'gh7w/+yioHQdYfRHH+SJkylmL51E5vMJg2JkJGnwz4PDSXLAJloTIWCLi8xkYKZPKxkLVHklwLJ'; b += - 'iOODPxDPIuAHKpZOpdXt9TgYowZAPQ7CKNWrrnmeQn83fXl9TdMxoTFUuZ/+mZ8ZtKr9hC7MWTX'; + 'hBC8PVvSYUDdh0DshoFmPU310ANywWJB0G+HKrw03b7BhIhJ/aHBfUjOUYQwYD9CQYcDfgvlXYg'; b += - 'M50dbXSGgq1MWkCP2p2U+k/QHTwvLVarghlkcPPMoTquJy4khi/4TK1+RYNhRqbSFAAWrcrWQbY'; + 'YL9+gNPCwBrOC3GoFEjPwDFAw3MDvrJLP5LlUhHEf+OwIYDjasFvIWIgv9WGBLuN/spuAwluC1I'; b += - 'wGfVOSUhmtVOTSWljh4KsoJAUy8DRGoiiJBvyvOkRFmlEMlY0DczBwkUihGZSwYlm2VgM312CYQ'; + 'Lhlz223CiUBESS5ZKQnUX7X1pYSZhrpTs3Ij7OAPCQNife7nCsUCoAMK/g6OWqAG3xnMVjt86fz'; b += - 'Vp1SYJMrdSqssl7+AxShlwzvKe2xoZqlRpJWHE26Jvh3qEmUSbLhxTo3YtwwAqlqvI0shEylRKa'; + 'oI70bxFzY5sbOHQ/W3sy9klvKE5HiQATosYDWAB36/Xb4exONB9RnNDWUGFGluKNOl+IsR1fd0q'; b += - 'PJSCvNAJC5VoJPRtpKJQq0nUSOSyWJkGbpvBCCIkCqm8S1TRSmVhAkhqnEJe8vFpKLlTCkoGRB5'; + 'N9GlBCsR/ntRQnQppRVay6VNw4Vnwn1To+KsxPVL80pNwPK7IkRlYYx5U+Hin/TGAOkEtBUQKMA'; b += - 'WUKgpiVQHd332EaQqtXLpIJjRYDmsOyVhxaCw1INUynyZIj6vUB93qLJIESyVqmBg/W4jxJEKMC'; + 'DQeUCCgIkAcgW0BGgNiA2kYbIE8BXQZ0AtBuQKsBjQUUDMgekDEgDiAU0MdRBshjQA2AdgPaAKg'; b += - 'KAhyFKhYL8AvQNaAXBWeRnpQkkKwB5wE6AcBFKtaYL/BgClKxM0xXmaNUyabxMVZBHWrcMlSnyy'; + 'S0GRAakBiQImABgASALIAZAioGYx7LwE9BNRQRC4eaOpSn6IOWmaA2NR7HapedLWeXK1voEeVX1'; b += - 'AINh3ysslCmopqbWku29BytnKxv+pNTjGmnPzmFR9d1E/rkCS5twEZ/5dH+zOjTmyzoZwZ0PebQ'; + 'PfLCqsDkWa+uVq3TKnR2F9qr40fjV1SKd+m4NvrgPoS6kB8hzQbUCnAf0KaBOg1YDmAZoCqASQH'; b += - '9wa0tUoe7czo9/oTn4xpJXG9X0P6yqDvlRNMkAzgYoEbCJwAuJ7AGQKHAvd2vAnyCLhbwF0A7jh'; + 'NAwQCmAogD1A2QHqAsgFqAWtQHyGtBTQPcAXQF0GtAOQOsALQE0BVApIAWgbECDAQUB8gL0BPB4'; b += - 'wDcBtBe5b4OYCpwNOBVw6cPHAhQEXCJwIOCfgegLHAu59qQnSCtwt4C4BdwK4fcDVA7cYuFnABQ'; + 'e/DsBsgSkAGghVp8dxG0iwEXlLT6y88WP392D3fNBNKQ4awJ5DjCxch6EPIoeYAYruCdA/9xJZT'; b += - 'BXAdw44MYCJ4XPu7S/GmjJEbg5XfqUL03svnTOJ3sidRLX0zKqP+FhVDlI+DlKVQFgTMhuC9ro/'; + 'Ik/bi55/zkpUHzXtYTCTHzgyMNAL456kP4McSIJT38+Hx/7SqIFXlOYpyitKIJSCirwtBfFbUBJ'; b += - 'bezPDJNXSd2f01LTgFUgS6eSPWhWRhlkOivkyLQLuUaCX9AIF/wF44JcN/u0rySDJK9Jed8+wE9'; + 'u4sYXCkRTGqL5UB2UMJkgTvPDVxRF1GRhB7QUocvS5DjLPFVTHEdmbid2JMpQ21UxI8cuzf0lD/'; b += - 'e5p5gHVAj2NpjNEDayPcbQMcKx+8CDLEEV0l6EldhShy+IkBMt8LFMch5e9fU3ZjK1rrp6QFF7g'; + 'F7MOIrodES7Dj8k+sND+kfFupvviDMRnRG/WTPBq15ov/kO7EV38VYPI33HRmX3F+/rL7Fu047f'; b += - '+I5Dgxg4waHZDe405KP3NR/HbwnXXX5H7PVZI8FP4qi864Bs3zuJmvN3H3Ni9RfPV09dNF9g3ia'; + '3Hpuv2mJ81q8V9enkRjidx36Xs1BxzgsTJl06aB8+Y3rkxyNOtRG/5abLw2r178+/4p0xPZeW7N'; b += - 'PXt51tsC73XIv37fVrLDwdthPKPnHRCW6L0qZeOKBace3qVHdzs+Pxt/MLFVFNxle/uaQY+13fb'; + 'qN/VwM7JMvuTfVy+uPfOwIv6sSdNn8Rvr/fEfT95W3/5D+u580+20j7F05KfVkyVROonExAIMHI'; b += - 'TnHNzt4m9uNuDAowCipM/tHdfIZy9Z3st8dG5L/OHFTd/M3xatzrTcz/khkIF8snhy5xkMqI5lL'; + 'yLHEVgOJPBRZg/V7XIIQ+KVP14fGT1JANiUq+i+sJPPedIVQrCN/LV/8i/8Q8tWEDvGr8Ffxc3y'; b += - '2CmXuEtBt6aEDOZfi1rqVgCNFw3gA7ZGZ0IyLFq6LXzRc55Cq6Z8f/A/7m/8Qw1d0jvtt+jvaIO'; + 'IhD5jAxmGyI0sB0wZoMbgOXkBVA4oDXGGjiKfy/xqNQZVhT2daOSBNP0V/GA6bN5LQbNsMIv8GE'; b += - 'EuGWPlmXny6QZEqnUkQruBKfHajDykGZ/aTrF/ykdtTbLkU72J4RoOiX/kk6WlrZcB6thTPAw0r'; + 'hfLA0AGhcbFaZR9FhdfgI1Sb0+DP1MKOBn+heIwGo5SxJQ3moN/Hp/MD5v6AdX/Aej/ggSgpF2q'; b += - 'ZzaOTgyKTELnkvpcPr8SG6zunxO5pp1eM/6T5Gj1HaIIUec9FP6Rl8hnmfYcPPsNFneAhK8Qd6L'; + 'wGP0+/REoaQz067dEv8/veCp/8O9ukJkPXm/2+5Hms20Qn65dfNKkLX/j7ebLBI66vf9gy7aC9g'; b += - 'EM/jX8sShkm+/At0U/TO5lOX3OYTSDeZPPLofdnOuDrU8eXnLDsKNx08/1FEsfdbDjQtr2o8837'; + '/NtwnMvZrr1zQ74aBhSyOB+7aUzNrUtWGGXcsLAo9fHC+wTh10KbjlHYF3nVq7qbxmxFJhSwuBz'; b += - 'myTmXc4Pbp2TcsC0rYXEAW3lszf3Oj/Tpe0piScvSRY6pg+9EN72isS7Tq7dXFM/dpmkrY3Ep6u'; + '0x72b2gW+Wz0S20dojzYgt9Z4ee3byghUvgxPO/DCnq0HfctpZOBHZPaI5wm2dw9EyLBYGjFoZ4'; b += - 'efVXUu/bx+DaiE+KCxOKgOZFntixo45E49dzukSVmAZO2t3UnsTjlfYz3fJPDp9t6kDhuUYSP8v'; + 'yJ4tmPV7Sw8Cn/Qa1/PMBOU1pNWOwO8qDlWcq59YZd7qQuBHNbYmCzkuTa6tfQk8c7urbXO2x/b'; b += - 'GC2b+0OZD4hN+kPqenaK4g7S4kfrXw4MKzTV/X2baLSPyg3tlyEVfU6tUeQOJZ33k5v8/1+S6+P'; + 'o1kACe/evvXj3cl1Zbms4gfeeu2TWO/DOiQmtcQRecKrnvvPLc+dWtaYSuGxNRnEPSc2tva0iAn'; b += - 'ZTE/gOP/9x8sbEyvz2axHvPXrDpF3rr2JT2JBIvONln37kV+fPq2tNJXLkmq8xBXn9jb7uUxG+u'; + '+4maY7OGvjqiutEgL3en3st7mfHrxtalUSeI+6vXr9pl27OG1jCDwtbIyEnpYxqWdbGYFj+Udc0'; b += - 'ZxgOy9n07aV2OYn7vjhye97bey9b2zUk3qPr3Lh+865d3I4JJK6KmiBnZGRN7dNRSeJEwSFRZmf'; + 'tv3n+rfNp3A8b32zp4+IXJBcts8Ah8Ya5Pfo+DzXWVbJYHL9zzas/zA3bXlbasJPK9YObk+bcOn'; b += - 'DyYEd1SRO7rt3TvWU2AUjOuaTeP9Ep0KHonfNmo5aEtfsebBnxf7mtTUdq0k8v0wzrSljw9sNHf'; + 'DW01BK5fsr58bn7gr8fbdhI410j/0KdXrKl32/YT+BeBQBzfc+u5z23HCVxTMrqh9kH/RZ3azxK'; b += - 'Ukblq6vmZeYegPRzt2kjjf3Pjg2+fsGc0dDSTeLRTKkvtsO/uu4yiJ68vHnz9+b+Di7p1nSMz07'; + 'Y4d3H9rhBaqND+2UCX5qjyFnUo0d1aPttAuudRsa/2TWpNbO9kcDPzQzniFiP9o9tf0Hgs5OjZe'; b += - '+981CS9xa3zIokvzFXnLXZw2BjZeZPERqeQyb/vmtqe3dlC4ic2pnOl7AcNEzufkvjMtHgl50xD'; + 'yz+6cvan9HYDux6YPBJrsv7GhvaUf8Ji4CzJLuW3m+HbDgeRCctjNYc/nJE0LXEP5l1Jx4XrgJJ'; b += - '9eLOVyR2kVnfG2b5/U87Ots6keDb0w8jBoyg2nOdoPt9CsE7psmai48edepPbMyqP/akeDNO9uu'; + '3g7qG32vE+Fnv1Lu1A35u0wYp4afb7isAfRvhEkP/XZ6PNOY8tjiVsBEGSY+unG1R4Xr+QRczAE'; b += - 'gtDnz3xb7DqzoSY5hYHpszjo5/tzCH32ouo0Upj8ef85jYk0i4kLi0bpfN632+flSAcmHgylp7y'; + 'Ceq22KRX76jlk4nFXjBDbz5+WbAy84+VxMIugqzfVDfdQ/zb1gPUadlb4o1mM1knx18n+gsYgS1'; b += - 'WWffvFrZhGTmIRpN/7oxeFq7J/W0VOWBFk/ebGah/Z7W37abM6N2SbbGaxT0y+SksFLbEbO+id3'; + 'H+H+2HHL8DWEkFkEGPzZfa5cTMUcXFRH42Yx8M9FL9GZvVELgsIKmxYtW5a30R5UEnpBbvHN0If'; b += - 'cijv5PG6sC09KHtWpe8mLmGqJTEj2cW2kifodf7oXISRxW1Lln8bcGqQaiGxFPyy3aOL+b8no5S'; + 'tNKjqGwAWd7xStaIzbWYCWEfjoiSUpcyamTJyDTiewz5AFdSdiXetq0HlkeasqvqTutJ1/Eq0k8'; b += - '/HeR1a2SlS1JO4vQShIfPrY0be7XaV/PRatJHDhyQeOxRK/GenQ+ld+6hX+m73T+5gRaS+L7GXW'; + 'MO0qkUHlgf/dh9dTeCe0z1vuRxdsqYFrSFw6vKFq+SLaz8YYzsJfP7g07jYQ7d3C7D9BH7g1+2N'; b += - 'L968Iv30XXU3iPtW+N0SHl65pQ+tJnL5i0beqJcffWGA7SXzuwK9JiQdvfi/EGkh8L7j375Yv26'; + 'yduWyeHYcQKvKUy9tOQ872wWdpbkBrFWo98mGy8sxS4T2IvfteL2rqoHS7DbBF6w42Fq7IUb63/'; b += - 'ZFY0dJvKY4/cLSc/wzOdgZEjcn2o9/OcJiUQV2kcR+gl4Lb+6qu7cUu0niBTvupyf+dG39bqyFx'; + 'BGgncN3Dd6htjljQ3YC8IbBC4el14+Mh9z7F35NnnSt9fmmZunMbAWwhsV5a41qCpawMPpxG2PW'; b += - 'AGh61Zfm7D0/XnsKXW2eOjqddHR4/Y9wV6R2KY2aHfrrE1VTLyNxC6VqWtNWnud5+MEabDDSTjn'; + '0Es58+Wm2wxBvnEngpt3JF8xKDx/F4J/L9O++MGzzrmnzcgsAT6teNGjowUD0N70Fg+zs1uG+j1'; b += - '1werTZb64zwSL+PVrny/1ORhMt6dev/KP+sa37G+EO9B4ilN60pHDQnVVeEOJHa9VY8HtdgfXIO'; + 'aE1uB2By9sDhzpWZs88jLsQ2G/P9MqlJs6Xb+J9CbzB/OHOObdMl73HAwl8o+DuXumhBc/1aeGo'; b += - '7kLimM3SUe23urB9xEYmD91TXLrP0vHgdDyDxBtv7O+fesF7+Gg8l8bWi5r2KgwueGBPRJP7PRt'; + '9krr34+82fIchYqQUnjlBsTWcjElwWvwBmoE0eDqH/DGH3DND3jTD3jzfxgZeX00w3JfnrWA17c'; b += - '1cVZ5aS3IoxVNNSPvQZfQSgB5voEcPPd74Gd70Ga7/DG/+DG/5N6Miv79+SA7gOwr5AQF8b6FTl'; + 'vz01goxV+yw/xwRHpPxl10vjV1WxpUtgYJbdHNNgX/as79azgcAuGZ2J10trmHyzBa+K+jf6Hcm'; b += - '/BbP6MHRyMoGz4btMAOh78zWaEPYUjPi/XYAqUWf/Q4CP1Xp9DYwwEXDNAwihJHp/9igUFP+yb6'; + 'sVVxPmDvp9WX+jsEaChT33CQ7aam8EqZqIIr7++oh6AZBz77+nI6cXe2vCOWNkHWmwG/Z9PUh+w'; b += - 'b3LfJdP6MLfQT3N8m8YoPe+A7fcRDmpsPwSp+xpFggYZI7oFixDk7msGcmqJvz6cJ0bNTfTYG/u'; + 'GcxcktEgx9i5BaRBjdR7/+2jVEndcpmGxDmqPf/nSSTwh8CpLCM1N78VLilrAlz4C/D5AvlSsU3'; b += - '0HOSf4TMYteCjx/cxagFMj1vp939b0+h9yJbpJqRxzIa/42XSBCMBH5aV3k+QDhfM9WH2/8swhR'; + '+cflW5iDVBi+g4N9H36ONCtSGPkfpKc8YSH4rZVuCXU3h82fCghmCFTBHEBFqOeQK5b+xOpohEp'; b += - 'KVRv2RAxJ9DHOADiNwc3PtL8hT5MRKYv8N/1QgKQb3XeItp61kO/0lg2COQGfMDRTEnRnUwnLdR'; + 'JbnYggRPJ1VSoN6f5vXoOuaKqeZKraHB+ouT17m3HO0u5n5tDbmmv0pqtrCa2jOEtWtQOB3FYQe'; b += - 'Er606/L/asZ1CKy/kqtn8AZiYbfr58Lv0cV9dyuilqgX9xlfrKEXACH50wotRq4HkRuvaj9yCUc'; + 'FFLOSBrEOFD1AkJXmLGeERuCDIqznkKoXBXNJk9CqtWdkaYgtdCeRQhZWPj8+fqyjdWiLOUvJ4c'; b += - 'kFQovgqyoKHO+SA9gieg/gJacM6SWUWZyVvcZR62lNwQ0ADOU20fGBj41yLJdJTLcjR8vgourDp'; + 'rgVaZPO4fEgBu7pdhzSEf4mVnCj5pL3QA+j0hk1l9xanziXLEv63/ipmUuWG0akqauGuWS9rtJa'; b += - 'lcvl8iP3gMdFc6iG8J0WwV1RRpyXuoeM5VUVtFFym85L5N37a6HxDQvqy4ldT5bi4yzpRLW3hej'; + 'LVxL3d24HrZD+DeaY8exAw9eMa/YmmNt99NvBRok+FaG88gVZTE10+IX8vl8Ad+J78x34bvy3fj'; b += - 'l8D3/juS5cF3Dhl/HLHLmOLl/8NqACwokEoGdLL7LCMVhQLBAIhAIPgadAJPASeAvEAh+Br1AgF'; + 'ufA++p4AvEAicBM4CF4GrwE3gLvAQeDrxnQROTk7OTi5Ork5uTu5OHk6eznxngbOTs7Ozi7Ors5'; b += - 'Ao9hJ5CkdBL6C0UC32Evh4CD6GHh4enh8jDy8PbQ+zh4+HrKfAUenp4enqKPL08vT3Fnj6eviKB'; + 'uzu7OHs6cL30Xg4uTi7OLi4uri5uLu4uHi6cp3Fbg6uTq7uri6urq5urt6uHq68d0Ebk5uzm4ub'; b += - 'SCjyEHmKRCIvkbdILPIR+XoJvIReHl6eXiIvLy9vL7GXj5evt8Bb6O3h7ekt8vby9vYWe/t4+4o'; + 'q5ubm7ubh5unu58d4G7k7uzu4u7q7ubu7u7h7unB99D4OHk4ezh4uHq4ebh7uHh4ekJsugJkvcE'; b += - 'FYqHYQ+wpFom9xN5isdhH7Osj8BH6ePh4+oh8vHy8fcQ+Pj6+viCJviB6X0DaFwTzBY8+/aYrYH'; + 'UXuCYJ7A6ftvuoHiz5Ani+eQZW6gkyux/P/yTxPfaTqpH6SUq8RZQolCrJUWg02mpcG6bHIVxNr'; b += - '2DO+XQNtMMKs/nGdQanOB//OnpnWJQ0s4alVaWA4+h7RIXk0PFpceGHGrdw9FJJVHkws0l0EzpC'; + 'mr07zifMyh5H2XzfPJ9vqbEpnRIM144dcKIW7W0rQ8akmrukM5JssuK9E3H8CnKgbT17NJ9sats'; b += - 'qqvytQbMH/nk+IKXQ7XRpCOmVRdMZllQtryovzKFFKaRugs2hQh/Z6iQL0j41LD1kW2DBCIBIgU'; + 'CAsHpJ+oS7gWQMLgvIYxma92R48h2RkgL2TqJngUAEQOKAX1im4QvIFXhqD48MSqUL2IpIJiY3m'; b += - '+IVpKp1FrZ1Sy2905HTMoBuQKmWUSDjZRkhh4DwFvUD0iddFs6i12M3gChfRj9Lt+99tnjwH/uF'; + 'Ig+Rqjf5EipZcbvvE5eQK7oLwVPuG0tovjAfzqucG8BuXvgTyf7iDbupoUT6OS2uQa7MsjxXYMz'; b += - 'cZxCDquNdce8uOIVBLeLrsReTGpX1OPszLKVxmpub20hyV44ub9AjfNJ7wDvQMLU11EacroYqF3'; + 'f8AiCqc4ODgMIc7BULUNOMp33Af+Ah1bXEHuGOVXkPWi6c8Z4uwcKdwghtVtDX/Y8AqGicniw1U'; b += - '17zJLl5imgVXRY3I7wxolfNFpGZR+us4Cw22qoTcIDNdQG4+Ea6nvoaejF6iWkOV2+fsPYn59HS'; + 'bELaqgjyWs7mCPNKzvYL8Hpo4NIpsQsIYPk9zRMubl0PouOVIFXCc51mTeyQ2RI40+WkET7iiyV'; b += - 'tznKdRwXOY7UqvbTmSK9Ol5Ba5Q/N5mNrVB2Xs2tRmnp/3F8qXHmPjZVP1joZSo/l/8akHfq5TK'; + 'lIrup1WEgef9HE/dP6pcYs34Vk+2WipHLcn/yqAO+WicSOxF6W5gIL4A+E60mNzRZa2Iw6ooCgO'; b += - '3AtVeQqN3vw1gkwA4frQY2mPLtiG3jBBUJzBYDIxFpPN4phyexhY82wMTYx4xoQJbmbWjWOBWhJ'; + 'J3OYGBMBovJNuRY6JhyzXQN9Lj6NAO8Q4eObGPUhNYZNcXNmOaoBdbVmIf3we11HFA+LsCc0HXY'; b += - 'WqDVuw7JFe2C9LPh4f9zVwA0V4ELMA12HbcA2EpvYf2LvGe1YB97J2VxcUjVzlSB1WFX17B63jI'; + 'BqyatpH1BWumt2JteDt7U2HRtBkr+YmDp02fZXFHT39geHOLg2P/1CFpD8pmzJw9Z8O2vftO1J4'; b += - 'yHRL9vc3MfmD4y417lzFlz5m7YvnffseMnT91uedCJEKZmTkKR2M8/MDJqZOUs8HLn3n3HT51ra'; + '6/Vvjo3aEZtjBRuDi7uXtExo2pGwmeLlz777a0+frGx8hNF094q2Xd1BwaNhQkbhs9pKlp87X6x'; b += - 'nmAEIZG5Fs//7DwyKhRUlnlnKXLTp5rMjR1Ao8iU9PSR2VIZTPnbABBjp1sbnnw3NA0LFIq01V+'; + 'raAKfQxJTUoWki8YzZG0CQE6fuNj56pWsYFCoSq8u27z946Mq1V6/HT5i2eu3BQydO1t+8FbLww'; b += - '13Dg4KUrz19MnlK1eu2Bg8dONF2/EbFo/9nj55oiY+NSh4/KmD6rZvvu7w8eOn7iiqmFZVr6mz8'; + 'Lna8/WhkVGJSUPTpsws3/bL7kNHak9eMzQ2SUn98LGtXZ034re7el2lMgvLtOKxm7eU7NtvbNKl'; b += - '6OnUFY283G/VSKHvYZZRN3LK1fF+DhWXPXuGDY+OGjUgfNbF817GLl24+f/Fapa7RaBf0dXNft/'; + 'a/CAyKjByalDx5bsOnH5yu1Xr9/LFeVK1YJeDo7rtuw+dLL+2t3FvhUL+eVdL14+3x4ZlZzCZOk'; b += - 'X7gyearjQvCVq4SFDT6+eL5zpj40aksdjGJv3cn7UqlOLAgYPCZs9JzNU2njz/09VrDzs6EX5G7'; + 'b9HZ82SSVufv09w+aNTs2W1V3quHC9RuP29oRXlq3cXdp4wJZ5jSGYWmNnnojvSu71Bw3ZaE0R5'; b += - '0nNxKRQti3BNK2oN9JtYvTiVNji1myUcCdEBAtHWUyWKTfe2IyVzMKJHlwOzsZZOIbjOI9g4AZM'; + 'oLjYmjTAbTkBOt34EZz8RpFhw2zsKZOIbjOJdGx3UYqJ4RPZJpzkxkYgwTbjQtALfHUZohQ5/rR'; b += - '1MicEcuyZaWyMKYlL54IwV1xlDBlGvP8CLs+GfwCYkwfXSNj0jbchjmpHR/OsuBYcbrzuvPGMLl'; + 'bPsmcbLow3vqa6jj9uKmzHGteJJTGN2Z3YnbifucAaHYcZIYvahB3PsaFwaigt07GhmDB1cXQNe'; b += - 'MG+ZwVn9GONeF4BEoLjRwIWyYBriuHrxyF8bgutXsANwYD2D5sPszJnWaWrHdTV1xe2N7Y101MW'; + 'OQoicPVqVl9cH+/L9GD1oY9rN+zMcjS0x630rfTV02njKkx1jCbPozvSvZmYXme2+mA3JVd91Yx'; b += - 'mhtYH5tPkMd4Y/CzOy4ugO9NbwdJdteAxdJ0PXzPt9GS7mVKR31+1h604zuFb+OJfpww5n85gag'; + 'LV7fT1Xe5b5bi7uzS1E7qPSz1GTqnszfOYXiwgllchlKnC55MS2Krx3e24Bizw2nqqYyNq7kmNM'; b += - '574CGI4RzfZqgfXghNN6GYwN63mWRLClUTF9b4sHoOhW2tS8ZqF8p2Z4O1MQncAt8WNDREmioLM'; + 'EKWunNXkwuna5ea1D6nonybBng7Qya+iBujuvrIgwUBYXD6EwmxmKxMQ5dB9OjGaCGWAd6R8NOq'; b += - 'YQwWC2OzORiXYYAZESaoKWbG6GbaHTXHLDFrwx4MO3Yv1AEdQ+RjW/HtWAPWhP2EXeRd4lzGrmD'; + 'BFmgpnqWtAtWV3RHuhwWi62Bd+G7cfqsQvYZe4V9lXsGnYTvUe/jz2mPcFe8l7RPmFf8GaU29u7'; b += - 'X0TuMu9hD4hH2jP+ceIv9ib9Hef38B8TG1SxfvmJ81bwFq77b+/V2JovjHTgg5eX5n4juVt7ilN'; + 'X2RU+bJly0dPm7tg5fa9E7cxmGw3n34Jbxsu0Dp1dnNPSCyp3rzlgOu9DpOmzFz2tTHCthgZJRK'; b += - 'TyjVu27ve6YzZ1+qzlHyojrIuxcVJZ+u7vbXuw2FyD7pbevn7rN1y9xhHPnrOexfUfkJNXM9dUm'; + 'n/rLb3ILJ4uh0MnHz9Fq/4foNtvus2euZHO9+WTnlcwxlaYdeNiVnvGtpj41bvMTBsbd1/NKqFa'; b += - 'XHwWeuIrFdtnYlJS5a6ufdzTF5Wt/Lb1evWb97bcJRpwDO38xsYNnTtujNn61jWNr37DBj48Glr'; + 'tWr1u/ae/+4wwdrpGlV/+gQWvXnT1XxTQ169azX//HL5raT9TSeN179rJ29vAKCQuPjo1PgG0vP'; b += - '57HjBP+rPn0dPX38IqKi4xOTU2Ddy8yW5eSri8vKZ6zeuHXbj+e3bFUoD8wb1Xs8Aydc8RwcdXf'; + 'VOclasoLC6Zurp6y9bDDZu3SGUH5w7tNpqO0+zxLBx1dFCPs8QF+ha0Huwu9D70QJqerbqa0YPW'; b += - 'TTbLDhcY9CAdOT0Z/Rihh5KzbyHQgHAhHtsggNqRCzLHgsq38w3zxbDZHYMGwx20ZaJAPMYThTn'; + 'g2bNctGJDCh1ZxtzWJ29gzzxTBabb0y3ws3pqK8HbSDdkcZhspm+vN40LtsN96KbMWlcZnSou7O'; b += - 'BZHFYQvx/B43jjfgwbFsFjxUeKPQ09WW5sbkXfhCH92c4WNn17dLfkxIIIQg2tWVxmBLsfR2swa'; + 'uM9OBxSntFTOwD8vW2KyXRScTdiRIIFDXlMlhhLB6s1U6/v1sGd50DmMQA6Ub4HT1tIwuISyOeu'; b += - 'IAz05/BZQ5logwTnKGryuoZwebq1o7qHWbAZRp282NyvV0IS90PAdJEXgSHGx5mG8FONIxkcXVv'; + '3QbkE6HIZuRy8Gx82OZqL+ta8olhvC5gQHmYewYnVDmRz1h2COJT4g1B3XY3EYnkxOqZsp0xu3S'; b += - 'wrl2+OBIMW7E5jJ9WdwKb2uWP94jBTX2MJy8NEdroDs6IzrbsFJgYlGzcdLglT9M8mU5E+nMvtx'; + 'ED1nXTHL8lS6aiPTw3P1C3jGxiXV48bsOLXcZ5MW1oqoxcnmGNN7zhua4p4IM2TaegLm0TFJ1bZ'; b += - 'wriOj26RtabIhhC/LNAhWiYVv2ZWXnTmrHlZ4GqN2TCOCXVE9nchnGOIclsnczMEcTYDuDVfNLj'; + 'VVv2yselzvqoJUOPxiqdPoWWS9fF2UyDOekD2Mq+6g8cBSvfKHgU7AqJbFP1pNIB+AR/faOy6K4'; b += - 'QPL4VNIZVjrZtaMRifMsjYvDK+F5Opu9SfMcAeLXTFbQisIqiXqR8DrTjvPOkX3R9O0QSXwCabh'; + 'MhvpKH3o/KzTfHjejYaW+XQ296Ghpg+2439UfbcJpHBo23jAw3Ed9tC8DpcXTzV2wUj07moibwF'; b += - 'kYH6g4HMFEimWErwiqMXAgpL4Wr2+JjZ+hCcECLYOqWTL5KmOKGeBGRwQTty5hH+IDMObJ7x1Yk'; + 'Fv9rDUtaOxQY9gqBePv04zxHXxAloaA/QvfS7NAxTOmtUtsjSOawny4sbSA17ZTPWZnpwyxl/yc'; b += - '8exAWrzZRsArh6U73YdbyfyXfTh9zYBnr4NuHG4dU7vQkqxsqSznL+FkcGuB6vCLF5iQfbsLPUd'; + 'OqZBg/GADb+412tfwonhhsVJMMftsyA4O12lIySqhr91S2euobnp3OkjJxsUjIF8izwD2WmGpSU'; b += - 'I147/8CyZNuL/xTlNVl4uxVkCfhb4hzxPPUrx6n9lpBVKSlzjCzM90vQ8mOmJBH99qYT7knA1Ok'; + '9f8siEtl5OmLn8wciYtjwMzRhf/nl+S5qH48fpy8KFguywuVaqYn38mMcL5O+SCujyP8UB75IG/'; b += - 'lVEq5SFkQqNGHUduYnPB88EYT2QR688nGHGvD/IG2OtGACvOpxOr0fBZnzyQQfmcPIREZ2q0PML'; + 'W1FFA+NTgVGp3Cwr342k8ZDY9HRnSsQrpYMLryuWld22yq+pjy+fZydbes8PWp9t3aU53QNp4bs'; b += - 'Pm9ePzMXq0udf2dBXwX5do7Ltj6TNee7zPdkA6+9/LOTO929K43yrUXOxjeFW8ykvi6W630FfSQ'; + 'va091a0ftuKMfKvYfuffeNekJPx84rPPkWwpC3XVaE+7oIo18NXzEoSmYVs3T/ihikXhgrvrAiF'; b += - 'RLzsuTI6SCSJfz5m5dA4pX3CsoaVCUiTJFH208pE5Lp9EnLnbvKWe5LUpy32w88/Wjmcjzwb/hw'; + 'rlpFYfcux+/+YEw8UWjVVLDkxVJPORl0iu0JBnJR5iIPYqiGPhHQ3T4RgaoGHBrDENp3dEu5ik6'; b += - 'tH4EUIizEFUVRDPyhEQYCcxNUBnprDEOJr9CetmkGfhwOakWgHNC5MfrjAWxnK5QvBgEINuiVWV'; + 'Xmw22pmGsgFzo/fB+7JsO6M8dxCAxgJcmcnBLFEvGJzGAl44mBmKYZ6AC9IwMAqgXTAc1YGYDjy'; b += - 'zMDvWDwQk28MLFbFAM8wW9IIGBUQDtieGoAcQM4AHtjlmAPtIPxgV8s3Au1hP1B2F5IKQjIA+o4'; + 'gnTBjwCO9YFrANxPnYF1QbxCWC0Jag+hBrDgdsFAmpkPECrMEEsUgtsA8sW+pWKIhKA0FkaMsdB'; b += - 'gzQhbIwA5IqTBKIFIO4B+aLfYzFDo1ACRQQR9noUBRj8dhZKMYxYEVitqTMqNgIBTEyDFAHDppD'; + 'CKMbmsDBRj6zBDMXNCS8NdDwUp0nXQHmw0i4YyQKYwU4yGG9B0wU8Gqo+CusctsS7g3xdDmSwU0'; b += - 'oEyQKMwaI3ATwhDcMlFjFJQ9bof1BH9BGMpio5gBBwVjE6rFeqPjcALjoEz8BigEkFoWpIixmVw'; + '2GjYGxCVVg3dCROw9goA78FKgHklgljxFgMDobyuwpofIDpqDWbi/FAIVHcAyUygnuxMGwhjuqi'; b += - 'MFfQSEgKAGagjh4fxQSZR3AclE4L7sTFsEY4aoiwYIY4dD0LQI/YIPhPN5CPMPAwhUC4fi8cQOE'; + 'TJggjtX6IugxKwSfgabzEEYOhtBQDg+LxhA4SqCmGB2twMw66KK9WKY6DjgfhVXWGw0ANY9hXFA'; b += - 'qg1hgDXYjZmBmifdnWBm64AIVF1g8NASWPYTyQL3fUE1DFMAbItzPGRp/BYkNBJTcxgdMz9B76D'; + 'uR9QZxIphdFBuW4yFvoTVhoJGbmAAp3foA3Q+HcFBKWnWOA1dA+JHsGg8WEdAG4266duAcnJwAY'; b += - 'QPBQS4JR5xA1wD6CBaPhxsIifGot7ETyCcXFwKaLDQQd2Cg7AEoDxNxQPeAZuCwKEGhoMtQnG1O'; + 'iTifrgPegoqx/KxVzYgD2gaTisSlAp6FIUZxkRNYuixqgeE6cfY8HCmMBaZcAPBT/Cc5A3BniaY'; b += - 'liyKWqBGLJxxhA0zYwlLlQk/FPwIT0DamOBqiyWz4ZMxKBkcleHgozIQDoq9Bt8E1Ah0NoiPQPl'; + '/Es6DIcJYKjYhx8VDrCRrH34JuAFoHOAunRUB7HmkF8KQaGO4AKB4Ig8B1jDLICYhnFwGGsoBZD'; b += - 'cRyb5pZgY7gYKHDCCwHeCBUgKoFLKxCFVUIoRMCoUAV9XxGDAO5RpjIABG0EHEkPBc8QNs0RAGR'; + 'YFIoAr6uC50Of6EMfQQM2AjanzYIuCMOmAkC6oBGZ7EwZhfaPBxxpzmxUD3UmI7qg1gNiRjpIrQ'; b += - 'AMNhtj9STm44iY8GCjRqgFAzUGVE1JigwpWgfCBBKgBFgFLCRT9xwJfr7rMGKA4shilFOoUkq12'; + 'KhPGhgRpg5jGRdPUrxO/eiaOIDooji1B2vlwmUmWK5QqMJQEzGJUwW4zSYlQKJcIFr+CRBbHIPq'; b += - 'TKVGmPLwQxGK8mVoUSCVq1BeOAV3GyWSV2zSgijCGWBLEslK+JnQ39MoZebwE3MIKW2+gjdxEI3'; + 'OIphciyxNnyMUFvEzojyFwdeA7uNOJc9I9BQ7uAge+vRRO3CVFPOuv56Z5YI7rbM93ted72DAKh'; b += - 'gasCTrzlJXzHD1JcfDBH9XQVeLkKfJyYRRI58M4UuAl93QQ80OUUuGYB/j9XpjCDB3D4eIOAUh8'; - b += 'fj2xfcZYT4mJMqb9m5MjIUyHVWH/jAko+wTVXrswC07v+bHhmpKusWPP/AEXJXJo='; + 'BLgncF3EHg68LnwJIN9BpD/s8XSDvD6LA83EFDk4eGU6emeYYPY6ZMGJ9KyxMTNcwqsj34eecrF'; + b += 'PlsiywDTwz4seMecvbhQ+f8A9ABijQ=='; var input = pako.inflate(base64ToUint8Array(b)); - return init(input); + return __wbg_init(input); } diff --git a/packages/crypto/src/lib/crypto.spec.ts b/packages/crypto/src/lib/crypto.spec.ts index e631b15682..286511eca0 100644 --- a/packages/crypto/src/lib/crypto.spec.ts +++ b/packages/crypto/src/lib/crypto.spec.ts @@ -2,6 +2,8 @@ import { decryptWithSignatureShares, encrypt, verifyAndDecryptWithSignatureShares, + combineSignatureShares, + verifySignature, } from './crypto'; // @ts-nocheck @@ -80,4 +82,76 @@ describe('crypto', () => { // assert expect(plaintext).toEqual(secretMessage); }); + + it('should combine signature shares', async () => { + const signatureShares = [ + '01b2b44a0bf7184f19efacad98e213818edd3f8909dd798129ef169b877d68d77ba630005609f48b80203717d82092a45b06a9de0e61a97b2672b38b31f9ae43e64383d0375a51c75db8972613cc6b099b95c189fd8549ed973ee94b08749f4cac', + '02a8343d5602f523286c4c59356fdcfc51953290495d98cb91a56b59bd1a837ea969cc521382164e85787128ce7f944de303d8e0b5fc4becede0c894bec1adc490fdc133939cca70fb3f504b9bf7b156527b681d9f0619828cd8050c819e46fdb1', + '03b1594ab0cb56f47437b3720dc181661481ca0e36078b79c9a4acc50042f076bf66b68fbd12a1d55021a668555f0eed0a08dfe74455f557b30f1a9c32435a81479ca8843f5b74b176a8d10c5845a84213441eaaaf2ba57e32581584393541c5aa', + ].map((s) => ({ + ProofOfPossession: s, + })); + + // execute + const combinedSignature = combineSignatureShares(signatureShares); + + // assert + expect(combinedSignature.length).toEqual(192); + }); + + it('should verify signature', async () => { + const publicKey = + 'ad1bd6c66f849ccbcc20fa08c26108f3df7db0068df032cc184779cc967159da4dd5669de563af7252b540f0759aee5a'; + const message = new Uint8Array([ + 101, 121, 74, 104, 98, 71, 99, 105, 79, 105, 74, 67, 84, 70, 77, 120, 77, + 105, 48, 122, 79, 68, 69, 105, 76, 67, 74, 48, 101, 88, 65, 105, 79, 105, + 74, 75, 86, 49, 81, 105, 102, 81, 46, 101, 121, 74, 112, 99, 51, 77, 105, + 79, 105, 74, 77, 83, 86, 81, 105, 76, 67, 74, 122, 100, 87, 73, 105, 79, + 105, 73, 119, 101, 68, 81, 121, 78, 84, 108, 108, 78, 68, 81, 50, 78, 122, + 65, 119, 78, 84, 77, 48, 79, 84, 70, 108, 78, 50, 73, 48, 90, 109, 85, 48, + 89, 84, 69, 121, 77, 71, 77, 51, 77, 71, 74, 108, 77, 87, 86, 104, 90, 68, + 89, 48, 78, 109, 73, 105, 76, 67, 74, 106, 97, 71, 70, 112, 98, 105, 73, + 54, 73, 109, 86, 48, 97, 71, 86, 121, 90, 88, 86, 116, 73, 105, 119, 105, + 97, 87, 70, 48, 73, 106, 111, 120, 78, 106, 103, 51, 78, 84, 89, 121, 77, + 106, 99, 49, 76, 67, 74, 108, 101, 72, 65, 105, 79, 106, 69, 50, 79, 68, + 99, 50, 77, 68, 85, 48, 78, 122, 85, 115, 73, 109, 70, 106, 89, 50, 86, + 122, 99, 48, 78, 118, 98, 110, 82, 121, 98, 50, 120, 68, 98, 50, 53, 107, + 97, 88, 82, 112, 98, 50, 53, 122, 73, 106, 112, 98, 101, 121, 74, 106, 98, + 50, 53, 48, 99, 109, 70, 106, 100, 69, 70, 107, 90, 72, 74, 108, 99, 51, + 77, 105, 79, 105, 73, 105, 76, 67, 74, 106, 97, 71, 70, 112, 98, 105, 73, + 54, 73, 109, 86, 48, 97, 71, 86, 121, 90, 88, 86, 116, 73, 105, 119, 105, + 99, 51, 82, 104, 98, 109, 82, 104, 99, 109, 82, 68, 98, 50, 53, 48, 99, + 109, 70, 106, 100, 70, 82, 53, 99, 71, 85, 105, 79, 105, 73, 105, 76, 67, + 74, 116, 90, 88, 82, 111, 98, 50, 81, 105, 79, 105, 73, 105, 76, 67, 74, + 119, 89, 88, 74, 104, 98, 87, 86, 48, 90, 88, 74, 122, 73, 106, 112, 98, + 73, 106, 112, 49, 99, 50, 86, 121, 81, 87, 82, 107, 99, 109, 86, 122, 99, + 121, 74, 100, 76, 67, 74, 121, 90, 88, 82, 49, 99, 109, 53, 87, 89, 87, + 120, 49, 90, 86, 82, 108, 99, 51, 81, 105, 79, 110, 115, 105, 89, 50, 57, + 116, 99, 71, 70, 121, 89, 88, 82, 118, 99, 105, 73, 54, 73, 106, 48, 105, + 76, 67, 74, 50, 89, 87, 120, 49, 90, 83, 73, 54, 73, 106, 66, 52, 78, 68, + 73, 49, 79, 85, 85, 48, 78, 68, 89, 51, 77, 68, 65, 49, 77, 122, 81, 53, + 77, 85, 85, 51, 89, 106, 82, 71, 82, 84, 82, 66, 77, 84, 73, 119, 81, 122, + 99, 119, 89, 109, 85, 120, 90, 85, 70, 69, 78, 106, 81, 50, 89, 105, 74, + 57, 102, 86, 48, 115, 73, 109, 86, 50, 98, 85, 78, 118, 98, 110, 82, 121, + 89, 87, 78, 48, 81, 50, 57, 117, 90, 71, 108, 48, 97, 87, 57, 117, 99, + 121, 73, 54, 98, 110, 86, 115, 98, 67, 119, 105, 99, 50, 57, 115, 85, 110, + 66, 106, 81, 50, 57, 117, 90, 71, 108, 48, 97, 87, 57, 117, 99, 121, 73, + 54, 98, 110, 86, 115, 98, 67, 119, 105, 100, 87, 53, 112, 90, 109, 108, + 108, 90, 69, 70, 106, 89, 50, 86, 122, 99, 48, 78, 118, 98, 110, 82, 121, + 98, 50, 120, 68, 98, 50, 53, 107, 97, 88, 82, 112, 98, 50, 53, 122, 73, + 106, 112, 117, 100, 87, 120, 115, 102, 81, + ]); + const signature = new Uint8Array([ + 182, 185, 8, 21, 143, 23, 47, 21, 128, 30, 241, 43, 141, 206, 108, 16, + 199, 242, 16, 200, 195, 85, 109, 38, 227, 52, 132, 136, 239, 11, 105, 214, + 254, 23, 107, 236, 105, 73, 129, 48, 242, 17, 225, 172, 114, 29, 214, 178, + 12, 158, 255, 169, 220, 84, 179, 19, 53, 94, 223, 192, 80, 199, 24, 68, + 37, 91, 82, 163, 89, 102, 105, 0, 26, 211, 133, 24, 224, 192, 142, 39, + 134, 118, 255, 80, 221, 163, 231, 178, 180, 23, 144, 60, 214, 208, 132, + 207, + ]); + + // execute + verifySignature(publicKey, message, signature); + }); }); diff --git a/packages/crypto/src/lib/crypto.ts b/packages/crypto/src/lib/crypto.ts index f4333b2f08..1828b60166 100644 --- a/packages/crypto/src/lib/crypto.ts +++ b/packages/crypto/src/lib/crypto.ts @@ -148,6 +148,25 @@ export const combineSignatureShares = (shares: BlsSignatureShare[]): string => { return blsSdk.combine_signature_shares(sigShares); }; +/** + * Verify the BLS network signature. + * + * @param publicKey hex-encoded string of the BLS public key to verify with. + * @param message Uint8Array of the message to verify. + * @param signature Uint8Array of the signature to verify. + */ +export const verifySignature = ( + publicKey: string, + message: Uint8Array, + signature: Uint8Array +): void => { + blsSdk.verify_signature( + publicKey, + uint8arrayToString(message, 'base64'), + uint8arrayToString(signature, 'base64') + ); +}; + /** * * Combine ECDSA Shares diff --git a/packages/encryption/src/lib/encryption.ts b/packages/encryption/src/lib/encryption.ts index 6e58eb4a3e..3503cadc61 100644 --- a/packages/encryption/src/lib/encryption.ts +++ b/packages/encryption/src/lib/encryption.ts @@ -4,6 +4,7 @@ import { LIT_ERROR, NETWORK_PUB_KEY, } from '@lit-protocol/constants'; +import { verifySignature } from '@lit-protocol/crypto'; import { DecryptFromIpfsProps, @@ -22,6 +23,7 @@ import { IJWT, ILitNodeClient, MetadataForFile, + SigningAccessControlConditionJWTPayload, VerifyJWTProps, } from '@lit-protocol/types'; @@ -739,9 +741,12 @@ declare global { * * @param { VerifyJWTProps } jwt * - * @returns { IJWT } An object with 4 keys: "verified": A boolean that represents whether or not the token verifies successfully. A true result indicates that the token was successfully verified. "header": the JWT header. "payload": the JWT payload which includes the resource being authorized, etc. "signature": A uint8array that represents the raw signature of the JWT. + * @returns { IJWT } An object with 4 keys: "verified": A boolean that represents whether or not the token verifies successfully. A true result indicates that the token was successfully verified. "header": the JWT header. "payload": the JWT payload which includes the resource being authorized, etc. "signature": A uint8array that represents the raw signature of the JWT. */ -export const verifyJwt = ({ jwt }: VerifyJWTProps): IJWT => { +export const verifyJwt = ({ + publicKey, + jwt, +}: VerifyJWTProps): IJWT => { // -- validate if ( !checkType({ @@ -764,34 +769,24 @@ export const verifyJwt = ({ jwt }: VerifyJWTProps): IJWT => { log('wasmExports is not loaded.'); } - const pubKey = uint8arrayFromString(NETWORK_PUB_KEY, 'base16'); - // log("pubkey is ", pubKey); - const jwtParts = jwt.split('.'); - const sig = uint8arrayFromString(jwtParts[2], 'base64url'); - // log("sig is ", uint8arrayToString(sig, "base16")); + const signature = uint8arrayFromString(jwtParts[2], 'base64url'); const unsignedJwt = `${jwtParts[0]}.${jwtParts[1]}`; - // log("unsignedJwt is ", unsignedJwt); const message = uint8arrayFromString(unsignedJwt); - // log("message is ", message); - // p is public key uint8array - // s is signature uint8array - // m is message uint8array - // function is: function (p, s, m) - const verified = Boolean(wasmBlsSdkHelpers.verify(pubKey, sig, message)); + verifySignature(publicKey, message, signature); - const _jwt: IJWT = { - verified, + const _jwt: IJWT = { + verified: true, header: JSON.parse( uint8arrayToString(uint8arrayFromString(jwtParts[0], 'base64url')) ), payload: JSON.parse( uint8arrayToString(uint8arrayFromString(jwtParts[1], 'base64url')) ), - signature: sig, + signature, }; return _jwt; diff --git a/packages/encryption/src/lib/params-validators.ts b/packages/encryption/src/lib/params-validators.ts index c968190e91..991e1e7f12 100644 --- a/packages/encryption/src/lib/params-validators.ts +++ b/packages/encryption/src/lib/params-validators.ts @@ -27,6 +27,7 @@ import { EncryptZipRequest, EvmContractConditions, ExecuteJsProps, + GetSignedTokenRequest, SessionSigs, SolRpcConditions, UnifiedAccessControlConditions, @@ -139,6 +140,11 @@ export const paramsValidators: { 'readme' ), ], + + getSignedToken: (params: GetSignedTokenRequest) => [ + new AccessControlConditionsValidator('decrypt', params), + new AuthMaterialValidator('decrypt', params, true), + ], }; export type ParamsValidatorsType = typeof paramsValidators; diff --git a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts index c732f85204..a1cdb6eb44 100644 --- a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts +++ b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts @@ -1,7 +1,12 @@ import { canonicalAccessControlConditionFormatter, canonicalResourceIdFormatter, - hashResourceId, + canonicalSolRpcConditionFormatter, + canonicalUnifiedAccessControlConditionFormatter, + hashAccessControlConditions, + hashEVMContractConditions, + hashSolRpcConditions, + hashUnifiedAccessControlConditions, } from '@lit-protocol/access-control-conditions'; import { @@ -39,13 +44,13 @@ import { DecryptRequest, DecryptResponse, EncryptRequest, - EncryptRequestBase, EncryptResponse, ExecuteJsProps, ExecuteJsResponse, FormattedMultipleAccs, GetSessionSigsProps, GetSignSessionKeySharesProp, + GetSignedTokenRequest, GetSigningShareForDecryptionRequest, GetWalletSigProps, HandshakeWithSgx, @@ -54,9 +59,10 @@ import { JsonSignChainDataRequest, JsonSigningRetrieveRequest, JsonSigningStoreRequest, - JsonStoreSigningRequest, KV, LitNodeClientConfig, + MultipleAccessControlConditions, + NodeBlsSigningShare, NodeClientErrorV0, NodeClientErrorV1, NodeCommandResponse, @@ -77,6 +83,7 @@ import { SignSessionKeyResponse, SignedChainDataToken, SignedData, + SigningAccessControlConditionRequest, SuccessNodePromises, SupportedJsonRequests, ValidateAndSignECDSA, @@ -553,24 +560,23 @@ export class LitNodeClientNodeJs extends LitCore { }; /** - * - * Get Signing Shares from Nodes + * Get Signing Shares for Token containing Access Control Condition * * @param { string } url - * @param { JsonSigningRetrieveRequest } params + * @param { SigningAccessControlConditionRequest } params * - * @returns { Promise} + * @returns { Promise } * */ - getSigningShare = async ( + getSigningShareForToken = async ( url: string, - params: JsonSigningRetrieveRequest, + params: SigningAccessControlConditionRequest, requestId: string ): Promise => { - log('getSigningShare'); - const urlWithPath = `${url}/web/signing/retrieve`; + log('getSigningShareForToken'); + const urlWithPath = `${url}/web/signing/access_control_condition`; - return await this.sendCommandToNode({ + return this.sendCommandToNode({ url: urlWithPath, data: params, requestId, @@ -601,38 +607,6 @@ export class LitNodeClientNodeJs extends LitCore { }); }; - /** - * - * Store signing conditions to nodes - * - * @param { string } url - * @param { JsonSigningStoreRequest } params - * - * @returns { Promise } - * - */ - storeSigningConditionWithNode = async ( - url: string, - params: JsonSigningStoreRequest, - requestId: string - ): Promise => { - log('storeSigningConditionWithNode'); - - const urlWithPath = `${url}/web/signing/store`; - - return await this.sendCommandToNode({ - url: urlWithPath, - data: { - key: params.key, - val: params.val, - authSig: params.authSig, - chain: params.chain, - permanant: params.permanent, - }, - requestId, - }); - }; - /** * * Sign Condition ECDSA @@ -678,7 +652,9 @@ export class LitNodeClientNodeJs extends LitCore { * @returns { string } final JWT (convert the sig to base64 and append to the jwt) * */ - combineSharesAndGetJWT = (signatureShares: Array): string => { + combineSharesAndGetJWT = ( + signatureShares: Array + ): string => { // ========== Shares Validations ========== // -- sanity check if ( @@ -697,7 +673,7 @@ export class LitNodeClientNodeJs extends LitCore { // ========== Combine Shares ========== const signature = combineSignatureShares( - signatureShares.map((s: any) => s.signatureShare) + signatureShares.map((s) => s.signatureShare) ); log('signature is', signature); @@ -710,7 +686,7 @@ export class LitNodeClientNodeJs extends LitCore { // convert the sig to base64 and append to the jwt const finalJwt: string = `${unsignedJwt}.${uint8arrayToString( uint8arrayFromString(signature, 'base16'), - 'base64url' + 'base64urlpad' )}`; return finalJwt; @@ -720,7 +696,7 @@ export class LitNodeClientNodeJs extends LitCore { networkPubKey: string, identityParam: Uint8Array, ciphertext: string, - signatureShares: Array + signatureShares: Array ): Uint8Array => { const sigShares = signatureShares.map((s: any) => s.signatureShare); @@ -809,13 +785,13 @@ export class LitNodeClientNodeJs extends LitCore { * * Get hash of access control conditions * - * @param { JsonStoreSigningRequest } params + * @param { MultipleAccessControlConditions } params * * @returns { Promise } * */ getHashedAccessControlConditions = async ( - params: JsonStoreSigningRequest + params: MultipleAccessControlConditions ): Promise => { let hashOfConditions: ArrayBuffer; @@ -850,17 +826,90 @@ export class LitNodeClientNodeJs extends LitCore { // ========== Promise Handlers ========== + /** + * + * Get and gather node promises + * + * @param { any } callback + * + * @returns { Array> } + * + */ + getNodePromises = (callback: Function): Array> => { + const nodePromises = []; + + for (const url of this.connectedNodes) { + nodePromises.push(callback(url)); + } + + return nodePromises; + }; + + /** + * Handle node promises + * + * @param { Array> } nodePromises + * + * @returns { Promise | RejectedNodePromises> } + * + */ + handleNodePromises = async ( + nodePromises: Array>, + minNodeCount?: number + ): Promise | RejectedNodePromises> => { + // -- prepare + const responses = await Promise.allSettled(nodePromises); + const minNodes = minNodeCount ?? this.config.minNodeCount; + + // -- get fulfilled responses + const successes: Array = responses.filter( + (r: any) => r.status === 'fulfilled' + ); + + // -- case: success (when success responses are more than minNodeCount) + if (successes.length >= minNodes) { + const successPromises: SuccessNodePromises = { + success: true, + values: successes.map((r: any) => r.value), + }; + + return successPromises; + } + + // -- case: if we're here, then we did not succeed. time to handle and report errors. + + // -- get "rejected" responses + const rejected = responses.filter((r: any) => r.status === 'rejected'); + + const mostCommonError = JSON.parse( + mostCommonString( + rejected.map((r: NodePromiseResponse) => JSON.stringify(r.reason)) + ) + ); + + log(`most common error: ${JSON.stringify(mostCommonError)}`); + + const rejectedPromises: RejectedNodePromises = { + success: false, + error: mostCommonError, + }; + + return rejectedPromises; + }; + /** * Run lit action on a single deterministicly selected node. It's important that the nodes use the same deterministic selection algorithm. * * @param { ExecuteJsProps } params * - * @returns { Promise } + * @returns { Promise | RejectedNodePromises> } * */ runOnTargetedNodes = async ( params: ExecuteJsProps - ): Promise => { + ): Promise< + SuccessNodePromises | RejectedNodePromises + > => { const { code, authSig, jsParams, debug, sessionSigs, targetNodeRange } = params; @@ -1257,7 +1306,7 @@ export class LitNodeClientNodeJs extends LitCore { } // -- case: promises success (TODO: check the keys of "values") - const responseData = (res as SuccessNodePromises).values; + const responseData = (res as SuccessNodePromises).values; log('responseData', JSON.stringify(responseData, null, 2)); // ========== Extract shares from response data ========== @@ -1384,24 +1433,23 @@ export class LitNodeClientNodeJs extends LitCore { /** * - * Request a signed JWT of any solidity function call from the LIT network. There are no prerequisites for this function. You should use this function if you need to transmit information across chains, or from a blockchain to a centralized DB or server. The signature of the returned JWT verifies that the response is genuine. + * Request a signed JWT from the LIT network. Before calling this function, you must know the access control conditions for the item you wish to gain authorization for. + * + * @param { GetSignedTokenRequest } params * - * @param { SignedChainDataToken } params + * @returns { Promise } final JWT * - * @returns { Promise} */ - getSignedChainDataToken = async ( - params: SignedChainDataToken - ): Promise => { + getSignedToken = async (params: GetSignedTokenRequest): Promise => { // ========== Prepare Params ========== - const { callRequests, chain } = params; + const { chain, authSig, sessionSigs } = params; - // ========== Pre-Validations ========== + // ========== Validation ========== // -- validate if it's ready if (!this.ready) { const message = - '2 LitNodeClient is not ready. Please call await litNodeClient.connect() first.'; - return throwError({ + '3 LitNodeClient is not ready. Please call await litNodeClient.connect() first.'; + throwError({ message, errorKind: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.kind, errorCode: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.name, @@ -1417,107 +1465,16 @@ export class LitNodeClientNodeJs extends LitCore { }); } - // ========== Prepare ========== - // we need to send jwt params iat (issued at) and exp (expiration) - // because the nodes may have different wall clock times - // the nodes will verify that these params are withing a grace period - const { iat, exp } = this.getJWTParams(); - - // ========== Get Node Promises ========== - // -- fetch shares from nodes - const requestId = this.getRequestId(); - const nodePromises = this.getNodePromises((url: string) => { - return this.getChainDataSigningShare( - url, - { - callRequests, - chain, - iat, - exp, - }, - requestId - ); + const paramsIsSafe = safeParams({ + functionName: 'getSignedToken', + params, }); - // -- resolve promises - const signatureShares = await Promise.all(nodePromises); - log('signatureShares', signatureShares); - - // -- total of good shares - const goodShares = signatureShares.filter( - (d: any) => d.signatureShare !== '' - ); - - // ========== Shares Validations ========== - // -- validate if we have enough good shares - if (goodShares.length < this.config.minNodeCount) { - log( - `majority of shares are bad. goodShares is ${JSON.stringify( - goodShares - )}` - ); - - if (this.config.alertWhenUnauthorized) { - alert( - 'You are not authorized to receive a signature to grant access to this content' - ); - } - - throwError({ - message: `You are not authorized to recieve a signature on this item`, - errorKind: LIT_ERROR.UNAUTHROZIED_EXCEPTION.kind, - errorCode: LIT_ERROR.UNAUTHROZIED_EXCEPTION.name, - }); - } - - // ========== Result ========== - const finalJwt: string = this.combineSharesAndGetJWT(signatureShares); - - return finalJwt; - }; - - /** - * - * Request a signed JWT from the LIT network. Before calling this function, you must either create or know of a resource id and access control conditions for the item you wish to gain authorization for. You can create an access control condition using the saveSigningCondition function. - * - * @param { JsonSigningRetrieveRequest } params - * - * @returns { Promise } final JWT - * - */ - getSignedToken = async ( - params: JsonSigningRetrieveRequest - ): Promise => { - // ========== Prepare Params ========== - const { - // accessControlConditions, - // evmContractConditions, - // solRpcConditions, - // unifiedAccessControlConditions, - chain, - authSig, - resourceId, - sessionSigs, - } = params; - - // ========== Pre-Validations ========== - // -- validate if it's ready - if (!this.ready) { - const message = - '3 LitNodeClient is not ready. Please call await litNodeClient.connect() first.'; - throwError({ - message, - errorKind: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.kind, - errorCode: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.name, - }); - } - - // -- validate if this.networkPubKeySet is null - if (this.networkPubKeySet === null) { + if (!paramsIsSafe) { return throwError({ - message: 'networkPubKeySet cannot be null', - errorKind: LIT_ERROR.PARAM_NULL_ERROR.kind, - errorCode: LIT_ERROR.PARAM_NULL_ERROR.name, + message: `Parameter validation failed.`, + errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, + errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, }); } @@ -1544,23 +1501,13 @@ export class LitNodeClientNodeJs extends LitCore { }); } - if (!resourceId) { - return throwError({ - message: `You must provide a resourceId`, - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, - }); - } - - const formattedResourceId = canonicalResourceIdFormatter(resourceId); - // ========== Get Node Promises ========== const requestId = this.getRequestId(); const nodePromises = this.getNodePromises((url: string) => { // -- if session key is available, use it let authSigToSend = sessionSigs ? sessionSigs[url] : authSig; - return this.getSigningShare( + return this.getSigningShareForToken( url, { accessControlConditions: formattedAccessControlConditions, @@ -1570,7 +1517,6 @@ export class LitNodeClientNodeJs extends LitCore { formattedUnifiedAccessControlConditions, chain, authSig: authSigToSend, - resourceId: formattedResourceId, iat, exp, }, @@ -1586,8 +1532,9 @@ export class LitNodeClientNodeJs extends LitCore { this._throwNodeError(res as RejectedNodePromises); } - const signatureShares: Array = (res as SuccessNodePromises) - .values; + const signatureShares: Array = ( + res as SuccessNodePromises + ).values; log('signatureShares', signatureShares); @@ -1597,113 +1544,6 @@ export class LitNodeClientNodeJs extends LitCore { return finalJwt; }; - /** - * - * Associated access control conditions with a resource on the web. After calling this function, users may use the getSignedToken function to request a signed JWT from the LIT network. This JWT proves that the user meets the access control conditions, and is authorized to access the resource you specified in the resourceId parameter of the saveSigningCondition function. - * - * @param { JsonStoreSigningRequest } params - * - * @returns { Promise } - * - */ - saveSigningCondition = async ( - params: JsonStoreSigningRequest - ): Promise => { - // -- validate if it's ready - if (!this.ready) { - const message = - '4 LitNodeClient is not ready. Please call await litNodeClient.connect() first.'; - throwError({ - message, - errorKind: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.kind, - errorCode: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.name, - }); - } - - // this is to fix my spelling mistake that we must now maintain forever lol - if (typeof params.permanant !== 'undefined') { - params.permanent = params.permanant; - } - - // ========== Prepare Params ========== - const { - // accessControlConditions, - // evmContractConditions, - // solRpcConditions, - // unifiedAccessControlConditions, - chain, - authSig, - resourceId, - // permanant, - permanent, - sessionSigs, - } = params; - - // ----- validate params ----- - // validate if resourceId is null - if (!resourceId) { - return throwError({ - message: 'resourceId cannot be null', - errorKind: LIT_ERROR.PARAM_NULL_ERROR.kind, - errorCode: LIT_ERROR.PARAM_NULL_ERROR.name, - }); - } - - // ========== Hashing Resource ID & Conditions ========== - // hash the resource id - const hashOfResourceId = await hashResourceId(resourceId); - - const hashOfResourceIdStr = uint8arrayToString( - new Uint8Array(hashOfResourceId), - 'base16' - ); - - let hashOfConditions: ArrayBuffer | undefined = - await this.getHashedAccessControlConditions(params); - - if (!hashOfConditions) { - return throwError({ - message: `You must provide either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions`, - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, - }); - } - - const hashOfConditionsStr = uint8arrayToString( - new Uint8Array(hashOfConditions), - 'base16' - ); - - // ========== Get Node Promises ========== - const requestId = this.getRequestId(); - const nodePromises = this.getNodePromises((url: string) => { - // -- if session key is available, use it - let authSigToSend = sessionSigs ? sessionSigs[url] : authSig; - - return this.storeSigningConditionWithNode( - url, - { - key: hashOfResourceIdStr, - val: hashOfConditionsStr, - authSig: authSigToSend, - chain, - permanent: permanent ? 1 : 0, - }, - requestId - ); - }); - - // -- resolve promises - const res = await this.handleNodePromises(nodePromises); - - // -- case: promises rejected - if (res.success === false) { - this._throwNodeError(res as RejectedNodePromises); - } - - return true; - }; - /** * * Encrypt data using the LIT network public key. @@ -1906,8 +1746,9 @@ export class LitNodeClientNodeJs extends LitCore { this._throwNodeError(res as RejectedNodePromises); } - const signatureShares: Array = (res as SuccessNodePromises) - .values; + const signatureShares: Array = ( + res as SuccessNodePromises + ).values; log('signatureShares', signatureShares); @@ -2138,7 +1979,7 @@ export class LitNodeClientNodeJs extends LitCore { // -- case: promises rejected if (!this.#isSuccessNodePromises(res)) { - this._throwNodeError(res); + this._throwNodeError(res as RejectedNodePromises); return {} as SignSessionKeyResponse; } @@ -2166,7 +2007,7 @@ export class LitNodeClientNodeJs extends LitCore { }; }; - #isSuccessNodePromises = (res: any): res is SuccessNodePromises => { + #isSuccessNodePromises = (res: any): res is SuccessNodePromises => { return res.success === true; }; diff --git a/packages/types/src/lib/ILitNodeClient.ts b/packages/types/src/lib/ILitNodeClient.ts index 386cbf3fbc..c74d8aec01 100644 --- a/packages/types/src/lib/ILitNodeClient.ts +++ b/packages/types/src/lib/ILitNodeClient.ts @@ -11,9 +11,9 @@ import { JsonSignChainDataRequest, JsonSigningRetrieveRequest, JsonSigningStoreRequest, - JsonStoreSigningRequest, KV, LitNodeClientConfig, + MultipleAccessControlConditions, NodeCommandResponse, NodeCommandServerKeysResponse, NodeShare, @@ -21,6 +21,7 @@ import { SendNodeCommand, SignConditionECDSA, SignedChainDataToken, + SigningAccessControlConditionRequest, SuccessNodePromises, ValidateAndSignECDSA, } from './interfaces'; @@ -105,13 +106,13 @@ export interface ILitNodeClient { * * Get hash of access control conditions * - * @param { JsonStoreSigningRequest } params + * @param { MultipleAccessControlConditions } params * * @returns { Promise } * */ getHashedAccessControlConditions( - params: JsonStoreSigningRequest + params: MultipleAccessControlConditions ): Promise; // ========== Promise Handlers ========== @@ -130,14 +131,14 @@ export interface ILitNodeClient { /** * Handle node promises * - * @param { Array> } nodePromises + * @param { Array> } nodePromises * - * @returns { Promise } + * @returns { Promise | RejectedNodePromises> } * */ - handleNodePromises( - nodePromises: Array> - ): Promise; + handleNodePromises( + nodePromises: Array> + ): Promise | RejectedNodePromises>; /** * @@ -218,18 +219,17 @@ export interface ILitNodeClient { ): Promise; /** - * - * Get Signing Shares from Nodes + * Get Signing Shares for Token containing Access Control Condition * * @param { string } url - * @param { JsonSigningRetrieveRequest } params + * @param { SigningAccessControlConditionRequest } params * - * @returns { Promise} + * @returns { Promise } * */ - getSigningShare( + getSigningShareForToken( url: string, - params: JsonSigningRetrieveRequest, + params: SigningAccessControlConditionRequest, requestId: string ): Promise; @@ -305,7 +305,7 @@ export interface ILitNodeClient { /** * - * Request a signed JWT from the LIT network. Before calling this function, you must either create or know of a resource id and access control conditions for the item you wish to gain authorization for. You can create an access control condition using the saveSigningCondition function. + * Request a signed JWT from the LIT network. Before calling this function, you must know the access control conditions for the item you wish to gain authorization for. * * @param { JsonSigningRetrieveRequest } params * @@ -316,19 +316,6 @@ export interface ILitNodeClient { params: JsonSigningRetrieveRequest ): Promise; - /** - * - * Associated access control conditions with a resource on the web. After calling this function, users may use the getSignedToken function to request a signed JWT from the LIT network. This JWT proves that the user meets the access control conditions, and is authorized to access the resource you specified in the resourceId parameter of the saveSigningCondition function. - * - * @param { JsonStoreSigningRequest } params - * - * @returns { Promise; - /** * Encrypt data with Lit identity-based Timelock Encryption. * diff --git a/packages/types/src/lib/interfaces.ts b/packages/types/src/lib/interfaces.ts index 9664716da0..a9a88d6b34 100644 --- a/packages/types/src/lib/interfaces.ts +++ b/packages/types/src/lib/interfaces.ts @@ -127,28 +127,11 @@ export interface IProvider { } /** ---------- Crypto ---------- */ -export interface EncryptedString { - symmetricKey: SymmetricKey; - encryptedString: Blob; - encryptedData?: Blob; -} - export interface EncryptedZip { symmetricKey: SymmetricKey; encryptedZip: Blob; } -export interface ThreeKeys { - // zipBlob is a zip file that contains an encrypted file and the metadata needed to decrypt it via the Lit network. - zipBlob: any; - - // encryptedSymmetricKey is the symmetric key needed to decrypt the content, encrypted with the Lit network public key. You may wish to store encryptedSymmetricKey in your own database to support quicker re-encryption operations when adding additional access control conditions in the future, but this is entirely optional, and this key is already stored inside the zipBlob. - encryptedSymmetricKey: EncryptedSymmetricKey; - - // symmetricKey is the raw symmetric key used to encrypt the files. DO NOT STORE IT. It is provided in case you wish to create additional "OR" access control conditions for the same file. - symmetricKey: SymmetricKey; -} - export interface DecryptZipFileWithMetadata { decryptedFile: Uint8Array; metadata: MetadataForFile; @@ -177,17 +160,32 @@ export interface DecryptFileProps { } export interface VerifyJWTProps { + publicKey: string; // A JWT signed by the LIT network using the BLS12-381 algorithm jwt: string; } -export interface IJWT { +export interface IJWT { verified: boolean; - header: object; - payload: object; + header: JWTHeader; + payload: T; signature: Uint8Array; } +export interface JWTHeader { + alg: string; + typ: string; +} + +export interface SigningAccessControlConditionJWTPayload + extends MultipleAccessControlConditions { + iss: string; + sub: string; + chain?: string; + iat: number; + exp: number; +} + export interface HumanizedAccsProps { // The array of access control conditions that you want to humanize accessControlConditions?: AccessControlConditions; @@ -324,6 +322,20 @@ export interface JsonSigningResourceId { extraData: string; } +export interface MultipleAccessControlConditions { + // The access control conditions that the user must meet to obtain this signed token. This could be posession of an NFT, for example. You must pass either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions. + accessControlConditions?: AccessControlConditions; + + // EVM Smart Contract access control conditions that the user must meet to obtain this signed token. This could be posession of an NFT, for example. This is different than accessControlConditions because accessControlConditions only supports a limited number of contract calls. evmContractConditions supports any contract call. You must pass either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions. + evmContractConditions?: EvmContractConditions; + + // Solana RPC call conditions that the user must meet to obtain this signed token. This could be posession of an NFT, for example. + solRpcConditions?: SolRpcConditions; + + // An array of unified access control conditions. You may use AccessControlCondition, EVMContractCondition, or SolRpcCondition objects in this array, but make sure you add a conditionType for each one. You must pass either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions. + unifiedAccessControlConditions?: UnifiedAccessControlConditions; +} + export interface JsonAccsRequest { // The access control conditions that the user must meet to obtain this signed token. This could be posession of an NFT, for example. You must pass either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions. accessControlConditions?: AccessControlConditions; @@ -370,11 +382,32 @@ export interface JsonSigningRetrieveRequest extends JsonAccsRequest { sessionSigs?: any; } -export interface JsonStoreSigningRequest extends JsonAccsRequest { - // Whether or not the access control condition should be saved permanently. If false, the access control conditions will be updateable by the creator. If you don't pass this param, it's set to true by default. - permanant?: boolean | 0 | 1; - permanent?: boolean | 0 | 1; - sessionSigs?: any; +export interface GetSignedTokenRequest + extends SigningAccessControlConditionRequest { + sessionSigs?: SessionSigsMap; +} + +export interface SigningAccessControlConditionRequest { + // The access control conditions that the user must meet to obtain this signed token. This could be posession of an NFT, for example. You must pass either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions. + accessControlConditions?: AccessControlConditions; + + // EVM Smart Contract access control conditions that the user must meet to obtain this signed token. This could be posession of an NFT, for example. This is different than accessControlConditions because accessControlConditions only supports a limited number of contract calls. evmContractConditions supports any contract call. You must pass either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions. + evmContractConditions?: EvmContractConditions; + + // Solana RPC call conditions that the user must meet to obtain this signed token. This could be posession of an NFT, for example. + solRpcConditions?: SolRpcConditions; + + // An array of unified access control conditions. You may use AccessControlCondition, EVMContractCondition, or SolRpcCondition objects in this array, but make sure you add a conditionType for each one. You must pass either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions. + unifiedAccessControlConditions?: UnifiedAccessControlConditions; + + // The chain name of the chain that you are querying. See ALL_LIT_CHAINS for currently supported chains. + chain?: string; + + // The authentication signature that proves that the user owns the crypto wallet address that meets the access control conditions + authSig?: SessionSig; + + iat?: number; + exp?: number; } /** @@ -474,26 +507,6 @@ export interface GetSigningShareForDecryptionRequest extends JsonAccsRequest { dataToEncryptHash: string; } -export interface JsonSaveEncryptionKeyRequest { - accessControlConditions?: AccessControlConditions; - evmContractConditions?: EvmContractConditions; - solRpcConditions?: SolRpcConditions; - unifiedAccessControlConditions?: UnifiedAccessControlConditions; - authSig?: AuthSig; - chain: Chain; - - // The symmetric encryption key that was used to encrypt the locked content inside the LIT as a Uint8Array. You should use zipAndEncryptString or zipAndEncryptFiles to get this encryption key. This key will be hashed and the hash will be sent to the LIT nodes. You must pass either symmetricKey or encryptedSymmetricKey. - symmetricKey: SymmetricKey; - - // The encrypted symmetric key of the item you with to update. You must pass either symmetricKey or encryptedSymmetricKey. - encryptedSymmetricKey?: EncryptedSymmetricKey; - - permanant?: boolean | 0 | 1; - permanent?: boolean | 0 | 1; - - sessionSigs?: SessionSigsMap; -} - export interface SignConditionECDSA { accessControlConditions: any; evmContractConditions: undefined; @@ -538,9 +551,21 @@ export interface NodeShare { logs: any; } -export interface SuccessNodePromises { +export interface NodeBlsSigningShare { + shareIndex: any; + unsignedJwt?: any; + signatureShare: BlsSignatureShare; + response?: any; + logs?: any; +} + +export interface BlsSignatureShare { + ProofOfPossession: string; +} + +export interface SuccessNodePromises { success: boolean; - values: Array; + values: Array; } export interface RejectedNodePromises { diff --git a/packages/uint8arrays/src/lib/uint8arrays.ts b/packages/uint8arrays/src/lib/uint8arrays.ts index a4fccf6505..6572637c77 100644 --- a/packages/uint8arrays/src/lib/uint8arrays.ts +++ b/packages/uint8arrays/src/lib/uint8arrays.ts @@ -143,8 +143,8 @@ export function uint8arrayFromString( return new Uint8Array(arr); case 'base64': return base64ToUint8Array(str); - case 'base64urlpad': case 'base64url': + case 'base64urlpad': return base64ToUint8Array(base64UrlPadToBase64(str)); default: throw new Error(`Unsupported encoding "${encoding}"`); @@ -166,8 +166,8 @@ export function uint8arrayToString( .join(''); case 'base64': return uint8ArrayToBase64(_uint8array); - case 'base64urlpad': case 'base64url': + case 'base64urlpad': return base64ToBase64UrlPad(uint8ArrayToBase64(_uint8array)); default: throw new Error(`Unsupported encoding "${encoding}"`); From ae35bcd0189020c308e296e94ef544b71da69e9c Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Sat, 24 Jun 2023 10:36:24 -0700 Subject: [PATCH 036/193] Add getSignedToken + verification to e2e tests --- cypress/e2e/spec.cy.ts | 27 +++++++++++++++++++---- packages/encryption/src/lib/encryption.ts | 2 +- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/cypress/e2e/spec.cy.ts b/cypress/e2e/spec.cy.ts index f189e47955..2c602bdd06 100644 --- a/cypress/e2e/spec.cy.ts +++ b/cypress/e2e/spec.cy.ts @@ -245,6 +245,29 @@ describe('Encrypt and decrypt file', () => { }); }); +describe('Signed JWTs', () => { + it('get and verify signed JWT', async () => { + cy.window().then(async () => { + const jwtToken = await savedParams.litNodeClient.getSignedToken({ + accessControlConditions: savedParams.accs, + chain: 'ethereum', + authSig: savedParams.authSig, + }); + + expect(jwtToken).to.be.a('string'); + + const { verified, header, payload } = LitJsSdk.verifyJwt({ jwt, publicKey: savedParams.litNodeClient.networkPubKey! }); + expect(verified).to.be.true; + expect(header).to.be.an('object'); + expect(payload).to.be.an('object'); + + const expectedAccessControlConditionsHash = (await savedParams.litNodeClient.getHashedAccessControlConditions(savedParams.accs))!.toString(); + const actualAccessControlConditionsHash = (await savedParams.litNodeClient.getHashedAccessControlConditions(payload))!.toString(); + expect(actualAccessControlConditionsHash).to.eq(expectedAccessControlConditionsHash); + }); + }) +}); + describe('Lit Action', () => { it('Gets JS execution shares', async () => { const litActionCode = ` @@ -489,10 +512,6 @@ describe('Lit Action', () => { ); expect(nodePromises.length).to.equal(10); - - // should be serrano.litgateway - // const resolvedPromises = savedParams.litNodeClient.handleNodePromises(nodePromises); - // console.log(resolvedPromises); }); it('Throw Node Error', () => { diff --git a/packages/encryption/src/lib/encryption.ts b/packages/encryption/src/lib/encryption.ts index 3503cadc61..49c5e6fec9 100644 --- a/packages/encryption/src/lib/encryption.ts +++ b/packages/encryption/src/lib/encryption.ts @@ -737,7 +737,7 @@ declare global { /** * // TODO check for expiration * - * Verify a JWT from the LIT network. Use this for auth on your server. For some background, users can define resources (URLs) for authorization via on-chain conditions using the saveSigningCondition function. Other users can then request a signed JWT proving that their ETH account meets those on-chain conditions using the getSignedToken function. Then, servers can verify that JWT using this function. A successful verification proves that the user meets the on-chain conditions defined in the saveSigningCondition step. For example, the on-chain condition could be posession of a specific NFT. + * Verify a JWT from the LIT network. Use this for auth on your server. For some background, users can specify access control condiitons for various URLs, and then other users can then request a signed JWT proving that their ETH account meets those on-chain conditions using the getSignedToken function. Then, servers can verify that JWT using this function. A successful verification proves that the user meets the access control conditions defined earlier. For example, the on-chain condition could be posession of a specific NFT. * * @param { VerifyJWTProps } jwt * From ff937b5096576e2a0164b833647b072415e66067 Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Sat, 24 Jun 2023 11:43:41 -0700 Subject: [PATCH 037/193] Update manual_tests for signed JWT tests --- apps/html/manual_tests.html | 439 +----------------- apps/html/manual_tests_cosmos.html | 18 +- apps/html/manual_tests_error_messages.html | 188 +------- .../manual_tests_evm_contract_conditions.html | 18 +- apps/html/manual_tests_session_keys.html | 31 +- apps/html/manual_tests_sol.html | 18 +- apps/html/manual_tests_unified.html | 20 +- packages/types/src/lib/ILitNodeClient.ts | 7 +- 8 files changed, 18 insertions(+), 721 deletions(-) diff --git a/apps/html/manual_tests.html b/apps/html/manual_tests.html index 6dad4ec13e..3f4a01c842 100644 --- a/apps/html/manual_tests.html +++ b/apps/html/manual_tests.html @@ -93,33 +93,17 @@ }); } - let resourceId = { - baseUrl: 'my-dynamic-content-server.com', - path: randomPath(), - orgId: '', - role: '', - extraData: '', - }; - - await litNodeClient.saveSigningCondition({ - accessControlConditions, - chain, - authSig, - resourceId, - }); - let jwt = await litNodeClient.getSignedToken({ accessControlConditions, chain, authSig, - resourceId, }); console.log('jwt', jwt); // uncomment this to break the jwt, to test an invalid jwt // jwt = jwt.replace(/.$/, "3"); - const { verified, header, payload } = LitJsSdk.verifyJwt({ jwt }); + const { verified, header, payload } = LitJsSdk.verifyJwt({ jwt, publicKey: litNodeClient.networkPubKey }); console.log('verified', verified); console.log('header', header); console.log('payload', payload); @@ -997,7 +981,7 @@ method: 'balanceOf', parameters: [':userAddress', '8'], returnValueTest: { - comparator: '>', + comparator: '<', value: '0', }, }, @@ -1005,20 +989,11 @@ var authSig = await LitJsSdk.checkAndSignAuthMessage({ chain }); - let resourceId = { - baseUrl: 'my-dynamic-content-server.com', - path: randomPath(), - orgId: '', - role: '', - extraData: '', - }; - try { - await litNodeClient.saveSigningCondition({ + await litNodeClient.getSignedToken({ accessControlConditions, //chain, // intentionally exclude this to cause an error parsing the JSON authSig, - resourceId, }); } catch (e) { console.log('error', e); @@ -1227,205 +1202,6 @@ ).innerText = `${testName}: Success. Decrypted string is: ${decryptedString}`; }; - var EthSignWithAnUpdate = async () => { - const testName = 'EthSignWithAnUpdate'; - document.getElementById('status').innerText = `Testing ${testName}...`; - const authSig = await LitJsSdk.checkAndSignAuthMessage({ - chain, - }); - const accessControlConditions = [ - { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '100000000000000000000000', // 100000 eth (or matic, really) - }, - }, - ]; - - document.getElementById( - 'humanized' - ).innerText = `Humanized: ${await LitJsSdk.humanizeAccessControlConditions( - { accessControlConditions } - )}`; - - let resourceId = { - baseUrl: 'my-dynamic-content-server.com', - path: randomPath(), - orgId: '', - role: '', - extraData: '', - }; - - await litNodeClient.saveSigningCondition({ - accessControlConditions, - chain, - authSig, - resourceId, - permanant: false, - }); - - // uncomment this to break the jwt, to test an invalid jwt - // jwt = jwt.replace(/.$/, "3"); - - const newAccessControlConditions = [ - { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '10000000000000', - }, - }, - ]; - - let jwt; - try { - jwt = await litNodeClient.getSignedToken({ - accessControlConditions, - chain, - authSig, - resourceId, - permanant: false, - }); - console.log('jwt', jwt); - } catch (e) { - console.log('error getting symmetric key - this is expected', e); - console.log('trying to update the condition'); - - const saved = await litNodeClient.saveSigningCondition({ - accessControlConditions: newAccessControlConditions, - chain, - authSig, - resourceId, - }); - console.log('updated the condition'); - } - - jwt = await litNodeClient.getSignedToken({ - accessControlConditions: newAccessControlConditions, - chain, - authSig, - resourceId, - }); - - const { verified, header, payload } = LitJsSdk.verifyJwt({ jwt }); - console.log('verified', verified); - console.log('header', header); - console.log('payload', payload); - - if (jwt && verified) { - document.getElementById('status').innerText = `${testName}: Success`; - } else { - document.getElementById('status').innerText = `${testName}: Failure`; - } - }; - - var EthSignWithAnUnauthorizedUpdate = async () => { - const testName = 'EthSignWithAnUnauthorizedUpdate'; - document.getElementById('status').innerText = `Testing ${testName}...`; - const authSig = await LitJsSdk.checkAndSignAuthMessage({ - chain, - }); - const accessControlConditions = [ - { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '100000000000000000000000', // 100000 eth (or matic, really) - }, - }, - ]; - - document.getElementById( - 'humanized' - ).innerText = `Humanized: ${await LitJsSdk.humanizeAccessControlConditions( - { accessControlConditions } - )}`; - - let resourceId = { - baseUrl: 'my-dynamic-content-server.com', - path: randomPath(), - orgId: '', - role: '', - extraData: '', - }; - - await litNodeClient.saveSigningCondition({ - accessControlConditions, - chain, - authSig, - resourceId, - permanant: false, - }); - - // uncomment this to break the jwt, to test an invalid jwt - // jwt = jwt.replace(/.$/, "3"); - - const newAccessControlConditions = [ - { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '10000000000000', - }, - }, - ]; - - let jwt; - try { - let unauthorizedAuthSig = { - sig: '0x2229236873d413f301c1afb7650959dee9f9a984c7421c9a44e41009940a5e410925d03374ddaf51590c7899253f30d589f1d7fec694f15829c8157c24f999f81c', - derivedVia: 'web3.eth.personal.sign', - signedMessage: - 'I am creating an account to use Lit Protocol at 2022-01-27T02:07:14.289Z', - address: '0xb962537314b11c6bcd6d9ff63feb048a9e91e7ae', - }; - - console.log('trying to update the condition'); - - const newEncryptedSymmetricKey = - await litNodeClient.saveSigningCondition({ - accessControlConditions: newAccessControlConditions, - chain, - authSig: unauthorizedAuthSig, - resourceId, - }); - console.log('updated the condition'); - } catch (e) { - console.log('error updating the condition - this is expected', e); - if (isNodeStorageError(e.errorCode)) { - document.getElementById( - 'status' - ).innerText = `${testName}: Success. We were unable to update.`; - } else { - document.getElementById( - 'status' - ).innerText = `${testName}: Failure. When we tried to update with an unauthorized acct, we got an error that isn't a storage error`; - } - return; - } - - document.getElementById( - 'status' - ).innerText = `${testName}: Failure. We updated a condition we shouldn't been able to! OMG FIX THIS`; - }; - /// ECDSA Test function var EcdsaSignMessage = async () => { const testName = 'EcdsaSignMessage'; @@ -1496,186 +1272,6 @@ } }; - var EthSignPermanantCondition = async () => { - const testName = 'EthSignPermanantCondition'; - document.getElementById('status').innerText = `Testing ${testName}...`; - const authSig = await LitJsSdk.checkAndSignAuthMessage({ - chain, - }); - const accessControlConditions = [ - { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '100000000000000000000000', // 100000 eth (or matic, really) - }, - }, - ]; - - document.getElementById( - 'humanized' - ).innerText = `Humanized: ${await LitJsSdk.humanizeAccessControlConditions( - { accessControlConditions } - )}`; - - let resourceId = { - baseUrl: 'my-dynamic-content-server.com', - path: randomPath(), - orgId: '', - role: '', - extraData: '', - }; - - await litNodeClient.saveSigningCondition({ - accessControlConditions, - chain, - authSig, - resourceId, - permanant: true, - }); - - // uncomment this to break the jwt, to test an invalid jwt - // jwt = jwt.replace(/.$/, "3"); - - const newAccessControlConditions = [ - { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '10000000000000', - }, - }, - ]; - - let jwt; - try { - console.log('trying to update the permanant condition'); - - const newEncryptedSymmetricKey = - await litNodeClient.saveSigningCondition({ - accessControlConditions: newAccessControlConditions, - chain, - authSig, - resourceId, - }); - console.log('updated the condition'); - } catch (e) { - console.log('error updating the condition - this is expected', e); - if (isNodeStorageError(e.errorCode)) { - document.getElementById( - 'status' - ).innerText = `${testName}: Success. We were unable to update.`; - } else { - document.getElementById( - 'status' - ).innerText = `${testName}: Failure. When we tried to update with an unauthorized acct, we got an error that isn't a storage error`; - } - return; - } - - document.getElementById( - 'status' - ).innerText = `${testName}: Failure. We updated a condition we shouldn't been able to! OMG FIX THIS`; - }; - - var EthSignPermanentCondition = async () => { - const testName = 'EthSignPermanentCondition'; - document.getElementById('status').innerText = `Testing ${testName}...`; - const authSig = await LitJsSdk.checkAndSignAuthMessage({ - chain, - }); - const accessControlConditions = [ - { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '100000000000000000000000', // 100000 eth (or matic, really) - }, - }, - ]; - - document.getElementById( - 'humanized' - ).innerText = `Humanized: ${await LitJsSdk.humanizeAccessControlConditions( - { accessControlConditions } - )}`; - - let resourceId = { - baseUrl: 'my-dynamic-content-server.com', - path: randomPath(), - orgId: '', - role: '', - extraData: '', - }; - - await litNodeClient.saveSigningCondition({ - accessControlConditions, - chain, - authSig, - resourceId, - permanent: true, - }); - - // uncomment this to break the jwt, to test an invalid jwt - // jwt = jwt.replace(/.$/, "3"); - - const newAccessControlConditions = [ - { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '10000000000000', - }, - }, - ]; - - let jwt; - try { - console.log('trying to update the permanent condition'); - - const newEncryptedSymmetricKey = - await litNodeClient.saveSigningCondition({ - accessControlConditions: newAccessControlConditions, - chain, - authSig, - resourceId, - }); - console.log('updated the condition'); - } catch (e) { - console.log('error updating the condition - this is expected', e); - if (isNodeStorageError(e.errorCode)) { - document.getElementById( - 'status' - ).innerText = `${testName}: Success. We were unable to update.`; - } else { - document.getElementById( - 'status' - ).innerText = `${testName}: Failure. When we tried to update with an unauthorized acct, we got an error that isn't a storage error`; - } - return; - } - - document.getElementById( - 'status' - ).innerText = `${testName}: Failure. We updated a condition we shouldn't been able to! OMG FIX THIS`; - }; - var EncryptFileAndZipWithMetadata = async () => { const testResults = {}; const testName = 'EncryptFileAndZipWithMetadata'; @@ -2195,29 +1791,6 @@

Manual tests



- -
-
- -
-
- -
-
- -
-

-
-
-

diff --git a/apps/html/manual_tests_cosmos.html b/apps/html/manual_tests_cosmos.html index 2257c0ab60..171326be59 100644 --- a/apps/html/manual_tests_cosmos.html +++ b/apps/html/manual_tests_cosmos.html @@ -35,33 +35,17 @@ { unifiedAccessControlConditions } )}`; - let resourceId = { - baseUrl: 'my-dynamic-content-server.com', - path: randomPath(), - orgId: '', - role: '', - extraData: '', - }; - - await litNodeClient.saveSigningCondition({ - unifiedAccessControlConditions, - authSig, - chain, - resourceId, - }); - let jwt = await litNodeClient.getSignedToken({ unifiedAccessControlConditions, authSig, chain, - resourceId, }); console.log('jwt', jwt); // uncomment this to break the jwt, to test an invalid jwt // jwt = jwt.replace(/.$/, "3"); - const { verified, header, payload } = LitJsSdk.verifyJwt({ jwt }); + const { verified, header, payload } = LitJsSdk.verifyJwt({ jwt, publicKey: litNodeClient.networkPubKey }); console.log('verified', verified); console.log('header', header); console.log('payload', payload); diff --git a/apps/html/manual_tests_error_messages.html b/apps/html/manual_tests_error_messages.html index 8fdf24abb2..4f256d8d79 100644 --- a/apps/html/manual_tests_error_messages.html +++ b/apps/html/manual_tests_error_messages.html @@ -26,7 +26,6 @@ Math.random().toString(36).substring(2, 15); var testProvisoningAndSigning = async ({ evmContractConditions, - doNotStoreResourceId = false, testName, }) => { document.getElementById("status").innerText = `Testing ${testName}...`; @@ -38,35 +37,17 @@ var authSig = await LitJsSdk.checkAndSignAuthMessage({ chain }); - let resourceId = { - baseUrl: "my-dynamic-content-server.com", - path: randomPath(), - orgId: "", - role: "", - extraData: "", - }; - - if (!doNotStoreResourceId) { - await litNodeClient.saveSigningCondition({ - evmContractConditions, - chain, - authSig, - resourceId, - }); - } - let jwt = await litNodeClient.getSignedToken({ evmContractConditions, chain, authSig, - resourceId, }); console.log("jwt", jwt); // uncomment this to break the jwt, to test an invalid jwt // jwt = jwt.replace(/.$/, "3"); - const { verified, header, payload } = LitJsSdk.verifyJwt({ jwt }); + const { verified, header, payload } = LitJsSdk.verifyJwt({ jwt, publicKey: litNodeClient.networkPubKey }); console.log("verified", verified); console.log("header", header); console.log("payload", payload); @@ -185,66 +166,6 @@ } }; - var UnstoredResourceId = async () => { - var evmContractConditions = [ - { - contractAddress: "0x7C7757a9675f06F3BE4618bB68732c4aB25D2e88", - functionName: "balanceOf", - functionParams: [":userAddress", "8"], - functionAbi: { - type: "function", - stateMutability: "view", - outputs: [ - { - type: "uint256", - name: "", - internalType: "uint256", - }, - ], - name: "balanceOf", - inputs: [ - { - type: "address", - name: "account", - internalType: "address", - }, - { - type: "uint256", - name: "id", - internalType: "uint256", - }, - ], - }, - chain, - returnValueTest: { - key: "", - comparator: ">", - value: "0", - }, - }, - ]; - - try { - await testProvisoningAndSigning({ - evmContractConditions, - doNotStoreResourceId: true, - testName: "UnstoredResourceId", - }); - document.getElementById( - "status" - ).innerText = `UnstoredResourceId: Failed. It should have thrown an exception but it didn't.`; - } catch (e) { - console.log("Error on UnstoredResourceId", e); - document.getElementById( - "status" - ).innerText = `UnstoredResourceId: Success. Failed with error ${JSON.stringify( - e, - null, - 2 - )}`; - } - }; - var Unauthorized = async () => { var evmContractConditions = [ { @@ -304,104 +225,6 @@ } }; - var EthSignWithAnUnauthorizedUpdate = async () => { - const testName = "EthSignWithAnUnauthorizedUpdate"; - document.getElementById("status").innerText = `Testing ${testName}...`; - const authSig = await LitJsSdk.checkAndSignAuthMessage({ - chain, - }); - const accessControlConditions = [ - { - contractAddress: "", - standardContractType: "", - chain, - method: "eth_getBalance", - parameters: [":userAddress", "latest"], - returnValueTest: { - comparator: ">=", - value: "100000000000000000000000", // 100000 eth (or matic, really) - }, - }, - ]; - - document.getElementById( - "humanized" - ).innerText = `Humanized: ${await LitJsSdk.humanizeAccessControlConditions( - { accessControlConditions } - )}`; - - let resourceId = { - baseUrl: "my-dynamic-content-server.com", - path: randomPath(), - orgId: "", - role: "", - extraData: "", - }; - - await litNodeClient.saveSigningCondition({ - accessControlConditions, - chain, - authSig, - resourceId, - permanant: false, - }); - - // uncomment this to break the jwt, to test an invalid jwt - // jwt = jwt.replace(/.$/, "3"); - - const newAccessControlConditions = [ - { - contractAddress: "", - standardContractType: "", - chain, - method: "eth_getBalance", - parameters: [":userAddress", "latest"], - returnValueTest: { - comparator: ">=", - value: "10000000000000", - }, - }, - ]; - - let jwt; - try { - let unauthorizedAuthSig = { - sig: "0x2229236873d413f301c1afb7650959dee9f9a984c7421c9a44e41009940a5e410925d03374ddaf51590c7899253f30d589f1d7fec694f15829c8157c24f999f81c", - derivedVia: "web3.eth.personal.sign", - signedMessage: - "I am creating an account to use Lit Protocol at 2022-01-27T02:07:14.289Z", - address: "0xb962537314b11c6bcd6d9ff63feb048a9e91e7ae", - }; - - console.log("trying to update the condition"); - - const newEncryptedSymmetricKey = - await litNodeClient.saveSigningCondition({ - accessControlConditions: newAccessControlConditions, - chain, - authSig: unauthorizedAuthSig, - resourceId, - }); - console.log("updated the condition"); - } catch (e) { - console.log("error updating the condition - this is expected", e); - if (isNodeStorageError(e.errorCode)) { - document.getElementById( - "status" - ).innerText = `${testName}: Success. We were unable to update.`; - } else { - document.getElementById( - "status" - ).innerText = `${testName}: Failure. When we tried to update with an unauthorized acct, we got an error that isn't a storage error`; - } - return; - } - - document.getElementById( - "status" - ).innerText = `${testName}: Failure. We updated a condition we shouldn't been able to! OMG FIX THIS`; - }; - var MissingChainEncryptDecrypt = async () => { var evmContractConditions = [ { @@ -557,18 +380,9 @@

Manual tests



- -
-


- -
-


- -
-
diff --git a/packages/core/src/lib/lit-core.ts b/packages/core/src/lib/lit-core.ts index 41b6e1a44b..1ba6db1061 100644 --- a/packages/core/src/lib/lit-core.ts +++ b/packages/core/src/lib/lit-core.ts @@ -8,54 +8,41 @@ import { hashSolRpcConditions, hashUnifiedAccessControlConditions, } from '@lit-protocol/access-control-conditions'; -import { wasmBlsSdkHelpers } from '@lit-protocol/bls-sdk'; import { - defaultLitnodeClientConfig, LIT_ERROR, + LIT_ERROR_CODE, LIT_NETWORKS, + defaultLitnodeClientConfig, version, - LIT_ERROR_CODE, } from '@lit-protocol/constants'; import { + isBrowser, + log, + mostCommonString, + throwError, +} from '@lit-protocol/misc'; +import { + AuthSig, CustomNetwork, FormattedMultipleAccs, HandshakeWithSgx, - AuthSig, - JsonEncryptionRetrieveRequest, JsonHandshakeResponse, - JsonSaveEncryptionKeyRequest, - JsonSigningStoreRequest, - JsonStoreSigningRequest, KV, LitNodeClientConfig, - NodeCommandResponse, + MultipleAccessControlConditions, + NodeClientErrorV0, + NodeClientErrorV1, NodeCommandServerKeysResponse, NodePromiseResponse, - NodeShare, RejectedNodePromises, SendNodeCommand, + SessionSig, + SessionSigsMap, SuccessNodePromises, SupportedJsonRequests, - NodeClientErrorV0, - NodeClientErrorV1, - SessionSigsMap, - SessionSig, } from '@lit-protocol/types'; -import { combineBlsDecryptionShares } from '@lit-protocol/crypto'; -import { - isBrowser, - log, - mostCommonString, - throwError, - is, - checkIfAuthSigRequiresChainParam, -} from '@lit-protocol/misc'; -import { - uint8arrayFromString, - uint8arrayToString, -} from '@lit-protocol/uint8arrays'; export class LitCore { config: LitNodeClientConfig; @@ -308,248 +295,6 @@ export class LitCore { }); }; - /** - * - * Securely save the association between access control conditions and something that you wish to decrypt - * - * @param { JsonSaveEncryptionKeyRequest } params - * - * @returns { Promise } - * - */ - saveEncryptionKey = async ( - params: JsonSaveEncryptionKeyRequest - ): Promise => { - // ========= Prepare Params ========== - const { encryptedSymmetricKey, symmetricKey, authSig, chain, permanent } = - params; - - // ========== Validate Params ========== - // -- validate if it's ready - if (!this.ready) { - const message = - '6 LitNodeClient is not ready. Please call await litNodeClient.connect() first.'; - throwError({ - message, - errorKind: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.kind, - errorCode: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.name, - }); - } - - // -- validate if this.subnetPubKey is null - if (!this.subnetPubKey) { - const message = 'subnetPubKey cannot be null'; - return throwError({ - message, - errorKind: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.kind, - errorCode: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.name, - }); - } - - const paramsIsSafe = saveEncryptionKeyParamsIsSafe(params); - - if (!paramsIsSafe) { - return throwError({ - message: `You must provide either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions`, - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, - }); - } - - // ========== Encryption ========== - // -- encrypt with network pubkey - let encryptedKey; - - if (encryptedSymmetricKey) { - encryptedKey = encryptedSymmetricKey; - } else { - encryptedKey = wasmBlsSdkHelpers.encrypt( - uint8arrayFromString(this.subnetPubKey, 'base16'), - symmetricKey - ); - log( - 'symmetric key encrypted with LIT network key: ', - uint8arrayToString(encryptedKey, 'base16') - ); - } - - // ========== Hashing ========== - // -- hash the encrypted pubkey - const hashOfKey = await crypto.subtle.digest('SHA-256', encryptedKey); - const hashOfKeyStr = uint8arrayToString( - new Uint8Array(hashOfKey), - 'base16' - ); - - // hash the access control conditions - let hashOfConditions: ArrayBuffer | undefined = - await this.getHashedAccessControlConditions(params); - - if (!hashOfConditions) { - return throwError({ - message: `You must provide either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions`, - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, - }); - } - - const hashOfConditionsStr = uint8arrayToString( - new Uint8Array(hashOfConditions), - 'base16' - ); - - // ========== Node Promises ========== - const requestId = this.getRequestId(); - const nodePromises = this.getNodePromises((url: string) => { - // -- choose the right signature - let sigToPassToNode = this.getAuthSigOrSessionAuthSig({ - authSig: params.authSig, - sessionSigs: params.sessionSigs, - url, - }); - - return this.storeEncryptionConditionWithNode( - url, - { - key: hashOfKeyStr, - val: hashOfConditionsStr, - authSig: sigToPassToNode, - chain, - permanent: permanent ? 1 : 0, - }, - requestId - ); - }); - - // -- resolve promises - const res = await this.handleNodePromises(nodePromises); - - // -- case: promises rejected - if (res.success === false) { - this._throwNodeError(res as RejectedNodePromises); - } - - return encryptedKey; - }; - - /** - * - * Retrieve the symmetric encryption key from the LIT nodes. Note that this will only work if the current user meets the access control conditions specified when the data was encrypted. That access control condition is typically that the user is a holder of the NFT that corresponds to this encrypted data. This NFT token address and ID was specified when this LIT was created. - * - */ - getEncryptionKey = async ( - params: JsonEncryptionRetrieveRequest - ): Promise => { - // -- validate if it's ready - if (!this.ready) { - const message = - '5 LitNodeClient is not ready. Please call await litNodeClient.connect() first.'; - throwError({ - message, - errorKind: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.kind, - errorCode: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.name, - }); - } - - // -- validate if this.networkPubKeySet is null - if (!this.networkPubKeySet) { - const message = 'networkPubKeySet cannot be null'; - throwError({ - message, - errorKind: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.kind, - errorCode: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.name, - }); - } - - // ========== Prepare Params ========== - const { chain, authSig, resourceId, toDecrypt } = params; - - // ========== Validate Params ========== - - const paramsIsSafe = getEncryptionKeyParamsIsSafe(params); - - if (!paramsIsSafe) { - throwError({ - message: `You must provide either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions`, - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, - }); - } - - // ========== Formatting Access Control Conditions ========= - const { - error, - formattedAccessControlConditions, - formattedEVMContractConditions, - formattedSolRpcConditions, - formattedUnifiedAccessControlConditions, - }: FormattedMultipleAccs = this.getFormattedAccessControlConditions(params); - - if (error) { - throwError({ - message: `You must provide either accessControlConditions or evmContractConditions or solRpcConditions or unifiedAccessControlConditions`, - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, - }); - } - - // ========== Node Promises ========== - const requestId = this.getRequestId(); - const nodePromises = this.getNodePromises((url: string) => { - // -- choose the right signature - let sigToPassToNode = this.getAuthSigOrSessionAuthSig({ - authSig: params.authSig, - sessionSigs: params.sessionSigs, - url, - }); - - return this.getDecryptionShare( - url, - { - accessControlConditions: formattedAccessControlConditions, - evmContractConditions: formattedEVMContractConditions, - solRpcConditions: formattedSolRpcConditions, - unifiedAccessControlConditions: - formattedUnifiedAccessControlConditions, - toDecrypt, - authSig: sigToPassToNode, - chain, - }, - requestId - ); - }); - - // -- resolve promises - const res = await this.handleNodePromises(nodePromises); - - // -- case: promises rejected - if (res.success === false) { - this._throwNodeError(res as RejectedNodePromises); - } - - const decryptionShares: Array = (res as SuccessNodePromises) - .values; - - log('decryptionShares', decryptionShares); - - if (!this.networkPubKeySet) { - return throwError({ - message: 'networkPubKeySet cannot be null', - errorKind: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.kind, - errorCode: LIT_ERROR.LIT_NODE_CLIENT_NOT_READY_ERROR.name, - }); - } - - // ========== Combine Shares ========== - const decrypted = combineBlsDecryptionShares( - decryptionShares, - this.networkPubKeySet, - toDecrypt - ); - - return decrypted; - }; - /** * * Get and gather node promises @@ -614,13 +359,13 @@ export class LitCore { * * Get hash of access control conditions * - * @param { JsonStoreSigningRequest } params + * @param { MultipleAccessControlConditions } params * * @returns { Promise } * */ getHashedAccessControlConditions = async ( - params: JsonStoreSigningRequest + params: MultipleAccessControlConditions ): Promise => { let hashOfConditions: ArrayBuffer; @@ -653,46 +398,18 @@ export class LitCore { return hashOfConditions; }; - /** - * - * Store encryption conditions to nodes - * - * @param { string } urk - * @param { JsonEncryptionStoreRequest } params - * - * @returns { Promise } - * - */ - storeEncryptionConditionWithNode = async ( - url: string, - params: JsonSigningStoreRequest, - requestId: string - ): Promise => { - log('storeEncryptionConditionWithNode'); - const urlWithPath = `${url}/web/encryption/store`; - const data = { - key: params.key, - val: params.val, - authSig: params.authSig, - chain: params.chain, - permanant: params.permanent, - }; - - return await this.sendCommandToNode({ url: urlWithPath, data, requestId }); - }; - /** * Handle node promises * * @param { Array> } nodePromises * - * @returns { Promise } + * @returns { Promise | RejectedNodePromises> } * */ - handleNodePromises = async ( - nodePromises: Array>, + handleNodePromises = async ( + nodePromises: Array>, minNodeCount?: number - ): Promise => { + ): Promise | RejectedNodePromises> => { // -- prepare const responses = await Promise.allSettled(nodePromises); const minNodes = minNodeCount ?? this.config.minNodeCount; @@ -704,7 +421,7 @@ export class LitCore { // -- case: success (when success responses are more than minNodeCount) if (successes.length >= minNodes) { - const successPromises: SuccessNodePromises = { + const successPromises: SuccessNodePromises = { success: true, values: successes.map((r: any) => r.value), }; @@ -841,256 +558,4 @@ export class LitCore { formattedUnifiedAccessControlConditions, }; }; - - /** - * - * Ger Decryption Shares from Nodes - * - * @param { string } url - * @param { JsonEncryptionRetrieveRequest } params - * - * @returns { Promise } - * - */ - getDecryptionShare = async ( - url: string, - params: JsonEncryptionRetrieveRequest, - requestId: string - ): Promise => { - log('getDecryptionShare'); - const urlWithPath = `${url}/web/encryption/retrieve`; - - return await this.sendCommandToNode({ - url: urlWithPath, - data: params, - requestId, - }); - }; -} - -function saveEncryptionKeyParamsIsSafe(params: JsonSaveEncryptionKeyRequest) { - // -- prepare params - const { - accessControlConditions, - evmContractConditions, - solRpcConditions, - unifiedAccessControlConditions, - authSig, - chain, - symmetricKey, - encryptedSymmetricKey, - permanant, - permanent, - sessionSigs, - } = params; - - if ( - accessControlConditions && - !is( - accessControlConditions, - 'Array', - 'accessControlConditions', - 'saveEncryptionKey' - ) - ) - return false; - if ( - evmContractConditions && - !is( - evmContractConditions, - 'Array', - 'evmContractConditions', - 'saveEncryptionKey' - ) - ) - return false; - if ( - solRpcConditions && - !is(solRpcConditions, 'Array', 'solRpcConditions', 'saveEncryptionKey') - ) - return false; - if ( - unifiedAccessControlConditions && - !is( - unifiedAccessControlConditions, - 'Array', - 'unifiedAccessControlConditions', - 'saveEncryptionKey' - ) - ) - return false; - - // log('authSig:', authSig); - if (authSig && !is(authSig, 'Object', 'authSig', 'saveEncryptionKey')) - return false; - if ( - authSig && - !checkIfAuthSigRequiresChainParam(authSig, chain, 'saveEncryptionKey') - ) - return false; - - if ( - sessionSigs && - !is(sessionSigs, 'Object', 'sessionSigs', 'saveEncryptionKey') - ) - return false; - - if (!sessionSigs && !authSig) { - throwError({ - message: 'You must pass either authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, - }); - return false; - } - - if ( - symmetricKey && - !is(symmetricKey, 'Uint8Array', 'symmetricKey', 'saveEncryptionKey') - ) - return false; - if ( - encryptedSymmetricKey && - !is( - encryptedSymmetricKey, - 'Uint8Array', - 'encryptedSymmetricKey', - 'saveEncryptionKey' - ) - ) - return false; - - // to fix spelling mistake - if (typeof params.permanant !== 'undefined') { - params.permanent = params.permanant; - } - - if ( - (!symmetricKey || symmetricKey == '') && - (!encryptedSymmetricKey || encryptedSymmetricKey == '') - ) { - throw new Error( - 'symmetricKey and encryptedSymmetricKey are blank. You must pass one or the other' - ); - } - - if ( - !accessControlConditions && - !evmContractConditions && - !solRpcConditions && - !unifiedAccessControlConditions - ) { - throw new Error( - 'accessControlConditions and evmContractConditions and solRpcConditions and unifiedAccessControlConditions are blank' - ); - } - - // -- validate: if sessionSig and authSig exists - if (sessionSigs && authSig) { - throwError({ - message: 'You must pass only one authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, - }); - return false; - } - - // -- case: success - return true; -} - -function getEncryptionKeyParamsIsSafe(params: JsonEncryptionRetrieveRequest) { - const { - accessControlConditions, - evmContractConditions, - solRpcConditions, - unifiedAccessControlConditions, - toDecrypt, - authSig, - chain, - sessionSigs, - } = params; - - // -- validate - if ( - accessControlConditions && - !is( - accessControlConditions, - 'Array', - 'accessControlConditions', - 'getEncryptionKey' - ) - ) - return false; - - if ( - evmContractConditions && - !is( - evmContractConditions, - 'Array', - 'evmContractConditions', - 'getEncryptionKey' - ) - ) - return false; - - if ( - solRpcConditions && - !is(solRpcConditions, 'Array', 'solRpcConditions', 'getEncryptionKey') - ) - return false; - - if ( - unifiedAccessControlConditions && - !is( - unifiedAccessControlConditions, - 'Array', - 'unifiedAccessControlConditions', - 'getEncryptionKey' - ) - ) - return false; - - log('TYPEOF toDecrypt in getEncryptionKey():', typeof toDecrypt); - if (!is(toDecrypt, 'String', 'toDecrypt', 'getEncryptionKey')) return false; - if (authSig && !is(authSig, 'Object', 'authSig', 'getEncryptionKey')) - return false; - if ( - sessionSigs && - !is(sessionSigs, 'Object', 'sessionSigs', 'getEncryptionKey') - ) - return false; - - // -- validate: if sessionSig or authSig exists - if (!sessionSigs && !authSig) { - throwError({ - message: 'You must pass either authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, - }); - return false; - } - - // -- validate: if sessionSig and authSig exists - if (sessionSigs && authSig) { - throwError({ - message: 'You must pass only one authSig or sessionSigs', - errorKind: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.kind, - errorCode: LIT_ERROR.INVALID_ARGUMENT_EXCEPTION.name, - }); - return false; - } - - // -- validate if 'chain' is null - if (!chain) { - return false; - } - - if ( - authSig && - !checkIfAuthSigRequiresChainParam(authSig, chain, 'getEncryptionKey') - ) - return false; - - return true; } diff --git a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts index a1cdb6eb44..5430495995 100644 --- a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts +++ b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts @@ -1,24 +1,11 @@ -import { - canonicalAccessControlConditionFormatter, - canonicalResourceIdFormatter, - canonicalSolRpcConditionFormatter, - canonicalUnifiedAccessControlConditionFormatter, - hashAccessControlConditions, - hashEVMContractConditions, - hashSolRpcConditions, - hashUnifiedAccessControlConditions, -} from '@lit-protocol/access-control-conditions'; +import { canonicalAccessControlConditionFormatter } from '@lit-protocol/access-control-conditions'; import { AUTH_METHOD_TYPE_IDS, EITHER_TYPE, LIT_ERROR, - LIT_ERROR_CODE, - LIT_NETWORKS, LIT_SESSION_KEY_URI, LOCAL_STORAGE_KEYS, - defaultLitnodeClientConfig, - version, } from '@lit-protocol/constants'; import { @@ -53,39 +40,25 @@ import { GetSignedTokenRequest, GetSigningShareForDecryptionRequest, GetWalletSigProps, - HandshakeWithSgx, JsonExecutionRequest, - JsonHandshakeResponse, JsonSignChainDataRequest, - JsonSigningRetrieveRequest, - JsonSigningStoreRequest, - KV, LitNodeClientConfig, - MultipleAccessControlConditions, NodeBlsSigningShare, - NodeClientErrorV0, - NodeClientErrorV1, NodeCommandResponse, - NodeCommandServerKeysResponse, NodeLog, - NodePromiseResponse, NodeResponse, NodeShare, RejectedNodePromises, - SendNodeCommand, SessionKeyPair, - SessionSig, SessionSigningTemplate, SessionSigsMap, SigShare, SignConditionECDSA, SignSessionKeyProp, SignSessionKeyResponse, - SignedChainDataToken, SignedData, SigningAccessControlConditionRequest, SuccessNodePromises, - SupportedJsonRequests, ValidateAndSignECDSA, WebAuthnAuthenticationVerificationParams, } from '@lit-protocol/types'; @@ -98,6 +71,7 @@ import { computeAddress } from '@ethersproject/transactions'; import { joinSignature, sha256 } from 'ethers/lib/utils'; import { SiweMessage } from 'lit-siwe'; +import { LitCore } from '@lit-protocol/core'; import { IPFSBundledSDK } from '@lit-protocol/lit-third-party-libs'; import { @@ -528,37 +502,6 @@ export class LitNodeClientNodeJs extends LitCore { }); }; - /** - * - * Get Chain Data Signing Shares - * - * @param { string } url - * @param { JsonSignChainDataRequest } params - * - * @returns { Promise } - * - */ - getChainDataSigningShare = async ( - url: string, - params: JsonSignChainDataRequest, - requestId: string - ): Promise => { - const { callRequests, chain, iat, exp } = params; - - log('getChainDataSigningShare'); - - const urlWithPath = `${url}/web/signing/sign_chain_data`; - - const data: JsonSignChainDataRequest = { - callRequests, - chain, - iat, - exp, - }; - - return await this.sendCommandToNode({ url: urlWithPath, data, requestId }); - }; - /** * Get Signing Shares for Token containing Access Control Condition * @@ -646,8 +589,7 @@ export class LitNodeClientNodeJs extends LitCore { * * Combine Shares from network public key set and signature shares * - * @param { string } networkPubKeySet - * @param { any } signatureShares + * @param { NodeBlsSigningShare } signatureShares * * @returns { string } final JWT (convert the sig to base64 and append to the jwt) * @@ -708,195 +650,8 @@ export class LitNodeClientNodeJs extends LitCore { ); }; - /** - * - * Get different formats of access control conditions, eg. evm, sol, unified etc. - * - * @param { SupportedJsonRequests } params - * - * @returns { FormattedMultipleAccs } - * - */ - getFormattedAccessControlConditions = ( - params: SupportedJsonRequests - ): FormattedMultipleAccs => { - // -- prepare params - const { - accessControlConditions, - evmContractConditions, - solRpcConditions, - unifiedAccessControlConditions, - } = params; - - // -- execute - let formattedAccessControlConditions; - let formattedEVMContractConditions; - let formattedSolRpcConditions; - let formattedUnifiedAccessControlConditions; - let error = false; - - if (accessControlConditions) { - formattedAccessControlConditions = accessControlConditions.map((c: any) => - canonicalAccessControlConditionFormatter(c) - ); - log( - 'formattedAccessControlConditions', - JSON.stringify(formattedAccessControlConditions) - ); - } else if (evmContractConditions) { - formattedEVMContractConditions = evmContractConditions.map((c: any) => - canonicalEVMContractConditionFormatter(c) - ); - log( - 'formattedEVMContractConditions', - JSON.stringify(formattedEVMContractConditions) - ); - } else if (solRpcConditions) { - formattedSolRpcConditions = solRpcConditions.map((c: any) => - canonicalSolRpcConditionFormatter(c) - ); - log( - 'formattedSolRpcConditions', - JSON.stringify(formattedSolRpcConditions) - ); - } else if (unifiedAccessControlConditions) { - formattedUnifiedAccessControlConditions = - unifiedAccessControlConditions.map((c: any) => - canonicalUnifiedAccessControlConditionFormatter(c) - ); - log( - 'formattedUnifiedAccessControlConditions', - JSON.stringify(formattedUnifiedAccessControlConditions) - ); - } else { - error = true; - } - - return { - error, - formattedAccessControlConditions, - formattedEVMContractConditions, - formattedSolRpcConditions, - formattedUnifiedAccessControlConditions, - }; - }; - - /** - * - * Get hash of access control conditions - * - * @param { MultipleAccessControlConditions } params - * - * @returns { Promise } - * - */ - getHashedAccessControlConditions = async ( - params: MultipleAccessControlConditions - ): Promise => { - let hashOfConditions: ArrayBuffer; - - // ========== Prepare Params ========== - const { - accessControlConditions, - evmContractConditions, - solRpcConditions, - unifiedAccessControlConditions, - } = params; - - // ========== Hash ========== - if (accessControlConditions) { - hashOfConditions = await hashAccessControlConditions( - accessControlConditions - ); - } else if (evmContractConditions) { - hashOfConditions = await hashEVMContractConditions(evmContractConditions); - } else if (solRpcConditions) { - hashOfConditions = await hashSolRpcConditions(solRpcConditions); - } else if (unifiedAccessControlConditions) { - hashOfConditions = await hashUnifiedAccessControlConditions( - unifiedAccessControlConditions - ); - } else { - return; - } - - // ========== Result ========== - return hashOfConditions; - }; - // ========== Promise Handlers ========== - /** - * - * Get and gather node promises - * - * @param { any } callback - * - * @returns { Array> } - * - */ - getNodePromises = (callback: Function): Array> => { - const nodePromises = []; - - for (const url of this.connectedNodes) { - nodePromises.push(callback(url)); - } - - return nodePromises; - }; - - /** - * Handle node promises - * - * @param { Array> } nodePromises - * - * @returns { Promise | RejectedNodePromises> } - * - */ - handleNodePromises = async ( - nodePromises: Array>, - minNodeCount?: number - ): Promise | RejectedNodePromises> => { - // -- prepare - const responses = await Promise.allSettled(nodePromises); - const minNodes = minNodeCount ?? this.config.minNodeCount; - - // -- get fulfilled responses - const successes: Array = responses.filter( - (r: any) => r.status === 'fulfilled' - ); - - // -- case: success (when success responses are more than minNodeCount) - if (successes.length >= minNodes) { - const successPromises: SuccessNodePromises = { - success: true, - values: successes.map((r: any) => r.value), - }; - - return successPromises; - } - - // -- case: if we're here, then we did not succeed. time to handle and report errors. - - // -- get "rejected" responses - const rejected = responses.filter((r: any) => r.status === 'rejected'); - - const mostCommonError = JSON.parse( - mostCommonString( - rejected.map((r: NodePromiseResponse) => JSON.stringify(r.reason)) - ) - ); - - log(`most common error: ${JSON.stringify(mostCommonError)}`); - - const rejectedPromises: RejectedNodePromises = { - success: false, - error: mostCommonError, - }; - - return rejectedPromises; - }; - /** * Run lit action on a single deterministicly selected node. It's important that the nodes use the same deterministic selection algorithm. * diff --git a/packages/types/src/lib/ILitNodeClient.ts b/packages/types/src/lib/ILitNodeClient.ts index b9d8c1fe70..baf0b6335f 100644 --- a/packages/types/src/lib/ILitNodeClient.ts +++ b/packages/types/src/lib/ILitNodeClient.ts @@ -9,19 +9,16 @@ import { GetSignedTokenRequest, HandshakeWithSgx, JsonExecutionRequest, - JsonSignChainDataRequest, - JsonSigningRetrieveRequest, - JsonSigningStoreRequest, KV, LitNodeClientConfig, MultipleAccessControlConditions, + NodeBlsSigningShare, NodeCommandResponse, NodeCommandServerKeysResponse, NodeShare, RejectedNodePromises, SendNodeCommand, SignConditionECDSA, - SignedChainDataToken, SigningAccessControlConditionRequest, SuccessNodePromises, ValidateAndSignECDSA, @@ -83,12 +80,12 @@ export interface ILitNodeClient { * * Combine Shares from signature shares * - * @param { any } signatureShares + * @param { NodeBlsSigningShare } signatureShares * * @returns { string } final JWT (convert the sig to base64 and append to the jwt) * */ - combineSharesAndGetJWT(signatureShares: Array): string; + combineSharesAndGetJWT(signatureShares: Array): string; /** * @@ -203,22 +200,6 @@ export interface ILitNodeClient { requestId: string ): Promise; - /** - * - * Get Chain Data Signing Shares - * - * @param { string } url - * @param { JsonSignChainDataRequest } params - * - * @returns { Promise } - * - */ - getChainDataSigningShare( - url: string, - params: JsonSignChainDataRequest, - requestId: string - ): Promise; - /** * Get Signing Shares for Token containing Access Control Condition * @@ -234,22 +215,6 @@ export interface ILitNodeClient { requestId: string ): Promise; - /** - * - * Store signing conditions to nodes - * - * @param { string } url - * @param { JsonSigningStoreRequest } params - * - * @returns { Promise } - * - */ - storeSigningConditionWithNode( - url: string, - params: JsonSigningStoreRequest, - requestId: string - ): Promise; - /** * * Sign Condition ECDSA @@ -292,18 +257,6 @@ export interface ILitNodeClient { */ executeJs(params: ExecuteJsProps): Promise; - /** - * - * Request a signed JWT of any solidity function call from the LIT network. There are no prerequisites for this function. You should use this function if you need to transmit information across chains, or from a blockchain to a centralized DB or server. The signature of the returned JWT verifies that the response is genuine. - * - * @param { SignedChainDataToken } params - * - * @returns { Promise} - */ - getSignedChainDataToken( - params: SignedChainDataToken - ): Promise; - /** * * Request a signed JWT from the LIT network. Before calling this function, you must know the access control conditions for the item you wish to gain authorization for. From 60b621b0499f999a42bd1d9f02da31a2315c1d90 Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Thu, 6 Jul 2023 20:35:21 -0700 Subject: [PATCH 039/193] Fix types --- .../src/lib/lit-node-client-nodejs.ts | 6 ++++-- packages/types/src/lib/interfaces.ts | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts index 5430495995..0d22c0876f 100644 --- a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts +++ b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts @@ -41,6 +41,7 @@ import { GetSigningShareForDecryptionRequest, GetWalletSigProps, JsonExecutionRequest, + JsonPkpSignRequest, JsonSignChainDataRequest, LitNodeClientConfig, NodeBlsSigningShare, @@ -48,6 +49,7 @@ import { NodeLog, NodeResponse, NodeShare, + PKPSignShare, RejectedNodePromises, SessionKeyPair, SessionSigningTemplate, @@ -1146,12 +1148,12 @@ export class LitNodeClientNodeJs extends LitCore { } // -- case: promises success (TODO: check the keys of "values") - const responseData = (res as SuccessNodePromises).values; + const responseData = (res as SuccessNodePromises).values; log('responseData', JSON.stringify(responseData, null, 2)); // ========== Extract shares from response data ========== // -- 1. combine signed data as a list, and get the signatures from it - const signedDataList = responseData.map((r: any) => { + const signedDataList = responseData.map((r) => { // add the signed data to the signature share delete r.signatureShare.result; diff --git a/packages/types/src/lib/interfaces.ts b/packages/types/src/lib/interfaces.ts index a9a88d6b34..dd1164956c 100644 --- a/packages/types/src/lib/interfaces.ts +++ b/packages/types/src/lib/interfaces.ts @@ -551,6 +551,12 @@ export interface NodeShare { logs: any; } +export interface PKPSignShare { + success: boolean; + signedData: any; + signatureShare: any; +} + export interface NodeBlsSigningShare { shareIndex: any; unsignedJwt?: any; From af3f59b7810c8b505059c56429fc297b1c91779c Mon Sep 17 00:00:00 2001 From: Howard Tam Date: Mon, 10 Jul 2023 12:54:28 -0700 Subject: [PATCH 040/193] Use cayenne as default --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- apps/demo-email-sms-auth/src/Otp.js | 2 +- apps/demo-encrypt-decrypt-react/src/App.tsx | 4 ++-- apps/demo-locked-express-app/index.html | 2 +- apps/demo-locked-express-app/index.ts | 2 +- .../src/pages/index.tsx | 2 +- apps/html/manual.html | 2 +- apps/html/manual_tests.html | 2 +- apps/html/manual_tests_cosmos.html | 2 +- apps/html/manual_tests_error_messages.html | 2 +- .../manual_tests_evm_contract_conditions.html | 2 +- apps/html/manual_tests_files.html | 2 +- apps/html/manual_tests_session_keys.html | 2 +- apps/html/manual_tests_sol.html | 2 +- apps/html/manual_tests_unified.html | 2 +- apps/nodejs/manual-test.ts | 2 +- apps/react/src/app/lit-node-client-page.tsx | 2 +- consolelog-test.md | 2 +- cypress/e2e/spec.cy.ts | 12 +++++----- lit.config.json | 16 +++++++------- .../constants/src/lib/constants/constants.ts | 22 +++++++++---------- .../constants/defaultLitNodeClientConfig.ts | 2 +- .../src/lib/lit-auth-client.ts | 3 +-- .../src/lib/lit-node-client-nodejs.spec.ts | 18 +++++++-------- .../src/lib/lit-node-client.spec.ts | 5 +++-- packages/pkp-base/src/lib/pkp-base.ts | 2 +- packages/types/src/lib/types.ts | 2 +- 27 files changed, 60 insertions(+), 60 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 193b717b36..1ae66e3eb6 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -28,7 +28,7 @@ A clear and concise description of what you expected to happen. If applicable, add screenshots to help explain your problem. **Environment:** - - Lit SDK version (including the network (ie, "serrano") if different, and type - browser or backend) + - Lit SDK version (including the network (ie, "cayenne") if different, and type - browser or backend) - Node version - Framework (React, Vue, Angular, Svelte - just Plain HTML!, etc) - Specific tooling (Webpack, Vite, browserify, etc) diff --git a/apps/demo-email-sms-auth/src/Otp.js b/apps/demo-email-sms-auth/src/Otp.js index 9ac4d4b1a4..79ad2ba74d 100644 --- a/apps/demo-email-sms-auth/src/Otp.js +++ b/apps/demo-email-sms-auth/src/Otp.js @@ -10,7 +10,7 @@ import {newSessionCapabilityObject, LitAccessControlConditionResource, LitAbilit export function Otp() { let [state, setState] = useState('start'); const litNodeClient = new LitNodeClient({ - litNetwork: "serrano", + litNetwork: "cayenne", debug: true }); const authClient = new LitAuthClient({ diff --git a/apps/demo-encrypt-decrypt-react/src/App.tsx b/apps/demo-encrypt-decrypt-react/src/App.tsx index da57d93f12..e22064fc27 100644 --- a/apps/demo-encrypt-decrypt-react/src/App.tsx +++ b/apps/demo-encrypt-decrypt-react/src/App.tsx @@ -26,7 +26,7 @@ function App() { let code = `import * as LitJsSdk from '@lit-protocol/lit-node-client'; const litNodeClient = new LitJsSdk.LitNodeClient({ - litNetwork: 'serrano', + litNetwork: 'cayenne', }); await litNodeClient.connect(); @@ -82,7 +82,7 @@ console.log("decryptedString:", "Loading..."); setData(code); const litNodeClient = new LitJsSdk.LitNodeClient({ - litNetwork: 'serrano', + litNetwork: 'cayenne', }); await litNodeClient.connect(); diff --git a/apps/demo-locked-express-app/index.html b/apps/demo-locked-express-app/index.html index 2dbc4013ee..c2e9a33cb1 100644 --- a/apps/demo-locked-express-app/index.html +++ b/apps/demo-locked-express-app/index.html @@ -12,7 +12,7 @@ const LitJsSdk = LitJsSdk_litNodeClient; const litNodeClient = new LitNodeClient({ - litNetwork: 'serrano', + litNetwork: 'cayenne', }); litNodeClient.connect(); diff --git a/apps/demo-locked-express-app/index.ts b/apps/demo-locked-express-app/index.ts index 84ac21c70e..fcf0db6759 100644 --- a/apps/demo-locked-express-app/index.ts +++ b/apps/demo-locked-express-app/index.ts @@ -42,7 +42,7 @@ app.get('/protected-path-1', async function(req: Request, res: Response) { } const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ - litNetwork: "serrano", + litNetwork: "cayenne", }); await litNodeClient.connect(); diff --git a/apps/demo-pkp-social-auth-next-ts/src/pages/index.tsx b/apps/demo-pkp-social-auth-next-ts/src/pages/index.tsx index c4412579a7..6ab0230db1 100644 --- a/apps/demo-pkp-social-auth-next-ts/src/pages/index.tsx +++ b/apps/demo-pkp-social-auth-next-ts/src/pages/index.tsx @@ -388,7 +388,7 @@ export default function Dashboard() { try { // Set up LitNodeClient and connect to Lit nodes const litNodeClient = new LitNodeClient({ - litNetwork: 'serrano', + litNetwork: 'cayenne', debug: false, }); await litNodeClient.connect(); diff --git a/apps/html/manual.html b/apps/html/manual.html index a554c8aae7..af17fffdc5 100644 --- a/apps/html/manual.html +++ b/apps/html/manual.html @@ -36,7 +36,7 @@

(Manual) HTML Test