@estevia/evafusion-agent 1.8.9 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +94 -19
- package/dist/index.mjs +485 -369
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import l, { useContext as vt, useState as q, useMemo as xt, useCallback as
|
|
1
|
+
import l, { useContext as vt, useState as q, useMemo as xt, useCallback as ke, useEffect as we, useRef as qe } from "react";
|
|
2
2
|
import { motion as he, AnimatePresence as We } from "framer-motion";
|
|
3
3
|
import Yt from "react-dom";
|
|
4
4
|
import { VARIANT_REQUIREMENTS as ht, NeuralDataUtils as Qe, EvaFusionClient as Vt } from "@estevia/evafusion-sdk";
|
|
5
|
-
import { Database as
|
|
6
|
-
var Ke = { exports: {} },
|
|
5
|
+
import { Database as Me, Activity as $e, X as Ze, Sparkles as Je, Layout as Ut, Users as Ft, Check as qt, Copy as Wt, Trash2 as Zt, Settings2 as Jt, Minimize as Kt, AlertCircle as Ye, Cpu as Ve, Upload as _t, Zap as $t, AlertTriangle as ea, Shield as ta, Send as aa } from "lucide-react";
|
|
6
|
+
var Ke = { exports: {} }, Oe = {};
|
|
7
7
|
/**
|
|
8
8
|
* @license React
|
|
9
9
|
* react-jsx-runtime.production.min.js
|
|
@@ -16,22 +16,22 @@ var Ke = { exports: {} }, Te = {};
|
|
|
16
16
|
var ft;
|
|
17
17
|
function ra() {
|
|
18
18
|
if (ft)
|
|
19
|
-
return
|
|
19
|
+
return Oe;
|
|
20
20
|
ft = 1;
|
|
21
21
|
var n = l, i = Symbol.for("react.element"), r = Symbol.for("react.fragment"), a = Object.prototype.hasOwnProperty, c = n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, f = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
22
22
|
function m(w, g, C) {
|
|
23
|
-
var N, b = {}, R = null,
|
|
24
|
-
C !== void 0 && (R = "" + C), g.key !== void 0 && (R = "" + g.key), g.ref !== void 0 && (
|
|
23
|
+
var N, b = {}, R = null, X = null;
|
|
24
|
+
C !== void 0 && (R = "" + C), g.key !== void 0 && (R = "" + g.key), g.ref !== void 0 && (X = g.ref);
|
|
25
25
|
for (N in g)
|
|
26
26
|
a.call(g, N) && !f.hasOwnProperty(N) && (b[N] = g[N]);
|
|
27
27
|
if (w && w.defaultProps)
|
|
28
28
|
for (N in g = w.defaultProps, g)
|
|
29
29
|
b[N] === void 0 && (b[N] = g[N]);
|
|
30
|
-
return { $$typeof: i, type: w, key: R, ref:
|
|
30
|
+
return { $$typeof: i, type: w, key: R, ref: X, props: b, _owner: c.current };
|
|
31
31
|
}
|
|
32
|
-
return
|
|
32
|
+
return Oe.Fragment = r, Oe.jsx = m, Oe.jsxs = m, Oe;
|
|
33
33
|
}
|
|
34
|
-
var
|
|
34
|
+
var Ee = {};
|
|
35
35
|
/**
|
|
36
36
|
* @license React
|
|
37
37
|
* react-jsx-runtime.development.js
|
|
@@ -44,7 +44,7 @@ var Me = {};
|
|
|
44
44
|
var pt;
|
|
45
45
|
function na() {
|
|
46
46
|
return pt || (pt = 1, process.env.NODE_ENV !== "production" && function() {
|
|
47
|
-
var n = l, i = Symbol.for("react.element"), r = Symbol.for("react.portal"), a = Symbol.for("react.fragment"), c = Symbol.for("react.strict_mode"), f = Symbol.for("react.profiler"), m = Symbol.for("react.provider"), w = Symbol.for("react.context"), g = Symbol.for("react.forward_ref"), C = Symbol.for("react.suspense"), N = Symbol.for("react.suspense_list"), b = Symbol.for("react.memo"), R = Symbol.for("react.lazy"),
|
|
47
|
+
var n = l, i = Symbol.for("react.element"), r = Symbol.for("react.portal"), a = Symbol.for("react.fragment"), c = Symbol.for("react.strict_mode"), f = Symbol.for("react.profiler"), m = Symbol.for("react.provider"), w = Symbol.for("react.context"), g = Symbol.for("react.forward_ref"), C = Symbol.for("react.suspense"), N = Symbol.for("react.suspense_list"), b = Symbol.for("react.memo"), R = Symbol.for("react.lazy"), X = Symbol.for("react.offscreen"), U = Symbol.iterator, te = "@@iterator";
|
|
48
48
|
function ae(t) {
|
|
49
49
|
if (t === null || typeof t != "object")
|
|
50
50
|
return null;
|
|
@@ -52,7 +52,7 @@ function na() {
|
|
|
52
52
|
return typeof s == "function" ? s : null;
|
|
53
53
|
}
|
|
54
54
|
var $ = n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
|
55
|
-
function
|
|
55
|
+
function k(t) {
|
|
56
56
|
{
|
|
57
57
|
for (var s = arguments.length, o = new Array(s > 1 ? s - 1 : 0), x = 1; x < s; x++)
|
|
58
58
|
o[x - 1] = arguments[x];
|
|
@@ -61,18 +61,18 @@ function na() {
|
|
|
61
61
|
}
|
|
62
62
|
function fe(t, s, o) {
|
|
63
63
|
{
|
|
64
|
-
var x = $.ReactDebugCurrentFrame,
|
|
65
|
-
|
|
66
|
-
var
|
|
67
|
-
return String(
|
|
64
|
+
var x = $.ReactDebugCurrentFrame, E = x.getStackAddendum();
|
|
65
|
+
E !== "" && (s += "%s", o = o.concat([E]));
|
|
66
|
+
var M = o.map(function(P) {
|
|
67
|
+
return String(P);
|
|
68
68
|
});
|
|
69
|
-
|
|
69
|
+
M.unshift("Warning: " + s), Function.prototype.apply.call(console[t], console, M);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
var D = !1, v = !1,
|
|
72
|
+
var D = !1, v = !1, T = !1, z = !1, oe = !1, u;
|
|
73
73
|
u = Symbol.for("react.module.reference");
|
|
74
74
|
function re(t) {
|
|
75
|
-
return !!(typeof t == "string" || typeof t == "function" || t === a || t === f || oe || t === c || t === C || t === N ||
|
|
75
|
+
return !!(typeof t == "string" || typeof t == "function" || t === a || t === f || oe || t === c || t === C || t === N || z || t === X || D || v || T || typeof t == "object" && t !== null && (t.$$typeof === R || t.$$typeof === b || t.$$typeof === m || t.$$typeof === w || t.$$typeof === g || // This needs to include all possible module reference object
|
|
76
76
|
// types supported by any Flight configuration anywhere since
|
|
77
77
|
// we don't know which Flight build this will end up being used
|
|
78
78
|
// with.
|
|
@@ -82,16 +82,16 @@ function na() {
|
|
|
82
82
|
var x = t.displayName;
|
|
83
83
|
if (x)
|
|
84
84
|
return x;
|
|
85
|
-
var
|
|
86
|
-
return
|
|
85
|
+
var E = s.displayName || s.name || "";
|
|
86
|
+
return E !== "" ? o + "(" + E + ")" : o;
|
|
87
87
|
}
|
|
88
|
-
function
|
|
88
|
+
function I(t) {
|
|
89
89
|
return t.displayName || "Context";
|
|
90
90
|
}
|
|
91
91
|
function d(t) {
|
|
92
92
|
if (t == null)
|
|
93
93
|
return null;
|
|
94
|
-
if (typeof t.tag == "number" &&
|
|
94
|
+
if (typeof t.tag == "number" && k("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof t == "function")
|
|
95
95
|
return t.displayName || t.name || null;
|
|
96
96
|
if (typeof t == "string")
|
|
97
97
|
return t;
|
|
@@ -113,19 +113,19 @@ function na() {
|
|
|
113
113
|
switch (t.$$typeof) {
|
|
114
114
|
case w:
|
|
115
115
|
var s = t;
|
|
116
|
-
return
|
|
116
|
+
return I(s) + ".Consumer";
|
|
117
117
|
case m:
|
|
118
118
|
var o = t;
|
|
119
|
-
return
|
|
119
|
+
return I(o._context) + ".Provider";
|
|
120
120
|
case g:
|
|
121
121
|
return p(t, t.render, "ForwardRef");
|
|
122
122
|
case b:
|
|
123
123
|
var x = t.displayName || null;
|
|
124
124
|
return x !== null ? x : d(t.type) || "Memo";
|
|
125
125
|
case R: {
|
|
126
|
-
var
|
|
126
|
+
var E = t, M = E._payload, P = E._init;
|
|
127
127
|
try {
|
|
128
|
-
return d(
|
|
128
|
+
return d(P(M));
|
|
129
129
|
} catch {
|
|
130
130
|
return null;
|
|
131
131
|
}
|
|
@@ -133,18 +133,18 @@ function na() {
|
|
|
133
133
|
}
|
|
134
134
|
return null;
|
|
135
135
|
}
|
|
136
|
-
var
|
|
137
|
-
function
|
|
136
|
+
var j = Object.assign, Q = 0, le, O, pe, ce, Ce, Ne, A;
|
|
137
|
+
function L() {
|
|
138
138
|
}
|
|
139
|
-
|
|
139
|
+
L.__reactDisabledLog = !0;
|
|
140
140
|
function h() {
|
|
141
141
|
{
|
|
142
142
|
if (Q === 0) {
|
|
143
|
-
le = console.log,
|
|
143
|
+
le = console.log, O = console.info, pe = console.warn, ce = console.error, Ce = console.group, Ne = console.groupCollapsed, A = console.groupEnd;
|
|
144
144
|
var t = {
|
|
145
145
|
configurable: !0,
|
|
146
146
|
enumerable: !0,
|
|
147
|
-
value:
|
|
147
|
+
value: L,
|
|
148
148
|
writable: !0
|
|
149
149
|
};
|
|
150
150
|
Object.defineProperties(console, {
|
|
@@ -169,30 +169,30 @@ function na() {
|
|
|
169
169
|
writable: !0
|
|
170
170
|
};
|
|
171
171
|
Object.defineProperties(console, {
|
|
172
|
-
log:
|
|
172
|
+
log: j({}, t, {
|
|
173
173
|
value: le
|
|
174
174
|
}),
|
|
175
|
-
info:
|
|
176
|
-
value:
|
|
175
|
+
info: j({}, t, {
|
|
176
|
+
value: O
|
|
177
177
|
}),
|
|
178
|
-
warn:
|
|
178
|
+
warn: j({}, t, {
|
|
179
179
|
value: pe
|
|
180
180
|
}),
|
|
181
|
-
error:
|
|
181
|
+
error: j({}, t, {
|
|
182
182
|
value: ce
|
|
183
183
|
}),
|
|
184
|
-
group:
|
|
184
|
+
group: j({}, t, {
|
|
185
185
|
value: Ce
|
|
186
186
|
}),
|
|
187
|
-
groupCollapsed:
|
|
187
|
+
groupCollapsed: j({}, t, {
|
|
188
188
|
value: Ne
|
|
189
189
|
}),
|
|
190
|
-
groupEnd:
|
|
190
|
+
groupEnd: j({}, t, {
|
|
191
191
|
value: A
|
|
192
192
|
})
|
|
193
193
|
});
|
|
194
194
|
}
|
|
195
|
-
Q < 0 &&
|
|
195
|
+
Q < 0 && k("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
198
|
var se = $.ReactCurrentDispatcher, de;
|
|
@@ -201,21 +201,21 @@ function na() {
|
|
|
201
201
|
if (de === void 0)
|
|
202
202
|
try {
|
|
203
203
|
throw Error();
|
|
204
|
-
} catch (
|
|
205
|
-
var x =
|
|
204
|
+
} catch (E) {
|
|
205
|
+
var x = E.stack.trim().match(/\n( *(at )?)/);
|
|
206
206
|
de = x && x[1] || "";
|
|
207
207
|
}
|
|
208
208
|
return `
|
|
209
209
|
` + de + t;
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
|
-
var
|
|
212
|
+
var S = !1, Y;
|
|
213
213
|
{
|
|
214
214
|
var K = typeof WeakMap == "function" ? WeakMap : Map;
|
|
215
215
|
Y = new K();
|
|
216
216
|
}
|
|
217
217
|
function F(t, s) {
|
|
218
|
-
if (!t ||
|
|
218
|
+
if (!t || S)
|
|
219
219
|
return "";
|
|
220
220
|
{
|
|
221
221
|
var o = Y.get(t);
|
|
@@ -223,34 +223,34 @@ function na() {
|
|
|
223
223
|
return o;
|
|
224
224
|
}
|
|
225
225
|
var x;
|
|
226
|
-
|
|
227
|
-
var
|
|
226
|
+
S = !0;
|
|
227
|
+
var E = Error.prepareStackTrace;
|
|
228
228
|
Error.prepareStackTrace = void 0;
|
|
229
|
-
var
|
|
230
|
-
|
|
229
|
+
var M;
|
|
230
|
+
M = se.current, se.current = null, h();
|
|
231
231
|
try {
|
|
232
232
|
if (s) {
|
|
233
|
-
var
|
|
233
|
+
var P = function() {
|
|
234
234
|
throw Error();
|
|
235
235
|
};
|
|
236
|
-
if (Object.defineProperty(
|
|
236
|
+
if (Object.defineProperty(P.prototype, "props", {
|
|
237
237
|
set: function() {
|
|
238
238
|
throw Error();
|
|
239
239
|
}
|
|
240
240
|
}), typeof Reflect == "object" && Reflect.construct) {
|
|
241
241
|
try {
|
|
242
|
-
Reflect.construct(
|
|
242
|
+
Reflect.construct(P, []);
|
|
243
243
|
} catch (ne) {
|
|
244
244
|
x = ne;
|
|
245
245
|
}
|
|
246
|
-
Reflect.construct(t, [],
|
|
246
|
+
Reflect.construct(t, [], P);
|
|
247
247
|
} else {
|
|
248
248
|
try {
|
|
249
|
-
|
|
249
|
+
P.call();
|
|
250
250
|
} catch (ne) {
|
|
251
251
|
x = ne;
|
|
252
252
|
}
|
|
253
|
-
t.call(
|
|
253
|
+
t.call(P.prototype);
|
|
254
254
|
}
|
|
255
255
|
} else {
|
|
256
256
|
try {
|
|
@@ -271,16 +271,16 @@ function na() {
|
|
|
271
271
|
if (G !== 1 || V !== 1)
|
|
272
272
|
do
|
|
273
273
|
if (G--, V--, V < 0 || B[G] !== ee[V]) {
|
|
274
|
-
var
|
|
274
|
+
var Ae = `
|
|
275
275
|
` + B[G].replace(" at new ", " at ");
|
|
276
|
-
return t.displayName &&
|
|
276
|
+
return t.displayName && Ae.includes("<anonymous>") && (Ae = Ae.replace("<anonymous>", t.displayName)), typeof t == "function" && Y.set(t, Ae), Ae;
|
|
277
277
|
}
|
|
278
278
|
while (G >= 1 && V >= 0);
|
|
279
279
|
break;
|
|
280
280
|
}
|
|
281
281
|
}
|
|
282
282
|
} finally {
|
|
283
|
-
|
|
283
|
+
S = !1, se.current = M, J(), Error.prepareStackTrace = E;
|
|
284
284
|
}
|
|
285
285
|
var De = t ? t.displayName || t.name : "", ye = De ? W(De) : "";
|
|
286
286
|
return typeof t == "function" && Y.set(t, ye), ye;
|
|
@@ -312,9 +312,9 @@ function na() {
|
|
|
312
312
|
case b:
|
|
313
313
|
return me(t.type, s, o);
|
|
314
314
|
case R: {
|
|
315
|
-
var x = t,
|
|
315
|
+
var x = t, E = x._payload, M = x._init;
|
|
316
316
|
try {
|
|
317
|
-
return me(E
|
|
317
|
+
return me(M(E), s, o);
|
|
318
318
|
} catch {
|
|
319
319
|
}
|
|
320
320
|
}
|
|
@@ -329,22 +329,22 @@ function na() {
|
|
|
329
329
|
} else
|
|
330
330
|
Re.setExtraStackFrame(null);
|
|
331
331
|
}
|
|
332
|
-
function
|
|
332
|
+
function H(t, s, o, x, E) {
|
|
333
333
|
{
|
|
334
|
-
var
|
|
335
|
-
for (var
|
|
336
|
-
if (
|
|
334
|
+
var M = Function.call.bind(xe);
|
|
335
|
+
for (var P in t)
|
|
336
|
+
if (M(t, P)) {
|
|
337
337
|
var B = void 0;
|
|
338
338
|
try {
|
|
339
|
-
if (typeof t[
|
|
340
|
-
var ee = Error((x || "React class") + ": " + o + " type `" +
|
|
339
|
+
if (typeof t[P] != "function") {
|
|
340
|
+
var ee = Error((x || "React class") + ": " + o + " type `" + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof t[P] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
|
341
341
|
throw ee.name = "Invariant Violation", ee;
|
|
342
342
|
}
|
|
343
|
-
B = t[
|
|
343
|
+
B = t[P](s, P, x, o, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
|
344
344
|
} catch (G) {
|
|
345
345
|
B = G;
|
|
346
346
|
}
|
|
347
|
-
B && !(B instanceof Error) && (y(
|
|
347
|
+
B && !(B instanceof Error) && (y(E), k("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", x || "React class", o, P, typeof B), y(null)), B instanceof Error && !(B.message in ge) && (ge[B.message] = !0, y(E), k("Failed %s type: %s", o, B.message), y(null));
|
|
348
348
|
}
|
|
349
349
|
}
|
|
350
350
|
}
|
|
@@ -370,15 +370,15 @@ function na() {
|
|
|
370
370
|
}
|
|
371
371
|
function rt(t) {
|
|
372
372
|
if (Nt(t))
|
|
373
|
-
return
|
|
373
|
+
return k("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Ct(t)), at(t);
|
|
374
374
|
}
|
|
375
|
-
var
|
|
375
|
+
var Te = $.ReactCurrentOwner, Bt = {
|
|
376
376
|
key: !0,
|
|
377
377
|
ref: !0,
|
|
378
378
|
__self: !0,
|
|
379
379
|
__source: !0
|
|
380
|
-
}, nt, st,
|
|
381
|
-
|
|
380
|
+
}, nt, st, Le;
|
|
381
|
+
Le = {};
|
|
382
382
|
function Dt(t) {
|
|
383
383
|
if (xe.call(t, "ref")) {
|
|
384
384
|
var s = Object.getOwnPropertyDescriptor(t, "ref").get;
|
|
@@ -387,7 +387,7 @@ function na() {
|
|
|
387
387
|
}
|
|
388
388
|
return t.ref !== void 0;
|
|
389
389
|
}
|
|
390
|
-
function
|
|
390
|
+
function Pt(t) {
|
|
391
391
|
if (xe.call(t, "key")) {
|
|
392
392
|
var s = Object.getOwnPropertyDescriptor(t, "key").get;
|
|
393
393
|
if (s && s.isReactWarning)
|
|
@@ -395,16 +395,16 @@ function na() {
|
|
|
395
395
|
}
|
|
396
396
|
return t.key !== void 0;
|
|
397
397
|
}
|
|
398
|
-
function
|
|
399
|
-
if (typeof t.ref == "string" &&
|
|
400
|
-
var o = d(
|
|
401
|
-
|
|
398
|
+
function jt(t, s) {
|
|
399
|
+
if (typeof t.ref == "string" && Te.current && s && Te.current.stateNode !== s) {
|
|
400
|
+
var o = d(Te.current.type);
|
|
401
|
+
Le[o] || (k('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', d(Te.current.type), t.ref), Le[o] = !0);
|
|
402
402
|
}
|
|
403
403
|
}
|
|
404
|
-
function
|
|
404
|
+
function Tt(t, s) {
|
|
405
405
|
{
|
|
406
406
|
var o = function() {
|
|
407
|
-
nt || (nt = !0,
|
|
407
|
+
nt || (nt = !0, k("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", s));
|
|
408
408
|
};
|
|
409
409
|
o.isReactWarning = !0, Object.defineProperty(t, "key", {
|
|
410
410
|
get: o,
|
|
@@ -412,10 +412,10 @@ function na() {
|
|
|
412
412
|
});
|
|
413
413
|
}
|
|
414
414
|
}
|
|
415
|
-
function
|
|
415
|
+
function Ot(t, s) {
|
|
416
416
|
{
|
|
417
417
|
var o = function() {
|
|
418
|
-
st || (st = !0,
|
|
418
|
+
st || (st = !0, k("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", s));
|
|
419
419
|
};
|
|
420
420
|
o.isReactWarning = !0, Object.defineProperty(t, "ref", {
|
|
421
421
|
get: o,
|
|
@@ -423,7 +423,7 @@ function na() {
|
|
|
423
423
|
});
|
|
424
424
|
}
|
|
425
425
|
}
|
|
426
|
-
var
|
|
426
|
+
var Et = function(t, s, o, x, E, M, P) {
|
|
427
427
|
var B = {
|
|
428
428
|
// This tag allows us to uniquely identify this as a React Element
|
|
429
429
|
$$typeof: i,
|
|
@@ -431,9 +431,9 @@ function na() {
|
|
|
431
431
|
type: t,
|
|
432
432
|
key: s,
|
|
433
433
|
ref: o,
|
|
434
|
-
props:
|
|
434
|
+
props: P,
|
|
435
435
|
// Record the component responsible for creating this element.
|
|
436
|
-
_owner:
|
|
436
|
+
_owner: M
|
|
437
437
|
};
|
|
438
438
|
return B._store = {}, Object.defineProperty(B._store, "validated", {
|
|
439
439
|
configurable: !1,
|
|
@@ -449,28 +449,28 @@ function na() {
|
|
|
449
449
|
configurable: !1,
|
|
450
450
|
enumerable: !1,
|
|
451
451
|
writable: !1,
|
|
452
|
-
value:
|
|
452
|
+
value: E
|
|
453
453
|
}), Object.freeze && (Object.freeze(B.props), Object.freeze(B)), B;
|
|
454
454
|
};
|
|
455
|
-
function
|
|
455
|
+
function Mt(t, s, o, x, E) {
|
|
456
456
|
{
|
|
457
|
-
var
|
|
458
|
-
o !== void 0 && (rt(o), B = "" + o),
|
|
459
|
-
for (
|
|
460
|
-
xe.call(s,
|
|
457
|
+
var M, P = {}, B = null, ee = null;
|
|
458
|
+
o !== void 0 && (rt(o), B = "" + o), Pt(s) && (rt(s.key), B = "" + s.key), Dt(s) && (ee = s.ref, jt(s, E));
|
|
459
|
+
for (M in s)
|
|
460
|
+
xe.call(s, M) && !Bt.hasOwnProperty(M) && (P[M] = s[M]);
|
|
461
461
|
if (t && t.defaultProps) {
|
|
462
462
|
var G = t.defaultProps;
|
|
463
|
-
for (
|
|
464
|
-
|
|
463
|
+
for (M in G)
|
|
464
|
+
P[M] === void 0 && (P[M] = G[M]);
|
|
465
465
|
}
|
|
466
466
|
if (B || ee) {
|
|
467
467
|
var V = typeof t == "function" ? t.displayName || t.name || "Unknown" : t;
|
|
468
|
-
B &&
|
|
468
|
+
B && Tt(P, V), ee && Ot(P, V);
|
|
469
469
|
}
|
|
470
|
-
return
|
|
470
|
+
return Et(t, B, ee, E, x, Te.current, P);
|
|
471
471
|
}
|
|
472
472
|
}
|
|
473
|
-
var
|
|
473
|
+
var Xe = $.ReactCurrentOwner, it = $.ReactDebugCurrentFrame;
|
|
474
474
|
function Be(t) {
|
|
475
475
|
if (t) {
|
|
476
476
|
var s = t._owner, o = me(t.type, t._source, s ? s.type : null);
|
|
@@ -478,15 +478,15 @@ function na() {
|
|
|
478
478
|
} else
|
|
479
479
|
it.setExtraStackFrame(null);
|
|
480
480
|
}
|
|
481
|
-
var
|
|
482
|
-
|
|
483
|
-
function
|
|
481
|
+
var Se;
|
|
482
|
+
Se = !1;
|
|
483
|
+
function He(t) {
|
|
484
484
|
return typeof t == "object" && t !== null && t.$$typeof === i;
|
|
485
485
|
}
|
|
486
486
|
function At() {
|
|
487
487
|
{
|
|
488
|
-
if (
|
|
489
|
-
var t = d(
|
|
488
|
+
if (Xe.current) {
|
|
489
|
+
var t = d(Xe.current.type);
|
|
490
490
|
if (t)
|
|
491
491
|
return `
|
|
492
492
|
|
|
@@ -507,7 +507,7 @@ Check your code at ` + s + ":" + o + ".";
|
|
|
507
507
|
}
|
|
508
508
|
}
|
|
509
509
|
var ot = {};
|
|
510
|
-
function
|
|
510
|
+
function kt(t) {
|
|
511
511
|
{
|
|
512
512
|
var s = At();
|
|
513
513
|
if (!s) {
|
|
@@ -524,12 +524,12 @@ Check the top-level render call using <` + o + ">.");
|
|
|
524
524
|
if (!t._store || t._store.validated || t.key != null)
|
|
525
525
|
return;
|
|
526
526
|
t._store.validated = !0;
|
|
527
|
-
var o =
|
|
527
|
+
var o = kt(s);
|
|
528
528
|
if (ot[o])
|
|
529
529
|
return;
|
|
530
530
|
ot[o] = !0;
|
|
531
531
|
var x = "";
|
|
532
|
-
t && t._owner && t._owner !==
|
|
532
|
+
t && t._owner && t._owner !== Xe.current && (x = " It was passed a child from " + d(t._owner.type) + "."), Be(t), k('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', o, x), Be(null);
|
|
533
533
|
}
|
|
534
534
|
}
|
|
535
535
|
function ct(t, s) {
|
|
@@ -539,19 +539,19 @@ Check the top-level render call using <` + o + ">.");
|
|
|
539
539
|
if (ue(t))
|
|
540
540
|
for (var o = 0; o < t.length; o++) {
|
|
541
541
|
var x = t[o];
|
|
542
|
-
|
|
542
|
+
He(x) && lt(x, s);
|
|
543
543
|
}
|
|
544
|
-
else if (
|
|
544
|
+
else if (He(t))
|
|
545
545
|
t._store && (t._store.validated = !0);
|
|
546
546
|
else if (t) {
|
|
547
|
-
var
|
|
548
|
-
if (typeof
|
|
549
|
-
for (var
|
|
550
|
-
|
|
547
|
+
var E = ae(t);
|
|
548
|
+
if (typeof E == "function" && E !== t.entries)
|
|
549
|
+
for (var M = E.call(t), P; !(P = M.next()).done; )
|
|
550
|
+
He(P.value) && lt(P.value, s);
|
|
551
551
|
}
|
|
552
552
|
}
|
|
553
553
|
}
|
|
554
|
-
function
|
|
554
|
+
function zt(t) {
|
|
555
555
|
{
|
|
556
556
|
var s = t.type;
|
|
557
557
|
if (s == null || typeof s == "string")
|
|
@@ -567,54 +567,54 @@ Check the top-level render call using <` + o + ">.");
|
|
|
567
567
|
return;
|
|
568
568
|
if (o) {
|
|
569
569
|
var x = d(s);
|
|
570
|
-
|
|
571
|
-
} else if (s.PropTypes !== void 0 && !
|
|
572
|
-
|
|
573
|
-
var
|
|
574
|
-
|
|
570
|
+
H(o, t.props, "prop", x, t);
|
|
571
|
+
} else if (s.PropTypes !== void 0 && !Se) {
|
|
572
|
+
Se = !0;
|
|
573
|
+
var E = d(s);
|
|
574
|
+
k("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", E || "Unknown");
|
|
575
575
|
}
|
|
576
|
-
typeof s.getDefaultProps == "function" && !s.getDefaultProps.isReactClassApproved &&
|
|
576
|
+
typeof s.getDefaultProps == "function" && !s.getDefaultProps.isReactClassApproved && k("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
|
577
577
|
}
|
|
578
578
|
}
|
|
579
|
-
function
|
|
579
|
+
function It(t) {
|
|
580
580
|
{
|
|
581
581
|
for (var s = Object.keys(t.props), o = 0; o < s.length; o++) {
|
|
582
582
|
var x = s[o];
|
|
583
583
|
if (x !== "children" && x !== "key") {
|
|
584
|
-
Be(t),
|
|
584
|
+
Be(t), k("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", x), Be(null);
|
|
585
585
|
break;
|
|
586
586
|
}
|
|
587
587
|
}
|
|
588
|
-
t.ref !== null && (Be(t),
|
|
588
|
+
t.ref !== null && (Be(t), k("Invalid attribute `ref` supplied to `React.Fragment`."), Be(null));
|
|
589
589
|
}
|
|
590
590
|
}
|
|
591
591
|
var dt = {};
|
|
592
|
-
function ut(t, s, o, x,
|
|
592
|
+
function ut(t, s, o, x, E, M) {
|
|
593
593
|
{
|
|
594
|
-
var
|
|
595
|
-
if (!
|
|
594
|
+
var P = re(t);
|
|
595
|
+
if (!P) {
|
|
596
596
|
var B = "";
|
|
597
597
|
(t === void 0 || typeof t == "object" && t !== null && Object.keys(t).length === 0) && (B += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
|
|
598
|
-
var ee = Rt(
|
|
598
|
+
var ee = Rt(E);
|
|
599
599
|
ee ? B += ee : B += At();
|
|
600
600
|
var G;
|
|
601
|
-
t === null ? G = "null" : ue(t) ? G = "array" : t !== void 0 && t.$$typeof === i ? (G = "<" + (d(t.type) || "Unknown") + " />", B = " Did you accidentally export a JSX literal instead of a component?") : G = typeof t,
|
|
601
|
+
t === null ? G = "null" : ue(t) ? G = "array" : t !== void 0 && t.$$typeof === i ? (G = "<" + (d(t.type) || "Unknown") + " />", B = " Did you accidentally export a JSX literal instead of a component?") : G = typeof t, k("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", G, B);
|
|
602
602
|
}
|
|
603
|
-
var V =
|
|
603
|
+
var V = Mt(t, s, o, E, M);
|
|
604
604
|
if (V == null)
|
|
605
605
|
return V;
|
|
606
|
-
if (
|
|
607
|
-
var
|
|
608
|
-
if (
|
|
606
|
+
if (P) {
|
|
607
|
+
var Ae = s.children;
|
|
608
|
+
if (Ae !== void 0)
|
|
609
609
|
if (x)
|
|
610
|
-
if (ue(
|
|
611
|
-
for (var De = 0; De <
|
|
612
|
-
ct(
|
|
613
|
-
Object.freeze && Object.freeze(
|
|
610
|
+
if (ue(Ae)) {
|
|
611
|
+
for (var De = 0; De < Ae.length; De++)
|
|
612
|
+
ct(Ae[De], t);
|
|
613
|
+
Object.freeze && Object.freeze(Ae);
|
|
614
614
|
} else
|
|
615
|
-
|
|
615
|
+
k("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
|
616
616
|
else
|
|
617
|
-
ct(
|
|
617
|
+
ct(Ae, t);
|
|
618
618
|
}
|
|
619
619
|
if (xe.call(s, "key")) {
|
|
620
620
|
var ye = d(t), ne = Object.keys(s).filter(function(Qt) {
|
|
@@ -622,7 +622,7 @@ Check the top-level render call using <` + o + ">.");
|
|
|
622
622
|
}), Ge = ne.length > 0 ? "{key: someKey, " + ne.join(": ..., ") + ": ...}" : "{key: someKey}";
|
|
623
623
|
if (!dt[ye + Ge]) {
|
|
624
624
|
var Gt = ne.length > 0 ? "{" + ne.join(": ..., ") + ": ...}" : "{}";
|
|
625
|
-
|
|
625
|
+
k(`A props object containing a "key" prop is being spread into JSX:
|
|
626
626
|
let props = %s;
|
|
627
627
|
<%s {...props} />
|
|
628
628
|
React keys must be passed directly to JSX without using spread:
|
|
@@ -630,18 +630,18 @@ React keys must be passed directly to JSX without using spread:
|
|
|
630
630
|
<%s key={someKey} {...props} />`, Ge, ye, Gt, ye), dt[ye + Ge] = !0;
|
|
631
631
|
}
|
|
632
632
|
}
|
|
633
|
-
return t === a ?
|
|
633
|
+
return t === a ? It(V) : zt(V), V;
|
|
634
634
|
}
|
|
635
635
|
}
|
|
636
|
-
function
|
|
636
|
+
function Lt(t, s, o) {
|
|
637
637
|
return ut(t, s, o, !0);
|
|
638
638
|
}
|
|
639
|
-
function
|
|
639
|
+
function Xt(t, s, o) {
|
|
640
640
|
return ut(t, s, o, !1);
|
|
641
641
|
}
|
|
642
|
-
var
|
|
643
|
-
|
|
644
|
-
}()),
|
|
642
|
+
var St = Xt, Ht = Lt;
|
|
643
|
+
Ee.Fragment = a, Ee.jsx = St, Ee.jsxs = Ht;
|
|
644
|
+
}()), Ee;
|
|
645
645
|
}
|
|
646
646
|
process.env.NODE_ENV === "production" ? Ke.exports = ra() : Ke.exports = na();
|
|
647
647
|
var e = Ke.exports;
|
|
@@ -660,7 +660,7 @@ var ia = (n) => {
|
|
|
660
660
|
case "error":
|
|
661
661
|
return ca;
|
|
662
662
|
}
|
|
663
|
-
}, Aa = Array(12).fill(0), oa = ({ visible: n }) => l.createElement("div", { className: "sonner-loading-wrapper", "data-visible": n }, l.createElement("div", { className: "sonner-spinner" }, Aa.map((i, r) => l.createElement("div", { className: "sonner-loading-bar", key: `spinner-bar-${r}` })))), la = l.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", height: "20", width: "20" }, l.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z", clipRule: "evenodd" })), ca = l.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", height: "20", width: "20" }, l.createElement("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z", clipRule: "evenodd" })),
|
|
663
|
+
}, Aa = Array(12).fill(0), oa = ({ visible: n }) => l.createElement("div", { className: "sonner-loading-wrapper", "data-visible": n }, l.createElement("div", { className: "sonner-spinner" }, Aa.map((i, r) => l.createElement("div", { className: "sonner-loading-bar", key: `spinner-bar-${r}` })))), la = l.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", height: "20", width: "20" }, l.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z", clipRule: "evenodd" })), ca = l.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", height: "20", width: "20" }, l.createElement("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z", clipRule: "evenodd" })), je = 0, da = class {
|
|
664
664
|
constructor() {
|
|
665
665
|
this.subscribe = (n) => (this.subscribers.push(n), () => {
|
|
666
666
|
let i = this.subscribers.indexOf(n);
|
|
@@ -670,45 +670,45 @@ var ia = (n) => {
|
|
|
670
670
|
}, this.dismiss = (n) => (n || this.toasts.forEach((i) => {
|
|
671
671
|
this.subscribers.forEach((r) => r({ id: i.id, dismiss: !0 }));
|
|
672
672
|
}), this.subscribers.forEach((i) => i({ id: n, dismiss: !0 })), n), this.message = (n, i) => {
|
|
673
|
-
let r = (i == null ? void 0 : i.id) ||
|
|
673
|
+
let r = (i == null ? void 0 : i.id) || je++;
|
|
674
674
|
return this.publish({ ...i, id: r, title: n }), r;
|
|
675
675
|
}, this.error = (n, i) => {
|
|
676
|
-
let r = (i == null ? void 0 : i.id) ||
|
|
676
|
+
let r = (i == null ? void 0 : i.id) || je++;
|
|
677
677
|
return this.publish({ ...i, id: r, type: "error", title: n }), r;
|
|
678
678
|
}, this.success = (n, i) => {
|
|
679
|
-
let r = (i == null ? void 0 : i.id) ||
|
|
679
|
+
let r = (i == null ? void 0 : i.id) || je++;
|
|
680
680
|
return this.publish({ ...i, id: r, type: "success", title: n }), r;
|
|
681
681
|
}, this.promise = (n, i) => {
|
|
682
|
-
let r = (i == null ? void 0 : i.id) ||
|
|
682
|
+
let r = (i == null ? void 0 : i.id) || je++;
|
|
683
683
|
return this.publish({ ...i, promise: n, id: r }), r;
|
|
684
684
|
}, this.custom = (n, i) => {
|
|
685
|
-
let r = (i == null ? void 0 : i.id) ||
|
|
685
|
+
let r = (i == null ? void 0 : i.id) || je++;
|
|
686
686
|
this.publish({ jsx: n(r), id: r, ...i });
|
|
687
687
|
}, this.subscribers = [], this.toasts = [];
|
|
688
688
|
}
|
|
689
689
|
}, be = new da(), ua = (n, i) => {
|
|
690
|
-
let r = (i == null ? void 0 : i.id) ||
|
|
690
|
+
let r = (i == null ? void 0 : i.id) || je++;
|
|
691
691
|
return be.publish({ title: n, ...i, id: r }), r;
|
|
692
|
-
}, fa = ua,
|
|
692
|
+
}, fa = ua, ze = Object.assign(fa, { success: be.success, error: be.error, custom: be.custom, message: be.message, promise: be.promise, dismiss: be.dismiss }), pa = 3, ma = "32px", ga = 4e3, va = 356, bt = 14, xa = 20, ha = 200, mt = (n) => !!n.promise, ba = (n) => {
|
|
693
693
|
var i;
|
|
694
|
-
let { invert: r, toast: a, interacting: c, setHeights: f, visibleToasts: m, heights: w, index: g, toasts: C, expanded: N, removeToast: b, closeButton: R, style:
|
|
694
|
+
let { invert: r, toast: a, interacting: c, setHeights: f, visibleToasts: m, heights: w, index: g, toasts: C, expanded: N, removeToast: b, closeButton: R, style: X, className: U = "", descriptionClassName: te = "", duration: ae, position: $, expandByDefault: k } = n, [fe, D] = l.useState(!1), [v, T] = l.useState(!1), [z, oe] = l.useState(!1), [u, re] = l.useState(!1), [p, I] = l.useState(null), [d, j] = l.useState(0), [Q, le] = l.useState(0), [O, pe] = l.useState(null), ce = l.useRef(null), Ce = g === 0, Ne = g + 1 <= m, A = a.type, L = a.className || "", h = a.descriptionClassName || "", J = l.useMemo(() => w.findIndex((y) => y.toastId === a.id) || 0, [w, a.id]), se = l.useMemo(() => a.duration || ae || ga, [a.duration, ae]), de = l.useRef(0), W = l.useRef(0), S = l.useRef(se), Y = l.useRef(0), K = l.useRef(null), [F, ve] = $.split("-"), _ = l.useMemo(() => w.reduce((y, H, Z) => Z >= J ? y : y + H.height, 0), [w, J]), me = a.invert || r, xe = p === "loading";
|
|
695
695
|
W.current = l.useMemo(() => J * bt + _, [J, _]), l.useEffect(() => {
|
|
696
696
|
D(!0);
|
|
697
697
|
}, []), l.useEffect(() => {
|
|
698
698
|
if (mt(a)) {
|
|
699
|
-
|
|
700
|
-
let y = (
|
|
701
|
-
|
|
702
|
-
a.success && typeof a.success == "function" && pe(a.success(Z)),
|
|
699
|
+
I("loading");
|
|
700
|
+
let y = (H) => {
|
|
701
|
+
H.then((Z) => {
|
|
702
|
+
a.success && typeof a.success == "function" && pe(a.success(Z)), I("success");
|
|
703
703
|
}).catch((Z) => {
|
|
704
|
-
|
|
704
|
+
I("error"), a.error && typeof a.error == "function" && pe(a.error(Z));
|
|
705
705
|
});
|
|
706
706
|
};
|
|
707
707
|
a.promise instanceof Promise ? y(a.promise) : typeof a.promise == "function" && y(a.promise());
|
|
708
708
|
}
|
|
709
709
|
}, [a]);
|
|
710
710
|
let ge = l.useCallback(() => {
|
|
711
|
-
|
|
711
|
+
T(!0), j(W.current), f((y) => y.filter((H) => H.toastId !== a.id)), setTimeout(() => {
|
|
712
712
|
b(a);
|
|
713
713
|
}, ha);
|
|
714
714
|
}, [a, b, f, W]);
|
|
@@ -718,19 +718,19 @@ var ia = (n) => {
|
|
|
718
718
|
let y;
|
|
719
719
|
return N || c ? (() => {
|
|
720
720
|
if (Y.current < de.current) {
|
|
721
|
-
let
|
|
722
|
-
|
|
721
|
+
let H = (/* @__PURE__ */ new Date()).getTime() - de.current;
|
|
722
|
+
S.current = S.current - H;
|
|
723
723
|
}
|
|
724
724
|
Y.current = (/* @__PURE__ */ new Date()).getTime();
|
|
725
725
|
})() : (de.current = (/* @__PURE__ */ new Date()).getTime(), y = setTimeout(() => {
|
|
726
|
-
var
|
|
727
|
-
(
|
|
728
|
-
},
|
|
729
|
-
}, [N, c,
|
|
726
|
+
var H;
|
|
727
|
+
(H = a.onAutoClose) == null || H.call(a, a), ge();
|
|
728
|
+
}, S.current)), () => clearTimeout(y);
|
|
729
|
+
}, [N, c, k, a, se, ge, a.promise, p]), l.useEffect(() => {
|
|
730
730
|
let y = ce.current;
|
|
731
731
|
if (y) {
|
|
732
|
-
let
|
|
733
|
-
return le(
|
|
732
|
+
let H = y.getBoundingClientRect().height;
|
|
733
|
+
return le(H), f((Z) => [{ toastId: a.id, height: H }, ...Z]), () => f((Z) => Z.filter((ue) => ue.toastId !== a.id));
|
|
734
734
|
}
|
|
735
735
|
}, [f, a.id]), l.useEffect(() => {
|
|
736
736
|
a.delete && ge();
|
|
@@ -742,32 +742,32 @@ var ia = (n) => {
|
|
|
742
742
|
case "loading":
|
|
743
743
|
return a.loading;
|
|
744
744
|
case "success":
|
|
745
|
-
return typeof a.success == "function" ?
|
|
745
|
+
return typeof a.success == "function" ? O : a.success;
|
|
746
746
|
case "error":
|
|
747
|
-
return typeof a.error == "function" ?
|
|
747
|
+
return typeof a.error == "function" ? O : a.error;
|
|
748
748
|
default:
|
|
749
749
|
return null;
|
|
750
750
|
}
|
|
751
|
-
}, [p,
|
|
752
|
-
return l.createElement("li", { "aria-live": a.important ? "assertive" : "polite", "aria-atomic": "true", role: "status", tabIndex: 0, ref: ce, className: U + " " +
|
|
753
|
-
xe || (
|
|
751
|
+
}, [p, O]);
|
|
752
|
+
return l.createElement("li", { "aria-live": a.important ? "assertive" : "polite", "aria-atomic": "true", role: "status", tabIndex: 0, ref: ce, className: U + " " + L, "data-sonner-toast": "", "data-styled": !a.jsx, "data-mounted": fe, "data-promise": !!a.promise, "data-removed": v, "data-visible": Ne, "data-y-position": F, "data-x-position": ve, "data-index": g, "data-front": Ce, "data-swiping": z, "data-type": p !== "loading" && p ? p : A, "data-invert": me, "data-swipe-out": u, "data-expanded": !!(N || k && fe), style: { "--index": g, "--toasts-before": g, "--z-index": C.length - g, "--offset": `${v ? d : W.current}px`, "--initial-height": k ? "auto" : `${Q}px`, ...X, ...a.style }, onPointerDown: (y) => {
|
|
753
|
+
xe || (j(W.current), y.target.setPointerCapture(y.pointerId), y.target.tagName !== "BUTTON" && (oe(!0), K.current = y.clientY));
|
|
754
754
|
}, onPointerUp: () => {
|
|
755
|
-
var y,
|
|
755
|
+
var y, H, Z;
|
|
756
756
|
if (u)
|
|
757
757
|
return;
|
|
758
758
|
let ue = Number(((y = ce.current) == null ? void 0 : y.style.getPropertyValue("--swipe-amount").replace("px", "")) || 0);
|
|
759
759
|
if (Math.abs(ue) >= xa) {
|
|
760
|
-
|
|
760
|
+
j(W.current), (H = a.onDismiss) == null || H.call(a, a), ge(), re(!0);
|
|
761
761
|
return;
|
|
762
762
|
}
|
|
763
763
|
(Z = ce.current) == null || Z.style.setProperty("--swipe-amount", "0px"), K.current = null, oe(!1);
|
|
764
764
|
}, onPointerMove: (y) => {
|
|
765
|
-
var
|
|
765
|
+
var H, Z;
|
|
766
766
|
if (!K.current)
|
|
767
767
|
return;
|
|
768
768
|
let ue = y.clientY - K.current;
|
|
769
769
|
if (!(F === "top" ? ue < 0 : ue > 0)) {
|
|
770
|
-
(
|
|
770
|
+
(H = ce.current) == null || H.style.setProperty("--swipe-amount", "0px");
|
|
771
771
|
return;
|
|
772
772
|
}
|
|
773
773
|
(Z = ce.current) == null || Z.style.setProperty("--swipe-amount", `${ue}px`);
|
|
@@ -783,30 +783,30 @@ var ia = (n) => {
|
|
|
783
783
|
} }, a.action.label) : null));
|
|
784
784
|
}, wa = (n) => {
|
|
785
785
|
var i;
|
|
786
|
-
let { invert: r, position: a = "bottom-right", hotkey: c = ["altKey", "KeyT"], expand: f, closeButton: m, className: w, offset: g, theme: C = "light", richColors: N, duration: b, style: R, visibleToasts:
|
|
787
|
-
return l.useEffect(() => be.subscribe((
|
|
788
|
-
if (
|
|
789
|
-
ae((d) => d.map((
|
|
786
|
+
let { invert: r, position: a = "bottom-right", hotkey: c = ["altKey", "KeyT"], expand: f, closeButton: m, className: w, offset: g, theme: C = "light", richColors: N, duration: b, style: R, visibleToasts: X = pa, toastOptions: U } = n, [te, ae] = l.useState([]), [$, k] = l.useState([]), [fe, D] = l.useState(!1), [v, T] = l.useState(!1), [z, oe] = a.split("-"), u = l.useRef(null), re = c.join("+").replace(/Key/g, "").replace(/Digit/g, ""), p = l.useCallback((I) => ae((d) => d.filter(({ id: j }) => j !== I.id)), []);
|
|
787
|
+
return l.useEffect(() => be.subscribe((I) => {
|
|
788
|
+
if (I.dismiss) {
|
|
789
|
+
ae((d) => d.map((j) => j.id === I.id ? { ...j, delete: !0 } : j));
|
|
790
790
|
return;
|
|
791
791
|
}
|
|
792
792
|
setTimeout(() => {
|
|
793
793
|
Yt.flushSync(() => {
|
|
794
|
-
ae((d) => [
|
|
794
|
+
ae((d) => [I, ...d]);
|
|
795
795
|
});
|
|
796
796
|
});
|
|
797
797
|
}), []), l.useEffect(() => {
|
|
798
798
|
te.length <= 1 && D(!1);
|
|
799
799
|
}, [te]), l.useEffect(() => {
|
|
800
|
-
let
|
|
801
|
-
var
|
|
802
|
-
c.every((le) => d[le] || d.code === le) && (D(!0), (
|
|
800
|
+
let I = (d) => {
|
|
801
|
+
var j, Q;
|
|
802
|
+
c.every((le) => d[le] || d.code === le) && (D(!0), (j = u.current) == null || j.focus()), d.code === "Escape" && (document.activeElement === u.current || (Q = u.current) != null && Q.contains(document.activeElement)) && D(!1);
|
|
803
803
|
};
|
|
804
|
-
return document.addEventListener("keydown",
|
|
805
|
-
}, [c]), te.length ? l.createElement("section", { "aria-label": `Notifications ${re}`, tabIndex: -1 }, l.createElement("ol", { tabIndex: -1, ref: u, className: w, "data-sonner-toaster": !0, "data-theme": C, "data-rich-colors": N, "data-y-position":
|
|
804
|
+
return document.addEventListener("keydown", I), () => document.removeEventListener("keydown", I);
|
|
805
|
+
}, [c]), te.length ? l.createElement("section", { "aria-label": `Notifications ${re}`, tabIndex: -1 }, l.createElement("ol", { tabIndex: -1, ref: u, className: w, "data-sonner-toaster": !0, "data-theme": C, "data-rich-colors": N, "data-y-position": z, "data-x-position": oe, style: { "--front-toast-height": `${(i = $[0]) == null ? void 0 : i.height}px`, "--offset": typeof g == "number" ? `${g}px` : g || ma, "--width": `${va}px`, "--gap": `${bt}px`, ...R }, onMouseEnter: () => D(!0), onMouseMove: () => D(!0), onMouseLeave: () => {
|
|
806
806
|
v || D(!1);
|
|
807
807
|
}, onPointerDown: () => {
|
|
808
|
-
|
|
809
|
-
}, onPointerUp: () =>
|
|
808
|
+
T(!0);
|
|
809
|
+
}, onPointerUp: () => T(!1) }, te.map((I, d) => l.createElement(ba, { key: I.id, index: d, toast: I, duration: b, className: U == null ? void 0 : U.className, descriptionClassName: U == null ? void 0 : U.descriptionClassName, invert: r, visibleToasts: X, closeButton: m, interacting: v, position: a, style: U == null ? void 0 : U.style, removeToast: p, toasts: te, heights: $, setHeights: k, expandByDefault: f, expanded: fe })))) : null;
|
|
810
810
|
};
|
|
811
811
|
const wt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABAAAAAKqCAYAAACkSiwxAAAAtGVYSWZJSSoACAAAAAYAEgEDAAEAAAABAAAAGgEFAAEAAABWAAAAGwEFAAEAAABeAAAAKAEDAAEAAAACAAAAEwIDAAEAAAABAAAAaYcEAAEAAABmAAAAAAAAAGAAAAABAAAAYAAAAAEAAAAGAACQBwAEAAAAMDIxMAGRBwAEAAAAAQIDAACgBwAEAAAAMDEwMAGgAwABAAAA//8AAAKgBAABAAAAAAQAAAOgBAABAAAAqgIAAAAAAACl8UXaAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFQmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI2LTA0LTIzPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkRhdGE+eyZxdW90O2RvYyZxdW90OzomcXVvdDtEQUhIc09Pdlc3OCZxdW90OywmcXVvdDt1c2VyJnF1b3Q7OiZxdW90O1VBRmRuZ0tyME0wJnF1b3Q7LCZxdW90O2JyYW5kJnF1b3Q7OiZxdW90O0JBRmRucHM4QTRNJnF1b3Q7fTwvQXR0cmliOkRhdGE+CiAgICAgPEF0dHJpYjpFeHRJZD42ZmU2NmM2Ni04MzJmLTRlZTItOWYyOC03NDNkMzhiYzQ1Mjk8L0F0dHJpYjpFeHRJZD4KICAgICA8QXR0cmliOkZiSWQ+NTI1MjY1OTE0MTc5NTgwPC9BdHRyaWI6RmJJZD4KICAgICA8QXR0cmliOlRvdWNoVHlwZT4yPC9BdHRyaWI6VG91Y2hUeXBlPgogICAgPC9yZGY6bGk+CiAgIDwvcmRmOlNlcT4KICA8L0F0dHJpYjpBZHM+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOmRjPSdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyc+CiAgPGRjOnRpdGxlPgogICA8cmRmOkFsdD4KICAgIDxyZGY6bGkgeG1sOmxhbmc9J3gtZGVmYXVsdCc+RVZBLUZvclBSb2R1Y3QgLSAxPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpwZGY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8nPgogIDxwZGY6QXV0aG9yPkdvdmluZCBNZW5vbjwvcGRmOkF1dGhvcj4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6eG1wPSdodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvJz4KICA8eG1wOkNyZWF0b3JUb29sPkNhbnZhIGRvYz1EQUhIc09Pdlc3OCB1c2VyPVVBRmRuZ0tyME0wIGJyYW5kPUJBRmRucHM4QTRNPC94bXA6Q3JlYXRvclRvb2w+CiA8L3JkZjpEZXNjcmlwdGlvbj4KPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KPD94cGFja2V0IGVuZD0ncic/Pja1VgcAACAASURBVHic7N0JnKVXXef/03d/9rs9d6u96u73VpOkIQFCoEECgvMXZQsDiqNG0MiAjmwyjIwsAkmvCRAWWZ1x+c/456+CggswUUEEZVcghJB09ZJO0lk76a3qzDnneW5VdaeDHUxye/m8X6/vq24tXV3bfZ7nd55zfkcIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwaMoKb6IUBK15O+yfny8vPsUtdZ+by7dfmnbnf0VYU78uUo3XikT9jUKU/7sQhbeqvF3lSiHy21R2qlwjRHCtyvvU499V+aAQxQ+pqJcllfIHVN4vROW9IlF9r0jWrhXJxrtFurFTZCe2Cmv6nQl35m0pf/5NmUL79VbYeVVQHVxerA4vCxrDS+1yd1M2aC4ItxkKMZsb9w8MAAAAAIAxa2Yd56Kq6z5mIFKtpwsxdZkquq9QxfrrVTH+20KEv6Nef6cqxq9S2RKlqgr4+nsT6cmPJa3ZP875rU9bhc7fWfnOl7LBwtey3uw3M87sv2as6e+q3JCxp2/MOjM35bzZ3ZY/u8/25261g7nbnWDuDpU7Ve5ygvm77fz8PfpllIW74tzp5BfuiNI84BRatzql1n672NxnF1u73XL75qDavTEIe9/NVwbfDMLhl91C/zMZd+FPEunp/yES9fer70F9vcUtcdT3UXqHevkWIfJvVPl19f6fV9/3T6as7hN8/4JmEDypoH4wqXH/ZgAAAAAAOFUbdIEvnGFViNmuKuSfKIT/bCHc56uXL1aF8M+qQv5licTs61LZ7tac2/vDnNv+G8uZ+0rWnrpeZVfOmd6ncqvK7Rln+kDGmYkze0fGnbsrEzTvzRXb99ul7mG71DviFDuH3VLrkCrUDzt5FfXSLbYPe6XuEa/cO+qXe8t+2FtRBbsMKmvJV/urWf92k7AfpTL6GP327mqi1/vSV/HC/rJT7B7JBs370t783Wl39s7o69Vf+5TObTlncn/OmdqjcmPOnf5Wzp37fMZu/mky23x/KjX3lkRi+teEKP68+hm9RP2sLhPC+mkhgkuFKF8gxPS88NplZhUAAAAAAB5tUZEfLBZUMT+jinpV6DuPEcJWxWrpQiEmnpZMt38ukZp/UyI58dFkuvo36Wzlq8lM5fpktv6DVHZqKZWbuyXtNO9wC/37g/LwmCmmw66JLq6jqAK8qovsnokuzH31uqfeN4pfiz7GpLIu5vVBlHCgPu8gLuh7/3bUx/nlKPrfPvDzRom+lrWvx610V7+m9Qn0YEF1NHjQiz6HHjQodO7PqJ9BKju7L5WdXkpn6zcls5XvpTLlbyXTpX/ckKr+mUg0rhaJmd9IJudfnEpNP12I8mPVz3mT+nlvFMJvCTE5EZjfQz8T/V4AAAAAAPjRJFTS8d1nR8UVolF23X7f8no/LcTMWxKJ8A83bMhfJzbk/1lsqHxDbJj4rkhM/yCRnd+f8Vr32sXukdUiXRXE+XoUXxXFfjUq7r1QFdBl/VIX/IsmQXW4endeDwysv2u/Wqybz6sK/MooffNy9Db90nye2qLK8OR3+x8wI0B9XCXKaBBh9PnN5x19bj07YHWGwCDO6OuNY75G/b1sVI+HoxkD5vuN3qdSi6J/JvqlX+muOKXO0YzfuieRm7tNJKd3q5/pjWJD47vq5/v1DRvcr4gN/l+LRPjBRGL6dXZ+4096XrctxEQp+v3o35P5faXj3x8AAAAAAD9MM+t5j+1kMt3nqUL/vwlR+JjKnwhR+muRnPiHhDX37bQ7uz8Iu3cHYec+u9Q6ZBVbh52we8Qtd4+oIveYKniXVaG8slZoj+6ed6VX6ehi1zyOimBVSNdGxXs8/b4yXJfR3fjegwwA9OIcP3NgfX7Ynf/1gw1+eMLXW1mbaaDv+rvxTIB8OMrAfH2rAwdm1kF/Nfrf6e/NfH+1te9/FPN6WT0OO3pQYEV9LSte2F32yt1jehmD/nnqn6tVah/2q51DXqV9n1tq3ZnLLyyJ7MzXxIbwC0IU/1qI/MejpobTr89mu88oFDZNm9kaAAAAAABo/uQTimmndZ4QlecK4b5SCPsNqth/WyI787sZv/NpO9/5mhUsLOW8uVstf+EOu9C5xyn3DjnF9rIqjlf03fWoQO5Gd7L1dPfR3W09RV7fwa9G0+ajYrxrXuZN0f/gBbsfF/m6cF6b/q+n2neiafXV6P+J7vwf/2+i/6+3lpOs/T8xUdE/mm0QDUqszl5Y9zld8zmjaf0n/r+rX2clygPfH309wQnxjvt++2YwwDOfP4r+Xn09WGCWFgykW+mtWKXOUbvcP5grtO/JBgt35PyF/VbQutktDr+e9bqfSKanro2aDzqvV7/XK0Sq/syM2+oVCpuCcf/NAQAAAAAeYeXyxZ7IteaFaFwsROmnVaH/HxOJ6Vdl7dbVOa/5F1ln8utZa+KGnD2pCv75261i5z630j3m6bvS6+6wR3eye3GRGhfZNVWo1uMCv7quEA/jpnmju+LxXXUzbT4ePNCDBDqrn2tU/JrPq/4fFTd+6dd1cb42ABCcpNAO1hX/q4X2yZYRnPC2tR4Eo3/3wMGJqLjvxssY4q8xfqwHKFydWtd8vaPBh+PTj5cnjJYODM3LtZkNvbjo763+jPWgh/78ptdALeo1oGcjBPVF9XKoPkYPCpis+LXhil3s3pdz52/N2pO7cu7E9er3+s8pe/aPU9m5KxOJqSuECF8oRP4n1d/B+cLu1WkyCAAAAABnsllV1JkO8tU5VegPVcF3ftae+39STuu1ydzc76Uyk19KZerfSWambrb99p1+eXjUFOhl3QxPFcHxWnVdzPr6zn69v1ac67vwteiutBe2pRt2pFOJ7o6bZnjx9Pxoanw0JT4ox0321OvROvj+urX7vRPutvdWG+95cVYb69VG6+1/eGO/E2cEnNoAwNrjB5uV4I/W+cfLBEZfy3GDBKOvd91AwtpgwtogiOkpoAr4gllSsNbvoBAvGYgK/fjnaj5fJ/rZ69kWcZNBf90MC3c0Q2Hd15OPGg+uOMXO0Yw7fyCZnboxkal/M5WrfT5hzVydtpuXp3IzT1N/H+cJ4aq/k8Z0Pj+bF2JTetx/wgAAAACAk9NN3zKq4HeECN1CdeMw57d/NpGd2io2lD6l8iWRrt+Q9lq3O+X+4dV18eunuD/IlPbo9fUN8YamoV2+sqgKzI3mZRB32y/EBfrq3XL12FnXJX+0NGCUBxTqZuBgfZO9B27Zlzfpm5cPVsz/sGZ/P2wA4GQ/hwe8LR4gWf061w1GHP/5H/xna5r+xTMH9KwBfWffq8eDHbqYL3fiAYFoRwI9kLL6s13dNaG/9vpo6UV13UyNdf9voTEwSzQ8PTuh2lH/V3clV+rel3Tm94p041/U38fnN2wofiqVmXmL7/eenc+fNxv9LQlLJSXYaQAAAAAATguJXLA4n84tvFQVbR8QovJxVdT9fcab/Z5Tat/mh72DXtg55JkGfd1jqiBca863/s77+oL5uLvxveO32xs1whsV6eu2yztpt/7K+jvhJ6yBP8nXMe4BgJP+HE78XJWHNgDwwM/5wF4AJ/9dnPCzrvYf/PtZ/Zk+8POsfuza/7ei/g50s8GjXqlz2Cu37/fLnYNuqXNb2pn9pkg2/lL9HX1UiNqbPK/7xGjLQQAAAADAo6rR2GR7pcVuMjP7IiFKbxCifGUyM/U/7aD1j16pt8cttG+3C617nVLniF/pLp/sDvQPa4hHzp2cMLChB4ZWnFL7kFNo3eUWW/v8Uvf6rN/8VCJdv1aI/JuFKPyqSE092a2dHwqxOTXu5wIAAAAAnGVekKw1LwlFavpJQlQvS2enf83yOzutoPXZnDf77Zw7t8vym3e4pd7hqMFc//ip/CdZxz7uwpOcHjmFGRTLVrF9X86b25fzp79v+VNfzrizv5/ITf1Xkaz+gvp7fJppLDn5BGvczxIAAAAAOCOVOxd7IjvfEqJ2oUg1LrWDweUZp/WRtDXzhawzd6Nd6NzhlaM7tmtb3vXXuuk/yPp1BgDISYr8B2yTeGIzRa/SGTUhXLYKC/elnNmltD399bQ190cJp/m6pN18jhDhk4SYGgqnXxPNZnbczyEAAAAAOF3pJmtpISYt3cSvOnHR4zN2800bkpOf2JBqfCXpzO9xy71DfqjXbq910M+bDv16j/imDGqtB286d8Lbx12AkvHmVHon6LcVaiqNeADA/C1FDSB19GOn2Ls/7Tb3idz8t0Sydp1Iz1yTCXqX+eEFzaiJoBkISIz7yQUAAAAApw09xd8pPuaZiczsO4Qo/2nKmv+yU+zuUYXYQb/aPRRUF4/6unFbtbsy2g5uVJR5YcfsF39ioa9nA4xmBDAAQNbnVAcA9Eu9zaPZnaG2qF4uxgMA3Wibw1p/Rb3vqPr7O+xW2/dZYfu2lL/wbZGe+RshJj+QzjV/wQ/Pa02yRAAAAADAuWtzqlw+v5Hzuy8WifobEtmpa7N+89N2oX2DnV+4wy6171PF/rF8TRda7biIj6dlm6K+owo0vR2cKs701nzhRumVFh+w9v9kSwJOnO5Nzr2crNB/0N0T9GyTsBf/rcUfr2cAVIYyqA3MQIAbtmS+3tWDUstuuXPYLXXucgud3U7Q/adkbvZ/ikTjSpGY+JWU23qybmIp2FYQAAAAwNmuOHHRZCo1fakQEy/L5Obeogqlz1pB81+tYGGfXWzfqwr2uGt/V99dNUW/KeLDgSn017ac664WZ6YQq+jifzHeD/7k+8+zCwA5MafSB8D8zYVrWxKubQep+05Eg1FmQEp/fPxxeT1joNpf8Uq9o+rv+0DOX7gpFyz8Yy5o/c9EauY3hKj/TDo9vSmfPy8/7uckAAAAADwsZmc356xic1Kkpx4rRHiJle+/Muu2/nfamv121p3f74e9o6ogX1krztfu3kd369Vjc7c1HgCoxoWXKrS8si7YFk0vAH0XNl+PCrIT95RnAIA8WB6s+B+9b/WlKeqH6uVQ+uXR31EnLv67Ml8bRINReqAqXDdAEA9UmQaV1d4xu9S5N2XN71J///+UdRZ2ZnLzLxai+EQhpge+3y+ytSAAAACAM82GanWjI4Qb5sP++Vah+4qkNfNnyVTjS1mvtccN+4fM1GldNKmiShfw0VT9rmnqFxXx6rEu6lUKZq11S0W9XuvHH99buwNb7ZhiLMroruzxa/9PzLgLT3J65Ifd+T++P0D3+CUAZrvJwWozyvV/V+v/BldnqlRHg1kD6el/p/7u7XznrmRu5nvJVO26ZHbufV6+/5ysr3e+yOeF6GfG/SQGAAAAgH+TLv4rkxc9L5msfFikql/MevNLqnA/rAqjo6ooX/b11n3rmvEFleMLsegOflT8j7L2tnUfX/0hGRVxVQYAyIPn1AcATugZMMrqcoDjBwCO+xs87u88GgTQMwmC6nBFvX7Mr/SPBJXBwYQ1/W2xofapVGriDYXqpsVxP48BAAAA4KT6/c1uyu08VaSm3phI1D5oF9tfcEutPX65fa9f7h4Z3ZFf35mfbvzkXMtoECBfOW5pyop6Tqy4YfeQV2rfqXtipOzpPxGi8k6RnHtBNjtcEGJTetzPcQAAAADnsuazskF145wQtRcksvO/lvHaH8t67a/b/sIeu9g6mK/2lqOiZ+1u/Ikd+cddkBEyjqztZnH8LJVoiUv3sB3M357z5q/Pee1PpOz220R67qVCTD+pWLzIF+wgAAAAAODR4k1cWMpkpobJ7MyznWDw2qw9/3dpb/77uULnbk/f3dTr+8PucYVOvvrAafjMACDnXuIlLScsUdHPGT0zZnUZgXnfYMUt9Q5l/faetNP8UsZpfTjjdl4oROPiXG5uJt5OEAAAAAAedkkh5gMhwlpQ2fi8nDv3gURm6htpr31bvra47NdVAVPvSa/W093OZbE+jNc7d03Hfl3UuOXOauE/Wgow/oKMkEcvx/W30ANl+rmgnhf6ffr5oWMGxnSDzNpG89itdPXzatmt9A9uyM7ckExNfMYJmq/zi73HCzFREmLSEswKAAAAAPBwsayNk04wfI0Q9U9m3fnrvbBzV1DrH/Wq/WWn0l/xakPT1d+rdKRTbkZb98XNzgrV4XFb+62u/68Nxl6QEfJoZjQAoJ8na00to5d60Kygoh/rbS2dWle61dVtK1eCsLvilRaOBZXuEbvU2ZuyZr+QSE1tD4rDS+NBAAAAAAD40SXt9rMTqZk3pzNTf+CH7W97pf4Bu9w95Opu/vW+uePvxPuc++aOvy5W4v3QdcOzMF7rHE9v1nf99V1Oc/efAQByjsUMANTWbxMYLQXQswDMc2StMaD5GO+EPgFmK0L10g17R+1y5x6r2P5BLj/3OZGoXZtMz1yeybS74z5mAAAAADhzJGy7V09mFl4kEo1XW37rT3PBwnctf+G2oDI4qtcl63X+ni5GqvqOf1T8r26JFvajO/7h2t3NUUZT/1cLGnoAkHMsegBAF/Yn2yrwuC0G1eOifn3ULLCqn3NDaYd6ic3oeaefS51jTrF70M4v7LH85t+lrZl3CVH7+bTdfhw7BwAAAAB4MEmR7XRS2dlnprMLr8x53c9m7PkfOMXOQb1FmSnaK4trU/nN3ucDc9d/rXjprQ0EnGR/9QfczWQAgJxjiQbCTmj2d8LzYPQcKprtAqMBgGjQbSAdPaMmft7lzQCBnhUQzaRxy93DVtDcn3Hmv5h12+8SyfpzRXri8cKZrY374AIAAADg9JASol3O5VrzGa/9hlRu7nNpa+4mLxwc8cP+iik0VMFRqA3iu5YD09RvNF25UIunJVd0Q7+16c3ri5vVac7xMgCfBoDkHI8XP3/049HL0fMiGiTTS2gGqx8XJXqOmediRS+zWZT5yqJc3VmgqgcChurzDI9Yfuf2RKrxtXRu9qMZq/U8ISpVIarOuA82AAAAAMYp21xIWK2dIjXx906xtU8V+0dUsXEsqPRX1MuV9Xcng+ra1P3jpiwfNwOgd1xzswekevK7noScSznx+bP+bWvPkwc+h/Krz60oeTNAtzb7Jv48K37YXfbD3lG/3L0768x/SyQmPpJ0my9Uz/jMuA85AAAAAB5lKbfz1ERq5r8lMxP/yy23d3mlzj2BKhhOLFAo1Ak5s3LCoMGyH3bvd4udPVa++fdCNK5JZuZfLHJzM+M+BgEAAAB4RG10PG/jJULUrrCC5h85hda/2sHCgaDaX47v+FPwE3IG5WQDdSedeVPpH3NK/YN20FrKeu2/SeXm3yGSUz+VC1rz6sCQGPeRCQAAAMDDxJu4sJRON89PZmZf5OQXP5R1Zr/lFlt3+5Xusmnip7v2/xt3/JkRQMjplwd7Xp5kAED6um+AbiRY6t2f81q7Ms7CJzNe+zeFaDwjZ2YEzObGfawCAAAA8KPZMDn5BEuI+oxb7D8/53bem87Nf8MrDe71q/3laCuyrszX+qud+X+UQoMQcvpHP9eDWifefWNo4pR792e91lIqPfW3lt96leW3LxSiFgqxOTXugxcAAACAh0AX/53OpY9NJGp/lLZmbrRLrfvy9b4s1DdKu9yRfq0t8/WOzOvO4qaT+GDsRQoh5JGJaRoYDtVj9Xyvt6Xf6KpjQN9sJ6iTC1r7k9mZzyYSU78+N3dRddzHLwAAAACnrHG+SE3vSFlz17ml7n6/MjzsVQbLrrr49/TFf60j/Wq0f7hf7stC5cRigbv9hJyJedDnrX5bGG0l6Fc60W4d9b70al3pVFp6u8Gj6nhwlx10viFE7SNC1H9ZCK887iMZAAAAgAeRttoXiuTEf0pnp99rBd3rc0H3bl9v6afv9KkLfk8VAX782OwzbvYaV8VB2I+3Ezu+iGAAgJAzJz/seRuYmT5tWdDP/3K0DCCoDdTxoGsGATw9MFDtrXhh9z47aN2cdeevSyRqvyWSk8+2rObkuI9tAAAAAEQ01T8IOnNC+M/O+u1rMs78F22/eWtQGSzrO/x67a++4+ebokBP8x/Ga/71muCeiT/aU/xHLC4IIePPgxf/8Z3/aifu+TGIGgJW4gFAPRCgBwcr3WhmgDp2eGHvUNaZuzFjz/9x2pr/NSEqFwfTTyqoQ05y3Mc8AAAA4Bw1WbT83uO9oPOaVLr6VafQvt0LB0fNut6qvqBvqwJAXdCHev3vQBaqQ/O6H7bN+3RBYGYG6CLhFIsLBgAIObMSVKJBPl8V+p6e/l+LGoCa53JloKKPCzrRQIAXdmWxvtHMErCLvYMZZ/77qezkx+3S4nNEdrIlRMMe95EPAAAAOAc1fnFDevrzGX/hQLHxGLOdn6eKfS/sxd2+KdgJIQ8lPZNiXR1Lyj3plnvRjIHq8JCwZr4vEvXfE6LyBHXw2TDuox8AAABwDtjoWMHG5yUS1Wtsf+6f85X+3X6lf1TftRvt862n9DIAQAh5qFldLqCOJ/qYoo8jUb+Q/rJX6R5yS529mdzUXyRSE/8lne+fN+6jIQAAAHBWajYv8nO5qUtEInxLzm/9lZ1fuMkrt+9TF+wro2Jf3/n3K2sX8uMuJgghZ2bM8WPdQKIZTKypY0y5fcwtNA9YQfOf0n7rw0JMXm5ZwykhNqXHfYwEAAAAzg6Z+cW03/7ZnDf/wZw38wOn1DkYhL1lP4wuzPOrXf67cYM/BgAIIf+O1AZxw0A9E6BjXubreuvQjlTHHr004HCu0Nmf82e/kMpMvlakpi4RohmO+1AJAAAAnKFekMznz8sLUVjMeM13pP3mF+1C80C+qi7E48Z+vo7p4q0HALomQbyGV1/E07SPEPJQElRGg4qD1WPKKPn6ID6mDMxxx612V/xa61jWnvle0p79oLBmXyREdY7ZAAAAAMBDND//9KA6ccHThCj/uVNu7/Uq3SN+3LXbLzejAQD1WE/713foihPD1W399IBAQd/BOw0KCkLImZOTDQDoY0qhPoh6AoTRrgGmT0CtpT5uUb1vo8wVOnduyE1/SSSqb63MXVQVbBcIAAAAnCJr4eKENb815S583ikv3OFUO0ecSmdFT/HP64tzVfwX4m279D7e+q6/vlDXW3z58TIAr9wZezFBCDmzEsTRxb6Z8j86rlTX7yyiBwH0MSgabHTUxzqV7jGv1r3XKTW/K0TjwyIz/QIhJifGfSgFAAAATlfJqc6ljWSy8tKcO/2HXti+wSl3D7phb8XXF966AZe6EHdNYT80MwFM8V8ZXZh3V3sAjLr/swSAEPJQMhoAiI4j0ZKi6G29uNFo1xx3omPQ0PQE8Kot6dfV8afWX7HLvUOW39yd8ec+lchMvUWkJp4WhpvdcR9cAQAAgNPIdCGVa27OOguvyXqzn3VKzQNBrb+st9/yw0F8wR1dhOsBAK/aP67AXy36q/0HPGYAgBByqll/DFnbBrC/+vpqk1Ez+2hotgvM16JlAl5FzxwwH7tildp3Z/2F76Tt2Q8nM43LhD/fUge61LiPtAAAAMA4JYQo15OZ+efm3M4fpq25G51K9z6/NlAX0+riWqWg7/KHPTPlVk/511NxXXNXbq3Rn3/chXl8Ab/u4n3cRQUh5MzIaAeR1VlE1eOPJ9HWgPrtUTNS/W/0ciTdk8Qcp+LP4eqdAiq9Y1a+eWsyN/W5hNf8TSHqm4Qo+uq4t2HcB14AAADgUbYp3Wi0y+l0/VXp3Mw3vdLGw0F1uELBTgg5W6KXLzlh/0jG6+zdkJz8/0Vq5mki7OslAYlxH4EBAACAR8mmdLl84U8kk1Pvtfz5f83Xeoe9sL2ip84yZZ8QcrYknk2w4ld7R/1y90A6O/uXifTsL+fr58+M+ygMAAAAPAomJ0Ri5tWO3/9TN9++wSu379PTaf1KO9pyq8oAACHk7IjZLrDS0QMBK0HYP+YEndtybvu6lN3+HZGd/XF1PLTGfUQGAAAAHnb9/mY3nS49LpGqvS7rtr7pFXt35yu9Y+YCOdQXyGzbRwg529Iz8cNo+0Dd1NQt9e6zgu530m7rD0Ry+gXCWpgSYjMNAgEAAHBW2GDb5zeC4vDSrD313pwzcVNQGR7LVwcr+Zq+OO6au2S6gVahuih1o7/xX7QTQsjDkYFpEuiXo8alereAoKYbCw6POIXegaw997fp7OzLs9n5NrMBAAAAcKZLqIvaol+84NeS1sJ1uULrzny9by6C/UrfxEz5r3XNxXIQbjR3ycZ/0U4IIf/+BKEq/kuL0Synelu61bZ01DEv3sp0RX3MsYw9+y+pzNSbnfzgMeqYmRn3QRsAAAD4EYUtkZj8Xa84/K5XHt7jhf1ls6VWtRvvtb26b3a05ZbeaosmgISQsyRBZZSujAY/9aCn3s50oI59Xb3ryYpf6R62gtYNSWv+90Vu8iWCQQAAAACcSWZnN+dSqerTkunaB91872av3Dvkh71lfeFrLn7VBbG+GI7219avL0Zvq7Zkvtod+0U7IYQ8POmqor8TH9+GK2F//gAAIABJREFUcrTESR/79OBnoN6mtz51w+4hu9hZygWtvxKJxutEZqZHXwAAAACc7hLh5BOaGWv2sow183tO0NoXVBaPjrb3Cyrx3f5aP14Hq2cBRIMC+iI4iLplnwYX7YQQ8nBEH++6qtjvmeUA+cownhEQz3qqRDMC9JIAJ+wddUqdO+yg/dVMbuqtqdTEE6rVjc64D+oAAADASYRu2mpfqC5yfzPnzH7GCdoH8tWNcXGvi/qB6YSt18LmTQ+AblT0V+PmWOqxH0bTZcd/0U4IIQ9PomNb1/Q3CcJB3OekFw946rcPpafiVnrSDXsr+drwsO0vXJ+1Zq5OOfNPF+5CRR1gN4z7CA8AAACMpNP2zPk5t/1H2aC5yw2790d3+XvRHX8Ke0IIefDoQYFQpycL6phZrA6kHbT2bcjO/HHGa/+0EGVPmKaqAAAAwNg5z8xkK39eCAcHnFLviJnyr6f4V7vSLXdkoTYc/wU2IYScthmYRDMComaoXtg75pS6t6S99mdEovYmIQrT4z7SAwAA4BzWbD4rK4T7oqxV+zO/2DyQDwfLXjhYMVv8VXurGa13Hf9FNiGEnH6J+qFEO6REW6P2paeOo065f9Qp9Q9kvPmvJjKNtwsRnjfu4z4AAADOOZvSC40nTyWT4c9l7fpfeIWFOwrV4YpeyxpUo47+nr6LVetFW18xAEAIIQ+aaAAgOmaamMFTvV3gUO+SsuyUu/dlvflvpTKTVwrReJJobLLHfRYAAADAOaBc7niFwuKi63b/c8aa+KJbaN4TXcQOTUf/fG0x3ue6GydqADjuC2xCCDldYwZJ4zv/o+OmPo6a42llaBqkemH3kOU3b0jnZj6QSk09U7jNUB2S2SoQAAAAj5Sq4xU2XuIFg3duyEzd7JW7h83FazW6g6XX++uXhfrA3Pn3wo50Su3Vbf7GfZFNCCGna8y6f3MM7Zrjpx4M0G/TOwjoFGoDnRU337otmZz4TMZtPU9Y7Ql1YE6P+8wAAACAs1DG6jzf8rp/4gS9/X6pd0xdlK7oi1Vzt6q2NoXVq3RMTNFfG8Tb/Y3/ApsQQk7X6AJfvzTT/3XRX25LXw+gqsd620BzrK10VoJKd9kv9w+mnPZXhDP/euE1uuM+NwAAAOCsU7nCdtt/5ZeHt/jh8Khnuvv314r7ejTtP6/X/ceN/3zTybobbQV4GlxgE0LI6Rx9nHSrvaiHip5NVembbQH9sCO9eFmV3iVAHVeX3XL/YK7Q/XrSnrlGiNKPjfsMAQAAgLNCUBCi8DNZa+6v3ULnVr/SPxaYwj+6KxUNAAzijIr//mpG3a2j943/ApsQQk63BKu7pugBgGgHgMAU/wMzCKCXU3m1dbuqxMdeN+zdlwta/5LMzbyHQQAAAAD8O7kVkSxels7Uv+yVOneqQv5Y1JyqF69P7a4OAOjO/6sXs2GUvGkKOFjb2uo0uNAmhJDTLasDAHr7v/h4qhv/6UGAvHncNYMD5nhb6a3OvIoHAQ5ZQfvGdG7yfwhRukgduNkhAAAAAA9JQohCIJKFl6Sz1a975c4hdaG5PLrTr7v9+/G61DyFPSGEPCpZ33A1qA7jmGPyUbfYviWZrHxKiPJjhWgwCAAAAIBTMzu7OZ9IlP9Lzpn8erExOFKo9Veihn/r7jxVeqsZ90UxIYScC9EDr+v7qujB2HiXlZUg7B3NVwZ3JDONT4hk9SdFv58Z97kEAAAAp7VN6f7806dTicpvWe7Ml4Ny+z5V4K/oC059sbn+wpPCnxBCHv2MZgGMXvprDVf1QO0xt9i+NWvPfDKZnHhpuXyxN+6zCgAAAE5DYbjZLZeHj82kGu+w3KmvuuXOwXx0Zym6wFzdhqq3OhgwWp867gtiQgg5F7J+7b9fjbdgjY/NnlmWpY/X/WW32L4t68x+Kpms/mJ+9ry8OsQnx32OAQAAwGkiP7s57+YXn2I5rasy1vSSG7YORZ3+F+M1ptHFZlAbXWzG2/uNmlSdBhfGhBBytidYd8ffHI/j6IEAL+yZpqumJ4D6WLfUujNtTX0umZl8iWU1J/UMr3GfawAAADBus7O5sLHpSZbfvjplze71K0Pp11XBr7v3VxbNGtOo4ZS6uFRvNxebo2UADAAQQsijltGMLL0t4Oh4fPzAbN8M2urjt6filvoHNyTrX8pYc8+37V5dMBMAAADg3DYxcdFTbb/90Zzf3KsuHk2nf68W7UMdNZgarq7990dbVZ2wDdW4L4oJIeRcyPrjrlmGVYtmZ3mVTjw4EMVTx269nWC+Nljxyt2jyXT9H9O56ZeVSo+ZGPc5BwAAAGPQaGyyK41NP6UK///XyrduVsX/ET19VN9Z8uN9qPUFZUFPKR1NO61GU//1jIBiY3F1YGDcF8WEEHIuJIgHX/NmhtZaX5bVZQHVvlkKoAcAzHat1a4s1M22rfdm7NnPJzKTr/XKGzvjPv8AAADgUVQub6qXKhc8N18e/Ilb6u1xw94Rv6YvKvWdo27c5X/U6T8q8E/sOL3aiZoBAEIIeVQSnDD7anV2Vpy1gQE9cBsNAOTr6t+ouKX2PRl34e8Tufn/7pUf0xaimR33uQgAAACPMF38F6qLL/ZK/Y97pe6dQXXxWFCLmkatFf7qYjMu7oNK9/iLz7jg983WgBT/hBDyaCU4If7qcbq3Ohtr/VIAfYwOal3p16KBXbfYvSdtz38tlZt7Q8btD4SYtMZ9TgIAAMAjJJ8/L19obHqxHw4/aRfb96oifsVcWOq7ReEgaupnGvsN2N6PEELO0JjlWtXe8bO24rjlzqFkbvp7WWfhNRm32Reinxn3uQkAAACPgLDxuMucUv9TTrlzb6G2tr5/fcZ94UoIIeTfl/UzBFYTRrO5ivWhSSo7852UNfs6P+w3x31uAgAAwMOoWt3o1CYe/0KnOPiUXWjf6pU7y7r49/T2fuuKfgYACCHkzI+Z+l994N1/s3RLvdQDAHaxdX/KnvtKwl54ox9ewCAAAADA2SCYflKh2Nj0DLfY/WO71Nvrhr2jo4tEPQCwesF4wkAAgwGEEHJmJmoWuHYMH939Hw0C5OPZX06xe3fWXbgukZ769XL5/IY6ZSTHfc4CAADAj2h2dnO+VHns073i4kesQuc2RxX/Zgup6mBdl/+1gl/PChjdIWIAgBBCzsysX9Z13HG92j9uJ5eoMWD7rqw1d106N3O54/RrQmxOjfvcBQAAgIeo2XxWNgwvuMQvbLw2G3Tu8MLBspkWqi/+yn3T9E9fGJ54sbh+VgAhhJAzM+uP58f1eqlGgwDRFoIdGdT0OaF3Tyo9+cWMNf9cy2pPqFNIYtznMAAAADwErdbTe1mvvS3lLOwP6o+Jt/jrmu7+heqiejk0d4VGU0N1TnydEELImZn1a/5Hg736dS9eAmCWAVTVMb/aNrsGBOHwaDI58YVkcupFhcKmYNznMAAAAJySzamNG58xl043tlje/Hf9cHA0murZM9P+9d1/nXzl+LtC6y8UWQJACCFnbtYfw9cerzumH7csoGdmAQS1/opX7t2btqauSyarv1QsXuSP+2wGAACAH2pTulY7bzaTaVxpB3Pf8Mqt+4NKRxX73aj4Dwcm+vH6i8X1d/7ZEpAQQs7sRD1e1vq8RMf33mrWjvP6Ywa6+JderRul3L4r5879ZTJZ+zl9Thn3WQ0AAAAPKq+K/9rrLG/mhiDs3hdtA9WJLwD1Yz3lc3CSi8XeCReK47+AJYQQ8qPnZI1ejy/+e1Hxr+Krj/XU+zwzE2AgvWLn9qw980khqj+pTiz2uM9sAAAAeAC7nkgXXpa16zcUasNjutP/asFfG8YNn6IGUOO+MCWEEDL+mAaA1dGuAMPonGHSX/aK7dtS2cZfChE+WZ1gvHGf4QAAAHAc+/KsVflOeWIx6v5sCv5+PAAQxWdqPyGEkDij9f/6/FCoRwMAfjwjwA87x/KVzp3JZPjnQvgXjvsMBwAAgFWFK3Lu9N8HYfegbuKni//1Wz2NHo/2fR73RSchhJDxZ3RuGJ0fosf9ON0Vr9w5aueb+5KZiY8KUX7quM90AAAA57qsEMXLc+7sZ71S5458dbAc3cWJOzvrqZ16m6dKN94GkBkAhBBCogRx8X9iRoPFQcXsDHAk5ze/n8xOvUuIysXjPukBAACco2bzWbv3Ezln7nNeqXcgqAyW9XT/KP11WzuNBgHo7k8IIWQtq9vAnlD8rz2OlgQ45d6hnN/6Zsqaf7vINjrqBMTuAAAAAI+Wcrnjue7iU2x/8KdBeeMd6oJtObpo09P/e2szAOIBAP14tBRg3BechBBCTp+cuAxgbflYT64fVHbL/YO5oPdFkZl+nbAmJtWpKDXucyEAAMC5IOEVzrvYLzzmaq80vDsIB8v+aof/qNnf6gyAeAmAKf6ZAUAIIWRd1m8TaBdbD+gdo5eURQMA0eCAXezeI9KzXxXW3POF2wzHfTIEAAA4601OPrmVcRfekrTnrnfL/WXdqClYv7dztf+A6Au6UmPxuAs+Qggh53ZG54NCvEvMaLvYUczuMaMB5Gi7wGWnNDi4ITnxl6nU9KWiscke9zkRAADgrBWGm91UqvLarDvzT065c79b7Zg9nPOV4y/oTpzK6a+7y8MAACGEEJ31A8ejrWLX9wEIdANZFX2OMecWPQhQGyw7hfZt6dz0x4SobR73eREAAOBslUkmw8uyzsRnvGLzHrOuv9qJ1/UPjrug8+Ppm+s7/7MEgJAzO+a5qwf7dDEWjp7HPVkwBVrX3KE1x4JKJ9rbvRp9rBkkVK+7tY46ZnTjtw3oCUJkft3sMbN8bP1MstUBAP13FzcL1D1lGv0VPRPA8ps3pLLTVwoRnjfukyMAAMDZxhXCemI6W/tbv9S+O18dTd0cbffHxTwhZ3v80QBAOJB+edTosyuLquDXRb+ni7XaUB0bWubtpieI+lhP/xtVuNn1tnSrbVkM++rlkGMGOeWszQzQAwXRoJJX6R3O+c1vJVITbxOi3FDnqQ3jPlECAACcDVJC+I9PJr0vFmv9+/MVfYE/uuPfk265Y+JzZ5+Qszrmrr4q3s0AgCrurYoq6FWh7zdUkV8fSNfcre3ovdvV8UBFf1w4VNmo/s3QDBoWVUJ1/PBrDACQU89oRoAfdqIlAbV4e8BS796M3/wHkai/SojQFQwCAAAA/PvkvPaTHL/ze0GpdU++MljOVxfNAIAfzwAo1AerF2fjvkgkhDxy8Wp6DXa03aerCrCiKcL60q4OpVffaIr7fKYq87PqGDE4X/qTLenlJqRj7vgvymI4kKVy18wW8FkORB5Coh4B+nFPeuV23CNgqLPsFvu3ZZzmp1PO7DOFmCiN+5wJAABwxpqYuLDtF/tvcgqd7+vi3yvrtZfrtmWq6I7No/X+g7FeIBJCHtn4cTM2M60/7MpCqKf/q+K/tijdgirKFgbSvfYV0vv4f5Xup39Lep98g/SvvFy68z3p6oI/jGYA5KPp2wwAkFNOUFnfE2B0zhlKX8UNB0ftQmdvIj31kVRq5olCNLPjPncCAACccfr9za5tNy+3vOb/ccudQ/quv1uJ7gBGF1/RxVi0X7Mu/hkAIORsTsE0ABxEU/zV89409FNvD4od6W+6SLpv+Blp3Xy1tG97j7QOXCOdO94lvW9vkfY7f1H6k+o4UWrJ0ZahfiUq6sb9PZEzJQMz82y0HWDUf0IvJRmov8O+dMu9o7lg4aZMdvadIj1zgWApAAAAwEOSdpypZ2SzM//b9pt3RHf6e9EU4FpU/Pvm4r+3evefGQCEnN0pxkX7aBBQHw/smir+i3My/0s/Jb3vXC2z+7bK3F6V3e+Q9tI7pLtvh7T2f0D6P3ax9Kf0cSSa/u8xAEAeQtYPMkczALpmRwD9N+iZ81FvRZ2XVnJe619Smbk3ClFZGPdJFAAA4EyREMKtiA3+n7j51v5CbTHawkt3+a5FF126+NfTgQu1gWnG5Jb1TACm8xJyNsfTzT71Gn4zlb8vS5WBtKotaTVb0v+dn5WF+z8ss0tvl7mlq6S9e4u0l7ZIa/d2ae95l8zufJl0n3CRzBea5s6tVYs7up8G3xc5/eOHcWPJ0TazZhZJRzq6EWU12nZSxwuHh3Ju68tC1H9dncsy4z6ZAgAAnAHKbZEIP+KXW7eoi66j5u6+uthySm0Z1NXFWL0fDQCE0QCAuRMY3YEZ+0UiIeSRi1/X3f71HVdVcJlmfosyyC9I72d+XNqfeI209u2Qvir67d1bVbZLd/dO6S3tlMFN26R3wzWy8IJLZd6ZMcVc0SwnGP/3RM6MRNP9R30A4nNNXPSb85HuK6GXpYT9FafQvy3rtD8pROMywSAAAADAgwuC4YIX9F9tec3v+5XBYa/aX9Hbfemt//Qd/mi6f391Ha++CNMXX6OZAeO+SCSEPHLR2/z5tY4sVFRKXenUHiOLuRnpveMXpX3DVumowt/as106e66UzpJ6fdc29XKLtPdeKbP3XCu9X3+u9Kd60lWfq6S3E2QAgJxiRlP99XnHDDyH0dvNbgDVUU+JqDmtV+4dsYLuTSI997G03TxfiIY97nMrAADAaafTudhz3f4LLbf9GXUBdb9b7q6YTt3xAEAQr9kdDQJEF1+jZkxM5yXkbI8ftlWx1Yme83onAHU8KMwtSu/3f0O6t79bekt67f/V0t59lXR2b5Hu0nbpLG2Tlh4AOKAef/RXpPvMJ0c7BowKNr2laDU6phSq+vHg+AaBeqCR3QLO+fjxLLPRwHOwbgBpdG4yDSr1x4Z6xlr3fsvvXp9ITbw1m51vC7E5Ne5zLAAAwGnF82aekHPn3m/5Cwf0Bb6rL/bNxRbN/QgheheAtpnx4+rp2KEqtoJ5Gfz8c6Tzf35LOvt3mgEAa9fV0lLFv7N7m3R375DOrh2mF4C9553S/ubbpPfqy2TgzkpXHVe82jAaAIgbC+bNtm7x6/G2bwwAkIcSvxINTOlBAL/cP5zJTX0znZt4mRCNqXGfYwEAAE4jfjGRKFxleVNL+drozv4w7rzMxTchRKcb7wIykIVSR7r2tHT/7Ddl9gdbZTZe++/s2h691H0AlrbLnIqlX79F5e73S//aK2Sh3oqWFU0Mo7u4eu12pSsd9fkL5Z4shlHx78XN3gIGAMgpxjc7BPTN+cuv9Fb8sH0knZv6O5GsvVCISWvcZ1oAAIDTRHGLHcx93690lqMpvvou3DCehsvFNyGkHxXk+nFNN/5syWCmI7Nfe5vMHLhG5vZsU4X/NjPl394XTf0Pdm2XwdIO9b6tMnvzldLaf410Pv0G6b/kx6VXbptBBLOlaK2rPl88AKA+f1HfvdWNR2ujZQLj/97JmZKujLatVX9HjcUVPQjgFHp3ZpzmH4nk5LPGfaYFAAAYq3z+vHwYPu6FTtD5Rz/sHTSdlKvduLGSvpha23uZEHJux6sOzTrrQrEt882hLG79Rel8550yt3eLtJb0tP8dMti9zcwAyOkmgCpmWcCeber9282SAO/726X3kVfJfKYmC+WO9Op96db7cYO3rhlcyOu3661HGwPTa4ABAHKqifoBdE2vClf9TTlmicnisVzQvj6Vm397Ltg4J8xWtwAAAOeYTZs2pT1vsZvLLfy+Vxre4lf6x6IBgOjum9liqdJf7bZMCDm341X0Gv2hDEpt6W86XzrfvlK6N2+Tri7+dcGvt/6Li37T/M8MBFyliv+tZnBAv9/ef7W0P/db0h+qz2W2FNTFf9QIML+67j/aVcQzgwH0ACCnniCMZq7p3So8MwgQLVnxyv17La/12URi4uUsBQAAAOekXK4yn7WnfjWVnVrySsMjgbm470cX3mE32mrJDABw8U0IiRushapgX1iU7s89U2YPf0Da+3aogn+b9PSd/z3bZE4V/cEu9bpe/68eZ3ZfJe2lrebuv71Xvf+WbdL6+tuk++afld6UOr6UunEjwGEUvcxAT/3X+7uHHZkvdxkAIKecIFyM+tfov59qO9qi1rxvKN1C59ZUZvJTQtQvESJ0x30OBgAAeBRVHZEsXp7KhP/qhW1ZqC6qC6SN5k5JUOuYTt+6SVeB6f+EkDim+V9eHS8ufYoM/ux10t//Lplb2iKtXfHa/91bZG7vTjMgYO/aKi3dE2CPnvq/Tbp7tpnGgO7NV0lv1w7p3Pxu6bXV8aXUMssK9OwCu74oHT0Lqd43xyAv7By37Sgh/1YC07tm0QxWuWFT+rVm9Dek/8bK3WN2vnlbIjnxR0I0zlcnQrYGBAAA54ZkpvnCnN/5C7vYPeiFLVmorV4gRXfd9MWUvitnmnF1x35RRwgZf/Tdebc4K62XPVtad79PBjftkJ5Z36+K+13bzPp/T+8CsHSVTO+5Smb36OUBO1TRv1U6e6+Sjt4eUA8W7Nkps7dcLf2XPkvmW/qubcssBXDrQ+k0Bmb9vxkA0C8bAwYAyCnHNw0Ae+Z8VjCzSFrS17NI9GB2rb/ilNtHkl7rxkR2/r8IMT0/7nMxAADAI25h4clTWWt+a87v3OSGi8u+abCl77SpiyS93j+Mtv7TMwGi7QDHf1FHCDkNEqhC/SeeIq3f/88yd/u7zTR/Pb3f3rNFuvruvr7rv2eLKfTtPertet3/0k7p6n4AS283AwO22RZwR/QxX3yHzD/1Ipn3p6Q+5pTNnVt1zAm7ZmtAs5a7ygAAOfWYXSX0dpV6O0B1Piuov6l8GDWYjLaW7K3YYfdQMjv1V8nkxPPDcDNLAQAAwNktnW680grmv+iE3ftNQy9z0aTvkHSjPbn1tlum8O9y4U3IORDdMd2PB/tGzfh0x39zF1W/Xove7henpfOmF0v7e9ukfcvVMrsnbv6ntwDcs9UsB9DLAPRUf0dP/9+ttwPcbh5bS1eq4n+L2SrQ1m/XAwC3v1/6v/ZcmW+r/yfsyHLYN1sC+tVu3M096jnALgDkVBOdu3qm2I8GAIarzSWjRH/LTqm1P+PMflSkGk8f9zkZAADgEVJ1Ulbn4rQ18Tm73L4nqLO+nxASr7evjqZO90zB5FaiLfgKunhSRblXaErv2RdL++Ovkc6B90lPFfFpPa1/KSr29Xp/3fRvbUeAbT80ZiDg1muk9YnXS+/5z5CFwoL6v+K7t6uDEXoAIP6aToOfEzl74tcHK7n8wg2JTOPtQkxMjvvsDAAA8DB7QVJv+ZeyO//bKzfviLpsD8d+EUYIGX8KpgO/7vfRkcUwmvljtgLVW/CFejCgI4NgRnr/67XS+a5e779deru2yNyeq0znf73Nn+kDsHu79JeihoD/9gDAVpnbvUWm7nqftLf+gizMRDOQgpL6euKt//SOJHr2wbh/PuTsix5cskrte9LuzF+L5MxLhNiUHvdZGgAA4GHT7f5YKaw99vmJ3OzNXqV9OF/TDZEYACCERFunFc10/64p9s1gQL1vtuPT7/f1dn2bLpD2V94p7VvfHW33t1d3/79S5nfvkMHSTlX07zBr+wM95f8UBgDMjgC7r5LOvu3S/cwbpXfFc6UXLKii/zx1bFqUBb0VadhmAIA8IimYJS69Fduf2y1E40PlmUvqQmxmVwAAAHC2CJ+cytY/6aji368OTOM/ptUSQnSKlY3mTr8fRo0/3dpApSc9vSVfYU46vYHMX/d26d6oivs9O8zde2t3NP3f36UK+KWdpvjPqcLf1x3/T2EJQNQn4Erp7rrKDB7Yf/gb0ptux1uPDuI13Lo3SS/O+H9O5OxJoHe4Kau/9bB7yCk1vysSE29W58nauM/UAAAA/25pp3Ve1lm4ygrm9/uNXtRV2zT746KaEKKn+0dT/vXae6/RV8V/tCygVOzI/MbzpPVfXyjt298r7T07THHv6s7/ehBgaYsZANBvz+oeALv0+v9T6wEQDQDobQGvkta+ndL65pXS2fkyWZxYkEGpJf3a0Byr/Lip27h/RuTsSlCOG03WBitOtXPvhtzUF0Vm6jlCVCvjPmcDAAD8yPrhZjdttV9hBe2vqAvpY6P9tSn+CSGjuKNdAGoD6TSiO/+FUl+Gjb4s/txPSPvLb5HOvh0ytzdq3ufqNfx7tktr12gAYLvM7dmqXr9K2nu3mMGBf3sAQH8evY3gNhNr79Xq5TUy/x+fKv25rtm7Xe9E4DIAQB6B6BkA0Xa3felUOsey+YU7Eump94jU1CX0AwAAAGesUql/Uc5Z+Fgu37xTX+jYYUd6lfbqnsjjvggjhIw/fi2a+q9nArjVaNq9U2pK/+mXSP+Dr5D2He+S+bjLv97CzzXLAHQjwK3SW4oGBNz4jr61b+spDQCsbgeoPpf+fHorQevmLdL//G9L7zlPUccp9f+X1PFKNyw9DX5G5OyLbnrp6cSDTOnc9L+kUpOvyeXmp8d97gYAAPgRFd5jB7N7g1p0ca9flhqL5uKHAQBCiI7ZN73clYVST5bNtPu29Gdb0vnwK2X2/g/J9D5VrO+6Ujp79Xp/lR9ske6NV8lg306Z2R01A/SXtspgj+4DsEXap7INoPqYlP5YVfi7u9TnuPmdMrt/m/T0rgAfeoUMNj9eFrwZ6TQYACCPTII4BZNF6ZZaxzL2zD8IUb983GduAACAh8TzNpULpQte4ZZ6/+yUO/ePOnvnq0OZr5jux+r17tgvwAgh44+tin6v0pfFck+WSl3pNprS+oNXS+f7O6S3tEM6u1RBv3fUuT8q4HOqcE/v0/0AtpgC3hT2e3ZISzf0O6VtALdJa4/eNnCLypXSWbrKzBzwdl8tczddI+0PvEL6T3mCDNxZBivJwx4vnvGS17tfqARh2+wKYAWtfUl77v0Zt9kf93kcAADgFL0g6brDXio7+0m31LlFXeSYrv9+2DfFv77gMR22GQAg5IyMH64t4TGDeep1X7+91jc9PoKwo4qaTrTUpxo39zNb/EWNzwpmy79B9L6aerv+PKW2zDfa0n/846R/zRXS/s5Wmduri/8tMljaKq1OVNGbAAAgAElEQVR924+b2m/t2Saze6KGgKOmf6Np/fYprP/XWwXq2QRR0R8luzfaVcC+5V3S+sY7pfe+K2TxWZfIgr8g/bL62uo9M4spr7/fetS4MB/21PcTrecu1KJjm6fe75kZT9HxLl+O+p7oZVC6D8q4f39k/PHNAEAv+vuoDqVX7pjnhlvuHrL85hcTicYV4z6TAwAAnKLGdNaafEXOndvrldqHTadjc4ejH3U9jrcA5K4aIWdmRs/fKPGWZnqQrxoXNqMBgGo0AGCK4mrfRG/3V6hEU589/XZdSBcWZL67KL0XXiqtq39Jere+X3p6nb/u6L97iwx2bTWN/k6psD/V6AGAXdvM1oGO6SuwXab0AIB63VNvt/e/S9o3bJXB779S5l/wTOm1B6qwb5qZS/rr9/VWhesGQvz4expt72Z+FvV4sLMcfZx+m3sa/P7I6ZHV55CeARM/h/TrbrF1Wyo783EhwvPVCdUa9xkdAADgh+hnksnGT6WzjX8uNYZS3xXzdOM/fccsvthZf/eQEHLmRd/p1oW+LoDztaEshUPTtT8fRnczA73MRz329d3uWi+6419ZlMXaRjNgoBufudW2tMstGTQWpd9VH/urPyXdv/ltmbvnw6oo326KcF8V5d4eVaDfvEW9vt0U7Q/XAMCo+7+tBxdGMwr0EgP9f5q3q9f37pTZ294t3X+9SgYv/w/S7w2l3sq0WNYF/1B9/z0z60Hf6ffDqIjTd/v1AEHBNA/Ud3Xb0UCIOfb1zceN+/dHxp/RbBF/dG6s9tedI3tHnGLnJiHqO1Vm1Ik1Me4zOwAAwElNTT1twS/235Tz52+Ppv92zbTX0cVNUV3sm7tkzAAg5IyN7ozvqMLeVSmqQkav3Q/K+i7/QDr1RVXcq6I+XJT5YjcaKKgPpKve76rCOGfu+qt/U+nIvDMpC1Nt6X7iDTK3/1pp3fJu6d+8U3r7dpomfbrrf0YV5joP+wwAvXOA3j7Q/B9bzQCAt1s3EdxqegOYWQG71MfpZQj64+/7Xen9r1fL4EkXynyyIfMVvQxAT/HfKMvljTKsDWVB3/HXSx1UnLAj/WJbllXRX1TfdynOuH935PTL6PyY14MCo9dLnYNC1P4pl5t7cqOxyR73uR0AAOBB5H8hY0982S/3j+o7HPl61Pnf7KMdrw8erX30GQAg5IyMH/bMGnevMYi2yatEa9z1Gnmn0ZV2PXqeB3qmQC1a9lPUy4CqQ1XYqI/1ZmXxMefLwraXS//L75TOjVtNwe3oIl8X4Hu3m/X9+o6/vxRt02fFa/wfzgEAX28luEfvLBAtCdBNBH09++DmuNeA+lr8H1yp3r5FfU07pfO9rTL/92+Wxfe9QgbdRWmX56VbbpmGbk5VL23oxjOc9BKBRemqBPWN5q6/a5YAdGQx7Iz990fGn7W7/93ovKheumHbPG/0QIA6Py6r8+jBZGbmQ0LUN437zA4AAPAArjt4quUu/KETtO7U038L9cWo0K9GjbP0RY6+wDFrgqtsrUXImZqC6V4edTI3jf3CrmmEp+9+ezU9vb+zWtjo9+sGZ6Wi+jh3WvoXXSiDV79I+n/8Wml9/e3S0mvt9+q7+6rI1tvymTvz29TjrSpRoz7/5m0y93APAOjGgbu2mF0FvN3R9oLWrq3S09sMmmUBuu/AVrPzgN6FwNqtGxHuVB9/jQy+eZW0/7/fkM5vv0T6T3m8DErz0s8vSEc3/9PbGKoCTvc70DMe9CwBve5fR7/NFHinwe+QjDdBZTQQHg8AVNcGAqJ+EtGAWcZpfSudnb9C2FONcZ/jAQAARjY0m8/KZuzWW5187zteeXhMDwDkzbrYaABAX9jodb/RBU6P4p+QMzh63/JRt3tfF7x6QCCMuvubNf5x0ztd+OvCOGiol095kvSu+CnpvuuXpPult0rnwHtkbu82U1jrIlsPAERd/tfuyOuiX9/5N1PxR3fpH7YeAFtNk0Hzf8ZT/nO7tqz2A7DMsoAtJnqbQd0fIGuWIexQX98Omb373dL9+tuk/4Ffkf6vPEd6z7hEurW2zBeb6mfRiQc9oyJPD5SYGRNx88Bx//7I+ONX1mbCjQbJzSy5StwMUO8MoJ5TdqF/T8Za+AMhGpeO+0QPAAAQa2Ztu/24lL3wKavQvVs3xwpGW/1VR9sdRXc39JKAUUPAcV+AEUJ+tATxc1p3vM/XN0pXdzGv6qafi7IQDqVfUIVwqSO91nmycOFFsnDZM2T22pdLe/+10r79XWZLP2fpKunpAlxv5Teacr93h7kTr++4u3pJQHzX39br8x/mAYDVgYD485ssRQMSegmCpQcn1Nfo3Hyl+lq2yszSVpldimYG6MGBnPmatkv3wHukdYN6/Q9eKf3n/5gsXvRYWWiqn1Nd7+veWW16qn9WgdkycPy/PzL+HDcAUIkGAEb9cqIM450BhjLnNa9PpKbeKESlOu6zPQAAgFILhZj4iFca7jd3A2tRh2N9908X++Zuf9zcyNV3BCn+CTmzo5/juqlnSRW0xb50VFFr1dVLPcNH3wH3pmXerknvPz5Lep9+s3Tu+pDM3Xq1zO1WBfVoev+uLTJQRb6l36bv9u/Zbu6w6wGAfLwO39XT9OOP1YMGD3sTQN0HYO+OaHDh5i1mJkCg4uslALoJoSr09XaE3u6dplmg/lr1MoVc/HG6aaC1O5ot4OzfJlPLH5H23/62dP7TpdKtTsl8blJ69WimRNAYyFJ9IMu6B8K4f39k7Fl/XnRKbfNYR/+tjM6b+jzq6mU25f59Ob/9l+pc+9Jxn+0BAMA5bn7+6UG5/LinJNLzX3XLw/t8fdeiGjc3CrurFzqrTf/irY/YBYCQMzimod/A3Pl3KlGX+7w7I91wRnpPu0iWt1wuc194q7S+9TvS/b4u+nfKzN6dMti1wxT7q9vuqcI5f/M2Gdy0zdzxN83/dm9dLc7XF+rRlP2tD++d/93RHf8TP68d3+l34uUHeiaALva9pR1me0DdK8DRMxeWrlQfc1U8g2CHzN62Qxa+v1V637pK5q57i7Te9avSf+JFsuDPyII9K4NihyUAxGS0/V9U+A/V44HZOlM/t/T7R+dIV/fUCHvLWa/5PSEa72k0NpXVqTc57nM/AAA4R6VF/bHZ7Mz73eLgDr/SPxbtd909rsA/cds/BgAIOV0zMM399F72eoq/3tZOvz2awt43cWt9M90/KKm3BU3plOZk8JSLTWM/732/Kr1Pvk7mv/o2mb11p7T2b4+a6Jmp9dvNlPnRAMCo+PZUQa3jLq0ryHefpNCPZwM83AMA64v9tfdtjWYb6JkBu6JeAW7cKFAvE1j9N+rtzu4t6/7tldLbo17uv0bm9lwtc994h7T/7DXSe/+vSO83XiD9pz5R/XznZd6bUz/fTtQIrhptp+iEbVlQjwtxzxS/xkyBsznHnQNrUe+MoPLA95tZdbqZZrl10A5aX0skZl4hRKM87nM/AAA4B3mNTeWsu/DyjD13fb76mGPmgraqt7iisCfkTIzpPG4a+uniM969w2xX1jNN/vQAgd76zy21pNc7X/oveJb0X3uZKvx/Wbr/+BZp771GOre/x0ybt1ab+j386/ZPy5gBiitNT4NoYCHeteDANWZAwPnSW6Tz4VdI77UvlN7P/Lj0mwMzWKobvukdAvRjvawiH28Np7dXHPffAzkNonvqxDsEeOXuXRtS059O280LdO+dcV8DAACAc4zrNjd7hc7H1EXJPX5luGK2+Ktw14qQMzV+HP04rOnp/R2zjZ8f340sVvumsZ23caN0XvU86Vz3Vunf80Hp3X6NKny3mDX+emq/aeC3a/sj0rTv9E20LEDPFtDft5kxoN7u79oSNTvcu1Nad7xf5Xel/bU3S+/l/0EGgwuiad/hUIZ6VoX+WZfVz7qsi77Fsf89kNMglcHqMjqn1D2S8WaXsvb8L1tWc3Lc1wAAAOCcsiktROn1WWfypqDelVbYirYyqvaZ2k/IGRqnFk1Hz6vncKHcUa93TVNPfTdaDwbk83PSdSakc83Lpbf3PfL/svclcJKV1b13erq77vJ9997aq7p7ZnqtvWeAYRXBQQFFcYEA4kIQcCHuIu6KAoLM9FLdPTAsLsHoe8l7LyGJLyYxL24xiUmQuEUTiQrTVV3dM8OOKLKd953z3aruGUAa6Jnby/n/fv9frT1Tde9XVed/vnP+R+7ZCRES/bjzjRwBExMBSvC69WCcX+jC/NBRNpotAguTAqN0bPREgTFwp9VzGtdAx8M3g/3+14HfU6ayf5nI0XQFLzsMXmaLOgebQ18PzOVA9VnMVMgngEbpZvqhPbLx7w2j+yXqh7gt7EiAwWAwGAzGGoHvbznDjZX+RiaLv3az2Bc8BAvH/4UfNDGZzOdC3OWPK+IUDxxbl4wXIYG70ukCRLvyYL/8xeD81UfA2reTDPvQod/EkXlUBq+Frz0zAq4SvGIJe/aXPQOPAj1WsEoTBeh+TADMKvE/iz4Co3rCwEwVzPoUiG9fAdE3vxpiTo/u86b+/xJEk4oJ/h5lIotUDSJTmIQbBD9bBCtamDW9wkdMM98XdizAYDAYDAZjjaC9feN22xv6hUwVHheBYRUGKToBwG0ATOZKJO1AB73/fmBQhz3q1AKALT7pQZDvPBfsf7gC7DklYKfHaJcb+/1xvB8KW0wCeGT2N7qkrv0rgg1tIIjGgU6tmRDRbQHUGhB4Iti1SZp44Px8FORHzwHXyoCpjjnSy6pzoS4lf48yA7rJEq0HmRkivwiRKP024gx+zTB6fi/sWIDBYDAYDMaqx2DEkuXjTaf/70U89yAZE6Xz2qk46FX02ASQyVyR9NJa9MtMkXagaQY5uZCXwU/k1Wd9EMSbzgDrm5eBtW8ShBK1kgTvCAlfqgKYqYJXnwCzoR39QxflhzoB0BhvtQHg1ABZH19QGTHemi5gz43rMYmXngWe3QNOepjEnZtV36lZXQ0Q9npghs/5MbqFYDpEiartLG9od7vZ92nD6OkOOypgMBgMBoOxmiEGkxE7f72bLM16KhDxcOc/kwOZxP5E7QEQdsDEZDKfI1PzSQAvnleitECTAaJKcPhJTAzkQWw9Cuw/fg+YeyfAmlMCt4Zl7UrM1sbAIqE7QUmASLMtYI2QRgMiZ6u0u28HZog4+pBMERsT1BqASRHRGAF7zyQ4/+cScF9zCkTdIer5j9FOrz7ulHQJez0wQycl1jNBYg4ncWTxM6p+b5PF39he7m+M9RteE3ZYwGAwGAwGY9ViW3skks+v69hwmx3LP0RlwbRLVQAZV4EJJQT0DOuwgyYmk/nsSWXGgYcHXoouFB8VEh5OogBRxVR7D/jvOxvEbVeD3HM9iN1jJHJR4OKltzvoha+PrKkWANr1r42T8z96H4jaaKv0H5MjzbGApnrMmt4BkcaNkHjDqyDpDdLOP5ksqu/TWLwAsQR6MVRCXw/M8IktOJRsx+sJNIscRPFP91ve0B2G0TWifpw7wo4OGAwGg8FgrEJ0iqGi8As7/VT+AZkuPe4GQYmX1KPBMHh1M5phB01MJvPZkww8k5p2tkgjAGOpMsSTWAFQpvJjQZ/xAogXvgDM7Rcq8XsddP7mBjDvQrG/nUbeyVoVrMaU9gRYBuL8kBBL/qfx/eJ7VyIfzf9mNK1ZJf7vmgLxwPXq2EyAd9MfgDj2GPCzW9Qxx9J/9f2ZGgCnC5OnZYjisWYzVWYaW0JKZACI/jrRjDbZ9dR6keq2FSv+qkP0/YOxfsOrDKPLDjtGYDAYDAaDsapw9vp2c9OLO6y+W1VQ8miz11+P/cNApUj0qFeRA1cmc8UytdAAsEhtAVH8jKeCXUhM/MWUAOkqg3340SBO2wbOW04H++Z3gP3Ta8C5fxfIe6ZAKgEsatoXwGqMUy88VgSIRpV2ydEkEMcEerRrPqpd9Gs4Rm9S/c0EtRNYuIOu/h100LdmdmiDvSXbsR9rVSiIwLG/dV9wf/O1282/QUGP0w1qoxBRzzFndJ8/tkDQ39b08zEB4CD3ToL4zedB/Jf6929+N8i3vxr807eBd+xx6tjmwaPpCuXguxQ9For6+zTF41SZmq3PobqOCQC89AJzTpksPuZEh2pK/O9STIQdJTAYDAaDwVhFwN1/2x26wvZz9yhx8DjtQjxFgPp09zOZzFXEYEfSTRTAlX3gbiiAc+qJ4LzzDBBjF4C85X3kcC/27AR7doJK4FEom4FRoE3COSiXx574Zql8HUvk0UBwQhvnkRAfbT2+lC0FCxMAB4p/0RL84wt28/X9biD4TfX6IkHiwg1eK44+tNDcb+8UiJ+NgvzKh0BsV8fj7WeBe4oS/n0V8N0B8lfw1LHzg+9Kr0n+/mQewGf6rVWfwYc67E3fM9o3vNQwemJhxwoMBoPBYDBWB9Z1Wr3nWu7Qv7R2IDhQZTLXLlPBZUbvXLsZxegguLIXvI0FkK88Ceyd7wDxlx8GceuVYN+pRPG+KZoMECGRX1WCWon8BpoFjpCRIApofBx75PF+0dyJD0rrRW2y5aa/lAmAJq3gUiclmgmAMT3doLGDqhFkfQLcmZ3qtU3Q4+aMEvz1Hdr5f88USCX+ne99EsRXPwTu5MXgnftykIl+cK2N4EeHAMv7ZdBi4QfVFS3xv4Chn1/msmfzN1jxMRHP393WsWncMLq3hB0sMBgMBoPBWAVIpzc7be0bP9Rh980dGHyEHQQxmcxDTxpHhkwp4Z/Mk6CNpoYhmtwMXlw97g2Aa/aAzA2DvOx8cH48AuZdk0rI4477JEQaUxAJ/AEiSkTLaRwnWCXhjyLcp5159Te4o66uy5kpcOs7wakvrafAQqFvHVAR4LRaATAJsIMuLfX/R5AN9ZqozH+EXn9HYwLaZ3dBe+1acK84D6JHHAZRqUS/P0QmitrRv0zl3NrsTx/HZsuUG0xQ4QQAc7Fc+BvspUqPrG/f+M+G0f0K9ZO9PuyYgcFgMBgMxgqH6xbP82KVb7vJyqNPFXwwmcy1RTQB9NI4FaAIsWSZTMpEsgAymVciN6972hPqencJnI1lcMpKEL/2ZWB999Ngz+0EuXcnldEL6rMfgU4lpiONZmuATgJ4M7r0PjKLHgDj0HmgQF9K4v/dCHb8F/oABBUB2gNAG/yRD0F9B7h3fEa9j0lw7vksiK9fCe5FrwJ/YFi93xKY2QLY6nh4iRLIDDr8q+uKUezdzhZaQt/lBADzOXL/BEDxcdMv7Gt3hkYMo29z2DEDg8FgMBiMFY2z17d39l5je7lp72nGUi0oReSkAJO5BihwCgCO+0zqBADOKhc4pzyTBz+Tgxi52ueAJoPE8+AmcuD1bwZ50otAXvhKEH/yPjL7M/dNBkkANPsLjPOU6I7MzJfiCzILHAGJ/fZLbQKIrQcLEgDWzP7iv5kAwGQFth/ga8Qef3NPVQn/G0D+70vI2M898ViIDW2BuI8VEYX9zBNxmoKdUccmrX0TMFmyUPg/VQKAkwDMhXym31d1/xNWvPBIu9X3LcPoel3YUQODwWAwGIwVix7Li2051XaHvubECg+5qWcOTjgBwGSufqJbPRJFbiyp7ktiW4AeWeYpsRtNYnIgDx7ugpPAVbcTefDdQfCwIuAVLwbzU+eB+LNLQdy1C+y5Kgl8t6577iOUCFAiuz6hBPk4GQA6BysBQP+nFv/WARUGzbYAcvlXz0VzP7s2Cfb/+zjIy88D91UvBtmvvvf8XnUccsEYVC38o8EkBYnHJK2TJG6yrM0Tn0b0cxKA+VR85gQAVpmUIOIN1tqt3u2G0bcp7OiBwWAwGAzGikRXwrQHP+clCjVdrvrMwQknAJjM1U8vmAKA10nsJwpa2GY2K9G7WQl/LXIlkkQxJgSwMkA73wtvUM+8f/Up4PzxpSBuuxK8O5XQbkyQ2Z4522wFULex7L4+Dp2BId+Slf0v2OU/0ATQCRICZkBndoKmE1jfuwrEze8F76IzwHc3kfGhwPeXxe+9PDjZPHkjRINRivj+o+oYxVMVdUzUdyh5JegKAC9IAPg42z29f0sAJwCYC/mMCYB0iSpMnGT+1xFv4G+N9T1nhh09MBgMBoPBWHlo7+zsLaxry3xPxIYe9DPhB0FMJnN5sJkAINGaLlL5v6Drw+r+zUrEVsDOlpUgLlECQAaGgYl0BaLJIvXDu+kcONE+8Np7wP/I68H9zqfBvnMSOmvY+69L8nFUoDc9Dn4NpwVUg178pefCkYAiuE3ifxbd/SfV7SmwfjQC9gfOATczCDFngPr7cUff6UKW9Fi/ZDCzPYmJkTL4mCQJRBsdBzQATOSefDzTnABgPnc2zSRFMg8Rt+8XRlvXZwyj11S/4+vCDiQYDAaDwWCsEHjecH8ssflTbnLwXjdZeUzv9vHuPpPJLJGgl2hsh2JeiV0HEwDY/5/OQ1zdH0vppACaAdKEABTE2WGQSRS2FSWiKyRY4ugPkC0o4TIAzlFHgDPxFnB++0e0K2/VtwNOAkC3fXtmlNoClrQCIOj916X/o1Ti3/QdoHJ//L/umgJvbic4X3o3RI/fCn68j3Za/eSwYgViONYvhc7+RXpPPk5AyATEYxCQrmcUs099PDkBwHw+bLbZeOlhcOLFB9rFxq+1m/0vDJIADAaDwWAwGItB97EdkU1fV0HFb710/gkqP0yWQw90mExm+CSX/6DMHasB3KbYTzfn2zdL3Ofn3eMYPG/h3PugTx49A/yEuo298luOAO/805Tov54c900U6LMTIJVAtxrbQdRGQFDPfpVG8jm18daoPmfm2U0JwGoCk5z/1f8zU6UpBDoBMKr+nx3g3H0dON/fAeIdZ4F91NHgZvNK4OfovTTL+b2Fhn54bBa+v+CYNI+Vvv50x5P7/5nPnboSR5v0eqn8Y3Z06A7DyIwYhhsLO5JgMBgMBoOxApBOb07ZMn9Rp92/WwW2j3mZYKwXJwCYTObBILYTJJSITgyBi6Z6l54NzveuAmtuCuxGFeT0qBbmwbQA7QtQBbcxGRj4jZBJIPXvNyYWnQCwZgJ3/3pwfbYKYlqJ/7t2gv2Pl4PzwdeBLB4GIjZE0wz8wAcFBb0M3P5ZuDPDpk5E6XaTKFbnxPP3r+vo/nqn0z9sGIORsGMKBoPBYDAYyxym2XeC4w5+0Ynnf6MC2idodw8D36cxAWQymcznQ3eBYz6OGPTtLpCXvQGc264Ce04J+t0jIGuTtMtvUQJA79zL2UnyCjBnRmhSgN7Bry7SBFA9txaMGaRpAJg8UH+r/j/r368B5/3ngrdJCarYALg4wSA53wLV7LluJQDYBJUZInVCav53WiYKj0S8/t0d9qaLDGNTNuyYgsFgMBgMxrLGtnajLf4HnVb3f+NIK6+roudWJ4Py3mUQ7DCZzNVFEtLZMkg01FO3vZ4tkHI2gHv5G6FzGh34UdhP6UoAJdapfF8xUhvRxn2BT4CJLQK7A3f/RUwBkDXFWe0F4ATj/sy7bwTnPWeD378ZYn4e4ij+A2G/sE9/ITkBwAyTWKGH0yda5py6tea369u7bjGMzFEGmwEyGAwGg8F4OvT3nzgk/NJExM/dR+O70MWb5ldjoMHBLZPJXHp6qQqNGfWSBYgli+DgaDz8zulX3z0ffR2YD99MZf6dc9i3r0f1iUaVjAFpYkDTwV/dh+MDaTd/Ec7/5jSaDE4oYvm/+nf3TIG16x0gjzwG/FieXhsa+h1o0scJAOZyIrXoZQqKFTICxKk9Xqb4WFvHxp+u7+w/M5ksibBjCwaDwWAwGMsUbW1db7fdoX+TqdKjIhjvJXGGNU8BYDKZB4luuhwIaRTdBXBobOCwNgc8+UXg/I/3gLhvknbqXRwNWNel+9T7T+MB9a4/JgZQ1C/eDHCC+v/N2g6w79wB3g+2g3fM0eAmczTWz6Pvv8LvTACw6GeGzWYCAI0osRVAJPI4FeAJL1n6lSkGbjKM7uPCji0YDAaDwWAsP6zr7d3mr4/077LcwT045ovEP5UWlml3DscMhR3oMJnM1Udduqx9ALD1yMfqo1QFooky+Jsq4Jx1EphzU2T+h2X6/rQS+/URiDRGdDVATe/oYzUAVgEs1gTQnt0JVm0MzL2T4PzTFeCf/3Jwsznwg7J/Gq3Wmmjw5DF9nABgLge21mO6RGMqtW9P8Qk/XXii0+r9rmH0vN4wtnaEHWQwGAwGg8FYVtjWHk8debLjl76O5n8ylaf51m6z97XlAxB+sMNkMlcXvVQh6GPWAiaG3z1JPT4wGh8Cd7AI1nUXQ+cvUbRPgrt7jEYDRuZGtflfTTv5Y0uAmH0WUwBoYkAVxH+Oglu9GDxvE4hsnpIQ88J/foTfU1UBeNwCwFwmxM+OzGDbiq7Yw0qWTqd/uq2z93LT7NsUdpTBYDAYDAZjWaHLjjj5SS85XMM+wmAHQQUQetffC6oAwg5wmEzm6iNVGlHfcjkwHS2ATObJ2MzPFiGWxQTBIHT+4+Vgzk6BU9OmffaeKk0BaPb844SAjvoIWItoAcC2AXtmO4g9O8H78iXgn7IN3FiOXoeDCVB0VVffeyKtkxP4OjkBwFzOxM+RkyrQ+tXtNCWwEoWH253BrxhG9+lhRxkMBoPBYDCWFRLSMDb8rYjl7tdBLgYUzYC2OeqqHHqAw2QyVx+bJoDY/x+nUWZlEuIueQEoUZ5UgsYZAnH1eeD96xUgZqegfXYU3DsVG1Uq/5e1cYjOVKktgDwBFpUAuBLk7HUgP/JGkHITJR7cBH7fVSCqXkMUR6qly/T9N/9a908ALLyfEwDM8FihBACO0XSz2k8DE1gyU3oi4g78h2FkPhB2lMFgMBgMBmOZwHVLsVhyyzmWN/DfIp57pNn3SiWEB/S7hh/kMFcCcccUjdyiSd3XLTLzPdRRKu3WY6to9jvtsOaJLl4m0AkeJ0+UQSRL1IqCfyvTw0oUbiax6LcSVHn1XPX/NHu0M5A5E7wAACAASURBVJykWpFM6TYjMhoNZpl7wTpq7a4rYR7NDYP3+feAuPcGMGd2gDUzCrYS/E59lEb6oUGgOTuqBP6YemxctwfU8fYUiMYkJQci6u8oAdBQz713J7hTF4N7/IkgonkQ6rtPdAVCPhlUPmVLT0oA8I4/czmRWvRS2gOAfDQWtqyo65bXP9cW6bnJ9wu96ie/PeyYg8FgMBgMRujoznWa3Te7idx9aBpE/biB4R/tiDWTABzsMp8Fo8iUFv1NQ0lkKwGQKQYJAPWcbAVkPAfS61OPDYG3+QiQL3wByBe9ENwjjwG3vwKe3ARRfxD8eIFGxGGwi7tdUVyrxEA8LoP3zjw4lKIX5MVngPjny8GcUyK/vgOs5o5/XY8ANGeU6J+p6h5/dZ2SA9OTYKvHrIa6jcaB9XFt/lebAvf1p4GXVUIfx6dhggp3T7H8P1nWO6iUnOLvPuby5cJkVLN1r/mbHcVKmmT+N5Y78E/r13ddqKv9GAwGg8FgrFn09m4zTbHppHUdmZ+4qcJvFwYT0Ux5/wTAMgh0mCuH0QWl05gMIIMqWlsL3aqD3atEHpwjjgbnrJeC+84zQV59Hjg73wzurreBN3IRuB9+LXhvOg1ip5wAfq96fmwIZKYCIhOMj0sHSYAkT6pYzRSYJNq6FcT2N4F11y5waiNK0Cshj2K/HkwDoBL/ajAVYJQmA7jTVfIJkDOj4GKCoFEFa2YS7C+9B+QxR4EXy4GXGabkVJwqn3RbArYBSExIcfKTuUK4n3dPc91m1GcnNjRjGKkvGkZ3j/rpbws79mAwGAwGgxESUqkj+91Y5T2d7sB9Sog9TjsHgfhvJgA4+GU+W+KOqa1EuZ0pQkzdTqXLlBDA/mqphBb2VaPJmnZbHwJ3eDOITytR91Ml5n79OZAP3QjWfdeBc+91IO+/HsSvbgL7oS+A99WPgXzDS0EMVmg8pZeskFu81+wXT+ZDf+/Mg0f6TnJ7QZ59Krg/v1YJehT1VTCx9H96nMwBdRUAJgSwMmAU7Dkl/pXgx+e606OKIyDmJsCauQ7ck48Dt6c4756exESAup0dVutyM0QTWGWS4woA5rLmgRUAzd9wH001gyS+iOUeWN+RvdU0+19oGGkn7NiDwWAwGAxGSFjf2XeWJfNfj3dv3m/GdTOQwMto0FfNiQDmYkk9+9kS2D1lKvvHuepYVi2zFfCTwxBLK3GVwV7+HERTPSC/fTW4+24CsXsMOrFnm1zclZBroKlbMN5NibbI3CRE9twE9lUXgBvJqn9jMyRTW8BV/5bMqqA3zRUAq5lul1pPai25Rx0L/uibQdy1E6w7doCsTYCc2wmOWiOYBMAEgDOrhP7sKHkBWLURsJGNcSr/d38xBu6/jkCsuwBxd1CvTWxPQfGPrSlJtZ5Sw1Rh4nUVOQHAXNZcmADY7/c6qJAK+JibKt3d1r7xcsNIDYQdezAYDAaDwQgLbd1vazf7bpdotpZcYBy0YOefhT/zuRFFVEGb/GWCNZSqgJdQa60LDf4GQJRK4PzwanDuwP7tnUqgTUHnbFXv3BLH9Ii3WhWsuSpE6iPU3y2/fw2Iz1wEntkDIlUGGysKUmg6yBUAq5lY5eGktPeDd+rxYD78BXBxLOD0GJj1USr593YHa2YG18qoNvwj8a8eV88x5ybB/LcrwPy9k8DvxoSU7vWnNpLEELjkJ1FRa2mYjAAdrgBgrhAu/K1uTanIBF4WydITIlH8zbr1PX9mGNkjwg49GAwGg8FghIBs/Nii8AvX2n7uPrfluh0Y/6GzOgYO7HbNfC4kJ/cKufPTNAky/EMvgOGg538A5HFHgzPxVojcrwRcQ5duOzMTYGM5dz0wb1MCTjbQ6X0MInMTINV9bn0HCJz9/u1PgTjtRO3SntDeAizUVje1w3kZ/FgOopXNYH3t4+DcMU6CHw0BTZwIMFtV66QaiH+dRDLrI2odjVFlid3YCfKrH1MCf1NrzJ+NLSuZAsiuIsTQpDJZplGEZFZJM9V5XTGXPw/8rZZNM8C0TgK4qcqj7Wbfj9db/WcaiTybATIYDAaDsdbgmH1vFNH8t0QSSwOLT0oALAwomrOvww5wmCuDJMaViErgLPXA/V+o+2Op4cCtvw+83z8NnNsnoX2vHtfm1Jo7t1UydMNSbqnEm2iM0mi3zsaEEv+YANhOpd32f4+A+cX3gtdXJEFIbQc8BnBVM5osaWGOCcreEtgXvhysn46A2DOp1g4mABRnq2QGKGjUH44DRLf/UfBwTc1NgP3Dz4B79YUQN3to5KRUa5USANkiJZNiwUhCPVLtyaKKyVxuPHCNNq83R/o2f9u9VPlx28/f0ykGrjQ6N5bCjkEYDAaDwWAcUmxrN9oSYxHZOyPINTj/pACixbQuJ5TssM5cJJsJgDgJtmAEYKYCsYRifAi8w7eA3H4eOA98Fjr26BJuZ1o7tltzOLJtEqwaXk6QgIvMjCqimMOybl3abe2dgsjdnwX5wq0gu4ZApAucAFjljMfLNAJSknlkHiy/B+zvXkUJADGzgxJJNq6l3aN6EsDcOLUF4H3YGmDeey10/ul7QZxwDLhK/IsFkyPwey4aV/dltH8FVq3oSRVlnoDCXNb0Dvh9RuHvtsb5LhwPiC0BwxCx+r5pGNkzVSCwLuxIhMFgMBgMxqHBusMPPzvZYQ1+KeLn7tPmVyUKFp5qp6vpIhx2kMNcaayAk8V+bWwBwFLrim4LkBvB/sA5EPnxNVTm7+2+Bnwl7u3ZcTAbYzSmzZ7ZTrv9aNiG892d+gQ4OMN9Bh/H8u4JsGYnwd29E9yxi8A/9kjwo4NKqA0vg/fNPFgU6vy6gbs5tn247T3g3vh2cH58JVUAyMaEWjuTIPBSrRu7NqoTRrMT4O8eh8h914FVvQBitvq7ZLBDmi5ATH2/JdTtuFqf2Arg4Oi/ZI7aAWLUDhD+e2cyn4ktwz+ciJLWaxt/1+en+1QoEdth9v7MMLrebhinRcIORhgMBoPBYBwSDEa82OEXeYny91UQ/Jib3n980IFBBZfAMp8tmyWnOFpNNJ3V07oyIBrLgZh8K+3G4u4sJgEEJgCwZBtN/+i67temlgAiXh8hjwCBAg9nuFMiYAeYd6i/P+sl4Il+JQw3Q7I5XjDTbD3A6QAVsFJ6R1e/Rl7PK5H6XJaUKFdiJ14kypNfCM5XPwTinmvBRW+I6VEl/rFaZAdVjFi0psYpYWR/+xPgvOWVILx+XaWSChz+qS2lRMTvw9Z33oL7w37vTOYzcb5qbwEP8PHB7+WIP3TvejGws7NzsBx2NMJgMBgMBuOQoMtevz59oxPNNbAkkHf3mUvNZsAZa4mqwKAPRdupLwbnlg+AffdUsKs/vgiOBc/FXV10da/q6w0l8h68HsSlZ4HcVAYH3a4x2YBjBxcEwFh5gKMC0QjLx2kX3M6yIokJJV2OX9ajH3HSRLIX7M+/E6y911ILgJxF74gqeUpYaPqH12cmIfLA9eCMvAm8I4+CaLKs1maFhT1zzRHNfZ1k6ZGIO/D3hpE+N+xohMFgMBgMxkHH1o50enPf+kjm644/dL/LzunMg8BWAoAc1QNPACy3tgfA+fSFYP/7VeT8j7v/i0sAjOvnY5UAirq6TgCgu7tzz3Ug/ujdIF+6DWQ0B05GTwXA14G7xSj4JY3DUoIvHUy2SPKaX4kkPxLyk8A+/bK6rs6pvQHkh18H9m1X0W6/vUdXlIhalejMaCNA+65rQbzldHCTQ7QOfPKnCP89MZmHmuhrEZEDPzOMzCcGBwe5DYDBYDAYjNWM7u6j45nMUedY0aH/Eonibz0VSPuZ8AMS5upia6IEkgwBi5QAkLIPrP/7YbBnp3R///QiEwDNVgBqE9CTAgQmAGo4KnACnJ9sB/cD50LcxtJuNAIcBo8Ef4nKuB3qidXC0W3tIjNXGqNBwlLgyD6q7ChDLJoD/+QTQN78LnDuvg46Z3EawHZaX5LWzAhE6jvA+9Zl4J6+DRyvD5xUHmSCx/sx1xbnWwTKYHtDe9d3brzZdYtDKjRoCzs2YTAYDAaDcZDQKXMFxy39j1im8qB299dmQWEHJszVRRJpal052fK8M393GZzDDgPznz4O9t07ybBNUHn2IhMAWPpfH9EjA6klAHd4J8C9cxSsB3aBNXUReM5Gmj7gJoN2AHwtKPq7SiQatR8BJwBWKhOpEsTSJTItxfYSN6XOdTwPbqwXnI+8HuxHvgQeVQGMgzk7TuX/7twU+A3FPzgLxGFH0bg/gRUAKTb3Y641FjXVd7KbKj1ix/K3ru/ov1CFBlwFwGAwGAzG6kXX4evWb7jVjuYexp1Z3P1Hs7TwAxPmaqJHu+3oPF3R46dig+BuKIM3/laQP7kKBIr4mhJqjcnFtwDMTNJurpweoTaAztlxPR0AH7trAuxb3gf2y14UeA3kQWLpP41wK0MCr2e1KSCOkUOGfYyYz57oZu6Tt4Q6x4k8OF1lqvSIeQMQfdXJIP7vxyBy97VqXY2DOTNKFSJOfQrEnTeAVT4SvFhej6WkqqdK6O+HyTyUpHGBqXxgfFl+wvHz0yom2Im+QGFHJgwGg8FgMA4C+vtP9rxY+fcizkBNxAuPulQKGH5Qwlx9pBaAbAmiyQqV/7vRfpD9JRA/3gFSCXaphJldG4NIY3EVADQhoKFHAUqc9T4zBh0N9ffq38DRgQLHB/7wapA73gqevUEFtwVqBaAecXUZxV1iGovVdHUvh36MmM+emMBxA3d+rOzA1g47q85lvACxgWGQZ50M9jc/Bc6e68B58EZ1uROcr38cnDe+HIRaj34sDzElgPx0jloIuAWAuZboBWMC6VJ9L9te7l6jc+NfxWKVDYaxrT3sGIXBYDAYDMYSw3GGh51oaYeTKPxKBQGPU/k/B8DMg8B5B340W1PCe5MS/6e9EMx7rgVr7yQ4gYlfpDG2+AQAuf7raQA27u7OjEEnGbyNkOmbnN0J8qsfAzexSYm9HPkPoPu/l67QzrFINScDlAOfgPCPE/PZkcz/sLokpb0c/GRemz7i+YwpUb+xAPJNp4NzzYXgTrwV3GvOB+eiV4AdHdAj/dLYOlCAOHoAJMtkThn2e2IyDxVbCYB0kACI5X/T6Q38MGIPvtIwev2wYxQGg8FgMBhLjfUbT++wB77j0U6o7v9HY7awgxLm6qPeYVJiDP0lsOz6BceDM/VmiOwdh8jsuBLtuJs/AWKxYwADE8CIej4J/voYJRGwz9upjYCt/j37ruvA+dfLQbzsBLB7BtX/n9fj/9LDSiyWlVAsBCZYJfIGCPsYMZ/Dugo8HERatwMkMLmUKehEj6JAo0l3IwhnE00H8JweMv0TqWFdNRBUgMQTmJjazB4AzDXFZgJA38brhcedVG5vW/uGEcNI94UdojAYDAaDwVhatBlG9/kdkY13uGnc/cq3xH90GQQmzBXGoAy7KaC063/xSY9LtdY8ZwDka18JZn0neNM7wJ0eA6tWBUsJeh/H+C0qATBGxLJ/oQS/N40O7xNgYkKgvgPsepBQuP0akP/zQ+D15iEWG6KdYZHSO/5OVwliOB4wiSZwXPmyEhklwY99/8M0xg9H+skslvWXIZrYTEKfkpvxzep7bZiqP0SyQqZnXnoInMyAovr+S1W0QeQyeE9M5qFiqwIgWWwlxJzU0EPGuu6vGkZ6OOwghcFgMBgMxhKi2PfiTW5s+MqIl7tXUg8sEkWQNkkLOzBhrjCqADKqGEvqBNLCBADejiVpd4lEWHxjBbxLzoLOB65v7ebbAWV9sVMAdAIAe//19eDfQcd3vD8YEejMTYCDs9+LW0DGh4IpF0XaJRZZJRJT2v1d8ppfmQx8S0i4p4KxZi1fhxJVd9DjCxNTrevFBa0p86MqQ39PTOYhYnP9SzRCxd/+TBFEcuhho33g39vN/Ek9PcdZYccqDAaDwWAwlgjSLr5GeqWvynjpUWwBaJb/6x2B8AMT5sog7Rhh0Jhd2I89b6amW0uKuhQbGR0C57UvB+srHwbzrilwlVAX6P6PJoAo5Bc7BnCRtOeqYM9OgPeW14CfP1ybAaL4T+cpYaHbEkrUEhD2sWQymcxDzqwW/7I1EaDwmCVzeyNO7n2RSHEo7FiFwWAwGAzGEqGtrfsSWw7+FHf8MQBwcQcgMEVz2RCNuUjiesHyeYkJgOz+CYBmeSndhwZtCfXcaB9ELj8fIr+YICM/iYKfxD/2/o+p60sn/ikB0NCVBd6ffxCiLzweotFB9ZrzJPqxKgGTEiKjX3/Yx5LJZDIPJanqBb+bM2UyScXvQ/Wd/oRMFH7baffdbLR3nxR2rMJgMBgMBmMJgGV9bW2JUVP07vEzuh/WxfFsOvvPLQDMRdM7YHSa1xL/JT3uD5MA+JhaY/GYul4cBuuP3g3m/TeAMz1KffoW7vwHo/uc6cVNAVh0AkD92+gtIO69HtxzTgUvhu7vefV6hhV1AgONCUWGzS+ZTObaIn5Xy6Q2AaY4IKVbtbxMHjqsDd81jOwbDfILYjAYDAaDsZKxfmBgW8WS/V+yvaH7aSQazkdPlBRzlADwuRyauUh6C3b7F86U9pNK8Kt1hWZsHo7ciw1BVAyA966zQHznMrD3TIBd0+Z/Ju7Sz46CMztGVQFLnwBQ/+4jN4H45OvBPexIcLvKILIVEv0x9Vpj1PqSD/1YMplM5qEkfleLZC5o1SpRMkD7pOShQ/Tf3hbpf18sdowbdtDCYDAYDAbjeWEwIkTpXY4/+D2ZyD/u4Ui01DD1QuOO7ZPc25nMZ2CUKkiUyA/66TGp5CVK5MqOySSpBLelAkp3fQbEn31QCf0q2I0RKvcX01Uq/bfrI9QGgP36S5kAQINAiUmAhvq//uVKcM9/FUi7D5wu/ZqjQZLCT/GaZzKZa4tkApjRvj+4EYDVf25a37ajg/eZcuCGjo6+LWFHLQwGg8FgMJ4fnLa25Bccf1NN7/ZvBg9HZdEOaEUHACkuh2YunpgAoORRoqCd1zPDYKs15FDvf1AdkC2AOPFosP/5U2Dtq5LglzUl9usTIJRAF+QBgD37S2sCKOrjZDRozqj/867rQHz6fPWa8kHFglrrmYoiJ72YTObaI3n+pINRmlgNiPdlCroaIJF/1JK9XzeM9LlhBy0MBoPBYDCeO9YZ3saosS79d7bfd2+z399LVWgCgB/MR+cEAHOxxIoRoQQ09fmroDGa0tftYDIArrGYPwjRniI4N74dzP+6GqzZEdqZF/UpJcwnQNRGQQTi31ziFgAcDShoJGAVrLt3gnPLpSDPfilIf4DWukhr40KuAGAymWuNrQRAWlduUSVAOg8iqZOkthz4sWFk3h924MJgMBgMBuM5ord3m5lMHnZYh9X/fTuW+7UbjP+jH33cwU3Oz80OOzBhrgxiAGmrdSQDJ2kU0m7LVApFtQokk0PgbTkC7F9MgllH8b9DiXKsApiCyCxOARhp7f6TIeBSegAoWlQJoEcNiv/cDvKz71SB7QZa6zjCEJ2vcSRg2MeSyWQyDyWbCQA3mP6DpHGt6UHaGLDc/G6jrWeH0bXVDjt+YTAYDAaD8RyQsA/vSsS2XOLGS7MyUXzcpf6/gnb+XSD+PR4DyFwsU5pNEylsBYirtZTE9RTPg53Jg1U5HOQFrwbR2AnO7Di4M2NU/m9OT4JJfgBjZNaHngCyvrQtADYRxf8OqjKQ9+0C+Z3LwNk4BNFMBWRXSbcpJItPMjTcf7rBPEM/5kwmk7kE9Fqu/3pyi5vUPgDxnry6vhkst3RPhzPwJyJWKqkQYn3YMQyDwWAwGIxnjY2l9es3/bmfLj+oRP8TNP4n0xT9wWW6RAmBsAMT5gphUPYvafcIrxeVsC7RaD0HR0x5g+CfdAJ4//hJKsfXwnyMrtv1BQK9ru+bf85SJQBGwW5sB3t6EkR9AuTsOIgfXQ7mFa8HZ2NJvcYCtQDgpAKPpgHoSQbkhp2cb4XRJlmaoR9zJpPJXAK2Jrek53/76fc/E0wFSJQecWL5W431Gy5QAURn2BEMg8FgMBiMZ43sEca67tuUuHnYXfDD7x4QBHALAHOx9Jol/+j4n9QVAFhSiiP2yFCyuwTigpeDuPv6pe3tXyStmVHomNkO3vQEuNNVmjRgKcofjYCTU681kQ98MPZPALQC4db7DCocOAHAZDJXCZ8uAYDXMQmq+IQdzf1SxQ5XqwDCCjuCYTAYDAaD8SzQ1bXVtt3cy9ebG2oiUXh04Y9+8EPPCQDms6aeI12g3v8YTpFAY71knpz1o1F1ecqLwL75nWDdez3t9h/qBABWF5iNMXDJWwBNBtXtuSq4c9eB8/ungj+4GfxEEPQGRBNDao/ZLwFQ5M8Gk8lcVfxdCYDmddsf3GMY2S9JmUuoUKIt7FiGwWAwGAzGIuH7h/XKaOUDZnToV0rsP75Q7FO58wFBQNiBCXNlkBIAKW0i5eFIvXRFJ5Oy6np8ENxLzwHnF+NKhE+EkgBASvq/sRVgnEwHI+pS1sbA+soHwD3hOPCjOUpctD4PaT3JwDvgfbL4ZzKZq4kHVjwduBmA9znR3APrOzZ8y/dLhxtGD1cBMBgMBoOxUtDe3neC5eb+10Lh3/yB5wQA87kSXaSR2EtvYbCY1msIL8URh4G48a3g3L8LrNnJcBIA9TGQ02M0fUDWRsljwMQEAFYC/Pqz4Jx3qnq9OfVehoP300wAHNAWwxUATCZzlfGpYoEDqwFlsviIFc390nQG3mQYg8mwYxkGg8FgMBiLRuysjkjX9w8s9Xuq/n+PEwDMRbI5RkpgH312GKLZCkTjJUi0bwRx1ZvA+eFVIJTwtqcDo78QEgCiNqanDeDt2hjt/ruzE+DumQLx+YtBnnIieLHCgvf0FL4YzRaBZXDMmUwmcyn4dAmAA+KDJ2Qif19bW+oGw0gOhh3JMBgMBoPBWDRSb1jf2fPzhT/2T1UN4LLIYT4L6goAFM+4g46TAPLgKLobhsC+5VKw9k6FI/wXUMxUwVKXEZo+MEqVABZWAzTGwb5jHOT7zgLf2Ug+Bvo9cQKAyWSufj7V7/9TUSTyDxnrkl81jGgl7EiGwWAwGAzGItDbu82POIOXRJz+PU8l/A9sBeAWAObiWSTSeDwcA5jIgdudB1eJaufWKyBy1yREGmMgDsKIv8UQd/2x5N9uJQMU62NgT4+C1VC8dxeIz78d/KO3ghfPPSkJsLDsn1sAmEzmauJTJf+fKiEgEvnfGOu7/6W9fdMLDGNrR9gxDYPBYDAYjGdAInHMVhkbvsGOFX79u37kF5b/hR2YMFcGaQ0pylSeqgGiau1Ey5tB3noNiN1jJP47Z8ZATIeUAFBiP1IfJRNAEVQDOPUqJQEwAWDumQTn1ivB/djrQfoD4Cfy80mABZMBmu+VEwBMJnO18OkSAAdWAMhE8ZE2s+8XliieK+XR8bBjGgaDwWAwGM8A08ydJ6Klf5Sp8pN+5A80/GGRw9TUO/sLS9/ddJAYot3++fudTBliKbWOFO3BLeCeeyrY+3aBs3eKevCd2jjI6WooCQCsPPCmldivb4dO3PGfUeK/VtUJgYZ6TbUJEHdfD/KvPgKiR72HBFYBFIL3Xto/AZDSDP/cMJlM5tLxQD+gp/ADeNyMFx40ZeGqzs7BUtgxDYPBYDAYjGdE9mOdsveXMlPYz818objjBABzf6LoVeslmVcs0C6/mc5DPF2GRFI9nlQBIpaGdpchmimDxPF/bj+4L34BOLd9GqzadpBkuqfEdk2J8LA8AKj1QBsQ2jPBZXC9lSRoVEHeegX4l70RrPQQiMQgVTLEk8MQTW5R71UbBKL4dzkBwGQyVxkXVjt5B96m+4pPuOnCE+1m718bRtcpYUc0DAaDwWAwngltG67sFP0NoQRc2IEGc2WQ3P0zuPtTAKHoZEsgs0roq+syox5XpFL5ZBFiip6iPTgM9rvOAHffLhDNHfaZCTBnqmDOju4nusNiMwHw5McmQPzb1SA2DKiANw9uugxCHQeRKavjUASR1YFxNFkO/dwwmUzmoWRz3Gu7uelfDKPr1WGHNAwGg8FgMH4HBgdPSHaYQ9eb7uA9Ml0IPZBgrgzO73aX6Tru9nu406+Ev8zMu+FjW4CrxL8ve0Ge/VJw/vYT4O25lhz2rcYYldxblAAYWxYJgKdNDMxNgr27CvIj54BX2QpuLA+YMBPpHAW+DiVDShBNcQKAyWSuLbYSAJHenxrrN7ypt3ebGXZsw2AwGAwG42mQTh9zrO0WvuLE8w97GTb3Yy6O1O+eLCvBW4EY7nrHiyCxLSBbpnaAZmmoyBSpKsAbKIG7/SIQc9eDi2X/aLI3M0bj98iBvxG+yP+dVQGYnKipy59cA+JVLwYXvQDSSvQnBynwFZg8U8ckxhUATCZzjZESAOq7PiIG5zrN3Efj8S3dYcc2DAaDwWAwngamXbpQRIu3kXlZJvxAgrkyqE3/ylTyHkuUqA/eyhTUbXysQo9REgBNJKODIC48HZy//QiIuSklqqtgTY/pFgCsBEBxXQ+4DAT/UyUA0CtAzk2A+dAusC9/HXiHHaHeK+7654OqBzQ6LEE8Gf65YTKZzENJ8gVQ34MiXnzYlvkvWFbvMWHHNgwGg8FgMJ4W3aOOX7jTT5XZ3I+5aJK7f7ZEAh+FMO7+4G6/m1DEBABOlMBkQFatq0gGzD95Pzh37QKpBH9kTxU6cPdfXcfbEnfYp5+u9z584uvC8YD+zBSI6WvA+fkIyHedCTKyARx875gISJZBpHS1Q9jnhslkMg8lW5ODkqUnTNH7DcOInht2ZMNgMBgMBuNpkfpDxxuaa472CTuQYK4M6gqAZqk/jooMJkhgIilRoktXCWMR6wdx6TngfO8qcOYmwamPkpiOoLhW1536CJXX431hC/3fyTpOK5iASH07iH0T4H7uD8A99lhwo3kyO8QpB5hEi/FniMlkrjG2JgQl0EctggAAIABJREFUSxBxNt1mGNGLw45sGAwGg8FgPBnr0KhnXfuGP7P9wXuaM37DDiSYK4ll6vuXaXTFV2I/rRMAaIbnYnVAdwHcXAmcb30KxPQEOOT6PwbOtGJjAkRtFJzaiE4KKIFNI/nCFvpPWwWgWNNJCneuCuL7V4Hzqd8nc0O3C49DmSYeRLkCgMlkrjHqBECZEgCm0/ufhpG6VMUY68MOchgMBoPBYOyHUmc6fWJfhzP0TTuW/5WbKnILAHPxJMf7Crn/4xhAdPu3u4Kd/3SJzPHcYgW8D78exJ3jYO2dpASAnMGd9HG6buMoQCX+sQXAqmmRHbbQf9oEwIw2AnRnJkHia927E5y//zj4J70ABHoApLQfADL0c8NkMpmHkPMJgCKYdt+dRlv3ldHoVk8FGuvCjnQYDAaDwWAEiMWOcROJo15pR0s/kcnSozSujSsAmIslOt4nMAGgxS85/mO/P47BI3O8fhCvOAHEzE20wx9pjJLjv6xXqdzfVPeZ6j5ndlzfngmmASxTolGhOTuirutxgFjJIH+xHeT/+oB638XADLAArVGaaKoZTEJoccGxI4Z9DplMJnMJqMfC6gSAJQf3rTf7PhuPH1FUoUZb2LEOg8FgMBiMFvJdHVZp1EkW9rhdSsBklXjh3UvmItnq+cyWQCLV9XiqQkkk1x0E9yXbQN74TnDunVrWI/6eXRtAFezpCXCn0bxwBKx7q2DdqW6/6DjwN26mKgiZyUM0jdURJUqE4GdKJPPgJQo0HcFP67GJUZ4WwGQyVwkxwSkDM1iZKv7WiRa+YYnSOVhpGHakw2AwGAwGo4VUv2F0/Y1MFO7HHm6Rzinxxv3LzMWR5j4r4tg72vVRa4iSAd0VJYAHwb3sPLBndoHAcv9lXNq/aKr3IBTbZ7F1oRqMLBwDrzYJ3g+qED16K/hen06KBH4aDlYEZIsQzZRoRKBL7RLq/nSR2gbCPodMJpO5FGxNAUAvmGThcdMd+g/D6PmkohV2pMNgMBgMBqOFRM4wMrc5sfxDWLbspln8M58FsV0khaZ3uuyfRgBi8Cc3gPf2M0D8wychsm8nWNPLu7f/WVcBKNEfQar3ZGFFQKMKkbuuBTl+IfjHHA2+P9Qq96dEAE1HKKjjpK5nisFx0y0ToZ9DJpPJXCpmKroKChPC7uBuw0jdpAINJ+xIh8FgMBgMhsZ6o6Nvi9HWdbsdzT9MPdxpFCTl8IMI5opgcwygTGvzJ+xpd5M5cA4bBnHLpbRLHqmPLntzv2dDgayNkB9AZGYCIo0JsBqj0Dm3A+wfXQ3uxWcErTSFVr8/jkJ0k9hag7v+WvjHKHHCCQAmk7maGLSAJYtgu4OzhpH8Y8Po98IOdhgMBoPBYCgkEsdLxxs+eZ3Z23DixUe0g3mR5piHH0QwVwJR4IpMmcrZcfRTPFGmsX929QKw/+PTYM9Vabc8bNG+ZKyPgayNgVUfAQ/HGTYmIYKtADMj6vo1YN97HThfeg+IU08EER+khJrA8YD4uUpgG0AF7FSeiIkTP8OfNSaTuTqIJoD4O6ANT0tgu0N7DSP7F7ad7zJ4HCCDwWAwGOGjq+v4jdHsEW+1/PyDbmbzY35W/YhnShAlk7Lwgwnm8icFeglsGymDm62A3DgMyRccDU5tEqx9E1owK4Hshi3cl4iYzLDUe7IVBSYA8L7aiLp/BJzZMaoOsB78LIgvXQIxuQFimQKIrhIdHz9RBqGC4njXMMh0ESzyAQj/HDKZTOZSsJkAiGJiM1UG2xu6z2jf8A/p9Nbh3t5tZtgxD4PBYDAYax4ddvkoyy9NyWTxMSVMniAPACxbZmdy5mKJpezJnBK6KuCLDoI89kiw/mMUcEwejvTDPnkc+yd2jwaGeeGL+OdLqYS/qOMIwxGwGiMglfCXDSX+6xPg7B5T73sMIj/ZDs4fXgKe3w12YoAqJWJJLI0tgY2fMXW80DfBTyyDc8hkMplLQJ0AUN9rGe1/IuKFh03Z/zPfL57hecPRsGMeBoPBYDAY7b0vazcH/hp/qLGHG0eVYa+yn+QKAOZiWaRdbs/rBXHy8WD/8XvBumsniX6zPg6RhqacHlsdCQDc+cf3Ua+q96WEfmME7PoIiJkqWLur4NRwMsConnjwU/XcS84EOVSCaDxHgh8rAHBMFh67aLqsxwSGfg6ZTCbz+RMTAG4CfWFwmhDGE8XH3UR+T3vnho8bRteGsEMeBoPBYDAYRuacto4NP8BeZDdbBhmMAIymOAHAXCTRyM4fAnnMkWBPXgTW7CTYs6Ng1/SOPyUCGnp03moYA2g3y//R/V+9L3NGv1dZw4qASfV+sTpA3W6o+/H537savNeeCtHeMrVKCPJK0HOymyMUQz+HTCaTuQSkBEASEwBDinndIpYs3t/Wlv2cYSSHwo54GAwGg8FgGKnfb+vougNFicTZ7Zmc+sHOswngKqee1VwMjJqKrdnNLQb34zpoPTddpN3qhbeb/f+x/gqIay4A6z8+o8T/OPXCO/URMssjoYxCOGDYAv55JwCChIasjc9XNNSrIKerYM9NQYSSBNgCMQLm3A5w7rsR/C9dAvL0F4PI5jEY1g7ZGfy8BWM3U/rY0gSF4Pj6AZtmWmGvGSaTyXxG0vdYRX2H5SkBQN91ifyvjHXpWwwjVgo74mEwGAwGY61jnWFsuKCto3daZtDJPQeSZpWXOAGwyoniE+c0uwsSABSopRYkBRTjqc2g20NwfF0e4kq8ykyZDOy0V0QepGL88teDc9tVENl3LYjdYxBV7JxFEax3y83m7v8qqABYLK2ZUTBnRsBT79l78PNg3nQx2McdCYlYARx1XKUKkt2sEvtZPQ4wjlU3yTKZAgpKCuSJODrQo4Caq3KYTOYyZ5AAwN8SoX4z8LfDTRYeMtalv2YY6eGwgx4Gg8FgMNY0BgdPcyNW8X0d9tBenQAogMAxgMkimwCuctK4x2RhvwoA7EuXwX3zz8Oe9SLtUkcz2B4yCH62AonkZohF1XP7SuC++XTo/MHVSuxOgd2YVIJfl8lbjVFFbYhn0k55NXRRfkgZeAXY0yMg5tSx2b0TnBveBX6uAtFoDgQmU1JB4kV99jD5ps8BnhPtoI2M0u08JVzCXjdMJpP5O7kgAUAVAPp77TfGuu7vGMaGI1Xo0RZ27MNgMBgMxppFd/cLczK6ecT2ig/qcuTiggQAVwCsZrZK/NPaiA4vmwkAt5kAoABOC1TciY6lcyCzOXos5ivxX9oKzrvPBPnPl0NECX+zXgUby+LRIR9L/1H4N3AnXIn/2lirdz50YX5IWW35BThzO8FCU8Ab3gXR8jD4WXUME1hJUabkm51Ck0DdDkCfv6R6TnqYjj95c1AVRvhrh8lkMp+ONAUgMDqlKjGdAHjYWLfxtnZz4CSDRwEyGAwGgxEe/MRh27zY5j9245VHaQc4W9Q7w0Hvd9iBBPNgBmkLEwD6vmYLQKsNAHeogzYB3aOu7sOSda8fvCOOBHHpa8H6xidA3rOLHPBR5JPobVTJ8V/MaPGPAljWx9dcAgC9AqzG/DHAigB7zxRYd0yCqF4E3ktfBP7GCrhx3P0vU8Acy+D5KLZ20URajw2k8ZxprgBgMpnLm00fmWYCAFvNRKLwSFtH3+2dIn+OlEfHw459GAwGg8FYs+g0828Q0dK3vWa5XrZIP9YLS8CZq5NP6vdPz3sCLHzMUQGcpEoANAMsU+m6N7wF5BVvAOfWK8Det1MJ/wkQSvDLBop/LfRFkAywmo75JIrHAoYvzg9NAkC3P3QGl/jeBbVGjEPnQ58D53PvAvnql4DbOwx+DH0AtCcACn3cNcOpHE6QjKMRnTwtgMlkLnM2EwC6BUBTJgqPdTiDeyJO7v2mme8LO/ZhMBgMBmPton3TJabM/RTLjWUwlmyhMVzYgQTz4HI/sZ8u0Xg6FPwiqALx6DE90kko8U/j69wekF9+H1i7lZC9C3v6cQTeJLTPjkJnbTtEpreDWR8NBL8SwbNVsBvaFd+q71hTFQBY9i/VZeccVkeMU1WEW1OcGYOIOm7Wg58H+xuXg3v+KyHuDVIlhq0+gw6eh3QBrGyBqgHwup2tgMywCSCTyVze9NLzwr85KcZNFh63o4WHOqz+aw1j49awQx8Gg8FgMNYu2no+aYqB6flyvSIZkMlgTFnYgQTzIDJT3t/5P71/AgB7OHEsXRyfE8+DjA2Af8zRIL83ApE7RiHSUCJ2dox2uaO1KsSU0HVR3GMVwNwElfxbNfU8LH+f0UKYSuHXUAUAmQDWRmjHPzI7AZ2zVfJEEPVR8NSxMckbYBLcH46CmHo7xNdH9egsPDfkAYDnqkjVALGEZujrhslkMn8HUfSLAxMAqeITio+1Rzb+hWFkTgo79GEwGAwGYw0je7Xp9M81haBPl5pcAbC66S0o819YCeAGj6MxYCxRhLjsBTdfBvHus8D9+uXg7a6CVOLVmsXdfS30UeSisMdyfyr5D0S+aFSD++YrAtYSRUBzGo8PVktMKMGPBol4zEa1J4I6hnZD8Sfbwf3ye8E+/giatBCLKcGfrtAEBpHBz2KBPBjCXjdMJpP5u6gTAAX6LVkwUvYJL1N8ot3s+ZZhJF4RduTDYDAYDMYaRmZ7xOnbR1n64Me7lQDgfuNVzQWB2X7JAB/7/HEqABrTyQHwXnICiI+/DqxvfgLs+24Ad/cO2sHG8X4O7WZXaSfbmhmn8X8k+IOdftHQffBO0wW/yWUgzg8lqSUiMELE44XHwA48ErA9wlTH0pobB3fPdWBf/xaQ55wC0fxhEPVzSvwPq2BamwDyZ5LJZC53NhMAXmZ/s1lsMWw3u//NMOJnhB35MBgMBoOxNjE4GGlr75nsFH33atOxwLyHEwArmk1DPy89X8XRNHbU95db5f2tv0tp0u5/Uv1NMg9yUxkiJ50A9pffT6715j3XgjkzokT/GO3+W/URJWJHtNP9DFYCVIk49g5L3h1yvVfPn9EGgBLHA9bWVgLADqof0AfBUZdOkChB0rHAEYGYIFDHNTKzA1x1PN0HPwvi/30CnHedCfKIreB3lakFQ+CIxrSexuCnSvudY/1Z1ZxP6uC5LQf9uPrcLnx+k2GvVyaTubrYSgAEvzX4nROl+wvQ3tn9A8NInq0ikHVhh0AMBoPBYKw5dA2cuKFTFr9oRfO/wvni7gE7wtwCsDLpBUJR4Li+RB58dYkmcoLK+9FIbrN6TgWi+Fgqr0WgCtKSqWFwMmVwkkMg+5TgPO8UiDxwsxKvk6EL6bVAuzEGHbXtILGyYt8URBqTEPm7j0IsN6jOV38wT7sE0WQR4kkl6DMVLexTwXjATGDiicmbuLqunhNV5xrbB2z1PKHOLU1ywM82mX3mKSAPe70ymczVRR0/YMvSMH3n4O9RLK1/j9o7N/7IMHpebxhbO8KOgRgMBoPBWHPYtOnEw2V881+KROmRZgLgwJ7wsAMJ5nMLvigBoAIwP473oXN8Obi/oIQgzpovQjSrqz1ksqyeO6yrAqxu8M4+GcRffBic6SmwZyZohzpscbzqWR8HtzYOPlVJjFDVgIVeAeoceL+8HvxPXQB+SQl+sRFktgKip6zNAimBg9Uc6hzH1X2JArjq/Mqs9g1wsvqco3lgIo6Jg/nkXpR25fgzzmQyl5bNBICPY00zOgGA3zeYAFgf6f15W0f/xbHYMW7YMRCDwWAwGGsO0cQRp/vJw77tpcqPcwXAKmJSl/pj4IXCXwSzmP0MPq6DMEnnu0IVASKWAxnrB/8FR4EcfzOY37kMrF+Ogje3E+Sd42uqZD8s2gG9aUwANE0U0TdhAqw9u8D80Qg4f/4hkG8/A2SfEvbeJmrTiKW0+MdzKVPzSR6Z0VUBMqXOczY4/8kCRHGKQEpPe5CZed8PJpPJXDoGLUkpFP86AYCVafgdFJGDs50y95FE4vCusGMgBoPBYDDWHGxRepuX3Px9GgeXKbR2/Of7g8MOIpjPhST+se87o3d4SQim9Tz5hArIoskylfq7MSwTV+L/uKPB+eDZEL35HSBvH4HIvkmIoLkfzq2vTXIC4BAQPQHMmSp4tSoI8lBAr4BR8g3Ac2HN7QR7VvEfPgniM+eD+9qXgezKgR/LUZWHiyMDg/MvqSVAi36RyAWjuEq0I0dBeDCiS2ZK/BlnMplLzmYFAFWYpUs6AUAVAUVwYsUHLL8wJmWuEHYMxGAwGAzGmkOb2f9JES/eTuJAiUWZnE8AuJwAWLGU2RKVf2N5eDSlhb+D/eHqejyhnqPEIvaIy8O2gvuabSDGLwDzl2Pg3rsL3Fld8h9B1qt6RN0yEMirnXaQBHCx7L9RBXNmTHFUPTYK5uwoyOlRsHFs4L4pELPXgvd3l4H95tNBnHg8uL3D4HtDkEhqY8fmKEckGge6STznJQq+vSAxJCk41xUiYa9XJpO5uthMALhBAsBtJgDSlKx81PFzX2xv7z4u7BiIwWAwGIy1h/beSdsfmnaDHUOZDH6807qHXLI4WJEUrZJvTOyg2V8ZzHQB7BSOlMuBs0kFYv0VcHacB9Z/bgfz/huU2FeCU4lMSTvQkzSX3qHxdKNBOXr4InlVs65HJeLUgAju/mMFBiYEcFTg9A51DkbBmhmh8YteDasF1OO/+UOw//JDIM49BaIbChDvVuc6nm99fjEIj2c2K+G/GQQmfdCNO6MC8K4SOCltEuinwl2rTCZz9bHZQiibmwnNtsKk9p2x3P6vGEbytLBDIAaDwWAw1h7W937B9ofmKAGQ4gTAaiHttJDZW0Wdw2GIpbaAn1C33U3gDJeg44NngvPTKji/HAEXzecaU2BPj4OlxL+vxL9bGwWntoNK0HF+PYrS0AXyKqdQ58GrV+l8UDVAQ12i+N+tjv+cur9RDUYIjoGNyYFZ9dje4Lm3j4J1ywfBffFxYDtdIGKD4JPpVj4YwYVrYDPE1SWO4pJZ3RYSU2silmSfDyaTubRsCn6sRGsmI+n+pH7MdDf9vWHEzg47BGIwGAwGY+2hrfd/Wt7QXSgGsFSPSoWVaOQEwMomtW6gORyOiovnIW5ugNjRR4H8+BvB+qsPg/nvV4A7NwEOzqafmVCisgodtMtfpR1mUd8OYmY7oAkd9f+zB8AhoDb9s4JqCxT5TWNASwl/f1pPCaBKAUwANNS52r0DsEXAmh0D8+fqfH3jExD9/CXgv/pU8Hpy4Lo9IFND4GbL6vNdbgXf2BoiYkOUHOAWACaTudRsJQAC/xmdAChTUhoT1Jbc8I+G4f9+2CEQg8FgMBhrEBv/j+0N3OOmdT+wh0ZiQQKA+oRZHKxIurj7H82Bl1XB1wnHgff+c0B+7h1g//vVYO27Fuy9kyBrI4HgHNe7ysTx4FL3ns+TKwAONvWuf5AAqC9IAjT0OUHxbzcTBOjNgH83PQKSEjYj5BnQcc8uiO3eBe6ffhCcK86j1gA5qD7bfj8ImvygA3N04naS6jaZf/JnnMlkHhyi90wzAUBeQ+lhSgCYTtf3DEO8NewIiMFgMBiMNYjsLbY3cC85/uMcccrOl6k8WLuIszh4PvQW8MDbB45a9ALzNvrboE+y9bd4P/ZsN0crNWe502ML/k283x8C2VsBcfxx4Jz/CnCm3qwE47UQuec6cPZMUl+5WR+jknMnEP8o8r1aIC4baPqniKXoOIt+Zgd7AByiBACKfbwuamPzVRfNHX91Hb0BIpigqWmTQEzUSHUp61glMA7ts1Vwa+rc7dupHp8E++8+BuI9rwHvZS8CWTmCSv/9aI6MAkW2DAInQaRLwbrSa5TMAzPaFBTXXTRZ3H/NUmuBXpP6O2LB2ubRoUwmcwGbLQDUYki/VTiytACdTvcPDEO8I+wIiMFgMBiMNYjkn1ECIKV3/tEsDAN5Kv/nYP55syXyg9tywXQF7bkQjF5MaYM2NGbzlfiKJXSvJI5pQ0d/3LGNpXIkyuicoNFboqDFW1LTVWJObFDB1Ub1N2eeBPafvh/Me28C597rldgfU6J/B/X2405yhxKSchmIXuZBTCio823tHQX7VzeC/O9JcD/0OvC2Hglej1ofG4bVGioE0wKKQQKgTMG5o9aUo9ac7MJ1mYdEHBNP5fk1my5AIqV9JgTu7tGoybJ2+ubvDCaTmW62GgXCH8eO4m9ZsKGA3xWdoucHhuFyAoDBYDAYjEOPZgKgqHePk+VW/79AY8BkIfRAYiXzwF1+NxD8zR1VTABoYaUFlqcElZvoBz+bA9GVh0g6B5GkEvvZLUrgHwYiUaQkAQp/NHWzMsPgxkuQsPsg3psD+72vAnH7OETr14M3swusmSkw56oQmUUnf13ybzbGoQMN5Kj/P3yhyjxYCYAqWPVJde4nwbpjFERjJzi/mAD7S+8F8YIjINbZRaMDXUr+lSGWLAe7dPMJK/xOiCXU2sSEVKqi1mAFLBL7ZbC7dLIgGi9AOlaEeCqoHkhzAoDJXOtsJgDoMqPNAEVQ5SYUO0XPjw3DfU/YERCDwWAwGGsQqScnADLBDHH84eYEwNIQS6nTQYl+MwHQqgAokejCEv+YEk9WNk+7q/FEUZv4KbEVxbLJtN5BkXgdndu9ARBuD3gv2wbu2NvA/sZlYH7/CvBqWBZeJQd5S10Xs0oMTu8AQe7xVRofZzbd5Lm0f9XSmpkApz4J/nRVcRScOe0xYP7XZ8D6zqdA/OlHQL7tNeDlt4Br9YGI5iCm1mIc1xuW+CcKNDmiOcMb1yElqoJ1KbsrILNlWtP4PDdboed4h/qzxWQylx33a2/LBNVsKf0biLFFRGz4qWH4l4QdATEYDAaDscawtcNYl/0LOzp4X2tOb1ABQCW/GOxzOe+SBEGt44hiKXBex2MsUtpokbwWyLW/CE7gv4A7stGk9mSgxzBB4Ocgiu7txc0gL3wFiLE3gXPLJeD86DPg7EVzvynqB8eSf+wPx11/NPsT0yNaFNa1ozy6/Tcd5sMWqsyDw+b5FZgQqo0Gfg44MUCde7VWRG0KnG9/ApwvvAOcD78OxKnbIBbLQ1zmwY+XgtaAHDgZNAtsGnkVaB1Gqfy/SOX/tLZbvb2VYLIAk8lkanpB6xtNGQo8RSJi088MI/phFYi0hx0JMRgMBoOxZpBIHC/Xdfb8tRkbesClQL60fwKADQCfN/fr88f7WgkVLfod3P0nJ/ZKKwGAu/uSyia1+PewBzs6CNGNFYgdfSz4r3kJyA+eBfbXPgzy7l1g3TVFhn2ypjg7qa5PaOf4WW3uJ5X4RyFoNqqUAEBzORwh5zTCF6nMg8kxsBqjEGmM6skONX2JrR9oKOio286+KbDuuxasn10D4oaLQb7uNPBe9CJwi0eCzKp1G+sHkc6TKahUl15aV6n4yTyNEsSEgJ8OvjtSQYUAJwCYTGaT1Aqgvj+opbCkDW7TlAD4uWGkLuvq2mqHHQsxGAwGg7FmUCyekO0Qfd+04kMPacO/UmsEoC5RL3EFwPNk0wSJEgCZ8n4VAXifkyzo0si0bgFIYM81lvlH81Qu6XdVINqj/p2BIohXbAP7y+8Ba3oSzF9/DjqVkPOmtQO8oy7t3Xpn31LXO5TwR7d4rARAsz9TPTdCgr9K7QEoAO1AGIYvVJkHg82RgbjjLxuB3wNWA+DYQHU9gmMga2NUIYBrwbx3Ajoe/Sw4//xJkO87E+Thh4PcoL4DeoYhlmyaeWmDSiz5j6rLGAb0aF6Z1j2+XP7PZDL3Y1K3EpLfTZAAoBYAu/eOtrbuT/f2bvPDjoUYDAaDwVgz2LTpxD4RK35XidCHRVOkthIAB5SuM58TcZwajVTD25nyfgkBMkMKqgNkYJIkafyaep7oB2ltBLn1KBCfuQjsO6ZAYIn/3ARYjXGiwOtY1o393Tiyb3YCOufGyfAvWp8Av6ZH+UXqY9CJLQFzkyBmFaeV6L9zBycA1gAFJXuqtPuPa8ZpVMGtB/dhJcj0OE2FkPWgJWSuStMD7D3qsTvGwPvax8A+6yUqgB8EYfaC8PNU6i96DlOiX12myuBk9NQAQRUBOUpkhf25YzKZy4TB6FD6DUyW5xMATv90W/vG7V1dWxNhx0IMBoPBYKwVrMvnTznST1d+LFOlx/QIrxInAJaYBwr+5tg1HPWHj3tJ7KdW9yXUsZaDEHN7wd08DOZHzwXrf78f7O9eAfZPrqGZ79Y+PQueZsTj7n5Dl/iLQOyZ9VF6njOtBByZ/I0TUfTh/Hg0/8PqANr1xT7wmRFOAKxi2oHJIwp8TBBZah2IWhXc3eN6LZAp5BhVBKBHALWI1LRxoDM3pVsFfrEdnFuvAPPrHwWn+jbwXnOKWrf9ICJZkImc9rMIxnw52SIksEWAvzOYTOYCthIAgZ+NRyaAAzNtHRuriQ2Hd4UdDDEYDAaDsVbQdthhL3u5l678XKbLT+AMeSr7T5bnZ9VzAmAJAp/SfiX/2AupZ66j4WIepN8PnqJ75NHgXvhqcK+5EOSX3wnWv1ymxJgS53ftVGJ9Qpu3oXlfQBJ3s1rkUQIAKwCaj9VHSNyZ+DdK5IvGKCUK0AQOd4LJA0CJO2uGKwBWM5sJACfwfUDR79S0VwSOgqS1ROtHr5tOer6uDKC/oX9nDKy5CXD2qXX4k8+A+KsPgLz2LSA+9FqQp54Ifm8ZolKt39gQCDQJTGtPgLA/d0wmc/mQTADpd1AnAHCiTUQO7Gnr2HC9l6oMhB0MMRgMBoOxVtB25JGnvzOaGa6hcReN7yITwBInABYV0ARl/TTTOCh5TmnndCzn91u9/vp5bvPvcMc/Ogh+Von/LUeA+L2XgLjoFSBH3gTim58AZ+5acB64nnZmaXe/jn384zS+z67NO7tTf3cjuN409pvR7v8WlfYHz6mj+/+Iun+0lTxoCkQeA7j6ac/oKhD7gPNt4+4+9f/rBBI+HsE1gkklWiuj+t9Q68WcHqUWAYmP3TUB1j3Xgbh9HOTn3wHuB84B97WDtoSAAAAgAElEQVQvBffE48HtzoOID4CL4wNT/5+9L4GTrKrOf8x0d9Vb7nuv9qqerXu6u/aeAYZhhwBhUwEJEUERXEBB4kLAhU0BQWC6q9dZwDViYoyaTfPP35j4D9EYNUajIioqCNPVXdWzsBuNuJz/PefeV93TDDjIzLyeqfP9ft+v1p6peu/eV/c795zv7DpXVKaANhZlk0Am86DnfL+bIADg6usArjeibv+jS7tWfsyOFdaEvRhiMBgMBqNNcFLHuvVnbUl3r9nhp+d+nANhO3/nOuyFxGIkdU3IlMi130wXIIbPp8rU1s/OFZXzcUq5Hjvo9p8rQTwh37eqCvHiGvDPOB7sGy4E8c1bwXpyM9iPb6JdeRJntIuvGLaAZDIDknnktDIPxCCB2LkR7Kc+ANZDctx+7K3gnXUCuOvWgtczqAWAHO853U6QzAKxvGiQ7lPAcRHMYyaTuW+4awBg/tqiSreW3/9El937KVP0HxP2aojBYDAYjLbASSed1HHk0Wd/Lr1szRP+vBT1heKfAwC7p4tt0FJq558CAXiL/Y3xOWx31F1u1TxiOz9Kj16aAfGyE8H522uloNoC5vbN4Dw0AtHGRrCaE622fBwAYC5Wms1R6No+ApFH7pD3R4jkJyDHsL3zI+B/9Q6Ive5scJcPgOOvBB9bCVL7r5JqcynnhJBzx8pVyPAy7HnMZDL3DeevH7zd0PIHnu6yej4bdVadHPZ6iMFgMBiMtsC6des616474+up3ODPdhcAQHHL4v+5iWUSKOqpe0JWLXaEdvyPJeX9ZFG3VcTHeXAPPRQin34XOF97H9gP1pTgR1f+R1BEjZNB2+5E//xgAAcEmKGyrktSyHtimLwmbCoxqVFgwJydBPGwHKPf2QD2X15DpS1OVxIEdgaQgt/L4RwZUPMBMwGwHGARzGUmk7lv2VpXBN2G5H07NvDziN37haWRlWeFvR5iMBgMBqM9sG5dZ2nNyfcnctWf+9qht9WrXt9XAQBepD/fgoYCJ7nq3G4HCX48flXd/m8A3NNPAOcT10BkZhLM7RNk3oeCCluxuVNYg61SqjkAwFzsxBIAHLP0eJ4hpYmeFRggQFPBnZvB+ekYiH+6Dvx3vwr8HiyHyUvxj0GxAYilC1QOQI7gi2AuM5nMfcDA92NBCUAQABDJwv9GRe+9xtJlrwx7OcRgMBgMRptgXWdf6YQfJHKVX/iZuQwAFQCYM7DjRfruiQuZmDw+CTRNzFbI5C+WKkKcUp1R/A+CF18N4tSjwf6zPwHriQ9DdEbv8lP7Ne3gTy3YhmgnlQMAzMVMylKRY1hMYSAAu0hoyuexqwCOT4FtB6lFpfybxjh4D24E/5KzwOkfBJHIyzmjOgWQ3wibATKZBy+DtsKpue438wMAbrL4S9Pt+4qxNHdx2KshBoPBYDDaBOs6V/Yfc3+iu/oLX/8oC0z7z5R3CQB4HADYLYMMiUQKj1tZ1zMXIYZdAHJVcJIYCFgFYstlUvzfBfZWKaCmcPd0lJzXsQVfdGYYIuTQrxz8UWSx2GcuVkaotSQK/HFw6+MQnR4jWkgp+DubqquAqNfk42Ho2ibHeHMc7P+4A8Q5p4Hn97eyZrBzhsslRkzmQc4q+X+QD8i8AIAqMyw9Y3n9XzeMzKVhr4YYDAaDwWgTrOtc1rv+vnhu8OfBj/IuAYBMqdUWMPxFxCJkSnUAiONiJreW3M39VJ6Iu5t2fADsN5wF5r/eANbOjVI0SfGPddLNGqVKY9s+7K+OLdacxqTkOIksDgAwFyujDQxYbQBragPEZrArgApc4a2HrSrrQ1Lw16iFJZLGeqMGXb+8B7zrLgJ/VQVEogSp9CB1ycDMo9DnMZPJ3Ies0jpiYQCAmCz9ynL7/8swcleEvRpiMBgMBqNNsK4zteywb8Yylf9BMy43HUTm5Q9zRqXr+RwAeE56WdXejLoB5NbK+5j2XwCRy4OTlM91LAf7o28F8RMpkKYnaLffnHq/FFEbyAPAmZkAUZ8Euz4OXVRDrUQWBwCYi5fDctwG5SpDVPdPngC06y/H8OwIGQOadclgHGMwYNskiL97B7ivPB3c+AD4qSqVy/icAcBkHrwMSgBaAYCi+t3ULYdFqvwry1v9bcNIXhX2aojBYDAYjHZBZzwz+FX54/wzj3pyV8FH07psCUS6oAMAFQ4APAddHShx5bFy02vkImdQ3qK7+QB4yQLEO5aB84/XgbNto66XHoWoFE1iWokpTJt26mPgzUxQOQD6AajnOQDAXKwcoS4AaPwXnRe0wmwWa0a1CFSmgGhoOUrBLbsxIZ8bAue+28B5xx+DsJeDn6y0Mo3CnsdMJnPfUGUQVlQAIBMEAIJuQxUsAfi15a2+zzCS7wx7McRgMBgMRrug00uWv+SlS08rM65KywAwMOzx2ajrORkEADx5rESqSgEAvO+l8+AlihA3V4HzrzeC9ehGLebHSBR50+Mq/b+Orukj4DXGVUs1KZrCF3hM5nPTCu7j+J33mMS/vsUxbjV0GcD0BIgZHQCo10Dc/Cpwu7rBT1ZBoBDgAACTedAyKCFUXkJzmYWKmHVY+rXl991vGIlrw14MMRgMBoPRLuh0/OK/yB/mp1ot7BbBouFAoZfVXgmpIlhyYSPILFGXUCTkrbMarC/fCNEnNqrdUHRIx3r/QCjV0QwQBdQYRBrDlAUQtsBjMp+P1sy8IMBuSGObMgA2gIljujFOpoAUAGuOgve+iyDWuUrOlbUgMnnqBhD2PGYymfueC9cY9DhV+o3t9f/AMBI3hr0YYjAYDAajXdApYsXPyx/hJ8NeHBywTJeoltnuxrrGCniJglzYFFRwILIKur50I5hP3i2F0UaqiTYbUhjV74Qo1klj+jQ6pFOa9Hjo4o7JfLF0GmNyLI+R6Hem5H30vqhvICNAanl586vBl/PCXb6OnMGxPVjoc5jJZIZCFQDoe8Aw4u8NezHEYDAYDEa7oMP28/8gf4SfaP0gp0vPitQzn2cBE5gApovKLwGNjTAbIFmAxCHLQHzuWjCbE5Tu706jW3oNottGyE3dnK7RbqozNQ6epKiPhS7gmMwXxMYotf9TmQHY2lIRW1tiSYBoTIDTrEGXvB/5xq0g/uQVELdWg4ueI9hxhK8zTGbbUs7/39je6h8ZRvyWsBdDDAaDwWC0Czosd+Czbqr4xHzh7+qFOQcDfgdTqv7fyap2Zq06R2ynmCyAb68G887Xg/WdW8FpKJd07J/uUN/0EWX811SlAO5UUA7AZC5eLjSntBYEAIj0+rDyAJjBDgEbwNy2GawPvw3cU0+BWBzT/oOWYHxtYTIPVu427X/ecxgAML3VPzYM/31hL4YYDAaDwWgXdFhu/9+7ybkAAIr/gBwAeH7GMH0ZxX5G36ZKLcNEfM6NF0CcfAyIv74KnJ0bwdqKgghT/pUZoBJMNS2aauz6z1z0nN+hQtX6B1T1/8RpzHbBsYydAmog6kNgNzaB8/bzwe0Z1C3B5NzIqE4AYc9jJpO5b/i7AgByncEBAAaDwWAw9jM6LG/gb91k6XHOAHjhjCFx1z+JXQAKFACgrgnZMjjoCZAoQcpcDt41rwDze0NgNjdCpxT6ZrBjil0ApqRAQqHUGGITQOYBw4WBAHwOxT+VuSAxm0XSRD+AnZvA+sd3gnvqseC5qylDxsZrTAqDAZXQ5zGTydw33MMMgB8Zhs8lAAwGg8Fg7Cd0WF7hr71U+fHn+oFmPh+DRUwFzO4SuFlsayTFf6oAdiYP9rJBSGCqc6987h0Xgf/YxyEyNQzuzBA4GAiYwdZpE+BtRVE1xG0AmYueC0sAdmEQEKjXqJwFPS1EfSOIHX8G7jop9GM9FCBD8z87jQG0KlDr0dDnMZPJDINzHgD+zWEvhhgMBoPBaBdwAOBFEI3/VMr/GrCz2AZQCpuMSv+PYSeARBGsHJYIyONaPBzcN/8ReE98FOzHNkG0OQJd0zXonMEdUzT/U6nUYQs8JvP5uHDH3wmen1ElLdEGchQij24Gc3YLOF+8Gewj1kF8peqSYUk6uQrEc2vk3MmTh0bY85jJZIZDN0UZAD80DP89YS+GGAwGg8FoF3Q4fuEzGABg0f/CqY6ZvJ8eVN0AMhUQ1AmgBIlUXrJM4h+zAvB1ryhFz0VngPXRN4P9oyEwn9wEkZ1jIKZqYE9zBwDm4ieJ/3kBgNauv7xvzo6BuXMS7Mc3gf35a0Fc+0pwzzgOnHiBymU8nB9yHohsCRwOADCZbcXdlQO4qeKvbb/v+4aRuC7sxRCDwWAwGO2CDtcvfVoFAMotQy5Pu3OTQzc524e/eFicDJz/K/q4VdT9lMoAiFN6cwXcjDq2MWwXaC8H59TjQFx3ATgf/xOw7r0ezIelgNp5F9jbNyqRhTupKLLqc2LL1mILW6xR67Wg5VpjnjCbUXTofk0/Dl80MkPktDLlo7E0g/cV8XksQbFmMPCkgk8mjbuaFPZoUinFPBpV6np+R5tWmhQAmPv3zYZ8bscE2M1JcL57B9iffDs445eC++ozwS9UwRMrwc0O0nWEqK8rdla+limCz10Ans20MhUlwUSBxRKVTahrtDJORB8FNyhBShbpmqNakMq/T6ljTcFHbVAa+nditiW9ecSMOcqaC56jciAKAHzPMBLvCnsxxGAwGAxGu6Ajliz/lfwhfkwtLCtK+GdxcVnUAQDs1x3+QuJAppvVAQDsFCDvu7EBEI4URuVBcC89B8y/egfYX7oFnG+/H5wHh8GanYDItvHd77bifQoA1CAiGW1qMaaDBQ4FAKT4b8wFABaatTHbhyT4cWzUa9SuD0363LoaS13YmrIxrrNPVFvKSH0YxIwU9NPjENUBAA/bV9ZHtWcFtv2T7982AVZTvuf+W8H6z5tB/MN14N1xGYgTjgUn3ivHeH/o8+6ApRRG8ZQS+ZgtQR1FkkUKLnoYOFHCST5fJMNRN1EAP1miEgvsrCCv6RQQwPak+PcxzrJghsTnCgC4aRUsd1OlX1t+/3cMI3l12IshBoPBYDDaBR2JzOBf+BgASFdaqeo+CtZssGtUoSBA2AuJA5kuLsRzJfByZfIFwEW86JYL+VQBEnYPxKPd4C0fAHHZy0B89lop2LaAtWMLmLMTUqSN0q4rOqujo7o7PQHe1CgJui4KAEjBhsaCW2ta2I1KEYcBgEkIdnY5ANC+pNR8OW66ZuW4aEoxL8eEg2NnegNEGkOQbGCA4E6wpjbI8aPGkDeN5n04Xoal4N8g/40hyjrBLhaUMYBZJ80JEA/K9w6/HryTjgLPXQV+tEcJz3SBFvphz7sDlvI6nEoMUjmRkym3dvr9bIV2++NJed3A8onMAHmP4HVFZQngayWIZyvkR6KyuNCbpBD+d2K2Jb1dqDYXVABAPk5hAKD8K8vv/5ZhpN4S9mKIwWAwGIx2QUciu/Yj8od6J6WUamIAADMAWiZ3HAB4UcSdOAcX6nKBnogX1Q5dZhDQPDCWqsrHGCCQi/aVkquKYA9Wwb70pRD591uha+cHwXz6QyCa42BOSyE2XVPu6jPjIKSw86dqUrDVVPp2IPhQ/DWCkgAOALQzsUSEWvFJYR/Bxyjs6zhWatDRHIZofQNEZ6XQb85lmkSmdWZJU5cGYOnJ9gmwf/EBsB/YAM6mS8E97WiIrciD31MFZ1kZLGyDmchT2QvtVHPZ0ItiPIe3mNqfhwQKfin8rbTa6fcxCwCDiKkyRLOqBWlMvidG7VuLdK3B92N5hUuBXC4BYIbD5wwAJHUAIFn+leX1fcMw0m8KezHEYDAYDEa7YGkmu3ZSLhC3e7sEACoqAJAqqtpTLgF4UXR1PW9c3k9kKO2RdvaEXhhhwIXSdTGNN4a7p3IxXzwMxB8cB84rTwPn1ovBuve90PH03RB9fKMUbDVK18ZU7EhjnAQeBgAsTPtvYp22fH2qRunb8wMAYYtRZgjEshCs48d0/vooRDHdf3oc3DpyjMS9NRMQ/wbH0jiNH3OHvH1iM1hT8m8+eiW4l58N3hkngXv4USBWSREaz0MsrlLP7VyFxjCKUBStPmcA/N7Ea4Ujj19cC3qBx5Lul8hPROAOv6SDXRXw+pKrQiytUqyjOXnN7laZAiKl/tblAAAzJM6l/6u1RetxUnsAJIvPmG7fVw0j+9qwF0MMBoPBYLQLlmZya++QP9Sz/rwfarrF3SPMAKAAAGcAvKhFUNAtQC7aY7RwL5JYot25lFroY62ujQ7ptHNagbhc3MecPrmQ7wd3/Xpw3vhyiIxfCtanrwbze7cpx/Udk9RGMEpGgFj/X6OdfzIGxDKB6d2LQs4IaB+iAaDTMpNEcT9GNf8YAPDq48rUD0tH6ipwRLv+j20BG70o/uVacD50Bbg3XwzO2aeCv6IKvsiD55dIgKK3RUyPVxEEsdLz/EMWwdw7EKnd0SGeVAajTkal9LuBKWC2TMcbSwRiKeULQOdA/q2ZVQEB5RMQnA8+F8xw+LsCACJZ+N+ot/pLhpG5MOzFEIPBYDAY7YKlmcyh1/np0kxM/2DPLwWg3WkuAXjxiyBcjGfUoh2PKabsejn1WixRhGRCZV3Y3apUIJ5SGQOxtDZmxHResRpcewX4J54IYugycD5/HTjfuAWcBzeAvW0MxOz43C7v7AS4WOs9s/vdfw4AtBkxhR9NADFo1MDzXiMTSbyPrv/kFdEcp9IA+/u3g/PvN4P4+FXgvv5s8Prl3I+sBCcpx2NykFpeulntF4K7/WREF9SaF3UmQJXGe9jz7oAlzf2gwwh2S1DHHE3/YvEBec3IU3AWxX0KzQH9AQoY0LUihQHGMsSxNWm6wueBuSi4MACgNhXkb14i//OI0/vPxtLul4e9GGIwGAwGo12wJJ1e82Y/WagHP9SUNoqp/wv69Ya9gDiQiVkUrj6utPtBpRXaCTlThXhmLcRRXOn2XbgwsjI6SwDFQAoX9FUSX4n0GrCsHnBy/RA/92RI/MtNYG/bpDwBpsfAao5BJ5m31VRad6tPu+L8AADtEIctTpn7lNZ8zo4oQ79pZeyHJoD2rH4vtqD8wTBERy4Fp7cEicgqiLl5KlWh+v5cSfuCSPGZzVMAK5Eqkwi1sgUp/LHtZVGOTylAU8rkK+x5d6BStUnsl5THPVWi60I8V4EEngN3uTy2veD3yvfl14DTXwAnvkJeG/ohhoGYZJGCNVhOZGdUVwCfzwUzJHoLmZ7fOrcCtt//VIe58nNGx8rTwl4MMRgMBoPRLljSnVn3ai9RfMTTdeocANgHi6C0Op6UMp3FhU8VRHZQsgpuqgLxuFzgJysQS6+V712j3L+zJX3cVQqvoJaMOuVaBw687kGIrVwL9uGHgXXHa8C6/3awfv4BsLaPUyYAib6G6u9uLggAqJaBHAA42GnpVn5mE8sBhskjglpF4q7/Y3eB9/Sfgf137wDzNWeANTAI7go5XruxBKVM3h+2HINmVtf15/JUtoKlKpZ8jKUr6Djvp3EcV+k2JoVqMi1fYw+A3/96IWl1Y4mFyrjALACRyYNtJ8GrXQb2V28D86FxcB7eCM5PN4H47xFw//R8cPNlcLEbA14v5LUlhsywISMzPHoLMgqDdQZmAOC4NL2+x5dGV3yqI7ry+LAXQwwGg8FgtAuWZJPrXiZF5UN+Kz2vwgGAvU4l4p2MOsa0KM+USdQL7A6QLUjBn5/rkZxF4VUkERbTvcCdnAokYKp1cK5oUeXn6TX30PXgnnkiOFedC87n3gH2k3eD8+gmqukOggBBACAgBwDag6ozhBT9U8Ng7pwE+9G7QHx7A9hDrwfvvFPBP/5Y8PvWgJ/I0w4yufiT8acep3LckcM81ZKrhbutd/LcjC4HCDJXclpwsuj8/YnXW0zxp2tFVZ6XAtjVtWD9zfVgf3cDmGjeuGMCHHkunUcn5PmV97+5AcTQG0EcfwwkYgNg03VCBQwFewAwQ2KwqbBLBkBqLgAQdft2Loku/3in1bcu7MUQg8FgMBjtgkPS6cOOceOl77up0m+8rErLU+npynBKeQDwAvJFL4T0Lr4XPJdWddMu9fHGdH/l/u9RTbVKrY7pY491vBgUCAIA6lZnBuACK4ciQZ4jvx+83gqI804D+6aLwfmLt4G47w5wHruLTAPtek2VCUyj+3sgEFVgINpQnQXsoDQAX58OdpDHqP+7tQjE7EFPOu5ju5RtzC/lUIJ+RHd4GAcbDR/rw/K8Ikf0ORujVpE2nbMaWNgZYudGMLdtBuufbwB39DLw3vRyEMccDb7XC7FYPwn8WGuRXt618wcJ0tIuwt7NqGAhjU39Oj7vZHVpCwcAnudaMMddngt2R4l5ZfLnFyB22BFgvf8SsB77sDy/E+ThYM8MgyvPrYPzFscCntv7hsCavBzi8nw68u+DFq5sAsgMi4GhpQpsl1rdhegaI68fEbdv25LOlR/scgZKYS+GGAwGg8FoFxySSxxesrzCN+1k6ZcoMulHG/vz6vZRvJu3OBl0alBZBEqQ0Y5fQi6u3H4Q6BNwynHg3vY6cP/xBjC/dStYsxPgSaKIjKKgbIy2BGa0ocoEyDVekgwFsXSABOm4vD/OAYD9QCrbkALeqY+CoIyNYSX48DzUgwyOwNdhTLn214fBk49dHbCJSLpTytjP3DYG5oMbwLz3RjA/9Q4Qrz8b/AHsMLFKZfakinOZJYtgXLcDW2I/MxcIaKVJ68CrSA/Iub0GfMzIuOQlYD2s2jTiuLDp3NeolAPnsCPnJ3Z6MLdPQvT7QyDOPAW85co7hAK6HMBlhsRWQCtTpmC3yKjWwm5adRLpEn0NY+nKyWisvDLsxRCDwWAwGG2DTObIXtMt/LuVLPxctHb5qrQI9TgAsKgZiAZHt/pS5QVl6iKAgQAX3cHNVSCk4Ou68dUQfUAKw0eksJSC0W5gyzclOkV9Qgr+SXAa46osYGoInCYGBYYhKgWo0xjbxUSQue8YlYxIUR+Xoi6BQYCpYbDqUuzpXX28pV1+KQCjM0NgUtAAz90mKQYnoWtmDDpwxx/d/rfK139cA+tT7wRx6tHgecvlmOjRgnAQYmnlQYGp5uwWv38Z1Ebvrk0avh5LDKh2f+vWg33nJRB5aovycWhi1scYBew6m6oFqDuFQbsaZe04D45C51duB698GJUCYPmRw34MzJBJ5ULaC4e6U8jH+LvV5ayuGx0rN4jufDLstRCDwWAwGG2D3t6jMlEn/y9movA0LhRpV7AVAChzAGARc77BUpAJ4GXnvz4IieQa6iBgrZQLsJ482O98JTjfvAPspz9IgsKVIt+ZGVd1xfURKTJHITY1QuUAZrNGgQKLdqGHuW3gfiDV68vjHMUgzbzjjbv9UTxHM8rTgbwbplUbPzp/DVU2IPD1x7eA9eSHwbn7TeCccQyIlXnwlmPbuAL5UIgMCv9BMu4z06qfPKfshzN3n6tPeiIrzwm2/bzyPBBfv5UCcULOS9Ecb7X3jErB703JOUzBuWGVFbBtEqI//wjYRx8JbqKPSovsLGcAMMOlm56f5aKyUtDnptPufcRYsuy2WGydF/ZaiMFgMBiMtsHq1eu8pZHez0Vj+SdEZi4DAHeU3aBdD7XsCX8RwXxuqpIARaF3/aiFGNYRS4pkATwvD27pCHBPOwnE9a8C69/eC+aTm8HeLgWkFPjUE745RiKSROj0XPcAdxGI47agFHVYfuFKQU9Cjzo4jCqBj+J+WgUJ8H2UFdDEjIEhiM4Ogf3oJIgH5XObLgfv/NPBO2I9uMvlPI71g4/nH4N76BeR0SZ/ul1fTPedD3sMtyN3VwZAIilVhbi3AvzaG8DZvknOxSGIzOgyAF2igx4P7pR8jD4QVBai/B7spzaCd/UF4A0eIf+dAvjsAcAMi0HXmvScX4ibLFMZAAYju5yehwwje1Mms8YOey3EYDAYDEbboFwudxmHLPuM6fc/5rZ+sBcGABbBQoK5C3drIpaZ5wugz58qDShKgYfmgnIRFpf3/Tz4lcPBee3LwLn9EnC+fCPYUkhY2ydJVNh6N9mcVoJDPR7VxnPMfRsAUC0aKQiD3gy6hWPQsYFM/dCscUa3cpSiL/rEJFj33wbOJ98G4ppXgnfi8RCLD8hzXaD0ftpRTswZ9ZGhXwqNJ4vUhSKWLtD4CHtMH+ycb/K3y5ydJ/xbTMq5evR6EH91FdhPbIFIowad28a0D8CISvdvjFMgCMsByM8Dx8L0nWDtGAHvC+8F/4xTwPf6IcYBAGZIVIaiKgDQGutJnQGTLUPE6fmRYaSuM3AdwmAwGAwGY38i80nL69/pzfMAIMfe7JxhVdgLCeaChVVmgaAISjXS8wID2arOCChAPJMHL1eQjwsquIOtHnFnGEXgW88D+xNSaPynFJF1KSZnxyHaVLuKgkTmGHRO1yggELpAPshpacFvyuMdQQbmjPVhcKnOu6Z2emdH6TxZP7wDnC9cD2LDG0CcfgLV+Mek8EcDOCdbARvb8mUqkEyqsSFSBRL/uCts47nPoQFggdrOhT2mD3bu4vKfebbwn5vL8rE7ANa7Xg3W126h84xZINFZVf9P42Q66AQh56YcI9HmmDbt3EBZAGLHFnBffza48X7wuASAGRKDjiJBAICoWwBiQDrirPyBYfjXyEXIkrBXQQwGg8FgtBnSfzkXAFAeAG5OioWcbvfFAYBFxV16Krd2dcvz2rUFz6m0S0cKABQB2FrMz+bBzA5AlNqEyYVY9+FSNPaB2VuA6JV/BPa3hiHy8Ah0YtvARg28KVV7HGlwG8D9EwAYpd1cWxsvoplfBA3/pofI6d+vq0wMc1qKwR+OgPOZa0FUBsGPrQYvnqdxkUwqd38hRT0abQlabFf1YrwEsUwF4vJxPCnfi2MAM0Oy4YzlduRuU/7nX2MxONfVDfbfXw/RxiSJfQ8NIKdUNwja+ccMEfnYmx6DLjleMECAZp1uU5UF2E9vBuvWizLbyDQAACAASURBVMCuHkreD2F/Z2Z7MviNotagrQ0FHQCQz0fsFfcbhntV2CsgBoPBYDDaEOlPWF7/jmcFALI6hZwDAIuK8wMAu1tsBcSFP71PCjwzKcUgegLI+5QSjDu+OSVC0AjOzWJteB6cgTyI6y8A68FJsB//IJnOdWK6ud55ZO7jAACWXqDrPwYA6jWV5o8eDFT3PQbR5kaIPvERKfyvA+/EY0HEe8Dt1mIyFWTtyNtciRbcGMSz8XV8PiGfw0yATFWOAXm+6XFR1eZyAGC/z9/5AYBd5jCW7JTlfP3yTWBvm1Rt/2bHqTOHWR+Wc3IcbGzn2cCxMaZ9I6Twr4+BQFNA9AVAA897bwD3DedA3Fkd+ndmtifnfotUWdpcAEA+ThWhy17+XcNw3xL2CojBYDAYjDZE+i8sr2/H/BIAkUWTniIFANhEanHRW8DgOVcvtAI3ceyzjLdxudBKUKtAnX6ZGiSTMUwF97J53e5RnuNEAfzkAIhCFdyTjwGx8QqwfjIGkcc3S1Gxqys9cx8FAGZ0BsAjw5T6j8+Junb3/9mHIfqlm8C98myIHXYYeCuq4CT65Xkttjp2uJhui+Ied/Vx/lJnj2IrxZ8yQjLKgAsDQF6yIN9ToDEQ9rg+2Llw3j5L/GPWRjwPdq+8/o6+HsT3bwerqQw5bRwDDTkH61gCgsG4cSrPobEyXdPeEejVgeU7qosHBg3EHa+DmM0BAGY4DAIAThAAIP8RlYnkqgyAbxmGd0XYKyAGg8FgMNoQ6T833d7tbtACMK2d5MkHgIXBYuWzBEVmXi1xRu384y0avMWD3ZfUPFMmfF+2qGqO9WItJgWhSOZBpKSwPPZocN9+PtifuhrMJz8sRQe2nEMDOhQlUnjUlWO9MqfTLeqoNnnkeVsG7sl7DkriMdMmf2Tm1xhutW/D9ov4utlUbf5sDLjgsca2b7ObwfmB/Jv3XwzOBWeAP1CFWKxPpdbSeZ0rA6HU2kxl3uK72CoNCcZMYBJJKbkpFSDgAMD+ma+qJCcorZpXxhPslCYGQBQHwfnO+2kcoBcHeUDQXFFCnwIA2AFiWpkBoieETeUiY9ClvQAokPSoHDd/+Xbwjl4PfqJC/0cspYJB9Fly1VaAiNu9MvcFKRuJrjcVbSpc0tco9VsVtVd+wzC8y8JeATEYDAaD0YbI/lnU7Z1VAYBBtRDlAED7ENsEYrp4VglGN1cBR9L1+sFfLh+fdyrYf38DOPffTkLWRJNAFCJ1lZaOfeitxjgFAOw9FPftFgAIuii41L5PCjYp/s0m7vIPy+eHwaur95mNUSXqMECwXYq5hzCV+2Zwa5eD0y8XzvF+iCXQuX8RjBvmCyJlaOjgKoqimDbsRENO2hHFjI3eCngvPRHs7Rsh+ujknBmnHkfUlrMRBJRUd4goBeZU5khEvh89O9C4025OgvMfN4H7zvPBEwWIJYuUDaQCfhXKEMJ2oZRBotu1hX2MmAcXUejj74qbqbaCzq3nU9gGcOVXDcN/XdgrIAaDwWAw2hDL7jL9vhlPBwDwB9rhAEAbsUK7MU6moIwfs0GdJrIAnt8D6WgWvC1vg8h3N0AEhXuzRrXqJgqNxrhqQ4ZCpTH2LHHfbmJ/d8SASZdkvDFB9fx2Q+32R1Hso2CTx81sKvd/sVU+v20cOrHF299dA+55J0M80q0EY3cV4hks6+B5ecBRnr94okJZNpiVE6NMjSpl3LiU/j8A4g+OB+8Db6Ea/+is2s3H3X9XzyNzei4AQI+l4I9QNokyAXRmVMDApoATzs1N4H7uBrCtlZCIDUBcG0IKDPrJ/9NGr4icugZwAIC5txkEAER6rhWgp7OW0JMmYq+61zBiF4a9AmIwGAwGow2xbMT0+x9RGQBqERjUCbucGtwWVK3C0D0eywBUIMjNrpFjoAoOuYjnwfN6QJx7Cjifeze4v/gI+FNoSqaEvaWd6u3pYdWmbjcBgHYOAmBKNjq1d83o1n66vaLf2Ah2fVy1/JvZAGZjSIr/SYg+8+cQe/O54BYrcqHcB15KisZshXaPLWzhx8acBx5xlz1ZleJfGXQ6UoDHsoPgLFdlG64l59eFLwFn+wekoB+jYJBTH6GsEVeX17QCAI25gAB2AqDxhaK/rtpGYgAJx5u1YxPYX78VnGPWgVhZotaQbkp+hpQW+1kMSsjPoc0hQz9GzIOKcwGAoDxpYQCg5/8aRvKcsFdADAaDwWC0IVbcaHr5B9xWGqguAcio2vCwFxHMfUwS/Oo+1ghjH3n0ChAYAMitAZc6B8jXEwPgShEhjj8anHdfAPZTHwHRHAcP3epnhiHSVLXIlq5z310AoN0DAVFy9FceChFdwy2m1WtOQ5m7Rb9yMzinHQnxgbXquEtxhrv+yVRBEh3+B0HkWKwdaCT/BXnuVFtOJYjsRJ6yrKjsanAdOLdeAvYTd6k6fjmvhN79FzOjzw4AzGCLyGEKDtjakwM7AbjYthODALqdpPfDIYh/7E/BXTEATqIg5/WgCjjkdCZJokQBAC4rYe5tLgwABM9RACBR+lWXs/qThpE8KewVEIPBYDAYbYieN9mx4n8r8zDcISromvByyxwu7IUEc99R6NrklhlZJmhPVqZaYRIL8rl4pgAumgTi89UjwHnbeSD+6zZdfzxCO//ePKO7Z+2Ct3sAAI+RFGcCe7rXR2mH15wZAjE1pHZqH6iBc8/bwf3jU8GLrQQ/VWidm1iqTLXayXRg5Bf+uGG+MLbc0NPBdbVI6f/0mugF53XngPOv7wV323hrnuDccvT4QfG/iwcAifxhCgZgO0AkenKIuuoCYOJ4m1GZJu6PR0EcNghOrkBZAEJ7Dii/F9WXnQMAzL3NwPjSbe3+BwGAClixws8izurNRmf3YWGvgBgMBoPBaDssjRTOcWLlL3npym/wR5sCABS5r7QWqmEvJJj7jkKz5SifLbVaA6rgj8oIiVG7OHzfIHUSEM4KsK95BVhfvAGsh7GOfZx2t1X9cZuL/QVUzuxS4G9VLu4OEWu3h0Cg4PvOHWBvfjN4Z54EcbsH3JwSaIFjPwZkrGyRMgFIOPKcPOBI8wkFf7qqzADTeTmn8uQF4KT7wBq5FOzmRjUupkfm3Pz1+DH149a40p0BaI6h90ZDpf1T6n8zeA3bAcrXtk2C+NPzQKw5DFzMOtA7shjgs7NY8sWBXube5y6danRwWbEKEdG/rcNafXM02tMT9hqIwWAwGIy2g5tYc5TlVz7rJEr/i2JvYQDAZx+Ag5roDq7Sk1UQQPWMn1usBffRNEwt5iq0ayi614AT7QZx6ctA/PONYE9NQGR2UgmWIF25JWTaOxCAQsycHqZ2f9iuDd3+7eYYiJlxcH80Qqnf3uGHQ0z0Un02poq7KeUUj3XaIlcCS4pFZf7H3hwHJuX5lOcxlhkk4e1mCvJ85sGLFyF6xvFgfvYasB7fRGUi83f7zZmFO/+jrTIboVP/0Uwygm0D5diiv5/FrIAR8hCw9VwU/3Un+OecDDG3R36OKn0ODEZgVoJN3QB4TDH3LnfZ9ddtSYMAwNJo70+WdK660vMGY2GvgRgMBoPBaDssX35Mf9Qp/oUZK/7Ma/WFLlHtN5IDAAc3Eyll/mfL8xyVAsVZXlUeEKkCGQA62SJY8r6bwlR0+d5kAbxEAdLZteAly+A4K0C89HgQ/3AdRB77IDmYzxcuJgcAiJTOLUU/Ho+u6Rp0PLYFOh/eBLELTwdzFdZn96nyixTu9KMJ46A8vuoxBgBErqACAGlVlhH2uGG+MOK5tSiQU6C5RZlVch5ZS7vBvecaEA/VwJkaklQtNi0t+i3tqxG4/O/ip7FtnMpJIlPYlWMU/JkJ8LeOQGR6iP7Onxknoj9H5JcfBftPXw5u92o1v6X491Kq7Csur/NxHlPMvczdBwAwk2wQOrpW3mcszV1s9PREw14DMRgMBoPRdshkjk0vjRbujrj5xz29+0s14JmqqgHndOODmtjqz9fGZLjrjAaAJDJbxk1YM1ymnuF2RjKr0tIzKZXK7EoR462UIvWcE8H5h3dTHbK9fQIsLXY5AKDSsqMzKi3bQXH26Cawv3YbeFf+MbirsARDLoyTqh+7yFYhjsI/nZfnpUht25zMGhBJtWPrZjkD4IBkukQdACiglivKW3x+EET/GnC+eDNYs1j7PyxF/gSV0QS1//Y8PwB7vvjHx/URXXaDXQLUY0GlJTXlA0D/xhj4mCWwYyM4n30neK84HTzRB14CPQEGyWgy1ir3WQTHiXnQMMgY230AYMW3DCP1CrkEWRL2GojBYDAYjLZDf/9LIkbHqlrE6dvuZVSatzKB0x4AGQ4AHMxU51cv/ikboNzqCkDUwQChHZ0dHQDAdoE4VqifeWIAnOV5MM89GewvXAf2T2skaFCwuHUULrW5IACJl+GDIiig2vupNGsneIzp1vVRCoAEddwo0LDdH4oye8ckOP9+E7jvuhD8/FoQsX513HVqPwbdMNOCAjO4cKZSHNytrc4tpjkAsPhIXVS00MmUn0V8PZ5ULTdFtggiIc9vdxXE+y4Fcd8G3dqvRvX8u4yz+aaa88pqbB0AcKaVCWDgvWHPKFq6lAADADEce1iG8rD8m/ddAm5stfL+yK0Bav+XUpkmu/vcu/0uTOYekNYSGFjWWYV07cqq8sKO6LKvcQtABoPBYDBCRea2iN3T9LKllmGPG7jDs9hgZlRQKBAAeJ88AXBXM6N2EEV8AKxEH9ivewnY//husKQIdqQA8etjSvhq0aKEyfBBYRBI4l4KN6F3Yh0twrB3e6SpggNqZxZfG4fI9gmwvz8E4r2vBnfNoeDG862dV9V9gYNtBxzT87kgAJAu7cJYWgXchD7X3prDwLlvBMTWMRo3VL/fGN3V7O/FEgME9XE5BofBfGwTmH/zDnBOPg685ABl+8RSVfrs9HkyHABg7j1Su7+sMi0N5oWbKf9WPvfbjuiyfzWM1EvDXvkwGAwGg9HGSN8ctXvrlAaeViUAlAJOJQAcAGDuGgCYyxIptdoHUoozBgUiWRBXngvOV24mozvVr3yUdsUFCRxsh6dTlheBiH8xxF1/F7sfyO/mbZWcUq3Y8LWOmWGVgh10RcA67NmNICbeBN5xR4KI9YKDmRS0q6/KL3AXNuzzzHxh9ObPg8zuhX+L3UWq/7eT8rZ4GIg3nQ32ti1gbp+AqJwrUfTOaOzdkhkKLEzVaO5hpoD1/Q3gbLoc0vZq8OJ5iCXLKgCQ3X3mAgcAmL8vKQCQmTOY1Gayv7XThV8vjaz4nGFk/jDslQ+DwWAwGG2MzHVRp/ehXYRd0AOeAwBMzd0KgnntAuO5imQVYuYycN98DliPfQCWNodJ7DuUrlwjd3J3apKEcdgC/sUyikJfCjZzCo3X0N1/XPVkn2/iJr+n2ZTvaQ6B92+3gLvucIi5fRBDX4VkgYIAuEAW8rghwz7HzBc+JzCdHoOnfrbyrADA3PtKYC/LUymHb/aDOPUEsB4chc76BuhCbwhM1Z/Gev3aXMr/3ggAYAAOxyi2m8ROAY9OQvTLN4K/ogBiRYWyEXYJXuwBwz7mzAODXqvDBD5WWS/ymvdbO1H4xdKulfcYRvrYsFc+DAaDwWC0MVZcaToD3/bSFR0AKHIAgPks0m4nutIvqBcOxkxQRyzQM6B/LbhvfjlYv/wI2E0pROpK5KATfnTq4CgBIFJbP+zDPiHF1jh9T0y3jk4PUWmAsxX7tI+D/f07QRyqUsBjySrE0oPqmJIAq6iabC63OeDYqnPO7JoVs6v4V3MHO2hQyv3AYSCu+iOwH98kx0xNzoUxEHL8oNM/lsvsdX8MFP7NcRDy3xaNYTB/eDs4H3oriOVyzCXyFIB6Lu8CDgAwf18G2TFu6z79dvwm6heeXBLtud0wspWwVz4MBoPBYLQtlnYN/LHtlf/ZQ5dxrOfWaXteuswBACZx/q5mUA4QCJ5dygHk2HGwc0BC3h9cB87kZVIMj5ApHpUBYEp8c+igMAEMDNewFzt6HmDKP+6yOiiytt6p+rDv3ALmve8F++LTwUutliJQHs/0IC2KLTTdRJO/FAZN2N3/QOT8TBh3gfD39RzBDhoO3VYgLvoh9pqzQXzpJrBm5fiYGpHjBJ3/x2n8RPaFB8DUGHShueD0kOpCgS0Ffyzn4nHHgINZADkdiMpwAIC597gwQKxKAMq/6rQHppZYA28yjBXdYa99GAwGg8FoWwhx6LEiVv24SFSeQWFCxj2ZOS+AsBcSzPC5UNwE2QDEYPcwq13Ocewk5PuyVfCOPRLMr94shY4S/wJ3yJsbwD4IAgDo2o6t2/B7mdrEzW6MUAAAswCs2Umw7hsC++aLwUn2kgmcSOvMGnmcLDnPyBguhUQfBfYAOOCoDQB3m/aPwVQdAMBbIeeEN7AG3NHLwN6xSQryYSX+JTGARF4RmE2ytwMAW7W/ALWhlJwdB1P+/9adbwDnsPXgJfI09jgAwNyb3CUAEHQASJd+eUhn7/eWRgbOMuL9bthrHwaDwWAw2hbZ7NE9lii/P+IWnhDZMrV7oywA3RM+7IUEM3wGIj94vNsAgKSTw4VekboD+BgEiOfBvfE14HzrNin8J0j4R6c3HBQlAEEAwG1KQSUZxd7r01LwzwwrkdW8C8ToG8E7Yj24vjwm8TLYVPMv78t5FuuuQDJehDi2/kPhyCaABx7TCzh/fmjiYwz0xO0+sK44FyL/ej1Y28fAlWNENKQQx93/aSXWyURyb/pjUNAN6/8xuDBO/74zNQxL5eOuHXeDuOBMiCX6JfMcAGDuVQZzQJWMqQCAkyz+wjhk2VeMzmVHG8ZJHWGvfRgMBoPBaFtkMqfbSyL5tyyJDMy0AgBU013iAACT+HyLf08v8kQS+5tLESvHTyyn2kii43lsaRrsT1wNkeZGiGwdBgsNyRaBgH/xHCFTQ7OuUrmj0zXomBkCc2aY/AD8bwyDe8FLwLZ7pPBfAzFkriKPVQFsLbgoECAf43xzuATggOfCkhjVJlMS6/+dHJiffReYT92tfDGk8LfQQBI7RsximcyonB8jezU4hv+WKcdlF2WlYDBgjDJVlsj/035qC9h3XQ72ycdKYTbAAQDmXqWnWwmrAEBRBwAK/2Mckv0nueoYDHvdw2AwGAxGu2OJYSx77ZLOlQ+hCHFyxXkZAOxMzpxL5dxdW8hW+jM+luPFkbfY/slLS5GbzVPPcXHskWB9/G1S/HwQHCl69qbTeVg0pZDqao6AK4WcO6XFFnY5wG4Av/gYxF59OnjLi2SK6MrjEkupVNhYqgKJ5CA9Z+d0RkAaswB4rh1onD/2PQqelqne302rFo94zj1/AOyVZbA+dCVY379din00+xtT6f8oxKfvBKuBQaMxEFN7OwOgBmJ6A7XiRLNKZ0ZnAaAXAHanmJkE8e6LwHf7OQDA3KtU46WqgsOZArhZChL/zDgk+9eGkSiFvehhMBgMBoNhZF69pHPZA2RGhruUGZ3azaKEmVnY8u+53+PKBR91kEDRizs/1GO8AlZmNZhXng3m12+RwgPT41XdvKnr5oUUKtG6ckQnN/0GCpghWMxeAWhkSK7tDTQCHFHCDdO6H5bfZ+IycNccTi7rIq12w/xgVxh3hNELAN3/qf96SaeQc7bNgcagDSAGcWiXE59PlanNI3pgYBaVWCavqaedAO4PhnTXiFEyxsQdeRz7GARQ5SSjUpjv7QDACAUBTP3/Wvo5gYEqDELMbgTr89eB/dqXgm+vlmOyQN8FfTyoK0VadakgIYfmntnwjznzwKBH1z0VAEDPE/wdEMnCU8aS1D2GkcyHveJhMBgMBoNhZF+xtHPFf1HNHi5cszqNNcUBAOaekTwAMoHYLesMkkESD26iD9x1a0HccD5Yj95FIgcFj6mFNAUASFCPqwDADIqh4cWdKTCtugCYzREt4FBsSVH19dvAOmKNEn7YWjPDwv5gpWoDWFEu59rp3NMdVPzcILjxPIgjjwT3nqtBNCfAQm+IxggFv3YJJk3v3dT/uTEq51F9YdBqRM8vzDiQtw+PgPOJq8ArHiq/E7YqVN/D1d8RAxwY1MDvxAEA5p6SAgBy/YABJVpPZMq/dRL5R40l6ZpheL1hr3gYDAaDwWB09J7eYfb/Q9DHHdP1aCHLAQDmHtLTu4ZCu5+jcMC09liyDAn5OOmugvj6w8D599vBfUSK/sY4uZ6jGMKWedas3qXEHVBdr7xXd0P3egbAKKVy280x1c8db++7E5w7L4NoYhWIWL88LhXaCQ773DD3HdHHwdX1zih27FyeggLU8rF/EMTV54P5P/dApDmqg1wj+88DQ84ftz6qWlLWVYDBaqjylQh25JDzz9++Gfxv3gHWjRdDbKWcq8kixOXnpxaVGZWl4qfzci4XKbsn7OPNPEBIgeAqZca46QI4icIzpt8/tWTJ8rcYRiob9pKHwWAwGIy2h+WXDxN+tealS791kZmCTk3mBR9zzzi/Jzqa2tly4ecn5OIvoUoBfNw97JGi4qRjIfagFPjbN6oAAIoS7IdO6dBD5KxvUYbApAoGLAKxvzs65LA+qhzcmzUwH98M0b9+JwhnJdgr1qrjkpDzSDLsc8PcR2OeUuSL4GDWFLZ3lELHzOQhmZQC2l4J4i3ngf2DEeh8pCYF97AqeQkCSFjyUq/tsvO/rzIBTPn/EKnV4FwQgIIROAcf2wKdj38YxNHrQCyTYq27IudvGSw08cTabXwuV3zeEiAmcz493eIU54SQjPp9/2N0Lvt2h917umFwC0AGg8FgMEJHvHv9Ci+z5jIrUXjaTZd+7ekMAA4AMPeUrXpoaodWIlM0bAvo6GwACg6kCmBJMWF/9l0QeWgIIkE69NQIeFNYm1wDexbT6jEzYGJRBwAsXcbgYgbDjgkw770BzMvPBdcdgHhqkNr7KV+E8M8Ncx+NeS1y/JRq44j+DonsGnC9ARBnngD2J98K5rYJVdu/y9gZ2S8BAMw0iGrBT5wZaf0fRP0YM1mijY1gffX9YJ10FAi3V36/KvjJErjJAo1hJ1sCO8PBLOae0dPeJ7SWwLHj9z9mHJL9ouP0VwyjPxL2mofBYDAYjLZHMnmccLzyKR1Wb10kS79UAQC9c7sIFhPMxU8Uu3a20jK8w3RoJyvFQ063RwtKBLArwJnHQfTLN0H00c0QGP1hyr9JO5M1qlsW0+OLvARghFL/xdQwiNlNYA9fCk5/lbIe0ORPtfZThmphnxvmPiIZOg6Ch07nqQKZ/sWSVRByHNh3XwHmTzaAOTu6awBgeqTFhWJ/XwQAdltu0AoABNkAKgtHbN8M4q4rQJxwNHjeakhl5HeT389NDVIQAEvDQj/mzAOCgWmsm86TR4bl9c0aRuozQnQnDeo8xGAwGAwGI2ws7epavsZYkvuBk8j/gur2dCeAsBcSzAODlAGA9e7Y+iylxL/ANoA5bClZIDHs5Mr0mu+tAmfkTWA/MEw90bFXuS0Fv4ldAHTNsphe3O0CrcAAcPsEiP9zPYjzzgAhVquaV2x7lVbtNKmGehGcH+a+GfPY+QLPtaIc+ysqIG66GOzv3g7Wjkk1XvROf0vg7+9xPe//deRjJ3huZo5CfkbRHAfnATkX73gtiLWHQgzLdzJr5fyt6mAwj2XmnjEoCcMSAKTlrZ4yjMRH5FrDDnuxw2AwGAwGo4XUgGGkvy7i+Z+pH+0i931mvkDqtGEUv93YUQLTh/PgpPOt3XBqhefnwTvzJBCf/FOwt01CtD4kRcmYFCHjKhCAbQDlc4s5AECZCxi82Hk3uJe/HNzeQSp1wO/spAcgpo+Jy6LpoCWWSZk6xdnHAEBJiuXXvgyc+kZwmhPKZR+DWuRrMbJbmgvKAPZukEpzWpXaLAwCONSOEDNuauDOqPdEH9sE9jfeB871rwJ7dRXcpPx+SVX/z78HzBdEMpKk4Nhvba/vx4aRrMmFhhX2SofBYDAYDEYLPT3GIav/VsTLj1PvXg4AMF8AKQMgV6bU93i6DKlMFRxsg6YFkheIf6wLTcr3mcvBfveFYM1uITdyTEV26+NSjIyROZmYGQJ7ZvEGANAE0H94FLwv3wH+CceBK/rAoRII1RIOgx0utlRLcdr0wUoc01gbT50AVuQh+saXQvSX99B4RuGP41nI285tape9Jcy18J/PfREEwP8zMqOM/2iOzcwZAmIgQMjH3oz8nPTeYeUZMD0Mzs6N4H17A9hXvULO3V6IJfuprIe7ADD3lHNdYQpgJ4rPRN2B/zSM5W+TCw2u/2cwGAwGY7HAsko5x6m+301WZj39A84lAMw9pRJDKg0aW/9hGzSHdoDKLfHvpXBMyeeygyAwOHDC0eBsfiNEntosRf8GcGZGqP7fmpIipVnbRTQtNpo7NkLX1AQ4Jx0NNnY3QBEoBZKVxO9bpQwA1U+d59BBSzmm474c8yvkuX/f68Gd3gTW9lHownGMAQD0sJiuUfu/hQGA3dX77/UuALpTBdKe1gGAGdUBINrQxJ1/MgnEINywvK+8ARzMxvnBMDi3vxZEeQ147mrVySPsY848IEi/B3j9y5XBTBSe7nD6/96I9JwhlxqdYa91GAwGg8FgaMTjR7mZzJFn2X7pfidRfMbVJj5hLySYBwYDsUtjRjtAK/E/1x5QEQMDyj3dyxXAvuQMiG6Xwqk+RoKF0pJnpPhvjoQTAMAU6elheX+CHNTNRg0wEwGFUhRfwyyFGSmWHhqG6GdvALGiD0S6H6g+Wn4nBw0AM2VVBpFmE8DFRhqf6NpP3SlUdoarxyyOV/RsSMjzpt6j/w7d/WnsFsjjIZapQDxZAdfph/j6w0FMXgH2fTUwt2+ErgYaQ6KHhdqBj2Jni4U78/sxADCfrZIAzVYrQJxnUvh3YakCBS9GaYw7M3Ks3z8E7ofeAu5px4LrLgPRXVblLclgjleo8wcxV6GMCEHHqaC8NuQc3wAAIABJREFUMLLqOON8iGEAMDvvmrAIxgNzH82zjBobeP2LOH3NJZ29G6Pe4GqDDQAZDAaDwVhMKHf19JzU0xFd/f+sGLUD5AUac58xlqpAzO8HTwoo68NXgoVO+rOTWpgo0R1KCQCmRteHwGqM026pTQaFameUuhRgicKOjWD/x83gXfASOUdWSyGUp7IH/E7YP11kVQCAygE4ALCo2HInx/RkKU7xvAkyrqxQijsK1HiyqFLes8rDQQUIKtTdIZatgJ8YAHelfP7VZ4H/wSvBeQDNIDdLsT8KkaYcP1uV6FddLRZvFst8Ch3kCh6r4EANrG2TYP9YPv8Xbwdx4enU7tBLFKi8hToDZAKxV25l+9CxxvmAfiDdVXmcK6r8J1VqHU8KFi6C8cDcR/MsozKh8Fx3WT0PGsayGw1jHdf/MxgMBoOxyHBIf/9LIobR/WnLG3iUd2iY+4oxbC+GAYBkHmLL8+CcfhxY0xul2NhEPcnNea3SwgkA1Cg9GtO4cTfXmRoCp1GjNOloHTMBxsH586sgHusFP5un7xRPV6XoqYKtMxxo5197HoR9vJlzDMQqBmkoACBFKQYARBpFKrrdy9uk8qzA9GV8j3p9EGKJNRCXokYUB8F61SngfvFGcHZ+AKzZjWr3vqHq7anOfkal1ZPZXn1xd7RQAQB1i58Xg3ARKf67GsNg1SUbE+TV4fzTTRA//RRwCmvAyeQpw8WjHX3V+QKDA/GUnAvUPnANJGKq3AeFIGbHUOAlpTJjOMPs4KYXZIVIRuye+wwj9bawFzgMBoPBYDCeE6kPW25/001xAIC594ljykKDwCymyxfB9vvAXiWF1r/dDNEHa5R27DXGQwsAWNOjFIAwm1gGME5Gbv4UZgFsUG7pWNv9xfeAe8V54Nq9ajczVZUCaI0UQ2sA542Ffa9zOrU8ySaAi4m4yx+T5whT/B3d7cSW58rGgECQHdBdATJCRXGbq5CYiacGwUkUwOmV4/Y9F4GzbTO426VIRqFcH4Lo9BCVjvhyjHRtQxGtjACx/t7/6fCiDgCQ+V9Dfr5HauRbIGgeKB8OMSs/P5Y0SFo7N4HY/gGw3nU+iIEqHSMy/kz1y+PYpxzfsQxGzgcLfT4S8rWEnAMJ1UnA0cayNrYEzapygLDHA3MfzTMsscFskUz1t6bo/ZphxF8f9sqGwWAwGAzGc6J72HQHHnZTnKLJ3AfEHfF0BeJZtRPr4OOVFXD/8Giw7r0BTGxDNjOmjctCEENBAADLEMhAbVztis7WoKN+J9hPfwjc4UulSBygdHD0MrCl2LEzVbqfxOAGuV/PpY2HfsyZ81ilXfy4vB9Lq9p0NK/0kwUp8ovynMrH8tx6epySn4XfB56VA3H5y8H6p/eAOTVJ48SbqkEEPSIw7V+Kf7F1SI4XOXZmx8GbGZePR1XGyDZlwBe20H++AIDdUELfws8/ozIB8LtEG8PUphO7A0SpDGYEuh4eBuffbgJx0engxleB50rxn1sDYvmhIORccHBe59A3AQMoJXlfeSekMDsmlacsADtboiBg+OOBuS8YZHu4yfJvTNH7OcOIvSzslQ2DwWAwGIznQDQ68CY3UflvSoVdBAsJ5sFFXBjiTqDIBmnAFSnGShCP9YD1sbdCZEoJcGyfFkYAoGWa1hwjUUS10HU0dpMCqCnF3n/cAuJ1Z4EQUvhI0ehhp4NsVQr+MrX8I9ETpDeT+OcAwGKi6kRRot1qP63aNJLYx/p/ci4vgMB0dnlOY16/PL/9IM48HsSfXwXuV24Ceyt2gJiUYxQDAONkmoe75bZutxeZxtZ7Y1TK0jLaC8vQco+DXurzeeR7oVsH4hyoq+CAo7Nxgu8SnR0F8Yj8zl+7GezJN4J3zingix5w40VK/fczg3R8aX6kCmDL4+lklLFiywwwzV1mDnpmyxBxB57sMFePGcaKathrGwaDwWAwGM+BVOqo40Ws+n+cROl/uYUZc2+TdobS+Tk38JQSCjG3F+zXvgTML7wb7O2TlD4dSgbAjHJid6bHqQNAVNKk7gSST90N4paLwFt7OHiJAbCzyuU8li7pvtdFqoPG4Ib6rhUtLpmLha12lVj/T89V5fjD2n8UrYPKEDA2IG8lTz0R7GsvBOszV4Ezu0kK3zHdMk/V99vU6m+s5bBPLfbk/WhzHKLTczvr1szwog4AtMY+BjCoPaA2MCTvAtX1wqagBgY5MDNGPl8fg+iOzWD+pAbu31wD/vWvAueEY8DNyWPr5ykDJpGqgJssUZaPaglaoQBMMF/49+XgJZ1fOceWmr1bjc6eqwyRT4a9tmEwGAwGg/Ec6Ok5KdsZ7bs76vY/5ma4fpm5l0k74wUg4ZXBOvmC2g2UYtrpKYC94XVgS2Fhh1UCELiho8BB93/qSDBGRmj2I5PgvuxEiHmqJ7q9rEifH13jca5YWZVSbnVrB3ltghX6MWe2GNPu/0hs54e+DSI1CF6iArF4ic6rd9SxYL3iVLA+9nYpcKUQfnwzuHIMdGBAqK7MITFDBFv+0X0cHyj45WsYEMASAEtnkpAJIHWSOAACAPWaCoA15XduqvIF9MGg70fEx8MgsBNGfULOjwn53gkQO9AbYAtYmy8D66LTwF5/BDjdZUhhRkAK50BFeWTk1mJKOLUR9LIcADiYiQEAzPxY0rXiO4bR/SrsMhT22obBYDAYDMbzYtltXXZvAxfJYS8kmAcXvUCApVW/cBTO8dwaShF2ndVgXX4eRL5zJ4TVBlAZomk28XGNaqFtKXisTZeDWL8eRCJPKf9YN45Ep3/8PjamN6Mp2nJM+y/qXbDwjzlzjuj678pzZqcKYKFIQYf/7ip4y6Qw7ZHn7Pj1UvhfBc62D4D96F0kftEUz5sapR1/p66I42Lp7AZYKgUxtv+z0fG/OUaBgi4p+KMz2ghQ0gspmLXHY35aMbF1FOIY4KDvpL9Xc1wFMijwoeajg9kPDQx6yNupMfLJoPaYj22Rz02AuOet8jgeBd7KfvCXqXaYZCqbHYTAg4Hqw1McYD5YiZleVjoPSyMr7jWM7EvDXtEwGAwGg8H4nVh2Q5fd+1ORLYS+kGAeZERH9WSVdgHRQdyWty7VBFelmC6Bv/YIELe8BqI/30IpyWEIIhc5pZzbLeqFPgaRRz8IiWPWQ6K7QKLeylbJ6Axb/7lUP65byGVKZC7n6QCAx7uci4rqXClzxqQcbzF/AGwzB/bLTgDnnreB/dAImA/fKUU/dqRQde8khEnAj6nsECnwvWlliIevOw0cMzUyArSR8v2CykaUF0CkObqoTQCxdKGroYQ++hlgAMDFnX787tgOE7+j/F7W9BDNCQeNAHV5DM0P+Tcu+gU0x8HCQMlPx8B+YBSif/duEMceBvHEKvC91WT6l0qqdpnUBYQDzActKdCbK0GHufKzhpE5JewVDYPBYDAYjN8By8q/0Y2X/guNsAIRE5g2zTdu8uYx7AUH8wBhugyJlAoAYI2oyCi36GR6UI2jVB94rzwVurbfDdHpO8Gpj1PKMaZRYy21qTsEkEkgiZfa3hVEVP9fA39KCiJyPZf/70ND4PzTe8HvGwQ/OUBZC4I+v/pO8+eAMv8rteYNBwBeHD15DaJSilQBYll1bAWZ+EkhmRmk/vJoLpdI4XFWaeV4Lhz6+yrE01XyYbAw04TKMQZBSOEv/F7wl/WDe/GZ4Hz0LWD923vA/PEQWDs2Uvq7PVPTASDlit/aLZ8Z0WNkhER9IOwdHRhopfrrEoDAG2AxBwDmf0ZLZ944+tZsZeJos8PpueetgPOPB35vzBCYnQDrR0MQufe9YH/kbSBefzaI5f2QiK5U84LOa0Vl0uhOGS51zygqYltGPQZiaXXdaM0z8hHQ4yOlrh+YZeDzXNt/81KvBbx595W5pvZDSRd/E0kUnuqw+m8xjJ5i2GsaBoPBYDAYvwPZ5Po/iCUHPyES5V9irWZQr+nO/9HPlHe5H/aChHlgUI0X1WHC1cZ5uBuYyA5SW0A31gveUevB/vjV4DSGwWpMSjEyTqLcrG8gh3VKxZ4e0+JseC+LIbXr6WLKP/77OyfB/tZt4F70EnApnRmzYpQQDftYtgPdrDZSRNGHxz2le8jjLn5KvUZCMa1MxzArAx8j4ylFvE6Z8rwl3TzE4n3grj8SnDecA87QG8D+/LXgyHNNzv5NFQAyF/mO/aLntDqOYmoEIk9uAeuRUXA+/25w7rgYnCvOpeNPPiBeXp6/Kol7V7cF9bTYp+AgZtKkldiPpctzAWgM9ugAAGYP2TowFOM5uc85/7d/4VrAnRf4dFLFZ5aYq3+y1Ow/33DL8bDXNAwGg8FgMH4Hyj0nZS2veH1U9O0MdtTm/8gvJAcAmHtKHCs27u5l5wUAULTlBuX9Cpnqeavk+846GVwp/s3ZSVVLjTuM9WHtUD6mdxtViv7e3g3F/0OlQ8t/f3YCnH+8FrxErxQkeTL3o+/CYmO/UBmRomN/hXaKcccXPSRwxzeGbebIU6ICTsvcLwgISNGYlAIy3g8i1Q9OnxSax58A/itOAe+O14Hz1feD+cSHwcKOEzqQZE4PSdE6JMfc4m7bt9ipDBFHyTvBbGJZxAYQ2Drw0c0QvX8IrPdfAuKVp4F/9DHgrz4MPL8f3GSedvJjqTIk8Dxj14CkMhGM6ZINR/sGBDvNQv/+2FiKgwGiFM/JfU1vN7/9uwsIOKnCz42ly7/c2dlzlGGc1BH2mobBYDAYDMYeIX3R0q7lD+7ux35hMMBjMcTcQ+LYCcQ/1smjwMMx5GQG5WIfU7orJAjsVUWIfE+Ke6wprteoDZ83M0FGa+gN4OLjfWGsJv9NLDGwsOYZxcx/3gLitksg7vTRbrSbVjuT3CFjf3FAMq8zRgbl8R9UzvIpNJDMA5otUmYAufqXSUB6CXmbqIKzvAr2ygKIsnzugj8E6wvvAfvRD4Lz+AfIvZ7q27cOgYetHptS+KNQnRoCG1vdcQDgRQQAMFtHCn/sJlDfAGZjmAIAcczekXOr6yk8/ptA/NXV4J1/Kvh98lqwXJ1PL4nEQM4aiGN3BiwV6K7Kx1XK4ojjHMQOHLjLnCnNpaKnOStnf9BbQLoeYutTHZhpPZcsPG0ckv2MYSRKYa9kGAwGg8Fg7DHSf9zRtey/d7fbv7tsgLAXJswDhzFK61a7uJjS7aXUTh+Kf0zrdhNS/K+Si/yrXwHmf98C5rZxKdawLd8I+QBE0ahM1x1H93Z7telRcOtj4DfGQTx5FzibLgOnUqUuBX5CCtA47lIWIZGphH4c24HYV15kCiT27O5BsNOqhIRe08KDjCR1urgXL4Bn9YLfuQysY44Ec+OVYP1Iiv3H7gbrkQ3QIcdPZ0OVeaChX2SmRj3vo7RbPQ7OLLZ7PDDa9i1WYrkOmghadFzHIDIl5+7WcbCwdeCUKrNxpzaANzUM7vSEPB/YYeNN4B97DMTFALhungQ+zjPlCVAig00899hG0EuXdaq5Kg3wdHkAB6L3Pfc0ACDn5hPGksyEYXirw17JMBgMBoPB2EN0RHtPtN38p3cn9p/1Y88LL+YLJNVxYxo37qbnlIBT6b1lSrP3slJk90gh8OX3grlzE5jkqD6qUrV3MSob26viBf+PTilcnCmsYZ4A99oLwfN7wcWdyMxaXV/OPcz3F+OpKviSaBaHgSLRXaLuEeQXkVau/igOfacHYn4P+EcfBeLa14D9uRsh+pVbwPzhBik8MWtkDAQSRX5jtGXgZ9VHqJ1dZBoDTOgvMU7Gk4u5bd9ip6PZ2VCtEO265sw40aQynhoFCMzmBHRNT0D0x0PgfON94P71NSCuuxDMtWvAt3vAdfpAJIuUfYOlHmQgmlYdN7C1oIOBn0SBsj/8LAfl9jUXlgAE64H5QQGRLD1j+gMPLY2uvMQwsqmw1zIMBoPBYDD2EF662uclqtdZ8fzP5Q/8b3ZJ79MR//m7AGEvTJgHBj29U4cBAGqZp2u6nW7lB6CEdQkSuKi3loPYcoUUcUMQJfEwLzV/WrmxW3tZqFnauT26bRKsT0sxcvYfQszrl6JjkFzLSXhkVBAg7GPZDvRI7CmjuIQUgj4KPgwQYctIeV7cxGrwjjkGnD85D+zhS8H+q6vB+vr7wGlOUn2/PRv4R4yQ+BR0nmu6xn+M+tvjLXaXoLFUH93rQaV2JAr/LjQCnBnVHgs1bdg5ApHGiDZZHFN+HtgyEUt7dm5UwZqv3wL2PW8Ff8MbwX3jH4E4+igp9vvk+e6BBJk9VtRcTJVVYEhfU7jjxv6Yj7v3AcLgS7AWsGIDTy+NrPiybQ8cahjLzbDXMgwGg8FgMPYQhcJxQvilczusnoaTLP5qfvr//AwA7gLAfCEMFuuBgKYAQKoA9rJyy9wNywLiuOvnrwb3VWeC/fkbpCDfpFuw1Ug4WLpnObUm25vihUoARiHyxN0Qvfp8EPm18rOUqDQBPxfuRqsuBiw29geFNoxEh/ekPA+YBeDHC+D3rQX3hGPBedVpYN9xMZhfuxmi2zdD5El53qSYdOtzrezsIFMExWV9WGWR6Dp/CgA09K41jqU67kyzCeCLm0NBcG4EXCqlqEF0Zkge9yGav1h2gUEZgXMYj31TzrmpGr0fSwbQ+NN57C5wd9wN4t73gLj9YvAuOB38E48Gf1kenMwAlQZgC0gvUyVPAPLlSLMvx77m8wUAgs0By+vfYRiZTzlOP+7+Lwl7LcNgMBgMBuMFIbfOWLLiO06y+L8ipd3+9Q89BwCYvx91v/agewTu4ElBR8aA2Uqrr7folvdzGBDoB3fyzWA/ehdE6xtIYDjNcSnaxrXg2MtdALANHAYW6pvAfMlJ4Dn9kEhWwE4OQAw/T25QzoEqtxzbT1T1/wUl7lBcZOXtSjlmXvMyMD9/I3Q98zHoemozWNtGtHmfEvEuZYxgar8UlWgiKYW+PzWi2kk2R5TT/7TakUbxL+g9WLfOAYC9EQDA4ynkHMVSGnMKOyyMgCvnLRp3oveCpQMzNN8wWIPlF1gy0FBBPWwhiP9OVJ4r64kt4O78EIh/uQnEyevBXjUgx0WerhV+ugqCrhnsAbA/6KV37wUUbAxI/taKDWyVa4dRw+i2wl7BMBgMBoPBeMFYUT3kkJ7Pe+nq/4jUXK3f7kwBw16YMA8UqgAA9u62qRuAqvH2Y6q3u52rgiVvLezd3i3Hl9kD7jsuAO/+O8CXAq2jgYJCCrypMd0FYGjvBgAaKEyGIbbpcvAPWw++j23I1oKbXQ1mNk+fmczHUrzbuF9INd+D1BbO6sZ672VgfvztUlBuhKCeXOAuPqaRT6vuEJh2Hm0ooRk852DavxT8mH5OHhIoOqdwN1qlpGMq+lxmiRKmoQvpA5TqGI4TMVCH/gvorYFp/ybN2THVZnNGZQBE5Lx2qdUnejKoAIDbHCXDTzL9bGAJ0AYQW+W/89jHwLr2NRArHgaJWEGZQqZUm0AMJoY+Xg9yzpVbPDsAoDIAys/YsfK3DWPVlXIBEQl7BcNgMBgMBuMFwjTXLvO8tdf66cN2uqnKb6k+m2r9KrRL62eCuj8WQ8w9pc4AIJZbWQC+zjBxA+oyAQd7gR93nBLkT2yRwm0cuqieWIm7PW3XZtGuY02KxTElRGint0bCz8G67/oIiZTIjo0QefQu8E89FmLL59X8Zwvy81QkB/Vn5jG/P+hhj/d0FRJeEZIrCmD93bvA/iEGfSZIXFKv+RldUz492jLvs/Q5n3tuRI8BvfscpKm3npsvXkf3urdEO9Ga2fUYWgto63PVei4ItiwIvljzMgVUtoCcn9vvgq4HJsC59lUQXyHnYPZQwN8hn9sA7p/5SNdt7cORUUaM2M7V7y5SANfyy491moVPdVL9v7E07DUMg8FgMBiMF4ju7nVWInHEkaZd/K4dL/7CDYRbWgUAqB93usQ90Zl7n2lFEuDZPLh/ci74T3wIxNQYRKRwx9RgFAlij0WJFPjNGv09CULsAU+t4Ebl7ZgyK8PnH5H3v3EHeEU5thN53V9cmc+55EY/qLsAFMI/Rm1ANIbENnD+qjUQe/kfQsfsZrBmJ8msD9PKVcYGm/Yd7CSPhrrq0hF5TI6B/3cDuG84C1xngDoBuBk2AdwfVO0XdfCf1gF6TYDXaDlPo+7AVmPJqmEjWRBhr18YDAaDwWD83ujxDWPZ/7W8/kddvdBSbuiq7pIDAMx9wSDVFM33HLcHzHNOAvHV21ri3dQ7/+70nom/IABAu/2YEt5Ah/IRiJKIVI/RW0B85w7wb7oIRI8UnokCtZrz5fiOp/KUaiyw5jhT5jG/n4gu73YiD/a69eDULoOu5iSY2yZA7QgPk7GcMzO+T0Qnc/GQSjnq6C0wBGZjiOaz+MhbwOtYBk4yTwaiaAYY9ng92EkBACn2/cwgZebMlQMWKDAQFX3fM4zc1WGvWhgMBoPBYLw42P+fvfOAj+yq7/3Z0ZTb751yZ0a9T9faxoAxBmNsMJhOaO9REggQOgSwQ0sopnqlXWnXBRPIg/eSvCSUvCSEJLSE0AMJpneId6WVdt0LhrV3pf87/3PujEbrNbGDdq929vf9+PeZprWkmatz/v//+Rchwg9Y/sQ+dRpa5i7oMxsMAjhD0GZLN5uqqdpeNvCNM84g6+Knkclj3ZajaQBc730fAgCqpnh5VyRdEqDSilVn+Dk1hsz8/JvJrkvHv1xT17lXbqlT6GzIRm9TdR1XKcdb4D06JcQZF94UWec8kOyPv568a3XAhgMA7Aza+y6TDuHCemo51HOyomaB3MjR3yud/6V3k3nLbnI/dgkVMiMUcKBONRHdAtdrj0vv99PyfktJr9OdssDDpjfxGSHKT4/baAEAAADAb8RUxjSrr/IL9Wt0vX8zCgBEZQCou4SOg9qBpax6LK8x6YDnZk4n/+aryTy4QAY78Cvz99rxU7XF0mFUzqP8d/zvufmbc2B3p9mYmgX/0Uso2BZSwCPn5HXuyO9vl6rkl6uq7tVVo+hwzZ8o5QotygYV8h5+DrmffBPZ176HnOU5cld0CYcK5CzvQgCgh8XNHLlZo7Wyh9zl3WrCgH3Le8n5mzdR1pgkN1fR4yGxFx136RKAqloDfVWipW0CVtqdvCFpji2I9FgtbqsFAAAAAL8ZfeXy2Q90ctWP2vnaHV5xRm72ragJ4PpYoLgNE6j3xM6/X+DTd3k/WyVvXDrkn3sTOT+bVU5BennnvQ8AcAmA/HpvH9cTz5O5ouuJ7aUF7UgenCf7C39E/queQnlngoJCU6X8ayOXA11V5WBw0yuHmxOWcc2fCKlSEOngeWefTdaHXimdv1n5+e0gm4M57AhiXF/PS/3tqiCA/Lu9dk736rj+KrL+/BJy+kYo12lGi7/J4/73qEoAdHYW9wBSfQAiGyBljH1bJIZfJkToxG20AAAAAOA3Y9vExCP8ZGZw3vQmr+dTUbd75jKfAOBEFNpstZsAlji1t6lO3u0B6Xi/8vHkffPdZF93uXbgF+/tFIBdKmPA4x4A+6OTY9X0j5uLSUfy5qvI/rNXkXvG6er65gBAII3bbNRh3C3qpn9q3nVJBwFif49OCdVUsNGbPp385z6OrOuulJ/9btUE0F7k5o3zZHD5BgIBPa32xABz36zqAWF+651kv+XZ5JhjlG+Pp439Wu19+VGzRR0U5QBpS2VqcQAgmRn5rBDlp7LNELfRAgAAAIBNIXyd4Uz8mDd8t3sGejSHOW7DBOottTNL1EhArsOPJk9kp2vkfP5tZN9wlW7mt+++OBAL0f05JfXv986Tt2+OnOUryHnP75Ljj5I1IB3/gv45uOmlK41dh43c6HF7Bnbc79GpoCw3F1NBRvmZNM8g47NvIWvvHrIPXEnO4m7yl+YpszLXaQoJ9aD471T1+pCf8couMg5eTtb/fim5559FXjCt+nP4JV2HHvf12uvSKf9RIKDYHpNaXbPzlV+ljLH3CdH/0LgtFQAAAABsEn3p6tMtr/5pt9A4HPQ31uv/i/qkNG7DBOottZ1st1CjQDp/ubBF+XyVCslBsv/qYjIW55XT59zLEXB6LvmCyhqwlue01GvSiVzZTd4X3kzeC59InjdFzqB0NsOaOvW3pdSYsXJD3tbV/SCsU64Y/3t0SqhY0dkg+Rnyy02y/sejyP6bN5L1n7ulMyg/u/3sEC5EjQGhXhQ7/y7/7R7YSe61c2R/7lJyn3MR+c4Q+Xm5RpSrKktIN+jcAtdsD0uvy7rkQo0BVpOAqoeT9sRSwpr8PWFMjMRtqwAAAABgk5ievmDC8RvvMP3KTbnBqPtvWFUnAEHXVAAI2jy19El8QTeZYkPf8qfJfdWTyfrCm9REgPvkTCzvUZ3EXen821I8ArBvZYHs295L9rueodL/g9J25eT70vH0uPFff4Oy0rnIS0PX4aCAfMzNAAOUvZwQ2f1V+bnzenM6OfkW5axR8u9/Olkfeillfnk1OTfvVlkcqiRgCzir0ObLXJ4n48YryL7zfeR97NWUvd8Z5LsT8ro4Tf5dnknZkm7MyQ5p3Ndrr2s9+6mls/+K8u+zWPmVSI1+UZiTDxaNRjpuWwUAAAAAm0Yj3dc39rw+Y+ynnA6tmnOFukEaxgBCmy09BaCuTpu45p7nfHPzKT7lc+sz5HzoFeRwJ/ClOcpIJ8FZ1if7PBdeNYeTzn5maUE1DrNUpgB3+t9N7tJu1USMm8l5izsotbKTMre+n5znP4b8YExlG6hruxjVurZ/ps5zkQGMhmMnRHZ/XX72utkYT2RwC1UKOQAzPUOZi84hc8fzyPvhFeTeeiUZN/F0iDn5GXOwZ145js7iLtX40d63Uz2npkHI68WQ99PymvE5g2RpljLLO8hYmdMNIuU1ovpDdDmhVpfidoi3kvj9NBfn9Psajdi0l3hEI09p4PKaneQv6sabPHUjLf8+1RjP/XOqmz+/bvLXLs3rqR7LuifsrXhlAAAgAElEQVSHK/9mjduuJOv295L7rR3k7Xoxeec/iJz6dnIGGtHe05LXh3xcjqbTICvnuEuvy9VOjxZeo+1i9TbRN/RnQvTXBer/AQAAgF5j5PFJY+JLjnL465TlOcClhjYItoBxAvWOOk54qGvw3bJuNBVwRoA7Qu6lv03W3t3aKYscO3txTgUElPOxXzqDSwvK6bfZyeOggHzNUM6f7gNgL89Kp2+ejE++mezHnEeuP4FTxC0mrxOI0QEh7j+S5yBNriKdvwr5D7g/BU++gLyXP5ns972E7K+9g9wbryT7xj2U4XpxDgAtys9/35x0QGfJ2acnB/AUCK4tDzg4IB1Uc4mle0M4Kzvp6OkCCACsO/xtdT+n7kdlGFyaw1M6zH1z0Wv8t8eTGy5TX+Mu6YwNa1GX5qhADf87+b4bN+5WDT79r72T3N0vJPtVv0XOUx5B3oMeKNeDKXIL8jMv1NVkEA4O2gPa8c+qUrT4r9de1/p4Vt0gVf59HjZy04siOXqJEEODcVsoAAAAANhkUqmJBxhu5Y/tsH6XX6ytZaOmSx46okObrE4AoFDTHadLUfMpNv7dMfKfcSHZn3g9GTdcKR22BX3CyxMBlubVaaM6wVUni7qGmB0Rd/8O6QTOqQCAybcHpcNx3RXkvPIp5Gy/P3l5eR0jALCl5Ld7jZR153HVe6SkS0L4fi4/Rb41QB6XCjzy4eS+7lnkvv9l5Hz8YjK+9y5KH9xDxvV7VABAZQeoayJy8DlYJJ83+ZrhOnO+fhZnyV6Z7QQAuh3ebqf3VFb3e8Gn/Hd7fb926s1FHtc5qwIvprx11XurszLsJR10UcG4G64gi6d6fOvtZP7DxWS//8Xkv/6Z5D/kweRJB9/1J6XjP6nXgXJTZemo0+eynsbB40Kzqh8N9qETonKD2nu/U6jekbQnviaMiQuEmPLitlEAAAAAsMkM1i7IZ4unPdvwK9e7hcoR7aQ1kHoJbbp8NXpPGvfS6M+pW93ki8sB2BnMjtfIfe1TKXPTH0dpw+yYzEuHYrd0OBZUurGaGc+njnz6uH+OPHb61UxxPq2UTgyfOP5kFwVV+f/MVaRj0aIsJlpsKek+IzrjqBMICnUKuBrTWG6qCQ0qS0R+hq49Tp4zSsF555B75UvI/NLbyPzBe8j5qXRAeYTgCjeU26lLR5a1g8qBAU5L95e4XEBeQ/t2dUoAjg4AIBCw65jvQec5KU/+HQb7F8g5yIGAyyitgm4L8rU9lOLgG0/hOKDLBaz/nCP7O+8h8yvvJGv+98h51EPIyw6TY0vlq5QrbJd//9tVCZAa88eBn/4Zcvub6jP38hXyB3QpWhCiFO2EqBxl/oXck2XyOpEY/AvhTIXSREjEbaMAAAAA4LjQf6bYNvRtNz99p54FrE9mYzdKoJ4SG5hWmU96K9xkStV/O+UZMtkR6K9Tlp28x19AzjdmyVQOPtcS71LTAezl3aoswDmwoE55Lfm6dWCO/H27qW9xTjok0gE8uJuC77ybgnc+m4Lhikopt4p1MtHPYkupe+44p3970vELpAOYLUkVW+qWm5CqoICaGFGRz1WoJJ2UXHpEOpET5D79UZT91FvIWv0gGTcvUPq6nSrd3FvSPQCMxR3ymphVZQGudFzd/XvucbpE29F1toAjHqf45F858Ps3BklclXGzU72nalLHyh75dQuq9MK5do6Sy/xY6raryOST/8+9hQqPP5fywZBq7OcV5H7CTT/lLTfc5OBfrsANOBtkRhNBvIEWuYNq/Bxl89NyXajpxpxb4HrtdfF+74btZoA1snJTPxNi8FIhhsy4LRMAAAAAHC/So/VkZuKjQbH+C04FVIYAxgBCm6z27He3xE6fNPD7+XR+RqX96gkU8rlhefuUh5Nx5wfJvG5PJ707w44JOx+L3PWftaCyA7jm2GMHhh2U5SvI/oc3U25oitzilHIws1vg94aOcS2Uos9cpXmv3+cTYbfcJDPU/QG8YrtcoKlKB/iEMuBg0XiL/NYZZJ5zFnnvei6ZX38Xmbe+j/zrL5eOvM4KyUQp6faSbhh5dA+AowMAp2IWwNGp/9xc8+j3gQMj7n5dhsPN/dR9LrFQ93eS+auryfnmZeT94XPIP+8c8hvbyRuTn1e+qspvOMvHl3/3WXb6y9zzoUp5eb9YbOnX5OevpnGEOjOoqOvQVaNIbwtcq72uTgCgzLe12zP+1Kf6MhOPkZZBKm7TBAAAAADHCcc5IwzyM881/amfuMXanX4JJQDQ5ktdV+zIFas8Z1o66Wzgt7TjxyO/1Nxv+dqEdPQueQbZ35UOysHLyVi6jDIrl6nO7rrj+wKpJoDq/pweAXjDlWT/9evJe/QFlA2qZMn/j6M6W9elU4Fg1laSV456jMjPnEdCKseemwGW+Jrg+e91nR5e1IHI9oxyr1DVQYH+hmpa5uUq5Ekn0zvzbHIe/whVPhJ8+NVk3XQVmTdeQebyggoQOcqJ5Wtn7h4b3iEAcA+P2cHvPLdTTVlQ/QB4hN/eecr+zSWUfekTyf2tC8k+/f6qsaefnSK7xCf8+jNUAR410k86+SX9nPq8y+sTOHRz0BrluCFkFAiy1bQQ/O0eb7VL/vjvzsxO70ukxnZbVnVAoPs/AAAA0Ls0Go300NDZU32pwX928pXb2gZZ3IYJ1Ftqp35ni1H6d3TK15737XF5QL+eQx0Myds/eDbZn3kzGXySe8secg9Kp+SAdEQOzpN1nXTurl8g+5aryfrBu8n+v68i76mPoqxfkf//M8jub+gAgHQo0ANga0k5gWU9DlKNAuSpEP38XE2Vh6jMjbLuD+G3p5LI55yibhYYqBPihgogZdl5ycl/60yQP1Kj4EkXkHPZ88j+8GvI/s4Osg5eQeZ1PDVCTwpon3AjAND1u7czI/h+NP7P2a8dfWP/eo8Na2U3Gbe+l+xvvYOsj72anHf8NgVPu0j19LD9SXIK0zowoz6runTg9Ql+ttjY8Devav751J9Lc8rNzihO1fAvrKqv9UrcB6KFAMAJ/rvM+FPfEGLoFQK1/wAAAMCpQMlOJPo/YOcrK6i9hI6L1Mi/qjL6ValJWTuCXPcdSKmAgJo+0VQZAbmsdOqe9wSy//oN5HzlHeR+/e1kX/N2cr79Tnl7KZn/9lZyPv8usi9/MXln358Cf1z9f4LijKo15mCDdirgRGwlKSeRswD65WdenpGOXlOXgaigQFWdBHPphl9u6ZIAdhzlv+H0cW5WxteLSlvmYFK5pj7j9gkynz776X7yHvYQ8na+hOzPvY0y33032dfvJufggmoYeKw0d+soxe2Yn7AAwH7duE+N+4sa/qkpG8t69F+GAwAccOPRm9+bJe/zbyVv7nnkXXA2ecE4ua50+sunqRN/FbgpVnWGD5/2q0yPpmr2me8q8+CygFyBewE0KNvf6ioBqXXKdlTQp9yMAj7xX7M9rWjagl2o3ZXxJv+eRwPHbY0AAAAA4IQwlXGC017hFBvfk0bamj6t7RrdVjpKnee3gAEDnRxS6fhcB9xUJ4SOdBTs/hoVVNO3lqoBdjkbgIMBytmT1587SZ43Tl79NDKf9RhyXvdMct74LHJf8iTyHv1Q8oMJ1RguyFbUqTGfHprlivwe0/L7VdX16bCTEffvDnWknH929vJ1yhdmqFCcUeUA3VlHqh9EqE/9benkuwO6eZx6jksE+tczStQ1099UjSStcEpdN1zTHBij5LdOI+eP5DVz3fvIW96txktyM8kNJ99djr+5vPOoU/HoZLzzNSdHpkDn541+F/X7LN395F8HANYzABw1WnMXuTzyb1mP9HPk++Z+811kzv2u/DsbJNcZJU/+vbWd83xJp497XXsFP8/TPWzOBgir6vNWgR/u9M/ZPgX99U6hqjJ0uPyHP1eVFVDSt2oKADLRfgPVKejeq7vEr3fuRzL8qYMJe3xWZCYqcVsjAAAAADgxJMKh86aS1tRHjGD6NjcKALBTpptz1bUBx4ZZZOx5CABA90WRoXl0YKn9+rqB2lgPMnGXcJZ0+Nzx7eRMn05O5TRyJ7eTN9JSDmGgmo3VO9/DixzDzveK+/eGNqj78w+iGvGguDEAsMFhKa2niHc/bgcA1tcn7Ti6USPTLF837FROzpB5vweQseN3yf7hAjm3vF9Nl0gv7SCHZ9izw7ukewWkV6QzvG9WOsVz8rVdaqqAvVc+Xml3yG8HAI49UWCryOKGfaoHwqy8nVOn+faifs1TAYBZ/bsoJ3+H6q/BvxP317DaQY/brybzp9L5v/S55D34QWRWTyM/P63KavSJfaOzB2wMCtfv9jlv+NyKG59XGQBdn2fQFWRGAOA30X8dAFCBtpLO1EhZE98RfUMv5MOAuI0RAAAAAJwgGo2npUWif5fhTe33ok7M3QZeOwCggwBRmiYMNOg4aUMfimLULI6bvknp8XC49qBG18lz1FyunWrOr3N2QE5eM94Uufd/ILn/80Jyr3wR2T/YQZlbr9Sn4ov6dNxRzv0s+arx3ayufWcHeXGODG4g2E6V33/3ZnlbTvL3cRf1+D7VyC9q5tc+5XciJ99UmtNOv3wfzANSNyyQ/XP5NbPS8X/OY8k74/7k8NjO7HTnb6699q/vD/FfB9BGtR387sfdAYCur1lzwsbhpDnxcSGGLorbDgEAAADACSaVGnqB41e+4hVbR7oNvPYJG5/+u8Vax+hDAAA6XjqWY6EbBupTQ4z4g1j6elg/Se6sW+21KWoWmJUOrF8YJ++hZ5H35meS/eHfJ+faebJXdktHf145ya50/L3I6U/vnyNzZZcaf+ccVTJgRhMFYnf07zEAwE7+nJ6AsLSrUwbgyN9LZQIsSSd/KZqkwcGPRfk7XreHrO+/k+yP/T75fyjfn/udKd+vafLyU2pCg+7NoNP+2+9xJwCAfWDL6egAACvbbrrY+ftQt6umXz2YNKbeIsRYLW4bBAAAAAAnmGLxrO1OtnW1na3d2m1Mt0sBuIGbG81sRgkAdDzUHVw6+hpD7wnobgr1SMGga3Tp0afTvuoPUSOfRwgWKlKT5D/o/uT9+WvJ/fd3krl3J2W4SeCidpSNZS12oLPSWQ44NT46SdfTBOY2BAS2mjjtP31gVtX4O0tRmYP8mXUAYJ4M+fuYXMbAzf641EE+58n3wdnzIvIe+TDKZ0bJjsYu+lE9/obU8aMCAB7+LresOqn+xboKAPD99mNdJtA4nDQmvt6XmbxIiCEzbhsEAAAAALEw9MJkZuyHbUe/bUR3nP6ugABOfqDN1tEBgG5HzjvK+Yj7Z4W2ho51Cq3WLNUXQMsd0FlMdqFJVthSoyf9VIm85z6G/M++hfzr30vm3jnl+NvL89rRX5olZ9+cEjv/3AuAO+Q7i7O6a/4WcPaPJR7f17e8QzXxU0GARZ0RYB3YpZogZg7MU0r+nin5ddz3wPzRHAWPO5eC/DT5vnz/wtNVM07ViI8DAKX63f72jvV3iQDA1lN3AKA7EMDOvxdW19xC5VAiNfZhIQbOiNvyAAAAAEBsDP1Wxpj4dH5gZsOJa3dKYTuV8OgUQwj6TeWXjp0FgAAAdE/qvjY2PFdabxDI4+e4C70z0FCNArOlFjklucYNSZ15JtlveCoZd36Q7AO7yd23k9zFOXVq7rHjLO9nojp6dYoe1dPH7ejfkzjtP1iaV30M2NHPcFCDf59rZ1XDPy5r8G98HwU/lr/rwvMpP10nZ5BHLnLzxDoVosaMXqEm36OGmtxxT85/JwOghF4AW0n3UO8fOf/8nCqnOiyfO5g2J14nxPho3JYHAAAAAGLCdWsV252+2PAmbpJGw5F2yuA9GRVxGzpQb+nXBQCODgLE/bNC8csr6ZFzXunu10q3U5pT4wa5HECuZwPRiMFSSzq5TZ0Z0Jwh/1mPIvdr7yJz+XLKHNwtnf45lQXA4wGN/Xosnrm8tScA2FHav7+0mwzl7OtSBku9Jn/2/9xBmZuvJvsTb6DguY8l/4wHUDZXke9dU09QKPJovgq54XQU6OURnc1f6/zj9H/r6dft1ToTgJuqVm5NGUP/Zpoj5whRsuO2PQAAAAAQE0NDZ5uGM3n+tlT529JIuLN7lFDbeDiWUQFBm6FjOXD3pLh/Vih+cZq/q075j3GNdK1bubBFQaEundsa5aJmpk4pGkvHgYECj5OcJk86xeb/ex1lfiYd/oO7yWpPAODa+kju4tbPAPCWFshcnCU36vpvqZr/3eQevIqMP38V2U9/JAWjTcpmdTDEKeuTfrfUjLInqpQtR+Ngi41fm4mDcrCtp2MFALqbAMp9fc3JTi8KUfyQ3PUH5dafiNv2AAAAAECsFKp9qf4/9wrVW7Llxmo7CMCGxMa0fxh90PHX0Y4dMgCgtjaUKZWOyhrp7nheiK6ZsE4FDgTI111uCsh17pz6Xt5OfnmGfHOQ3Gc9mpyPXELOT3eSxUGAyKnmDvpcDuDum9vSAQBbnfrrkgVLdf3fpbv+/+cu8j7zFnIe+WByc5OUDVuULbbILlbJKuuAiFeaIa9/Ro96LVbV2FcVZAlrd3+Pj1Lc1wJ097+L7sfdt3IfP2R6k18TYvhlQuS8uC0OAAAAAMSM6z4wH4b3e4YZTP3YyVfv9EvHTiX0EQCATrAQAIC61R4H2W5OeqwJJW1nSJ9yr187tpRT0qfeXvS1XE6Qs4Ype/6DyPnTl5Nx89VkHliI+gLsVNkA5oqeBmBH4/WsKMVe3V+K1Hnu+Dj56v+tHPvo5+iMKuRpBXOUWdlB6ZV5+fPulj/3PHnXytf+9Y/IyxXJzU8oR98vcJ+XinLw/WKTcvk6ZfOcEaAfd42K2xAAiPszh+6bNvbraaqgl+GOr4i+ofcZ2TNH5JafjNvmAAAAAED8JBxnsrhtW/8nnNz0zbrOVhqCZU4LbRvUbAw2YzNqoFNTR6d2QxDr6NPoexof6XdlMx2rrMThrvfcJJBH3517DpkffCVZK3vI5dp/1Q9gjmwpb/+sdLZno5GAepxeZmWOzKUdumxg/y7VN+B4BABcNcZPBwA86fi78vuml94jn9shf7adutO/VOoA9wCYI0f+/OZHLiZvZEo19wsKUSCtP0oJL+n1XL3WeQ8bGwIA3VkWcX/W0L1VS99Gnyvf93i6g7w1/KnvCDF8sYDzDwAAAIB1BqxUamKnk2/s9Uq6UZbLKaFRU0AvOmmL38iBIAj6zaUc4RL3CZCP83K9G6yT86Azyfv468n62Y71k//FnZRenlWjAc22ky+dcW4ayOP2bA4AdGUBbJrzr6YQ6NKD9IF5NZlAjSlc2aW+Z3tCwfrPNEfuje8l/0OvJP8hZ5FdmFYBDnYG1e9YjP89h47XtcxqqUCO2qsLUSNfuZdbufodaWfqw0KMPCJuKwMAAAAAW4uU581cZAfNf7YLtV9yUyiv1DUSEGnYEAT1kjon4FwL39Rp0/kpCp74MDI+/QbKrCzoJnv75slcnIuc+wXpeC+Qx8/x48X1/gCqb8DS5gYAuAyBx/ulD+wiYyUqAVjS2QD8/dyleSm+nSNHOv/2Ry8h/wkXUJCdUuUNbqlGWQ5ysPMfboH3HDouUtdwsdHJ5FBBgGgkZsae/s9EevyNQoz2x21kAAAAAGBrse2ssy7yUubEFZY/tcLNoJTDX253iUYPAAiCekhRk0DuE+Cqeem6SV5g9pP5+08i48tvJfPgleTs3U3eXt1d3+EAwBIHAbjefoGsxShLYLntnG9is0D1/XZRmssOluX/d2WX6kngLHL2wTwZUvy6J+Xzz/CNHWQ/5ULy+ut60kGo12+uA/cj5zD29xw6LtJB+nbfBj3G0S3W15ywdlfSGP+MEMNPitvAAAAAAMCWJXyVE0xdky01V51ClazcNLlhHQEACIJ6TjnpLDnFKjtL0olqSae5pXoCBP4QOa97OplLV5K1tFt12Lf3zSqn3FiZp6R0yk3lfM+Tyz0BpAOeWm435tvExn/L8/J7z8nvsVOJSw3slQXp/C+oAICxpIMD7r4Fcl78RAqm7kdBrq6cf579zpMOvEJLPy7VYn+/oeMl3b/BK8rrOWxI1cgtN1btXO2GtDk5K8Tg6XFbFgAAAADYooyMnNN0vPqVple5LWiXAHAHac4EKMOAhCCot8QOv8tZANwQkJ2ogRnK5eX9084g59JnUvCLD5B//W7VFNDaexk5+2bJkU543zI3AdSn9Oywm9FEgE0LAESp/i73AuDvuTir6vw52OBxJoIqO5gj+8eXUfpTf0T2WIX8rO7y75arlJO/j1VqkVfaTrZ8zixVYn+voeN0DRd1wIcDAF5Zfub9DbKLlcN9qdGvir7Ri4QYMuO2LQAAAACwRSmVLrRTqYFXZqyRn+gTBX2qoHsBIAAAQVBvqN3bRHe855ppbnpaoSx3Uy+0yC1WyHrSuWR+/VJKS2ffWOY+ALPK6eZu/MYB7g/AmQE7lVO+2U0A9bSBeZXyb6keBHOqy7+aRLC8SwUbzBuvIOszf0TuOQ+STv+UGvPHv4s6/ecMrv6GGoeoggLo4dLb4s855M+ZJz401rxy9Y5EaviD0el/Im7bAgAAAABbGMMYeITlTnxUGpFHvGJtTTv/3F0YBiQEQb0h1duk3B4VyKf/VRUE8DngGbbIzVfJrjXJfvkTyFzaQ+aB3WRymr/qwD+7MVWf7y9vYgPAdgAgqvlX2QA8BUAFAWZVWYB53RVkf/lS8l79NAqcCenwT5FXrKhacG74l+V08LL+nXgCQDbEGNdeVXtkIwd5HHk9O8XaIcOb+ElfauQ5QhRLcdsUAAAAANji5HJnDXm55u/bwfSNXrG+6pejOdHoIg1BUI9IOUwDTXVyGhR101MuB3CihnkcHHAL0+SPyuf/7o3k/HSezJXdZPDJ+/IcufvmyFqZV6f0qjnf/qgh4KYFAHbqjIP98v+/tCCd/nk9/k8+Z/P3Xr6K3NnnU1CRv0OhLlWVP29VnQIHxRblS5zFMC1/16oeA4gAQM+Kr1dXfr6c6eGUamtWrnKj2Db8NyIzOSW39GTcNgUAAAAATgr6H9qXHPmaNIoPc+2/zgJoRbWGyASAIOjkFq9ptlQ2kspwioKcXpEzAarqsde/nfwHn0HWP76JzINX6eZ71y2Qt5czAXYq558zA7hHwKZOAeBgwtIONX3A2s/ZBzoDIbO8g6yVBXK+8A7ynv1Y8u0h+XPWKOifIZeb/pVmVABA14RXiCe66JGA8b/n0PG7ln0O+MjP2ilWD5vB9E9EYvRNQowFcVsSAAAAADhJcN1qNcg153MD9V/5pe06LVYZxQgAQBB08qudNt15zOtacf1++7HPHdXNETLnX0jW999DjnT8VW0+O+mLu8hY0lMAXG7It5lNAOX/k1P9nb0cBOBRg/Oq47+5fBlZd36Iss97AuU4OKt+zvrG36m4/jv4nWau8b/n0PG6luu6hCVskulXb9xmjn4sbddm5FaejtuWAAAAAMBJw5BpWZUHpDJj/2FmK7d7yjBubggAdAxMBAQgCOpVyfUtW6iQ94DTyfmTl5B16/t0A75FdsbnyVhpBwB2bn4GgAoCRA0Gl3kE4U5KLs9R9iOvI/ucs8nJTnWCFlBv6lh77LH23iyXskiZwfSPRWL40qjz/7a4LQkAAAAAnFRMhan05IecfGXJL3H96Mw9GiEIAkAQ1JuqS+eqRl52lKyXPYmMb71H1f63R/5Zy3r8n7NPOu1Lm9kIkE/958hYmo/q/+X3UP0GrqDgSReQN9okl9P8y3G/P9Dx1L0NAHCA3slXb8+4k38r+kYeF7f1AAAAAICTkoZje63nuLnql92wccgvztxjBgCCABAE9aI4vdrlAEAwRfZDH0zme19E1k1XqRR9dsp5KoAOAMxvagBANQFcniV7cUFKlxy4P99J/iffSu5IlYIcj/xryp8t/vcIOo7X3z3srRv24pLuAWB4U3sT6bF3CWNiJG7rAQAAAAAnM8mRecOtrHB94dHOPgIAEAT1sti5sgbkbXmGssEUeU86n4zr30fG0ixZK3NRIEA65/t3b+Lp/y4VVLDk9/CWdsv/9wJZB3eT+ZW3kfu4h5M32FQd/71CjYJC/O8RFOP1qfbexppX3H44Y1W+IMTos+I2GQAAAABwkpPJTL3Myzb+I1tqIQAAQdAppfYIVJ8DoDnpdD/gLHKvfAmZ0kn3pZPuLrKzzqf/m5wBEGUX6P8nj//bQ95fv5ECY0g6/npKgVeuS2G836ks3ne9sLaacWsHkmbt3SKtmv8BAAAAAPwmDA+k0+OXms7kQTj7EASdSuIAgFfQYwL9Andbr5H/4PuTdeBK8pf3kLO0QJmVBUof2KWa9W1mFgB3/jeXZ8m8cTfZ//R6cv7Ho8nOVdjhk6pQVq7DuVIr9vcIivP65ABA/a5kZuKLom/it4QYsOK2GAAAAADQEww/w7CmvtptdCAIAEFQr4vXOVvK5fvlJnn5KjkjVbL/8rVk/2iOrOUFlQ3AkwBUOcAmBgCc/dwAcJac5T3kLvweOcPy+8qfIcsKa9GYv/jfIyjG6zNsHLaCyoFEevztQow047YUAAAAANAzjG/P2NM7nFz11qDYWEMAAIKgU0GqCWCp1km39+RzzmCd7MeeS+aX307mwd1kSyfd3bfJYwCXdpGzNE/WgQXy/uUt5D3vCeS4Y3Ld5QDADAXyloMSThnrcC/r100B4PteoX570pz4UtIYO0+IsSBuSwEAAAAAvURy7LxEZuybfrFxWNXFbjBM6rpWNjKY4zaaIAiCNkVyjcsXq+SHNT12j9c3vk2XyfnLS8jiGv2VWXL36xIAXbu/s+PErwcF9PPW/rZ26X8bfY0aJ9j5N/r/ZS7L21veR95bn0XezOmq4382rJMTNskuz5Dbz/X/WG97WZ5u8td5rPfdGkV78BEnV9knEiN7hBjMx20iAAAAAKDHSKcnZix7+kPS4DzkF/m1mxYAACAASURBVLdrZ79ciwyTOrmhPpHycCIFQVCPiAOaXqmiegA45aaaCMBBgFJQI/d5TyL3k28i98BuMg/sopRUemmODOX0z5PHp/j75shZ4Xr+nWTK5zPS+TeXL5NaIGtpgZzFXeTKf5O+YY6slXk1TpBlSec/s7yD7JX3k/+Miyhrjaqfhx1CTzp/dn9TByMK1djfI+j4yS011Yi/LD8uVtX0B79cVSMg7Vzt1pQ9/umkMf0IIYbMuG0EAAAAAPQcJTuZnDwnlR77dydfv4MNEI9PwgoVTkOkoNyShok2UOM2miAIgjZHda2QHf8mOXKNs+SaF+SlMzbVIPNPXkaZm68ie98Oyi3Okysd/3YmgL24U9Xx62yAKANAOvbO8px6zZJfz2n+3qJ0/hcvU70EuKeAtSz/DQcDuAfA3PPIPfsscvPTZHOmVaFGuWJLOYAcAOCmhPG/R9DxkldsRqf9+vQ/y6UovO/Kx2ZQ/VkiObpDiJGs3KATcVsIAAAAAOhJBgqp1PTVXthY4VMJNkI8HkfFs6jLdXVa1p2uCEEQdDJL9QDgrCa5rmUjp9sLq5Tl01h/lMxLnkHmt94jHflZ8vfNSWd+Z9S9f5c68W9381elAFEAgMsBnKjGXzX7W+IxfzspszgX/RupAxwAuIrc8x9IwWBNlyCo8oM65cJmpweAi4yrnpbKtIvKALj/Q9BfVdeknav9ImNPf1z0jT8hbqsAAAAAAD3NgOW62x/vBNUvuYX6L71SK6r5j+oSeVRWCIMUgqDeEK9vZr/utp/l4CY7Y2XdF8DJTZF9/rlkv/9lZN50OZn7Z8mRTrzdrt9fiur8VxZ0XT+f9EfZAZwpYMuvMZbnKCP/nbsyTwb/W/mas7yT7P/cQdan30a5kWnK+RMqAMEZVirQqiYANFVGgoseAD0tFVRXt1EDytK0es5wp3+eSI9fKkRlMG6rAAAAAACnAInE4JzpVa71wuaqSvkfqOoTilAHAuI2miAIgjZD7HzZ/Q3taIe68anVX6N8WFFN+FRq/vMfR5lbriJzZWdU6z+nnH1HNfObJ2tFjwpUz6mGgPPkLnIvgJ2UWpmjNAcAuFxgWT6/vEDO9fLrr3mb/P8+ngpc782jB3kCAf8cnHGlsgGaOisBAdeelgqsl1oU8OcvrwUuP3EK9Tsz1tQ/CjH65LhtAQAAAACcIuTz93uyk2v9kxs2D2UH2DielIZKS6XIZlGTCkFQj6g97YSdbu4DwHK4+alUvjhDOXuagsdeQO6X3kH2z2fJPrCgOvo7+2bJ27tT1fNnVG3/vJoU4KoT/j3k7I0CBSu6T4C5d478/Qvk7ttF5o1XkPn5N1PgDKmMA3b2XeUAyrVWOoAFPv1X2QgN+TPE/x5Bx1N11QeAR1G6/VMqEJB2q9em7PqrTbM1HLctAAAAAIBThGz2TD+R7H+D4Q7/1C9Pq1OpgMsBig1kAEAQ1HNq12Fz7X1O3reLFemUtVQqvl8/nZznPZrS111J5sHdOgDA4pr/xV2U2r+TDK71V6f/c2Qsz6tRgNz8z+fnVxbkc/K1ffo143vvJnv3C8hzR8kv1Cmbl9+zwCUIPJGgRrmSbkjoqZ8NGQC9LHXdlRoqAGCXKmtBubaWNMY/I8Two4Q4MxW3LQAAAACAUwjDGD7X8sY/5BSmb/eKjTXdABBNACEI6j25fBJf1LXY3HjP5hNZ7souX8sVK+TNnEb2zy8ne+lyMpe4B8CcbuYn73MGAI8G5AZ/XCZgcr2/fN1VvQDka/Kx6g+wNKcmCph/cwl5jzqH5NqqvqfXDjRw9/dSLXIKo4aECLj2tNrd//lzd8LaoYw99vNUZuzFQgwOxW0DAAAAAOAUw3XPLBju5AszztgP/VLriJqVzf0AuFPxFjCcIAiCflNxYNMrVaOJJy09CrC/Tk5JZzvxNIBsbor8YemQ/5/fJ/cHnPa/m0x2/tVpv3Tyuds/BwWW5pTjb61wbwAdAOB+ABmeGrBvlhz5nHXdleTseoFcR8fVqa9u9tdSp/3sBLrtAECogwEepgD0tqJJO25YO2Ln6teLbQP/T6SHWzj9BwAAAEBMFB+cSg/8ZVBq/cIrVVRDQH1SVe+kLnbuF7WhevRjCIKgrSoOADilCuW4EVtpRjniWeWU8et8+l7RDtrwdnKffB65X3kHOdddoTv5L85SUjr1uX3z5C3Nq6CAuTSrGgV6S3Oq8Z+9n9P/FyizvINcDhZc827yXvU08q2R9ZF/oZ4Fz84+Zx9w1oGX0983GIj/PYL+e9fVsfbFzuvt/VNleVTJytd+kXGr3xJi4BIhSsW4d34AAAAAnKKcPnZeMDh49gWGWf2hm68d4gBAt44OAOT6WwgAQBDUewprlDXGyf7sH5J18x5ylufI55P//fPk7NOn/+b+OfIW51UTQHPfZdLpn5NaUKMCnZXLyLhlN7mXv5Dch5xDDkqpelrs2KuJDsWa3Bd1eQfvidkyZ9A1udO/6v7vc/ZJ2CLDqeyTzv8HRkYekpVbb1/cez8AAAAATl36THNqKJEY/l9+OHOQGwG2HX81tqgdCIhu3UI1MnAaCABAENQ7KtSokB4jd+FFZH73nWQtzkrHXzr9izsp2L9A5rLuBeDI++nl3SoDgGv+zeV56fxzD4D3kHv7+yl4yRMpG06jlKrHxT0cVHO/sCad/cqGaRP8HO+X2X69nzqFxh2GV/mUEIPPFXD+AQAAALAFyAhRfmDGrv6jk6vd1jZe2gGAdjCgbex4yACAIKjHpJy37DS5j7uA3L/9A7Jv2CMd/TmpXarRn6UaAXL3/3nadmCBXD715ykB/NqKHhFofeM95DzpEeR6E6rHQNy/E3T85BXbaka364Hy9r6pgubyden8/yiZHnuzEAMjcW/2AAAAAAAdEsmpt5he9QduoXakHQBwQ92tOii3onrGriDAFjDCIAiCNkOc0m2XpfM2UCP/ipeSfdNVlFqZ1Sf8S3OqCSA7/6Z09NPLC+Qu7iJ7UZcFmAfm5ddfTe7sC8h94Fnk5CsIAPS42s5/e3/sdvq790ojV7slZU79qRAjF8S9xwMAAAAAbMC2GxfYXuWvnGzl5rYR44bdhk7jborbCIMgCNoMqWaB/XUKzDHyL3422T+Qjv3KHHnS8ff27SRH3trS+beXdpK/OK8CAFwmYC7tUBkAmds/SPmLzqNgsKEaDWJ97G0pZ7/Udfrffi7KDJD317ywvpqwJq4RxvgLhD1einuPBwAAAAA4Bv4LMvbQN6SBs9qdBaAbGjXv1iAwbiMMgiBoM6S6tXMAIFcl/4LzyH3/K8i94XLyuLM/n/bv5yyAWfL2ciPAWT0KkEcCyvv2tbvI+clVFDS2UzaYIr/cIKdUjf13go7z9cJjHIvrGXFOQY+b1BkBzVW30PhVX2rsfwnRf2bcOzsAAAAAwDFxnEbTzlYvs7PTt3ihml0c9QBoqY7GqqYRJQAQBPWY2g4dd3YPynLte9lTKXPrH6vTf5NHAC5eRtbSZWSrev9ZNSKQswGs6y4n4wdzZL34yeSPt+T6WCG3LNfNMnqk9LKU899Rd9o/NwLkhrmNXyWNye9lrKknCDGSjXtvBwAAAAA4JqXSdjttjjw1bY/8uxptVKofld64HgCI2wCDIAjaLKm57mq0m3TecxXyHvpQMv/kFWTcfDXZy7u1s89j/w7spPT+y+T9XWSuLJC1dzc5//Bmckc4cBAFEVjl+H8n6PhfLzoDoNbZH/UUgPphJ19bEomR94vM5JRA538AAAAAbG38yWSy9HonmDzgFap3tlMc1/sC1DABAIKgnlLnBJfXuVDeH54h98JzyfiHN5CztEDuDVeSc3APGStzlJZybrqKzMXdZH/sYvJ/57HkuRORI6hPhL1SK/bfCTqO4jp/FvfJCdv7YxREylduzjgTnxJi4EIhCm7cOzoAAAAAwL3AH9+2Lfw7Ozd1UBq1q6qpFc815tGACABAENRj0iUA0nnj+8UmZbNV6eRVyH/CuWT+9WvI+bd3knfNZWR/653kfvNd5MnHzkcuJvd/PoICq5+coRly2AEs1uS/a0ptj/13go7j9cJBorCpJT9vJ6ySpzNA7rT8iW8KUX5d3Ls4AAAAAMC9xvMaOTc4/blGUPm6GVYPsWGclUZPnk878mzo1MjvRxAAgqAeEQc4wxo50onj9P1ssUGFXI3yziSlw1FyHvFQ8i95NlnveREFb3w++efJx+VpCrwx6fRVyRys639TaKoAgF1uxv87QcdNOt2/rrIAsuWGugbsUnUt6U0si8zwVZlMtRr3Pg4AAAAAcF9ICNFwRCJ7pZUdW+JpAGzUevkK5crNTu1j3EYYBEHQZinb39jQ9yQoNVVJgFOukj9Up2C0Ru5IhZzRBlkDFenwVVTNPwdH/XxVpYXzWskZU1wqFffvAx0/dbLgyu1rpkFOsfrLjDP6RSFKL5R7aCruTRwAAAAA4D7jOGMPM73pv3CytVvYGFbp/6VIKAOAIKhH1K7fZife4zF+Uq58bBdq5A20dJO3QkV1+beLNd0rgE9/i03Kccq//LqAT4TDdlM4rI+9LP7sVVPcYlU6/jUV+MnYY99PpoffJMTQdNx7NwAAAADAf4upqYs806y+yvKr35IG8BFfnW7BuIUgqLfkF3X9Pqfx8wm+mnRSqFOu0KBceTtlQ7n2FTgw0CRLZUG15HMt9Xy22FIOoG6SWtWTBDAFoMfVVNcIO/92sXrEyk7f3Jcavlo6/w8T4kyc/gMAAADg5MUwKg+13MoHnPzUzV6/No792I0vCIKgzZMOANSj7u7yNqxRPqxTsdiUt9rR54ZvrnT83ZIOAHDzN9UFnh/3N1XvALtUI4cnASAA0PPivdAp19esYvUXIj3yDdE38jQhRvvj3rMBAAAAADYB+5F9qfyX7OI0TwRYU2OPUOMKQVCviOv32aGPAgBqnFu/lh1WdYf/cpPy0vEPCw3KhjpgoNLAuXlgoUqW/Lr18gBkSfWyPJXpUefP+y4jN75XiPLlQuQH496pAQAAAAA2hTBslN2g9txtxsiSJw2ebNQUMG4jDIIgaFMUBQCsUl078RwAKNdUjXcujAICeswbOQM61Z+zBHI8IYWnBgw0VUO49v8LAYDeFmfB+fJ6sHOTBxN9A3+R8erTQkxl4t6rAQAAAAA2iTNTjlNv9RkTH/aK0zdI43aVT8riNsIgCII2T80NJU48/pRP9dvOv1Ou6VnvxajRXzsgUKqqW1dlCXATQZ4eEPfvAh1P8WdsZaduTRrDnxJi6JlCNNJyo9wW904NAAAAALCJVN1Mpvpowxn4Vzc/fVvcBhgEQdBmqT0FIBvdV4EAHn3a1RTQj8YDKhX113HDP4ezAcrRbPii/rfeFvidoOMnp9i4K+2MfU8kypcKMTES9+4MAAAAAHDcSCRyF1v++DfcsHpIGc1FbShvbKLV1VQLEwMgCNri0k4/9zWpq5N/V61lTcpGzf54xB/X/esxgS29xqmxf3qdy/W35GvtMYB1NEo9adWMAjy1zn6mro92ACja38xg6kDKGvmQEMVHxr0nAwAAAAAcVyqV8wdTqeGdhjO+KA3mVa/YkgZzqysAEHXHVgZUVd3Gb9RBEARB0K+XX5whT2V+VNT+1e51w/e58Z/c49acQuNwMjPyz319g08dGDjTintPBgAAAAA43mxLpyeeYrjVT9j51h1BvzSWylNdmQDaaMr16yAApgVAEARBJ4N4ooOrmj7qTAC3UFGjHvXrvJ9VD6fMqX3JzMRrhBiZiHszBgAAAAA4QYyVU6mhV6StkW/7Jen8lyqkUv2j1H9Pnfq3tBGFbtgQBEHQSSCdscan/jNq/2rvZUG5ycHsw1YwecO25PDfieTIQ4QYMuPeiQEAAAAATiBuNZEsXmw4wzwa8E5d669rX1UDrXKrc4oSt1EHQRAEQf+V2gGAbHmm0wCSJztwhpuTrdyUMob/VYjBp0vl496BAQAAAABioH+0r2/oT9187YBfrB9RjbRUBkCTgv529+z4jToIgiAI+q/ETR3b97kRpFPS4yDtfO2Xhj31VSEG/kCIhiMw8g8AAAAApyKFQtUtFs+80PSqX/QKzdv9YnNN11DyXOyqnpWNEgAIgiDoJFC2NKN62PDe5ZVr5JSrnMV2JONO/1QkJ95tGGeMyq0vEffeCwAAAAAQI2emhBh8l+3VfuSF2w/7XCtZnlSnJuujAOM37CAIgiDo10nX/TdVI0CvXJGaJjtbuSlpjn9UiIEnCDj/AAAAAABMeSyZLO60/LG9QVnP1PYRAIAgCIJOIrVL2FT/mnJt1Qmnfpkyh/9V9PU/RwgvF/dOCwAAAACwZUgmw3MNa/gDll+5wQtnopGADQQAIAiCoJNCnLnmci+bUn3NLzUOpa2R7yZSA68UojQe9x4LAAAAALClCMPznLQ59dSUNf1pJ9s65IWtNRUAKDWicYC6IaB6XNQKSjpbwIsyBuI2/iAIgqDeVGfvifajzvNFPcKW5ZUb5JRqZIfVQ1ZQ/VkiOTAn0qN1Ic5Lxr3HAgAAAABsOfxMa9J2W5eYbnXJLTTvckuNNU+NApyJ6iq7AwDNyCirK4PLLdViNxAhCIKg3pMfSQehW51gtHqt2C5Xa+oAQLGxaniVg2Lb8MdS1sQDhCjZce+tAAAAAABblYQ0llqJvqH/6+Za13th6zDXVPJkAL7l0YBKZTa8dACAn/f7ud6yGbuRCEEQBPWe/C4F5abak/R9HYS28xXSe1WDnFztNsOZ+qIQ5ZcIMWDFvakCAAAAAGx1TCHCM5LpgY872ep1qqsy11UWa+SW9Um/Hg+oRwTq4MD6aQwEQRAEbaa8Qp186dyz868CAMVoTK0qQdOja4N+NQHgV6Y7/a1EcuCtQhT65X62Le4NFQAAAADgZCAlRO7RaXPsr5xs5YZ2nb/TVe+v5iyHtWhigO66HLeRCEEQBPWeVMlZV9kZO/1aek+S+9GafHzE9Co/SmfGLuMgdtybKAAAAADAyUair2/gmYY9/mknX/0V1/27fNIfncAoI4xPXUoNBAAgCIKg46jI+S9GGWjleqcnAPenkbeHDW9iuS8z8l4hBh4i96++uDdQAAAAAICTjnz+7MGMPX1xxp36qR+2jrhha80rtigot5QxxgEAX81dbmzoygxBEARBmynl/Ms9h0/+dRCamwFKhTNHnFz9RrFt6GPJ5Oj5Qpxtxr13AgAAAACctKRSUw+y3PqfBGHjdr+0fdUNW9GJi84AyCpDDD0AIAiCoOMn3muy/Y1O6j8HAILSdnJyjVtFcvwLIl15shCTxbj3TAAAAACAk5wpL5kZvjBlDPxzUGzc7oWNVQ4AqO7L3BiwUO3MZo7bQIQgCIJ6Tzrdn9P/dQaADkA3yM7Vf5Gxp64Rov8dQgwPCNW/BgAAAAAA/IZ4OSGCJxvOwJe8sHpb0D71jxoBogQAgiAIOl7SAYCo+axq+qcm0Bwy3MkfJlJDu6Omf6j7BwAAAADYRDLyvxdZ3sgXvbB6uzLIOA1TncToW22s6ftKpfbs5voGxW1MQhAEQfFLB5K79oviUY/b+0YUZFbOf7m+5ob1w2YwtTdljLxfiPz5cW+OAAAAAAA9TPCajDN6jVus3emW9YlMoMSOvZYXGXBeJGXAlfXopvVAAQRBEHQqa+M+0SDp2G/YN9SeUeZpM+09pbYm950jZjB9Q196+MNCFC+Me0cEAAAAAOhpBgbOGUka45f2GWN7VS+A/mZknOlyAL/LmIvSNHWDwHIzquGsxW50QhAEQfHL69ofeK9o7xftmv+gn8fPVnXmWFntKatWtnrHtr7y55LJgQuHhtDxHwAAAADgOHNmynAbDzGd+rzp1W7yi60jXiftf30igBvWOoEAhxsFlhqdzIC4jU4IgiAofvldweLufYLFQQHVbLakgwFqX8nXb96WHPmiSI88TdjjJbkhbYt7RwQAAAAA6HmC4PTAsBsXZJzaX7v55g1usXaEGwHq8YCNo1L/1wMCGBUIQRAEteV3qe30r2eP1dV0mfbYWSdfuy3jVr4gEsOvFebksNyKknHvhQAAAAAApxBDubRZebLhTH3WzlWvl8baETbWtMHW1QCw3IjS/+sIAEAQBEEdaWe/sXHPKHUHAFoqAGDla3eknalvJNLj7xDp0brAuD8AAAAAgFgwhCi8Nu2Mf9nJ124NSs21bH9rQ1OnTup/ab27c9xGJwRBEBS/ju4V421oCsgB5daaGzYPS+f/p6Jv5GohBtHxHwAAAAAgftzXGc7Id/ywfle70V+3Idep6dwCBicEQRC0NdQdAGhrQxCgWF81g8p1femRjwjR/+i4dzoAAAAAAKBwiolE8BrDGfhetty4ywura3oaQEOd4nBWgDb42qMC4zc8IQiCoHjVHvXnlerRJIB2SYBUoXaXE1QO9qWHPq6d/4Ib904HAAAAAAA6GBOpVO7Vpjvwo2ypfiTg9E2eClCUzn+5FY0I5BGACABAEARB3COmFgUA2iUAuumfGzbusoPpA8nM0D8JUX6sEF4u7h0OAAAAAADcDWMikfT+0A7Gfu4XG79i51+d5KiTHU7nbHSkjL+usoCN/QGasRumEARB0G+g4voaf8y1vhhlAJRremJMtDdI5/+wHVQOpK3RTwhRfJYQoRP3zgYAAAAAAI7NNmmwlYQIFhx/6vvS+T/kSoPPLTfIU4Zfk/yQtW4IZsvNjUahMhK5ZABBAAiCoJNTcv1WGWB6jT9WAID3A94XOP1fTYgptta8sL5qZ6dvTFtjnxSi9AIhzsOoPwAAAACALU5fqXRhMZHw5yxv7OdBuXXELVaJ5UdlAR7XeaqSgPoGg3CjcYhSAQiCoJNR7fU9F/V/aT9ur+scFHAL9Sjlv05OWF2Tt6tutvaLlDHyRen8v7BU2m7HvZkBAAAAAIB7R1/WqbfS6aHLMtbwXt0QsEaOqvWUxl+ppcSGoFuoKuOQDUI2FhEAgCAIOrl19DrezgLgtb693gdcIhY2yS025N5QXzXz1V/0pQa/0Nc38ju2PV4SKqMMAAAAAACcFPDpjWGMn5vJjC1k7Iklp1Bbdcs1aexJI7DQUMYf14B2ZwJ0G45xG7AQBEHQf19th7/7fnfZlxd1/HdLjVUrX70lySf/fYO/I8TIBFL/AQAAAABOQnK5szzDqJ2XSo2/33Cnl51i9S412znUzZ7axmHbQITzD0EQ1Btqr+fs8HcHetf7vqjeMNL5r9yccsY/L8TAy4Q++YfzDwAAAABwssJBgCCYeVgiNfZhKzu95IX1u9oGIqf/r58G3T0TIG4DFoIgCLrvOjqYe3QmQPT8mlOo3JpyRr8kRPkSxzkjlFtGIu49CwAAAAAA/MYMmXn/jAuSmYmPGu7kAen4r7ZPhY4+GUImAARBUG+pHejloK+Tr6zJx2t2fupQ0hj6mhCDrzXNqaG4dykAAAAAALB5bOMggOfNPCbtTP+FGUxfF5Tqd2v6d9TpEARBENQj6grqrvlh7a5UeuhricTQy0VmalLuEX1xb1IAAAAAAGCT8bxGznRqv2U4039uuJMrfrG22nH+Q90boG0oIgMAgiDo5JRewxtq7Kvu+dIJ8q55heovUpmhaxKpoVcIMVYTYioT994EAAAAAACOE7bdKJtO7Slpe/pDhldZccPGXTwi0Aur0lDk8VCcFdDSxmOprqQaB5a6jMj2/ej1uI1dCIKgU0Hd63Dwa+9rqWkvqtt/jfxyfc3NV25OW6NfTSTKr81kxqtCjBlx70kAAAAAAOA4Y9utkuue9rg+c+pvzWxtv1Oo3eUVK9JIrOoTo+J2deuValJ1crlPQKmhAgGdYAA/RgAAgiDohMnvWoM39GwpHR2gbSoFSrx2V1fdYvV2wxv/qhDltxlGfVRuBam49yIAAAAAAHDCGDJ9//6PTPSN/JXpVZb9cnPVG2iQXZgmL6wrsePfdvrbRmf7fn5we+d+3EYxBEHQqaB209Z2/5b24/baHJSbat0OSk0l6fSvyefX7ELtVylz5D9Eovw6I1DOPwAAAAAAOMVQjQEdZ+bcVGr0A2l7fNkpS4NyQBqa5WhklDQg26f9bFR2BwTa99ErAIIg6MSoO83fzk3rEi3O1CrqLC0OAPC6rYK4XNpVqq2ahcqhZHroq4nU4IsMY5yd/2Tcmw8AAAAAAIiJXO4szzBq56UyYwtpe2yvp5z+WuT4S0Oy2Fh39kuNDVkA7efiNoohCIJOFekygFrbwefafnXrKqe/qeTzmNdi/Yidrdzclx76cl9q8LeFGBsT4kyk/QMAAAAAnOoUCue4hlF5aCozustwRhfdYvWQV2pGxuTdHf4Nj5EBAEEQdMLUTv3XPVpqnV4tugSgJdfoFrnF5mHp/F+fMkc/19c38HzTHBoUGPUHAAAAAADaDAycaflW/X4Jkd9jBZPfdcL6HX6xscYGZ7fDf7QQAIAgCDoxapcAqABAsSYd/XYmQL1TAuBJ59/KVQ8mrbFPCVF+OWd5ySU+EfceAwAAAAAAthznJcfC88pC5N9uuGPf9ou1Q0GpvuYUqpFheXQ5AKYAQBAEnUj5xfXJLBvW42JjzS1Ujzi56g0Za/zTQvS/IAwbTty7CgAAAAAA2NpsE6JkC+G9OmP1fyco1g/xuClPzZLWDaY4GKCaTZURAIAgCDqRap/0Z/tbG8q03ELtLieoHOxLDv2D6Cs/XYiCG/dmAgAAAAAAThqM8UQq/8qMPfSNoFj/pV9srnYaTJX0qCkEACAIgk6s/E4/llakJjmF2q8y3uTeZHro74UoP1aIsCxUMBcAAAAAAIB7jTGWSORfYTqj33Dy9ZvdsH5kYyPAWmcygOoFUFRpqFrcRLD9GkoFIAiC7lF6nF+9M31FqRjV/JfaPVfk47CuVWpPZGmQla//IuNO/7AvPfJnQpSeIETOi3vnAAAAAAAAJy1OKIR/4fhWSAAAIABJREFUccaa+KKdq97ghbUjHaO0UCNX3rK4KVWOywNCXS7gSsPUYQO13NCjqhAAgCAIOqY8tY7qgKoX6tR+HUitq7Gsuukfv6YDAPLfrMnHa2au+ouUPfltkRq5Wjv/AAAAAAAAbAqF1xjO9OecXPN6zgRwi1VltDrylhUU65TnulRlpNbICfn5KFuAywUwLQCCIOiY6qT1S+fezdeVox/I9TVb5tuquq++VgVUG9yYddXO136ZsKauEcmRBSEGHx73DgEAAAAAAHoLoy9de0raqX3UDOrXucUWudI49crR6T4br4WqUlCsUTZqUsW3cRvXEARBJ4vao/58Hu8XVuRthXL9zU5g1Qqrq0auevu2vtGvisToJUIMt+T6nIx7gwAAAAAAAD3HUM6w648w7ep7+tJDP3GLtUMqRTU63c+y8arGU9U6df/rxiwyACAIgo6pYkMFUdvZUuzwZ/u5xr8qnf6K7rfCZVWF2p2GN7m/LzXy6b70xDPlmjwlZca9MwAAAAAAgJ5lwresqTNSqcFXG87Il7xC5WZpmK66YV3VrQaqK7Wu+2/X/iMAAEEQ9GtUjLKouBdAFATQ6yj3U6mrpoB2oXGH4U79OGWMfKivb/Cpwh7jTv+puHcEAAAAAADQ85yXHC2c2S+E/3zLG/knN1e5wS00DnNZgBeNpfJUV+v1UYF+3AY2BEHQFlVnUko/O/w1FQRoB1WlVp1C/ba0M/XtRGp0jxADF4Zhw4l7FwAAAAAAAKckwe9mzKF/8Qr1m/zSaUfssL7mtqcEdLIAGggAQBAE3YPW18v1cYCuXEvtfO2Ik6/dlrTGvykSQ1cIUXpQ3Cs+AAAAAAA4tckIETw5mSl9ysrWb3DDxhE9v5obWFWV/KgsIG4jG4IgaCuqHSRVAYDO9JT6quVXbuhLjXxeiPJbhAinBZr9AQAAAACALUAumRw8P2NXF5KZsW+52cqt2aiplWoKyL0BivEb2RAEQVtVftv5L6o+AIcMd+LavvTQR0R65NlClMaFCrYCAAAAAACwJSjZqdTkmanU+Msz1ujHnezUih+2DrvS+XdLupkVd7LW3azrOigQtigo6jGB+jU0C4QgqHfE65lXrG9Y27ono7Sb/em+KXzq31y1s9VbM87EN5OZ4XnRV75IiOEBucBui3uFBwAAAAAA4Gi2FQpnSGM1fFraGPpTO1tZckrNO51SY83l7tbKEI4mA4R17fwXWyoYoIzfaGpA3EY7BEHQZqhT2x+N8QtUeVTjbgEAXv+csHGXla3dkDInv5xIDr1ViNJZQowZcS/qAAAAAAAA/FckhAge3pcu/Zmdq17rFOp3uGF9lR19PunSHa+nKSjXVBDAC6PpAWUEACAI6iGV62qd0wEAufaFnPGk10C3WFVd/71ifdXOVw8Z3vT+vszop4UY+AMhipNxL+IAAAAAAADcR7hp1eD70vbk951c4w590s+driuRqp3U/6PTZCEIgk5+sePPzVBrqhmqG0YN/8p1csKKum9nq3emzYmfisTAn0nn/xly4UzHvXIDAAAAAADw38EUotzIWFMvTWaGPmFnJ1aCcn1VGb/FhpIXnZApI7mAAAAEQb0jnx3+QpTyX+b1rkGuXPNcPR51zc1Xb0tbY9ck0yM7ksmx8+R6GQrU+wMAAAAAgJOYhGFMjPT1DTwxYw38seWP/sQJm4fcYmvN5VTYMp+I6ZGBflQfG7fRDkEQtCniHifhjMoA4IwnDn5yvb8d1g+ZfnUlZY59LpEcfq1IDd9fiKob92INAAAAAADApjAwcKYlRHBuIll6V8apX2NlGze6YeOw6gegUv9r8RvrEARBmyqedKIDAG5Y4dsjTq52W8ap/GBbevwjQvT/nhAjE3KJTMa9RgMAAAAAAHAcGBgWYuwN2zKT/2gG0/vcsPorv1RbZWMZGQAQBPWi/FJ9zS1U77L86RtS6fGvCDG8S+qJcj204l6RAQAAAAAAON4k3dwZZycS5Ssz9vCPvHzlTjaSPQQAIAjqIbXHAPrl+qrhTR7Ylhz6J5EY/D1hVgbjXoQBAAAAAAA4gXBJQG4okSi9MmWOfM3O1m7zStU1jAGEIKhX5Ia1I0Zu+taENfHdRGr4g0IMPEKIwbxcAFNxr8AAAAAAAADEQDDWlx56dtqe+j9pc/BHbmH6Nr9UX+WRgVmun5VGtBqhFU0H8NviudpRsIBf6/6ae3oOgiDo10n1JClFI0nVc01S40vD9Qklam3h8aXl9uOGnmAi15ugPdJU/jurWDuUCSaX+ozhT4rk6Guk8/9gIbJ+3CsuAAAAAAAAMTOUSyZHz08kwtcbzuhn7dzUATesHWLj2gsb2hgvR4Z5WI+M8nonGMCvu2rOtr7fLQQAIAi6t2oHADqBxl8TAHDV9BK97gTFaNRfWFtzi5VVMzd9c8qb/H7CGvnfoq//2cJAoz8AAAAAAAC6SdRqD8wnEsWXJK3hvzWzkz+z81N32PnaqtffXPP7G2qMlleoUbbYoqwyzNcd/rbB7qpu2zX1XFBuxu5QQBB08sjv0t2Cie3XosAin/i7hYpcZxqUHWjxa2t2vnKnnR+/qc8c/oLoG7hS6vFheJ4T9+IKAAAAAADA1iVVeaBIjFy2Ldn/DadUvcPtr6/aYZWcvDS2S3UqlGbIL0Sncmy490tHv186/0Wes62NdKdQRQAAgqD7LF4/rNx0x/FvBxTbAYCg3KKsVK7UpJxce5xijRy5Ltml6p2Z7Nh+IcJPiL6R3xZiYiTupRQAAAAAAICTgAFLGGNjGWvicX3pgb9Le+PX2mpcYFQSUKiQH0a1t3wKJw3w7EBTddvWqq+n724BhwKCoJNDndN9vl9udNYULgvgoKIOCrS/Tq47/TMcLDhieFPXJ62Jf0tkRnda1sT95RpWEGj0BwAAAAAAwL2mT/gzWSHChyaM8UtT9ti/WMHkQbdUX3XL9bUgKgHQxnq9y/nvDgA0EACAIOheq908NMvZQ+XGhrWFM4o2lgbUjtjZ6VtT1uh3+4yxD/YZ488XYmhmbOw8Q65f2+JeQAEAAAAAADhJmWyJvsHfTlnDHzCCqZ9kwtptbHyrSQBSQb8+qeNMgPZpXXetbtxOBQRBJ4c6GQBRFoBXijr+y9tsf0s7/mFt1c1Xbje8iWuTxshnEonBN4rkyCOEGO2Pe6UEAAAAAACgN5i6KCNSYw8SiYF3C2fys2Ywuejkp37phdVVNSGgvLFRV3sEIAIAEATdN9XJVen+d28y6uQqdzrZ6esNZ+wrQvS/V4jS802zMijEeejwDwAAAAAAwOYzZGa8mYtEonC14Yx8xwurt3ul2hFppK/5pdaaF/UFQAAAgqD7rnokdvhbSl6xueYUaqt+sXHY8if39qUH/16I8ktFpjUZ92oIAAAAAABAr7ONgwBCuAWR6H/RtuTAJ1PG6F5pqK/qAAB3/m+qGt52ECB+pwKCoJND6wEA1XA0bJFbaN1leZXr+5IDX08kh94txMD/b+9ugGQ76zqP/6f7nNN9+rz12+mXmZ7p7un37rmXhBvEhEKyqxTqou7CCrpuAbWLhVT5trKUYCyz1mpELJYqFSQiVagIRqPg7sqii8lCrSyQAEWQ8JJ4QxJDbu5Ncm+4ue/z4vOcc3qmZzKTXNC9c8P9fqr+1T09Pf1y+pyu+T3neblOpOir7yLO+gMAAACXTq2VTi+81Mq2fzHrtD5tB4OHnXBy1qutbPj1lQ1Hj93VSwNGjQCTjUL1wEZeNxBEXXpnJg2sPXMwmB0bvP8hhaKoi634uFVhXjcKJrP35/WkfvoyHEXfC0ElmVRUd//XS/+p605xfN7ODx+13P5nzezye9Lp+VeKLFyVhH8AAAAAl1qjca3t+8s9kdJr0rnezZbf/7Rd6B91K+PzXjSD9yBuBNBn9Wor6p/8lfif/Woyw3dtGN3n4kIEDQAU9WyrIBnH71Xjpf3i28bRUqJRg2B1ZWtmf/U7Ff5Xc6XRkxmvf7dpd/9YMss/p75pXhSGY1d95aT2+zsPAAAAgGb2v0Ok/jNmdvGWXL7/915p8IRfGV/wq8P1qCEgOuOv/tkPD6h/9g9sBLpHgF7rO+w/JdgT+Cnq2VfbZvGfOXbjRoDBRr4e9wQKwrgxMBoqpL4bvEp/wwsHq244Ou0Wxw/b3vATKWPpJpHW94p0Kvv91QYAAABgT/NXi9T/m0jttlx+dCSoHjyrgv+aowKAV1f/6FeTGb51CAgnuwb9vYIERVGXb+153EY/q+O+rJfxS4YC1PobQb2/7oW6RqtOaXTccpe/oL473qeC/6tFlgr7/U0GAAAA4JlZIu1qEBx8birdfkc62/5UrjA4GtQmG47uClzXXf97UQDQPQCC8EDUJfiiggRFUZdt7d0AMI7O+vtlfcz3Nvxqf8OrDDeC6mQtV+qdMrPNL6bSS3+SMpdfnwm6HZGQ7v4AAADAs8icnh9AZGmctvv/JuMsv91ymp+1gt5jflUPC9DjfeP1vf3K3ksG0gBAUc/+CqrJxJ/JOH91ueoUBydMp/slI9P6YNpc+nGR5rUiCw2R65ndHwAAAHi2KhQOBaa5eI2k66+1vN57bG/587l8/1GnNDqnhwJEkwXucbafBgCKunzrYnvpRBN+Voe6q/9arjA6kfX792Tc7ofEav28SOP7RBbnRQ6Z+/1dBQAAAOCfzXzO9lauE6m8wcy2bsl63bucQu8xpzI6pwLE+s7uwwR/irq86yKP1XU/HJ13CoMTdtC7z3C6/ytlNN8q6ebL7OLBhtDVHwAAAPj2ZhjD61Kp+f+SNqp/nSv0/kEFiLOqVndrCNjvkENR1MXVzHGrj+P1fGW0pi7POYXe0bS1+CmR+s0q+L9cpL+w399BAAAAAC6ZbkYkKIgsXGVZ3RvTRu1vMm77frc8PEMDAEU9O2u2AcAvDc9lvc7XjWzzk6n0wu+k7ebLRMKaSNVRXwDp/f4GAgAAAHDJtbIiix2R4nca1vKbrGzrwxmndZ9TmpzSSwfqCcOCaVWGG4XayoYf6qXEhipwjNTPQ3W9H60xPp1UMNgjnOi/iScdjOcc2O+wRFH7UrXxhhcdL8N4bH50LG0dF9NGt2C32yrx/eOfJ1Hpx8jXJuoxRxt6OT+vNDqZ8XqHzWzrb4xM8zckvfTDIrWJyEJJHfBz+/2NAwAAAOCysNwTmf+BlNF4k+UO/yrrLx/OFfrH3fLo/GZor422Vg1IAkoUSqLwnzQA7NFzwEsaAIKZcLPvYYyiLmEFyeobW8fLUxsANiscbzueomMmHEVLdkbH3eYqHpN1LxysZYv9k9mgd1/G6X3UyHZvEmm8XKR5tbos7vc3CwAAAIDLVjcU6fyISPgrRq79oWy+98VcvveoUxqc9qq9taA2XA9qEx08NpyyCii1A3o98SiYxLX9jOVsgIl6B9QmNABQV2QF0Vn67Q1h09t1Q8BW+I8rv3m/+HZP36Z74UTXB2teeXjOKYyeyPjtB0y3dXvKXPpNkYVXWVZvJEzuBwAAAOCbYvS+S6TxS5Ku32o67bvc0uC4Vxmd86ujNa823nD0MoIqkHiVyYZXjs9QFlTAn1YUeMqDKNwU6isMAaAo3V1fh/3kzL8+TvT16DipxN3589HxMx02E/cY8CrDaCm/fH285paH553i8Bu5fP8+w178mKTm3ynpxr+TbKu1318ZAAAAAJ69DJGGLdl208wN/kMqtXDLnLX0d9lC70RQV+FfVzSmWQf7pGt/EmamvQA2GwKSM5z6UlcUdPY7jFHUpS6137tJo9hsD5lC0jMmPj766no3mSdgHDWwuXHD2bpbGZw2c62/F2PxIymj9ctufni9yFJBHauWcNYfAAAAwD/d2BK72xCpHzKznVdlcu2bVQj5jOV1vh7Uxhf0mckorNTiYQC7hXs3OcM5O3fAvocxirqENQ37s8fBtDFs5wSaXjjYyNfH0dn/XHl4Nhv0HzHt9ucMu/Xnht38OcNY+h6RhX4+38oLwR8AAADA/w+ed6hsGM1rJb3wGsPuviUXdO7MesuHc/necS8cXZhOXDYbePLV8WboYRJA6kqtnXNibE2uOUnmBtg8bta9cHzBKY1P2UH3QdNd/tt0rvO7km78R5H6S7LZZjvqmQMAAAAAl0S3mwkqKx2R2k+KLP5XI9O9Nef37nZK3aN2vntKhZjV2WXLNs/8V2kAoK7M2tYAMNsQUJ0OkRmuuuXBqVzQPZrLD+8xnd7tqXTzt0UWXifSvE5aetlOlvIDAAAAsL9UKFm+JpVaeLOkwg+YzvKdXnlwNF8ZnQ7C0Xl1fU2PX9651Nl+BzKKupS1M/z74XDd01UZrAbV0Vmv2D9mue3Pibn4JyL1XxNZ+rci7abQxR8AAADAZSatKiuyUCoUrvn+dHr+HXNztY+Z2aX7nNLg1M4GAOYAoK60emoDwGDVDftn7ELvWMqs3ymp2nvT6aVXZ4NBWx1Luos/E/sBAAAAuKyl8vmr8iKVjmE0r8tkll9vZZffb1gLn7K87oNOeXzKr07WPR2CQh2MVlRNts0XMDs+enboQPw7fT+9hNogqqDy1BnVdzYu7HU7dWXXzv1sW800VMWz8etJLvXlYMNT+5w3M7QlmG3Y2nyMZO6L5H7T5/RU5YqDU5bTecDItj5tZBb/3Mi2fyWdaXy/SG2iKhQ5ZO73QQwAAAAA36SxZdudRZHFF4qU/rXlDm7IeL2/yLjLX1b1SK40PO2Fo9WdvQL0SgJxTTbyFd04cCC6HkTLDeo11FX4j+47iRoRglBf3z7x4GzoogGAmq2dk1HurNnf52vjZII+fX1FXR/FY/b1fhjtoytJjbY1GsQNVaN4n62OV91wdMbO9x+z3Oa9KvD/bxX+b5J088dU4P8XIksq+Hd94Ww/AAAAgG8X2fzVzXR68YdU6HmjGItvN4P+bZmg85Ws3zmSy/eecEvDc1FASxoA8kn5UfiPGwB04PfDUdw4UD2QhC99PV568GJ6Aux3AKX2t4JdQv9eDQBBVYV+tX/5ej9T+5sXTqLb/GqydF/0u3HSIDXt2j9a88uj87li77ST7x2z873Dlt/7ZMpe/iOR6g0i9R+zrM5KtXrQ2e9jEgAAAAAugWFJzP6rVBh6m0jt1rS59Ak76D4QhIPTfmV4ziv3V/1Kfz2o9jeccDnu9q9CWL5yUNWBmbOtulFAhbPwwK6zrO8MfjQAUDu77O/WABBfH294ZR38D0aNUPrsfxT+9f6nG59qKvzX9JCAzrraZ9f1yhcq+J/zisOTOb93xHRaX5pLVz4sUn632sffIHbnBXTvBwAAAHAlmtNDBETmc+XyYN4JRi+2rM6vzs3VPjpnLN6V8TqP5ML+Wbfa38jXVWirjbbGXuuz/bUDUSiLumFPx2jTAEBdRM0uwbfbUICtn4cbfjTmfxjta1v73GjDDfXtet8cbhQXxutqPz1r5ZcfT2WWvixz87elUo33ZDLd17vuaEX8RlGiCTLF2O+DDgAAAAD2W7pY1GOg9ZJnlYMqOL3EyHbfnM40/9TIND5r2u377Xz/ST8crkZnZcNkWEDUDVtPzqaDWH/voPc0jQLUlVc7J/zbewiA2lfme9H+pa9P9z2937lqX8wWuk9YTvNrpj1/p5GZ/0jKXPrNtNl6tZiN54s0eiKtmiod/BnbDwAAAAC7icdGL6sA1bheZP6Vht35z6bd+UDWad+R8dqHM173SDbontFLC0YBrpo0BuwR+An+1Gzt7AFwMfMBeOFwzSn1z2b8znG1H96ngv9nDbt5a8pq3ChS/hGR4ktE6s+NQz/d/AEAAADgW3C9Ebaur4nRfrFI5XWSqt2YyrTeZdit2+2gc28u3/t6Lhg+niuOT+seAoFuFGAVAOppavdl+7Y1BqyrwL/qlodnbX9wPOd3j9h++7AK/XfMWUt/Kqnqr4qEPyVSfWnUUDXWQ1kAAAAAAP+s5ucP5TLec/oi7VeIlH5NpHzzXLrxIdPp3umVBg95pf4Jt9Q7pa6fC8Lhmgp867s1ClBXbu3SALCurq955dEFfZbfLfZOOoXe0azf+arMzf+V2s9+X8R/m0jxZ0VaL/K8Q2XdMLXfxwIAAAAAXHGyhfGSbfd+VKR6s0j5f6q608g0HrTzvSdV2FubNgDsd/CkLq+a6d6/miv2zxhu+/E5o/IVkcL/VWH/VpHKW4zs+IUiBwr7vY8DAAAAACJ6zHUrr0JbQyRo23bnBWam87q0ufiOtFm+PWWGn09Z81/Lep3HXb1MW2244erZ3WujjaCuwmBtnCwpOFLXJ5tdwT0dDvX16GdVobqvngW+vHV9ug58tBpBZbx9Jnn1uPo53OpQPc5APc4wmkxOr2jwlJnno7+ZRM/nVkdReXriuegxxvH1mbHrOsAWqnsPb5jt1v7NhOE9768fP0xq29wKk2g75CvT+403r+v3q1duiN/37ONPouX04skch1vbpbqzO36yndV9C9WV5Hkmm59BEMbbPHpevY30c1XGyeSQM5+F2t5+ffpZDNZyYfdsJt8/YWYX7lf7xl1ps/ixOSP8MzGWbkxbzZeZ5vzVIvmWSLkuUnXUDpbe7z0cAAAAALALPYlgNjtsqWvPF/F+QCR4RcpYfIOZ7fyu6bT+j+U27jGdhQdMp3k0G3RPOqXheRU01/zKZH12XLivg6OuarIkXGW61KC+PoiWiJsGV7+yPdDrpeO85DL6++p4c9nC7TXzfNXRViXr0Md/M4mC7mY41mE8Cb5PO/Hht9IAsNfEiZWdwT9usNATMHqVpJLGkiAJ4VvLNI6jwL99cr1JtH3i7Tea2Y6jbQ0AXjjaXOpRb+9ou0efwzBprNn6bGYbGjbH8pdHF3LF/umsv/yY5Sw+aLoLXzZyjU+ls8vvSxkLN6ig/2qR3A+qfeR7RBZXRDoVkW5mv/dhAAAAAMC3yKk8v2oY3WtFKv9ehb03qeB3o0jtt9JW84OWs/zpXNA+rOrhrNc8lgu6J5zi8JRbHp7Xs7/rIOlHATUOoUFNXdZ0A0A/qWH0Ox32NwNoGDcWTC/zUSBe2bUBYFttC8STpFfB1pnu6PaZcH6xqx480302n/MZHmdb0FYBXPdOcKtJJT0evGg7TTYbL6ZLNkYNI+Fwq4fE9Mz/zHNF4T7qJRE3iOiz+l7Ug6Kvqhf1pIgevxb3jvCr0xn6B+dzpf6ZXL53MhcsP277raO233zI9ttfMe3ObWlz6Q9Ewreoz/6NIuWfEFn6bsmOmskyfQAAAACAb2eO87yaYbRfKFJRgdB+m0ju91RA/COR+ofT5vIdGa932A66j7rF/km3PDit6oyqs25pcEGvOBCdYa4M110VToNa0tW9FndH12G2WJ9sm3DO39bNfaa3QBKKn9IIkIRgP+lFEOysyvhpw36+Oq2LaADYdtvewwmCpLEjSHoq6OEN0RCHbd3sh9vem67p/YPksQu18VMbHDbf6zDuth8N1eive7XBuhNt59GaVx2vOuH4vF0anMkWe6ed8lBP+Hjc9vsPSaZ5t8w1Pq4C/l+IuO9Tn+fNIt5NKuy/wjTHV+XzV+X3e58DAAAAAFw2Dpmed83AsvSkgvO/LpJXYdL7hEjweRUs75bU/D1izD+a8Zef1D0EVChe08G4UF/ZDLxuebDhlPrb5hPwK/F4+NnSQTdqLJjpth6PqT+gauUpFUyrupJ0qZ/sumb9xfYE2O32XR9vs5Kx/nrsfTjZLP3aCtUDUW291pkx/3V1n/rWnABepb/ZeyJqEFDbafu22lbr8Sz94wtOeXDG8trHJT3/kEg0Wd9d6nP5jPqMblc/v1+k+QsZZ+XFduk5C/G8EAAAAAAAPC09BlxPKqgngQvaIpmeSHGczbZelM32XyvSeEsqXb0lbRT/NmUWvpAyy19Km7XDKXPhgbTdPpYJ+k+65dGFqDFAnyGvxV3Wg6SmY/z1+PZ4Irzp8ICVJPyrMFxWf1Maqst4vH9hOrleFMBHydCA2TkFJsnkd5OkESGZOE+H9otoAND3iyfamzYsTLvt73iOyuxjjDd/9sN4uIOXvLb4jP9wq+EjjOdE2JzXIGrEOBBNbqi20boTDqOx+mm3cyKVaR1R2/JrKbN6j962KbN4V8rMfyZtlG5LpSvvldTSmyx78MOmWXueiDtSn1FHJN8UqVZExi7hHwAAAADwTzGngmXOtvXZ5dpYpHitiPNikcy/EvF+UKT8o4bVviFldt6VzrT/h2kvftLM1r9q2rXDZq7+gJVrPJTJLR0xc81HTLt5zLRbj5m51uOm0z5heZ1vZIPOKTvfOW3nu6p6p+2gq8ezn9Nj273KdLiBHhO/NX/AZgCfzqyfzJrvJ2fo47Pxkx1Bf69Z/ifbzurHcw5Mkh4F462fa5N43H0lXqVgZvK+9WgsfjjQteqUhhec4uCcXeidyaj3ZrrtJ9R7f0xtF/XeG49Y9vzDqh40c7WvmXb1XiNbu1vVHWLUPyKpxrtTqaVfTqUWfkKF+5eL5NQ2znyfCvv/UqSkQv9ix/MOlVXYt+LPBQAAAACAS2NO9xrI+M/tijF4gcj8D6mg+hoVWH9axP9PIt4b1c83iFRvktTCO1V9QKT+lyKVj0uqfOecWfq7lFX8ajpTOJzOFO9LZcL70qpUMH7AcmoPZbz5IxmvcczyFh+1vObjGb91POO1TmRV2f7yN+ygc1IF7Sdzxe4Zp9g/5xaHF7zyaC2oTNY3l+d7xiEAuuFAhfjScNUrjS64pcE5p9g7Y+c7p+yg/aQdLJ/M+e0nsv7yCf38lrf0uHo9j9m6/MajtrdwLOvNP5Lx6kcst/awlas9ZNn1+81s7d6UVf2ipMM71Pv9qKpbJRW+R1LFt6vt80sijto2jtpG7k+q7fRakeIrRBovEqs7dt2DFc7mAwAAAACeZVSQ9Q6VzfzVz5FM76UidRV2gzeLZN4qkv5tdYd3q3qvqj9Q9Yf7gbeBAAACtklEQVTxZep96nd/LGJ9UCT3lyok/7VI/mMihf+nLlWgLnxOJPyCCtRfEqt2b9peuD/jLj2cC5aPucXuE165/6Rf7p7yS91TXql7Wpdb6px2i53ocnqb/r2rq9g9mcsvn8gF7Uez3tLDaXv+QbGqh8Uof1VS5btVOP+8SOkz6nk/KeJ/XJUK9LmPqPfw30WMP1Ov9Rb1mtXrlQ+oy/ern9V7MNX7Mn9LJHuTes0q6M+/Uozed4l3cCDS9dV90/v3mQAAAAAAcPlIxXMShK7IUkGkUlUhfEGF6VY89j3TF7FGqiaqVlQdFHGeo4L51aqeq8L3IVXXJPW8HXXNTOn76furvzOvih/HOpA8rnr8zCCeCyHbFik24tfhF+PXJer1EeQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgM/SNOdoJ5+3OTIQAAAABJRU5ErkJggg==", ya = ({ onClick: n }) => /* @__PURE__ */ e.jsxs(
|
|
812
812
|
he.div,
|
|
@@ -832,10 +832,10 @@ const wt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABAAAAAKqCAYAAACkSiwxAA
|
|
|
832
832
|
]
|
|
833
833
|
}
|
|
834
834
|
), et = l.createContext(null);
|
|
835
|
-
function
|
|
835
|
+
function ie(...n) {
|
|
836
836
|
return n.filter(Boolean).join(" ");
|
|
837
837
|
}
|
|
838
|
-
const
|
|
838
|
+
const Ie = [
|
|
839
839
|
{
|
|
840
840
|
id: "re-architect",
|
|
841
841
|
name: "Smart Home Blueprint",
|
|
@@ -897,7 +897,11 @@ const Xe = [
|
|
|
897
897
|
variant: "SENTINEL",
|
|
898
898
|
icon: "Shield",
|
|
899
899
|
prompt: "Monitor for anomalous SSH attempts and lateral movement patterns in the production VPC. Implement automated security group isolation for compromised nodes.",
|
|
900
|
-
industryContext: "Multi-region AWS setup. 500+ EC2 instances. CloudTrail logging active."
|
|
900
|
+
industryContext: "Multi-region AWS setup. 500+ EC2 instances. CloudTrail logging active.",
|
|
901
|
+
data: `[
|
|
902
|
+
{ "timestamp": "2026-05-08T14:22:01Z", "source": "192.168.1.45", "action": "SSH_FAILURE", "attempts": 42, "target": "prod-db-01" },
|
|
903
|
+
{ "timestamp": "2026-05-08T14:23:15Z", "source": "192.168.1.45", "action": "IAM_PRIVILEGE_ESCALATION", "status": "BLOCKED", "target": "admin-role" }
|
|
904
|
+
]`
|
|
901
905
|
},
|
|
902
906
|
{
|
|
903
907
|
id: "mfg-sentinel",
|
|
@@ -906,7 +910,12 @@ const Xe = [
|
|
|
906
910
|
variant: "SENTINEL",
|
|
907
911
|
icon: "Lock",
|
|
908
912
|
prompt: "Analyze real-time telemetry from the chemical mixing tanks. If pressure exceeds 150 PSI or temperature differential spikes by 20%, trigger a Category 1 emergency shutdown and alert the HazMat response team.",
|
|
909
|
-
industryContext: "Plant-wide SCADA system. Protocol: MQTT/OpcUa. Safety Level: SIL-3."
|
|
913
|
+
industryContext: "Plant-wide SCADA system. Protocol: MQTT/OpcUa. Safety Level: SIL-3.",
|
|
914
|
+
data: `[
|
|
915
|
+
{ "sensor": "TANK_A_PSI", "value": 158, "threshold": 150, "status": "CRITICAL" },
|
|
916
|
+
{ "sensor": "TANK_A_TEMP", "value": "88C", "delta": "+22%", "status": "CRITICAL" },
|
|
917
|
+
{ "sensor": "VALVE_04", "state": "OPEN", "override": "MANUAL" }
|
|
918
|
+
]`
|
|
910
919
|
},
|
|
911
920
|
{
|
|
912
921
|
id: "fin-sentinel",
|
|
@@ -915,7 +924,12 @@ const Xe = [
|
|
|
915
924
|
variant: "SENTINEL",
|
|
916
925
|
icon: "Activity",
|
|
917
926
|
prompt: "Screen all transactions for velocity-based anomalies and high-risk destination clusters. Flag potential 'smurfing' activities that bypass traditional threshold reporting.",
|
|
918
|
-
industryContext: "Cross-border retail payments. Average volume: 10k/sec. Jurisdiction: EU/FATF."
|
|
927
|
+
industryContext: "Cross-border retail payments. Average volume: 10k/sec. Jurisdiction: EU/FATF.",
|
|
928
|
+
data: `[
|
|
929
|
+
{ "txn_id": "FIN_882", "amount": 9900, "currency": "EUR", "destination": "Cluster_B", "risk_score": 88 },
|
|
930
|
+
{ "txn_id": "FIN_883", "amount": 9850, "currency": "EUR", "destination": "Cluster_B", "risk_score": 91 },
|
|
931
|
+
{ "txn_id": "FIN_884", "amount": 9950, "currency": "EUR", "destination": "Cluster_B", "risk_score": 94 }
|
|
932
|
+
]`
|
|
919
933
|
},
|
|
920
934
|
{
|
|
921
935
|
id: "re-sentinel",
|
|
@@ -924,7 +938,11 @@ const Xe = [
|
|
|
924
938
|
variant: "SENTINEL",
|
|
925
939
|
icon: "Building",
|
|
926
940
|
prompt: "Monitor all biometric access points across the corporate headquarters. Flag unauthorized entry attempts into the server room and trigger a site-wide lockdown for 'Tailgating' detections.",
|
|
927
|
-
industryContext: "Grade-A Commercial Real Estate. High-security tenant protocol."
|
|
941
|
+
industryContext: "Grade-A Commercial Real Estate. High-security tenant protocol.",
|
|
942
|
+
data: `[
|
|
943
|
+
{ "entry_point": "ZONE_RED_01", "event": "BADGE_REJECT", "uid": "UNKNOWN", "method": "BIOMETRIC_FAIL" },
|
|
944
|
+
{ "entry_point": "ZONE_RED_01", "event": "TAILGATE_DETECT", "camera_id": "CAM_SEC_04", "confidence": 0.98 }
|
|
945
|
+
]`
|
|
928
946
|
},
|
|
929
947
|
{
|
|
930
948
|
id: "retail-sentinel",
|
|
@@ -933,7 +951,11 @@ const Xe = [
|
|
|
933
951
|
variant: "SENTINEL",
|
|
934
952
|
icon: "Scan",
|
|
935
953
|
prompt: "Analyze POS transaction logs for 'sweethearting' patterns or unauthorized employee discount overrides. Correlate with inventory shrinkage reports to identify high-risk store locations.",
|
|
936
|
-
industryContext: "Multi-unit retail group. Real-time POS integration."
|
|
954
|
+
industryContext: "Multi-unit retail group. Real-time POS integration.",
|
|
955
|
+
data: `[
|
|
956
|
+
{ "pos_id": "REG_04", "emp_id": "E_442", "discount": "90%", "sku": "LUX_001", "status": "FLAGGED" },
|
|
957
|
+
{ "pos_id": "REG_04", "emp_id": "E_442", "void_count": 12, "session_duration": "15m", "status": "SUSPICIOUS" }
|
|
958
|
+
]`
|
|
937
959
|
},
|
|
938
960
|
{
|
|
939
961
|
id: "health-sentinel",
|
|
@@ -942,7 +964,11 @@ const Xe = [
|
|
|
942
964
|
variant: "SENTINEL",
|
|
943
965
|
icon: "ShieldCheck",
|
|
944
966
|
prompt: "Monitor access to Protected Health Information (PHI). Flag any mass-export attempts or unauthorized credential usage from non-clinical IP ranges.",
|
|
945
|
-
industryContext: "Electronic Health Record (EHR) system. PHI Audit compliance."
|
|
967
|
+
industryContext: "Electronic Health Record (EHR) system. PHI Audit compliance.",
|
|
968
|
+
data: `[
|
|
969
|
+
{ "resource": "PATIENT_RECORD_ALL", "action": "EXPORT", "requestor": "SYS_SVC_01", "ip": "10.42.0.88", "status": "DENIED" },
|
|
970
|
+
{ "resource": "EHR_CORE_SQL", "action": "QUERY", "requestor": "UNKNOWN", "ip": "45.33.21.4", "status": "DENIED" }
|
|
971
|
+
]`
|
|
946
972
|
},
|
|
947
973
|
{
|
|
948
974
|
id: "sw-analyst",
|
|
@@ -952,7 +978,12 @@ const Xe = [
|
|
|
952
978
|
icon: "TrendingUp",
|
|
953
979
|
focus: "DISCOVERY",
|
|
954
980
|
prompt: "Analyze the subscription data for the last 12 months. Identify the primary correlation between API usage drops and cancellation events. Predict the churn risk for the 'Enterprise' cohort for next quarter.",
|
|
955
|
-
industryContext: "B2B SaaS. 50k active users. High usage volatility."
|
|
981
|
+
industryContext: "B2B SaaS. 50k active users. High usage volatility.",
|
|
982
|
+
data: `[
|
|
983
|
+
{ "month": "Jan", "subs": 1200, "churn_rate": "2.1%", "avg_api_usage": "4.5k" },
|
|
984
|
+
{ "month": "Feb", "subs": 1180, "churn_rate": "4.8%", "avg_api_usage": "2.1k" },
|
|
985
|
+
{ "month": "Mar", "subs": 1150, "churn_rate": "6.2%", "avg_api_usage": "0.8k" }
|
|
986
|
+
]`
|
|
956
987
|
},
|
|
957
988
|
{
|
|
958
989
|
id: "mfg-analyst",
|
|
@@ -962,7 +993,11 @@ const Xe = [
|
|
|
962
993
|
icon: "BarChart3",
|
|
963
994
|
focus: "DISCOVERY",
|
|
964
995
|
prompt: "Correlate machine downtime on Line 4 with the humidity spikes reported by the EHS sensors. Identify the optimal temperature range to maximize battery cell throughput while maintaining <1% defect rate.",
|
|
965
|
-
industryContext: "Gigafactory Phase 1. 24/7 operations. 1.2M data points/day."
|
|
996
|
+
industryContext: "Gigafactory Phase 1. 24/7 operations. 1.2M data points/day.",
|
|
997
|
+
data: `[
|
|
998
|
+
{ "line": "4", "humidity": "68%", "downtime": "42m", "defect_rate": "2.4%" },
|
|
999
|
+
{ "line": "4", "humidity": "45%", "downtime": "5m", "defect_rate": "0.4%" }
|
|
1000
|
+
]`
|
|
966
1001
|
},
|
|
967
1002
|
{
|
|
968
1003
|
id: "fin-analyst",
|
|
@@ -972,7 +1007,11 @@ const Xe = [
|
|
|
972
1007
|
icon: "PieChart",
|
|
973
1008
|
focus: "DISCOVERY",
|
|
974
1009
|
prompt: "Perform a stress-test analysis on the SME loan portfolio. Model the impact of a 200bps interest rate hike on the Default Probability (PD) across the 'Manufacturing' and 'Retail' sectors.",
|
|
975
|
-
industryContext: "Regional Bank. Portfolio Size: $4.2B. Basel III compliant."
|
|
1010
|
+
industryContext: "Regional Bank. Portfolio Size: $4.2B. Basel III compliant.",
|
|
1011
|
+
data: `[
|
|
1012
|
+
{ "sector": "Manufacturing", "exposure": "$1.2B", "current_pd": "1.2%", "stressed_pd": "3.4%" },
|
|
1013
|
+
{ "sector": "Retail", "exposure": "$800M", "current_pd": "2.8%", "stressed_pd": "7.1%" }
|
|
1014
|
+
]`
|
|
976
1015
|
},
|
|
977
1016
|
{
|
|
978
1017
|
id: "re-analyst",
|
|
@@ -982,7 +1021,11 @@ const Xe = [
|
|
|
982
1021
|
icon: "Target",
|
|
983
1022
|
focus: "DISCOVERY",
|
|
984
1023
|
prompt: "Analyze the CAP rates for 50 commercial properties in the urban core. Correlate with public transit expansion and occupancy shifts to predict the 5-year ROI delta.",
|
|
985
|
-
industryContext: "REIT management. $1.5B AUM. Multi-sector properties."
|
|
1024
|
+
industryContext: "REIT management. $1.5B AUM. Multi-sector properties.",
|
|
1025
|
+
data: `[
|
|
1026
|
+
{ "property": "Tower_A", "cap_rate": "4.2%", "transit_proximity": "High", "occupancy": "94%" },
|
|
1027
|
+
{ "property": "Tower_B", "cap_rate": "5.1%", "transit_proximity": "Low", "occupancy": "82%" }
|
|
1028
|
+
]`
|
|
986
1029
|
},
|
|
987
1030
|
{
|
|
988
1031
|
id: "retail-analyst",
|
|
@@ -992,7 +1035,11 @@ const Xe = [
|
|
|
992
1035
|
icon: "ShoppingBag",
|
|
993
1036
|
focus: "DISCOVERY",
|
|
994
1037
|
prompt: "Run a basket analysis on 1M transactions. Identify the 'Anchor Products' that drive the highest secondary attachment rate. Optimize the loyalty program for the 'High-Frequency' segment.",
|
|
995
|
-
industryContext: "Global Grocery Chain. Loyalty program data v2.1."
|
|
1038
|
+
industryContext: "Global Grocery Chain. Loyalty program data v2.1.",
|
|
1039
|
+
data: `[
|
|
1040
|
+
{ "product": "Organic Milk", "attachment_rate": "68%", "secondary": ["Cereal", "Berries"] },
|
|
1041
|
+
{ "product": "Artisan Bread", "attachment_rate": "42%", "secondary": ["Butter", "Honey"] }
|
|
1042
|
+
]`
|
|
996
1043
|
},
|
|
997
1044
|
{
|
|
998
1045
|
id: "health-analyst",
|
|
@@ -1002,7 +1049,11 @@ const Xe = [
|
|
|
1002
1049
|
icon: "Activity",
|
|
1003
1050
|
focus: "DISCOVERY",
|
|
1004
1051
|
prompt: "Correlate patient recovery rates with nurse-to-patient ratios across the post-op wards. Identify the 'Critical Load Threshold' where patient outcomes begin to statistically decline.",
|
|
1005
|
-
industryContext: "Hospital Operational Intelligence. EHR data stream."
|
|
1052
|
+
industryContext: "Hospital Operational Intelligence. EHR data stream.",
|
|
1053
|
+
data: `[
|
|
1054
|
+
{ "ward": "Post-Op_A", "ratio": "1:4", "recovery_avg": "3.2 days", "incidents": 0 },
|
|
1055
|
+
{ "ward": "Post-Op_B", "ratio": "1:8", "recovery_avg": "5.4 days", "incidents": 2 }
|
|
1056
|
+
]`
|
|
1006
1057
|
},
|
|
1007
1058
|
{
|
|
1008
1059
|
id: "fin-strategist",
|
|
@@ -1120,7 +1171,11 @@ const Xe = [
|
|
|
1120
1171
|
icon: "Smile",
|
|
1121
1172
|
focus: "SENTIMENT",
|
|
1122
1173
|
prompt: "Analyze the latest 3 months of communication data from the engineering Slack channels. Identify the resonance score for the 'Remote Work' policy and 'Cloud Migration' initiative.",
|
|
1123
|
-
industryContext: "DevOps culture analysis. 200+ employees."
|
|
1174
|
+
industryContext: "DevOps culture analysis. 200+ employees.",
|
|
1175
|
+
data: `[
|
|
1176
|
+
{ "topic": "Remote Work", "sentiment": 0.85, "volume": 1200, "trend": "Upward" },
|
|
1177
|
+
{ "topic": "Cloud Migration", "sentiment": -0.22, "volume": 850, "trend": "Downward" }
|
|
1178
|
+
]`
|
|
1124
1179
|
},
|
|
1125
1180
|
{
|
|
1126
1181
|
id: "pulse-burnout-mfg",
|
|
@@ -1130,7 +1185,11 @@ const Xe = [
|
|
|
1130
1185
|
icon: "ShieldAlert",
|
|
1131
1186
|
focus: "BURNOUT",
|
|
1132
1187
|
prompt: "Synthesize the shifts in overtime patterns and safety reports on the assembly line. Identify high-risk clusters for burnout and provide 3 mitigation strategies for the floor managers.",
|
|
1133
|
-
industryContext: "Factory floor health. High throughput pressure."
|
|
1188
|
+
industryContext: "Factory floor health. High throughput pressure.",
|
|
1189
|
+
data: `[
|
|
1190
|
+
{ "shift": "Night", "avg_ot_hours": 14, "safety_incidents": 3, "burnout_risk": "High" },
|
|
1191
|
+
{ "shift": "Day", "avg_ot_hours": 4, "safety_incidents": 0, "burnout_risk": "Low" }
|
|
1192
|
+
]`
|
|
1134
1193
|
},
|
|
1135
1194
|
{
|
|
1136
1195
|
id: "pulse-engagement-fin",
|
|
@@ -1140,7 +1199,11 @@ const Xe = [
|
|
|
1140
1199
|
icon: "Activity",
|
|
1141
1200
|
focus: "ENGAGEMENT",
|
|
1142
1201
|
prompt: "Track the engagement velocity across the risk management department. Correlate participation in quarterly town halls with retention rates in the Analyst cohort.",
|
|
1143
|
-
industryContext: "Corporate retention strategy. Tier-1 banking environment."
|
|
1202
|
+
industryContext: "Corporate retention strategy. Tier-1 banking environment.",
|
|
1203
|
+
data: `[
|
|
1204
|
+
{ "event": "Q3 Townhall", "participation": "88%", "retention_delta": "+2.1%" },
|
|
1205
|
+
{ "event": "Strategy Workshop", "participation": "42%", "retention_delta": "-0.5%" }
|
|
1206
|
+
]`
|
|
1144
1207
|
},
|
|
1145
1208
|
{
|
|
1146
1209
|
id: "pulse-culture-retail",
|
|
@@ -1150,7 +1213,11 @@ const Xe = [
|
|
|
1150
1213
|
icon: "Store",
|
|
1151
1214
|
focus: "SENTIMENT",
|
|
1152
1215
|
prompt: "Analyze internal feedback from 50+ retail store managers. Identify the primary friction points in the 'Unified POS' rollout and map the cultural resonance of the new 'Customer First' mission.",
|
|
1153
|
-
industryContext: "Global Apparel Retailer. Front-line workforce."
|
|
1216
|
+
industryContext: "Global Apparel Retailer. Front-line workforce.",
|
|
1217
|
+
data: `[
|
|
1218
|
+
{ "topic": "Unified POS", "friction_score": 78, "keyword": "Latency" },
|
|
1219
|
+
{ "topic": "Customer First", "resonance_score": 92, "keyword": "Empowerment" }
|
|
1220
|
+
]`
|
|
1154
1221
|
},
|
|
1155
1222
|
{
|
|
1156
1223
|
id: "pulse-health-wellbeing",
|
|
@@ -1160,7 +1227,11 @@ const Xe = [
|
|
|
1160
1227
|
icon: "HeartPulse",
|
|
1161
1228
|
focus: "BURNOUT",
|
|
1162
1229
|
prompt: "Monitor the stress signals and shift-fatigue logs from the ICU nursing staff. Identify seasonal burnout trends and propose a neural-optimized rotation schedule to mitigate risk.",
|
|
1163
|
-
industryContext: "Tertiary Care Hospital. High-acuity environment."
|
|
1230
|
+
industryContext: "Tertiary Care Hospital. High-acuity environment.",
|
|
1231
|
+
data: `[
|
|
1232
|
+
{ "staff_id": "ICU_N_01", "fatigue_score": 82, "overtime_last_week": 20, "incident_risk": "High" },
|
|
1233
|
+
{ "staff_id": "ICU_N_02", "fatigue_score": 45, "overtime_last_week": 5, "incident_risk": "Low" }
|
|
1234
|
+
]`
|
|
1164
1235
|
},
|
|
1165
1236
|
{
|
|
1166
1237
|
id: "pulse-re-engagement",
|
|
@@ -1170,7 +1241,11 @@ const Xe = [
|
|
|
1170
1241
|
icon: "Key",
|
|
1171
1242
|
focus: "ENGAGEMENT",
|
|
1172
1243
|
prompt: "Synthesize tenant interaction data across 10 commercial office buildings. Identify engagement trends with on-site amenities and predict the 'Renewal Resonance' for the next 12 months.",
|
|
1173
|
-
industryContext: "Premium Commercial Real Estate. 500+ corporate tenants."
|
|
1244
|
+
industryContext: "Premium Commercial Real Estate. 500+ corporate tenants.",
|
|
1245
|
+
data: `[
|
|
1246
|
+
{ "amenity": "Fitness Center", "usage": "75%", "satisfaction": 4.8 },
|
|
1247
|
+
{ "amenity": "Roof Garden", "usage": "22%", "satisfaction": 3.2 }
|
|
1248
|
+
]`
|
|
1174
1249
|
},
|
|
1175
1250
|
{
|
|
1176
1251
|
id: "sw-compliance",
|
|
@@ -1179,7 +1254,11 @@ const Xe = [
|
|
|
1179
1254
|
variant: "COMPLIANCE",
|
|
1180
1255
|
icon: "CheckCircle",
|
|
1181
1256
|
prompt: "Perform a gap analysis for SOC2 Type II compliance. Audit the current data encryption policies and access control logs across the AWS production environment.",
|
|
1182
|
-
industryContext: "Series B Startup. 25 employees. Customer: Fortune 500."
|
|
1257
|
+
industryContext: "Series B Startup. 25 employees. Customer: Fortune 500.",
|
|
1258
|
+
data: `[
|
|
1259
|
+
{ "control": "Encryption at Rest", "status": "PARTIAL", "finding": "S3 buckets without AES-256" },
|
|
1260
|
+
{ "control": "Access Review", "status": "FAIL", "finding": "Last review 180 days ago" }
|
|
1261
|
+
]`
|
|
1183
1262
|
},
|
|
1184
1263
|
{
|
|
1185
1264
|
id: "mfg-compliance",
|
|
@@ -1188,7 +1267,11 @@ const Xe = [
|
|
|
1188
1267
|
variant: "COMPLIANCE",
|
|
1189
1268
|
icon: "ShieldAlert",
|
|
1190
1269
|
prompt: "Audit the safety protocol compliance for Line 2. Identify any lapses in PPE usage, machine guarding inspections, and incident reporting delays.",
|
|
1191
|
-
industryContext: "Heavy machinery manufacturing. ISO-45001 focus."
|
|
1270
|
+
industryContext: "Heavy machinery manufacturing. ISO-45001 focus.",
|
|
1271
|
+
data: `[
|
|
1272
|
+
{ "area": "Line 2", "observation": "PPE non-compliance", "count": 3, "risk": "Medium" },
|
|
1273
|
+
{ "area": "Line 2", "observation": "Guard missing on Saw_04", "count": 1, "risk": "High" }
|
|
1274
|
+
]`
|
|
1192
1275
|
},
|
|
1193
1276
|
{
|
|
1194
1277
|
id: "fin-compliance",
|
|
@@ -1197,7 +1280,11 @@ const Xe = [
|
|
|
1197
1280
|
variant: "COMPLIANCE",
|
|
1198
1281
|
icon: "FileCheck",
|
|
1199
1282
|
prompt: "Perform a high-level review of the KYC onboarding pipeline. Identify any friction points that cause abandonment and ensure all high-risk flags are correctly routed to the legal sentinel.",
|
|
1200
|
-
industryContext: "Fintech platform. 100k+ monthly onboardings."
|
|
1283
|
+
industryContext: "Fintech platform. 100k+ monthly onboardings.",
|
|
1284
|
+
data: `[
|
|
1285
|
+
{ "step": "ID Upload", "abandon_rate": "22%", "error": "Blurry image detection" },
|
|
1286
|
+
{ "step": "Liveness Check", "abandon_rate": "15%", "error": "Timeout" }
|
|
1287
|
+
]`
|
|
1201
1288
|
},
|
|
1202
1289
|
{
|
|
1203
1290
|
id: "re-compliance",
|
|
@@ -1206,7 +1293,11 @@ const Xe = [
|
|
|
1206
1293
|
variant: "COMPLIANCE",
|
|
1207
1294
|
icon: "Leaf",
|
|
1208
1295
|
prompt: "Audit the energy consumption data for the 'Green Towers' portfolio. Ensure compliance with local carbon-neutrality mandates and verify LEED Platinum certification data.",
|
|
1209
|
-
industryContext: "Sustainable Real Estate group. Carbon-tax risk assessment."
|
|
1296
|
+
industryContext: "Sustainable Real Estate group. Carbon-tax risk assessment.",
|
|
1297
|
+
data: `[
|
|
1298
|
+
{ "building": "Tower_Green_01", "energy_use": "-12% vs baseline", "target": "Carbon Neutral 2026" },
|
|
1299
|
+
{ "building": "Tower_Green_02", "energy_use": "+5% vs baseline", "target": "Retrofit Required" }
|
|
1300
|
+
]`
|
|
1210
1301
|
},
|
|
1211
1302
|
{
|
|
1212
1303
|
id: "retail-compliance",
|
|
@@ -1216,7 +1307,11 @@ const Xe = [
|
|
|
1216
1307
|
icon: "Lock",
|
|
1217
1308
|
focus: "ROADMAP",
|
|
1218
1309
|
prompt: "Scan the payment processing flow across all storefronts. Ensure PCI-DSS compliance for point-of-sale hardware and verify the encryption logic for at-rest transaction data.",
|
|
1219
|
-
industryContext: "Global Retail Chain. Multi-vendor POS ecosystem."
|
|
1310
|
+
industryContext: "Global Retail Chain. Multi-vendor POS ecosystem.",
|
|
1311
|
+
data: `[
|
|
1312
|
+
{ "pos_type": "Verifone_X", "pci_status": "PASS", "encryption": "AES-256" },
|
|
1313
|
+
{ "pos_type": "Legacy_Z", "pci_status": "FLAGGED", "encryption": "DES" }
|
|
1314
|
+
]`
|
|
1220
1315
|
},
|
|
1221
1316
|
{
|
|
1222
1317
|
id: "health-compliance",
|
|
@@ -1225,7 +1320,11 @@ const Xe = [
|
|
|
1225
1320
|
variant: "COMPLIANCE",
|
|
1226
1321
|
icon: "Stethoscope",
|
|
1227
1322
|
prompt: "Conduct a privacy audit of the patient portal. Ensure HIPAA-compliant access controls are in place for PHI and verify the audit logs for all administrative data access events.",
|
|
1228
|
-
industryContext: "Regional Health Network. 50k+ patient records."
|
|
1323
|
+
industryContext: "Regional Health Network. 50k+ patient records.",
|
|
1324
|
+
data: `[
|
|
1325
|
+
{ "access_event": "ADMIN_EXPORT", "user": "U_991", "phi_accessed": 450, "status": "FLAGGED" },
|
|
1326
|
+
{ "access_event": "PORTAL_LOGIN", "user": "PATIENT_004", "phi_accessed": 1, "status": "PASS" }
|
|
1327
|
+
]`
|
|
1229
1328
|
},
|
|
1230
1329
|
{
|
|
1231
1330
|
id: "sw-maestro",
|
|
@@ -1560,30 +1659,30 @@ const Xe = [
|
|
|
1560
1659
|
vertical: "SOFTWARE_DEV",
|
|
1561
1660
|
focus: "DISCOVERY",
|
|
1562
1661
|
data: r.initialData || null
|
|
1563
|
-
}), [
|
|
1662
|
+
}), [X, U] = q(""), te = xt(() => Ie.filter(
|
|
1564
1663
|
(D) => D.vertical === b.vertical && D.variant === C
|
|
1565
|
-
), [b.vertical, C]), ae =
|
|
1566
|
-
const v =
|
|
1664
|
+
), [b.vertical, C]), ae = ke((D) => {
|
|
1665
|
+
const v = Ie.find((T) => T.id === D);
|
|
1567
1666
|
if (v) {
|
|
1568
1667
|
U(D), m(v.prompt || "");
|
|
1569
|
-
let
|
|
1570
|
-
if (
|
|
1668
|
+
let T = v.data || null;
|
|
1669
|
+
if (T && typeof T == "string")
|
|
1571
1670
|
try {
|
|
1572
|
-
const
|
|
1573
|
-
|
|
1671
|
+
const z = JSON.parse(T);
|
|
1672
|
+
T = JSON.stringify(z, null, 2);
|
|
1574
1673
|
} catch {
|
|
1575
1674
|
}
|
|
1576
1675
|
else
|
|
1577
|
-
|
|
1578
|
-
R((
|
|
1579
|
-
...
|
|
1580
|
-
focus: v.focus ||
|
|
1581
|
-
data:
|
|
1676
|
+
T && typeof T == "object" && (T = JSON.stringify(T, null, 2));
|
|
1677
|
+
R((z) => ({
|
|
1678
|
+
...z,
|
|
1679
|
+
focus: v.focus || z.focus,
|
|
1680
|
+
data: T
|
|
1582
1681
|
}));
|
|
1583
1682
|
} else
|
|
1584
|
-
U(""), R((
|
|
1585
|
-
}, []), $ =
|
|
1586
|
-
c([]), r.persist && localStorage.removeItem(`eva_agent_chat_${r.apiKey}`),
|
|
1683
|
+
U(""), R((T) => ({ ...T, data: null }));
|
|
1684
|
+
}, []), $ = ke(() => {
|
|
1685
|
+
c([]), r.persist && localStorage.removeItem(`eva_agent_chat_${r.apiKey}`), ze.success("Neural session reset.");
|
|
1587
1686
|
}, [r.apiKey, r.persist, r]);
|
|
1588
1687
|
we(() => {
|
|
1589
1688
|
if (r.persist) {
|
|
@@ -1598,22 +1697,22 @@ const Xe = [
|
|
|
1598
1697
|
}, [r.apiKey, r.persist]), we(() => {
|
|
1599
1698
|
r.persist && a.length > 0 && localStorage.setItem(`eva_agent_chat_${r.apiKey}`, JSON.stringify(a));
|
|
1600
1699
|
}, [a, r.apiKey, r.persist]);
|
|
1601
|
-
const
|
|
1700
|
+
const k = ke((D) => {
|
|
1602
1701
|
R((v) => ({ ...v, ...D })), D.vertical && U("");
|
|
1603
|
-
}, []), fe =
|
|
1702
|
+
}, []), fe = ke(async (D) => {
|
|
1604
1703
|
const v = D || f;
|
|
1605
1704
|
if (!v.trim() || !i || w)
|
|
1606
1705
|
return;
|
|
1607
|
-
const
|
|
1706
|
+
const T = {
|
|
1608
1707
|
role: "user",
|
|
1609
1708
|
content: v,
|
|
1610
1709
|
variant: C,
|
|
1611
1710
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1612
1711
|
inputData: b.data
|
|
1613
1712
|
};
|
|
1614
|
-
c((u) => [...u,
|
|
1615
|
-
const
|
|
1616
|
-
if (
|
|
1713
|
+
c((u) => [...u, T]), D || m("");
|
|
1714
|
+
const z = Ca[C] === "MANDATORY", oe = b.data && (typeof b.data == "string" ? b.data.trim().length > 0 : Object.keys(b.data).length > 0);
|
|
1715
|
+
if (z && !oe) {
|
|
1617
1716
|
setTimeout(() => {
|
|
1618
1717
|
const u = {
|
|
1619
1718
|
role: "assistant",
|
|
@@ -1622,7 +1721,7 @@ I am currently in **${C}** mode, which requires a **Neural Matrix (Data)** to pe
|
|
|
1622
1721
|
variant: C,
|
|
1623
1722
|
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
1624
1723
|
};
|
|
1625
|
-
c((re) => [...re, u]),
|
|
1724
|
+
c((re) => [...re, u]), ze.error("Data Grounding Required");
|
|
1626
1725
|
}, 500);
|
|
1627
1726
|
return;
|
|
1628
1727
|
}
|
|
@@ -1662,46 +1761,46 @@ I am currently in **${C}** mode, which requires a **Neural Matrix (Data)** to pe
|
|
|
1662
1761
|
default:
|
|
1663
1762
|
p.prompt = v, p.data = u;
|
|
1664
1763
|
}
|
|
1665
|
-
const
|
|
1666
|
-
if (
|
|
1667
|
-
const d = (
|
|
1668
|
-
if (!
|
|
1669
|
-
return String(
|
|
1670
|
-
const pe =
|
|
1764
|
+
const I = await i.query(C, p);
|
|
1765
|
+
if (I.success) {
|
|
1766
|
+
const d = (O) => {
|
|
1767
|
+
if (!O || typeof O != "object")
|
|
1768
|
+
return String(O);
|
|
1769
|
+
const pe = O.analysis || O.summary || O.response || O.result || O.strategicBrief || O.trajectorySummary || O.findingsSummary || O.sarSummary || O.auditReport || O.wellnessPlan || O.optimizedJd || O.document;
|
|
1671
1770
|
return pe || (C === "MAESTRO" ? `### Maestro Orchestration Complete
|
|
1672
1771
|
Neural synthesis has successfully mapped the mission roadmap. Optimized sprint allocations and dependency chains are available in the visualizer below.` : `Neural synthesis complete for ${C}. Detailed insights and structured blueprints are available in the visualizer below.`);
|
|
1673
|
-
},
|
|
1772
|
+
}, j = I.data;
|
|
1674
1773
|
let Q = "";
|
|
1675
|
-
if (typeof
|
|
1774
|
+
if (typeof j == "string")
|
|
1676
1775
|
try {
|
|
1677
|
-
const
|
|
1678
|
-
Q = d(
|
|
1776
|
+
const O = JSON.parse(j);
|
|
1777
|
+
Q = d(O), O.diagram && (Q += `
|
|
1679
1778
|
|
|
1680
1779
|
### Neural Blueprint
|
|
1681
|
-
${
|
|
1780
|
+
${O.diagram}`);
|
|
1682
1781
|
} catch {
|
|
1683
|
-
Q =
|
|
1782
|
+
Q = j;
|
|
1684
1783
|
}
|
|
1685
1784
|
else
|
|
1686
|
-
Q = d(
|
|
1785
|
+
Q = d(j), j && typeof j == "object" && j.diagram && (Q += `
|
|
1687
1786
|
|
|
1688
1787
|
### Neural Blueprint
|
|
1689
|
-
${
|
|
1788
|
+
${j.diagram}`);
|
|
1690
1789
|
const le = {
|
|
1691
1790
|
role: "assistant",
|
|
1692
1791
|
content: Q,
|
|
1693
1792
|
variant: C,
|
|
1694
1793
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1695
|
-
rawPayload:
|
|
1794
|
+
rawPayload: I.data,
|
|
1696
1795
|
inputData: re,
|
|
1697
1796
|
// Store the input matrix that generated this response
|
|
1698
|
-
usage:
|
|
1797
|
+
usage: I.data.usage
|
|
1699
1798
|
};
|
|
1700
|
-
c((
|
|
1799
|
+
c((O) => [...O, le]);
|
|
1701
1800
|
} else
|
|
1702
|
-
|
|
1801
|
+
ze.error("Neural synthesis failed. Please check payload integrity.");
|
|
1703
1802
|
} catch (u) {
|
|
1704
|
-
|
|
1803
|
+
ze.error(`API Error: ${u.message || "Failed to reach EvaFusion"}`);
|
|
1705
1804
|
} finally {
|
|
1706
1805
|
g(!1);
|
|
1707
1806
|
}
|
|
@@ -1715,9 +1814,9 @@ ${P.diagram}`);
|
|
|
1715
1814
|
setActiveVariant: N,
|
|
1716
1815
|
handleSend: fe,
|
|
1717
1816
|
payloadConfig: b,
|
|
1718
|
-
updatePayloadConfig:
|
|
1817
|
+
updatePayloadConfig: k,
|
|
1719
1818
|
samples: te.map((D) => ({ ...D, isDataDriven: !!D.data })),
|
|
1720
|
-
selectedSampleId:
|
|
1819
|
+
selectedSampleId: X,
|
|
1721
1820
|
setSelectedSampleId: U,
|
|
1722
1821
|
applySample: ae,
|
|
1723
1822
|
clearChat: $,
|
|
@@ -1767,8 +1866,8 @@ const Ue = ({ chart: n }) => {
|
|
|
1767
1866
|
const R = b.split(`
|
|
1768
1867
|
`);
|
|
1769
1868
|
if (R.length > 0) {
|
|
1770
|
-
const
|
|
1771
|
-
["graph", "sequencediagram", "flowchart", "erdiagram", "classdiagram", "statediagram", "journey", "gantt", "pie", "timeline", "gitgraph", "mindmap", "quadrantchart", "sankey", "xychart"].some((te) =>
|
|
1869
|
+
const X = R[0].trim();
|
|
1870
|
+
["graph", "sequencediagram", "flowchart", "erdiagram", "classdiagram", "statediagram", "journey", "gantt", "pie", "timeline", "gitgraph", "mindmap", "quadrantchart", "sankey", "xychart"].some((te) => X.toLowerCase().startsWith(te)) && (R[0] = X.replace(/;$/, ""), b = R.join(`
|
|
1772
1871
|
`));
|
|
1773
1872
|
}
|
|
1774
1873
|
return b;
|
|
@@ -2009,13 +2108,13 @@ const Ue = ({ chart: n }) => {
|
|
|
2009
2108
|
} catch {
|
|
2010
2109
|
}
|
|
2011
2110
|
return /* @__PURE__ */ e.jsxs("div", { className: "mt-2 p-3 rounded-xl bg-black/20 border border-white/5 flex items-center gap-3 group hover:border-amber-500/20 transition-all cursor-default", children: [
|
|
2012
|
-
/* @__PURE__ */ e.jsx("div", { className: "w-8 h-8 rounded-lg bg-amber-500/10 flex items-center justify-center border border-amber-500/20", children: /* @__PURE__ */ e.jsx(
|
|
2111
|
+
/* @__PURE__ */ e.jsx("div", { className: "w-8 h-8 rounded-lg bg-amber-500/10 flex items-center justify-center border border-amber-500/20", children: /* @__PURE__ */ e.jsx(Me, { size: 14, className: "text-amber-500" }) }),
|
|
2013
2112
|
/* @__PURE__ */ e.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
2014
2113
|
/* @__PURE__ */ e.jsx("div", { className: "text-[10px] font-black text-amber-500/80 uppercase tracking-widest truncate", children: r.label }),
|
|
2015
2114
|
/* @__PURE__ */ e.jsx("div", { className: "text-[9px] text-slate-500 font-mono", children: r.details })
|
|
2016
2115
|
] })
|
|
2017
2116
|
] });
|
|
2018
|
-
},
|
|
2117
|
+
}, Pa = ({ isOpen: n, onClose: i, input: r, prompt: a, output: c, variant: f }) => {
|
|
2019
2118
|
if (!n)
|
|
2020
2119
|
return null;
|
|
2021
2120
|
const m = r && (Array.isArray(r) && r.length > 0 || typeof r == "object" && Object.keys(r).length > 0);
|
|
@@ -2046,7 +2145,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2046
2145
|
/* @__PURE__ */ e.jsxs("div", { className: "flex-1 border-r border-white/5 flex flex-col overflow-hidden bg-black/20", children: [
|
|
2047
2146
|
/* @__PURE__ */ e.jsxs("div", { className: "p-4 bg-white/5 border-b border-white/5 flex items-center justify-between", children: [
|
|
2048
2147
|
/* @__PURE__ */ e.jsxs("span", { className: "text-[10px] font-black text-amber-500 uppercase tracking-widest flex items-center gap-2", children: [
|
|
2049
|
-
/* @__PURE__ */ e.jsx(
|
|
2148
|
+
/* @__PURE__ */ e.jsx(Me, { size: 12 }),
|
|
2050
2149
|
" ",
|
|
2051
2150
|
m ? "Source Matrix" : "Generative Prompt"
|
|
2052
2151
|
] }),
|
|
@@ -2093,7 +2192,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2093
2192
|
] })
|
|
2094
2193
|
] })
|
|
2095
2194
|
] });
|
|
2096
|
-
},
|
|
2195
|
+
}, ja = ({ usage: n, rawPayload: i, inputData: r, variant: a, onInspect: c }) => {
|
|
2097
2196
|
const [f, m] = q(!1), w = () => {
|
|
2098
2197
|
navigator.clipboard.writeText(JSON.stringify(i, null, 2)), m(!0), setTimeout(() => m(!1), 2e3);
|
|
2099
2198
|
};
|
|
@@ -2133,22 +2232,22 @@ const Ue = ({ chart: n }) => {
|
|
|
2133
2232
|
}
|
|
2134
2233
|
)
|
|
2135
2234
|
] });
|
|
2136
|
-
},
|
|
2235
|
+
}, Ta = "@estevia/evafusion-agent", Oa = "1.9.0", Ea = "Premium React-based ChatWizard Agent for EvaFusion Workbench Integration", Ma = "dist/index.js", Ra = "dist/index.mjs", ka = "dist/index.d.ts", za = [
|
|
2137
2236
|
"dist"
|
|
2138
|
-
],
|
|
2237
|
+
], Ia = {
|
|
2139
2238
|
dev: "vite",
|
|
2140
2239
|
build: "tsc && vite build",
|
|
2141
2240
|
preview: "vite preview"
|
|
2142
|
-
},
|
|
2241
|
+
}, La = {
|
|
2143
2242
|
"framer-motion": "^10.12.16",
|
|
2144
2243
|
"lucide-react": "^0.244.0",
|
|
2145
2244
|
sonner: "^0.3.1"
|
|
2146
|
-
},
|
|
2245
|
+
}, Xa = {
|
|
2147
2246
|
react: "^18.2.0",
|
|
2148
2247
|
"react-dom": "^18.2.0",
|
|
2149
|
-
"@estevia/evafusion-sdk": "^1.6.
|
|
2150
|
-
},
|
|
2151
|
-
"@estevia/evafusion-sdk": "^1.6.
|
|
2248
|
+
"@estevia/evafusion-sdk": "^1.6.6"
|
|
2249
|
+
}, Sa = {
|
|
2250
|
+
"@estevia/evafusion-sdk": "^1.6.6",
|
|
2152
2251
|
"@types/react": "^18.0.28",
|
|
2153
2252
|
"@types/react-dom": "^18.0.11",
|
|
2154
2253
|
"@vitejs/plugin-react": "^4.0.0",
|
|
@@ -2159,18 +2258,27 @@ const Ue = ({ chart: n }) => {
|
|
|
2159
2258
|
vite: "^4.3.9",
|
|
2160
2259
|
"vite-plugin-dts": "^2.3.0"
|
|
2161
2260
|
}, gt = {
|
|
2162
|
-
name:
|
|
2163
|
-
version:
|
|
2164
|
-
description:
|
|
2165
|
-
main:
|
|
2261
|
+
name: Ta,
|
|
2262
|
+
version: Oa,
|
|
2263
|
+
description: Ea,
|
|
2264
|
+
main: Ma,
|
|
2166
2265
|
module: Ra,
|
|
2167
|
-
types:
|
|
2168
|
-
files:
|
|
2169
|
-
scripts:
|
|
2170
|
-
dependencies:
|
|
2171
|
-
peerDependencies:
|
|
2172
|
-
devDependencies:
|
|
2173
|
-
},
|
|
2266
|
+
types: ka,
|
|
2267
|
+
files: za,
|
|
2268
|
+
scripts: Ia,
|
|
2269
|
+
dependencies: La,
|
|
2270
|
+
peerDependencies: Xa,
|
|
2271
|
+
devDependencies: Sa
|
|
2272
|
+
}, Ha = {
|
|
2273
|
+
ARCHITECT: "System blueprinting & infrastructure design",
|
|
2274
|
+
STRATEGIST: "Roadmap planning & market penetration",
|
|
2275
|
+
MAESTRO: "Resource orchestration & sprint management",
|
|
2276
|
+
ANALYST: "Data-driven discovery & trend projection",
|
|
2277
|
+
PULSE: "Workforce sentiment & cultural resonance",
|
|
2278
|
+
RECRUITER: "Talent sourcing & resonance scoring",
|
|
2279
|
+
SENTINEL: "Real-time threat detection & industrial safety",
|
|
2280
|
+
COMPLIANCE: "Regulatory audit & privacy enforcement"
|
|
2281
|
+
}, Pe = ht || {
|
|
2174
2282
|
ARCHITECT: "OPTIONAL",
|
|
2175
2283
|
ANALYST: "MANDATORY",
|
|
2176
2284
|
STRATEGIST: "OPTIONAL",
|
|
@@ -2180,7 +2288,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2180
2288
|
COMPLIANCE: "MANDATORY",
|
|
2181
2289
|
PULSE: "MANDATORY",
|
|
2182
2290
|
NEXUS: "OPTIONAL"
|
|
2183
|
-
},
|
|
2291
|
+
}, Ga = ({ onClose: n, onMinimize: i }) => {
|
|
2184
2292
|
const r = vt(et), [a, c] = q(!1);
|
|
2185
2293
|
q(!1);
|
|
2186
2294
|
const f = qe(null);
|
|
@@ -2194,45 +2302,45 @@ const Ue = ({ chart: n }) => {
|
|
|
2194
2302
|
activeVariant: N,
|
|
2195
2303
|
setActiveVariant: b,
|
|
2196
2304
|
handleSend: R,
|
|
2197
|
-
payloadConfig:
|
|
2305
|
+
payloadConfig: X,
|
|
2198
2306
|
updatePayloadConfig: U,
|
|
2199
2307
|
samples: te,
|
|
2200
2308
|
selectedSampleId: ae,
|
|
2201
2309
|
setSelectedSampleId: $,
|
|
2202
|
-
applySample:
|
|
2310
|
+
applySample: k,
|
|
2203
2311
|
clearChat: fe,
|
|
2204
2312
|
isAuthorized: D
|
|
2205
|
-
} = Na(), [v,
|
|
2313
|
+
} = Na(), [v, T] = q(X), [z, oe] = q(N), [u, re] = q(ae), [p, I] = q({ isValid: !0, error: null }), [d, j] = q(null), Q = qe(null);
|
|
2206
2314
|
we(() => {
|
|
2207
|
-
a && (
|
|
2315
|
+
a && (T(X), oe(N), re(ae));
|
|
2208
2316
|
}, [a]), we(() => {
|
|
2209
|
-
const A = Qe.validatePayload(
|
|
2210
|
-
|
|
2211
|
-
}, [v.data,
|
|
2317
|
+
const A = Qe.validatePayload(z, v.data);
|
|
2318
|
+
I(A);
|
|
2319
|
+
}, [v.data, z]);
|
|
2212
2320
|
const le = (A) => {
|
|
2213
2321
|
var J;
|
|
2214
|
-
const
|
|
2215
|
-
if (!
|
|
2322
|
+
const L = (J = A.target.files) == null ? void 0 : J[0];
|
|
2323
|
+
if (!L)
|
|
2216
2324
|
return;
|
|
2217
2325
|
const h = new FileReader();
|
|
2218
2326
|
h.onload = (se) => {
|
|
2219
|
-
var
|
|
2220
|
-
const de = (
|
|
2221
|
-
|
|
2222
|
-
}, h.readAsText(
|
|
2223
|
-
},
|
|
2224
|
-
const A = Qe.normalizeForWorkbench(
|
|
2225
|
-
|
|
2327
|
+
var S;
|
|
2328
|
+
const de = (S = se.target) == null ? void 0 : S.result, W = Qe.parseCSV(de);
|
|
2329
|
+
T((Y) => ({ ...Y, data: JSON.stringify(W, null, 2) })), re("");
|
|
2330
|
+
}, h.readAsText(L);
|
|
2331
|
+
}, O = () => {
|
|
2332
|
+
const A = Qe.normalizeForWorkbench(z, v.data);
|
|
2333
|
+
T((L) => ({ ...L, data: JSON.stringify(A, null, 2) }));
|
|
2226
2334
|
}, pe = () => {
|
|
2227
|
-
b(
|
|
2335
|
+
b(z), U(v), $(u), c(!1);
|
|
2228
2336
|
};
|
|
2229
2337
|
we(() => {
|
|
2230
|
-
|
|
2338
|
+
T((A) => ({
|
|
2231
2339
|
...A,
|
|
2232
2340
|
data: null
|
|
2233
2341
|
// Clear JSON data when persona changes
|
|
2234
2342
|
}));
|
|
2235
|
-
}, [
|
|
2343
|
+
}, [z]);
|
|
2236
2344
|
const ce = [
|
|
2237
2345
|
{ id: "SOFTWARE_DEV", name: "Software & Cloud" },
|
|
2238
2346
|
{ id: "FINANCE", name: "Finance & Quants" },
|
|
@@ -2248,10 +2356,10 @@ const Ue = ({ chart: n }) => {
|
|
|
2248
2356
|
Ce();
|
|
2249
2357
|
}, [m, C]);
|
|
2250
2358
|
const Ne = ({ msg: A }) => {
|
|
2251
|
-
const { content:
|
|
2252
|
-
const Y =
|
|
2359
|
+
const { content: L, rawPayload: h, usage: J } = A, se = L.split(/(?=### )/g), de = (S) => {
|
|
2360
|
+
const Y = S.trim();
|
|
2253
2361
|
return Y.startsWith("{") && Y.endsWith("}") || Y.startsWith("[") && Y.endsWith("]");
|
|
2254
|
-
}, W = (
|
|
2362
|
+
}, W = (S) => S.includes("```mermaid") ? S.split(/```mermaid([\s\S]*?)```/).map((K, F) => F % 2 === 1 ? /* @__PURE__ */ e.jsx(Ue, { chart: K.trim() }, F) : /* @__PURE__ */ e.jsx("div", { children: W(K) }, F)) : S.split(`
|
|
2255
2363
|
`).map((Y, K) => {
|
|
2256
2364
|
const F = Y.trim();
|
|
2257
2365
|
if (!F)
|
|
@@ -2267,19 +2375,19 @@ const Ue = ({ chart: n }) => {
|
|
|
2267
2375
|
) }, K);
|
|
2268
2376
|
});
|
|
2269
2377
|
return /* @__PURE__ */ e.jsxs("div", { className: "space-y-4", children: [
|
|
2270
|
-
se.map((
|
|
2271
|
-
if (de(
|
|
2378
|
+
se.map((S, Y) => {
|
|
2379
|
+
if (de(S))
|
|
2272
2380
|
return null;
|
|
2273
|
-
if (
|
|
2274
|
-
const K =
|
|
2381
|
+
if (S.startsWith("### ")) {
|
|
2382
|
+
const K = S.split(`
|
|
2275
2383
|
`), F = K[0].replace("### ", ""), ve = K.slice(1).join(`
|
|
2276
2384
|
`), _ = F.toLowerCase().includes("blueprint"), me = /^\s*(graph|flowchart|sequenceDiagram|gantt|classDiagram|stateDiagram|erDiagram|pie|journey|C4Context|mindmap|timeline)/i.test(ve.trim());
|
|
2277
|
-
return /* @__PURE__ */ e.jsxs("div", { className:
|
|
2385
|
+
return /* @__PURE__ */ e.jsxs("div", { className: ie(
|
|
2278
2386
|
"group relative",
|
|
2279
2387
|
_ ? "p-4 rounded-2xl bg-amber-500/5 border border-amber-500/10 mt-6" : ""
|
|
2280
2388
|
), children: [
|
|
2281
2389
|
_ && /* @__PURE__ */ e.jsx("div", { className: "absolute top-0 right-0 p-2 opacity-20 group-hover:opacity-100 transition-opacity", children: /* @__PURE__ */ e.jsx(Je, { size: 12, className: "text-amber-500" }) }),
|
|
2282
|
-
/* @__PURE__ */ e.jsxs("h4", { className:
|
|
2390
|
+
/* @__PURE__ */ e.jsxs("h4", { className: ie(
|
|
2283
2391
|
"text-[9px] font-black uppercase tracking-[0.2em] mb-3 flex items-center gap-2",
|
|
2284
2392
|
_ ? "text-amber-500" : "text-slate-500"
|
|
2285
2393
|
), children: [
|
|
@@ -2290,13 +2398,13 @@ const Ue = ({ chart: n }) => {
|
|
|
2290
2398
|
gt.version
|
|
2291
2399
|
] })
|
|
2292
2400
|
] }),
|
|
2293
|
-
/* @__PURE__ */ e.jsx("div", { className:
|
|
2401
|
+
/* @__PURE__ */ e.jsx("div", { className: ie(
|
|
2294
2402
|
"font-sans",
|
|
2295
2403
|
_ ? "font-mono text-[10px] text-amber-500/70" : ""
|
|
2296
2404
|
), children: me ? /* @__PURE__ */ e.jsx(Ue, { chart: ve.trim() }) : W(ve) })
|
|
2297
2405
|
] }, Y);
|
|
2298
2406
|
}
|
|
2299
|
-
return /* @__PURE__ */ e.jsx("div", { children: W(
|
|
2407
|
+
return /* @__PURE__ */ e.jsx("div", { children: W(S) }, Y);
|
|
2300
2408
|
}),
|
|
2301
2409
|
h && /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
2302
2410
|
h.tasks && /* @__PURE__ */ e.jsx(Ba, { tasks: h.tasks, team: h.team }),
|
|
@@ -2309,13 +2417,13 @@ const Ue = ({ chart: n }) => {
|
|
|
2309
2417
|
h.diagram && /* @__PURE__ */ e.jsx(Ue, { chart: h.diagram })
|
|
2310
2418
|
] }),
|
|
2311
2419
|
/* @__PURE__ */ e.jsx(
|
|
2312
|
-
|
|
2420
|
+
ja,
|
|
2313
2421
|
{
|
|
2314
2422
|
usage: J,
|
|
2315
2423
|
rawPayload: h,
|
|
2316
2424
|
inputData: A.inputData,
|
|
2317
2425
|
variant: A.variant,
|
|
2318
|
-
onInspect: h ? () =>
|
|
2426
|
+
onInspect: h ? () => j({
|
|
2319
2427
|
input: A.inputData,
|
|
2320
2428
|
prompt: A.content,
|
|
2321
2429
|
output: h,
|
|
@@ -2343,7 +2451,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2343
2451
|
animate: { x: 0, opacity: 1 },
|
|
2344
2452
|
exit: { x: "100%", opacity: 0.5 },
|
|
2345
2453
|
transition: { type: "spring", damping: 25, stiffness: 200 },
|
|
2346
|
-
className:
|
|
2454
|
+
className: ie(
|
|
2347
2455
|
"fixed top-0 right-0 h-full w-full sm:max-w-[480px] z-[9991] flex flex-col eva-holographic-glass overflow-hidden border-l border-white/10 shadow-2xl",
|
|
2348
2456
|
C ? "eva-glow-thinking" : "eva-glow-listening"
|
|
2349
2457
|
),
|
|
@@ -2360,7 +2468,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2360
2468
|
] })
|
|
2361
2469
|
] }),
|
|
2362
2470
|
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
2363
|
-
/* @__PURE__ */ e.jsx("div", { className:
|
|
2471
|
+
/* @__PURE__ */ e.jsx("div", { className: ie(
|
|
2364
2472
|
"w-1.5 h-1.5 rounded-full animate-pulse",
|
|
2365
2473
|
D ? "bg-emerald-500" : "bg-rose-500"
|
|
2366
2474
|
) }),
|
|
@@ -2378,15 +2486,18 @@ const Ue = ({ chart: n }) => {
|
|
|
2378
2486
|
children: /* @__PURE__ */ e.jsx(Zt, { size: 16 })
|
|
2379
2487
|
}
|
|
2380
2488
|
),
|
|
2381
|
-
/* @__PURE__ */ e.
|
|
2489
|
+
/* @__PURE__ */ e.jsxs(
|
|
2382
2490
|
"button",
|
|
2383
2491
|
{
|
|
2384
2492
|
onClick: () => c(!a),
|
|
2385
|
-
className:
|
|
2386
|
-
"p-2 rounded-lg transition-all",
|
|
2493
|
+
className: ie(
|
|
2494
|
+
"p-2 rounded-lg transition-all group/settings relative",
|
|
2387
2495
|
a ? "bg-amber-500/20 text-amber-500" : "text-slate-400 hover:text-white hover:bg-white/5"
|
|
2388
2496
|
),
|
|
2389
|
-
children:
|
|
2497
|
+
children: [
|
|
2498
|
+
/* @__PURE__ */ e.jsx(Jt, { size: 16 }),
|
|
2499
|
+
/* @__PURE__ */ e.jsx("div", { className: "absolute top-full right-0 mt-2 px-2 py-1 bg-amber-500 text-black text-[8px] font-black uppercase tracking-widest rounded whitespace-nowrap opacity-0 group-hover/settings:opacity-100 transition-opacity pointer-events-none z-[100] shadow-xl", children: "Neural Configuration" })
|
|
2500
|
+
]
|
|
2390
2501
|
}
|
|
2391
2502
|
),
|
|
2392
2503
|
/* @__PURE__ */ e.jsx(
|
|
@@ -2407,25 +2518,30 @@ const Ue = ({ chart: n }) => {
|
|
|
2407
2518
|
)
|
|
2408
2519
|
] })
|
|
2409
2520
|
] }),
|
|
2410
|
-
/* @__PURE__ */ e.jsx("div", { className: "px-6 py-2 flex items-center gap-2 overflow-x-auto eva-agent-scrollbar bg-black/20 border-b border-white/5 no-scrollbar", children: ["ARCHITECT", "STRATEGIST", "MAESTRO", "ANALYST", "PULSE", "RECRUITER", "SENTINEL", "COMPLIANCE"].map((A) => /* @__PURE__ */ e.jsxs(
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2521
|
+
/* @__PURE__ */ e.jsx("div", { className: "px-6 py-2 flex items-center gap-2 overflow-x-auto eva-agent-scrollbar bg-black/20 border-b border-white/5 no-scrollbar", children: ["ARCHITECT", "STRATEGIST", "MAESTRO", "ANALYST", "PULSE", "RECRUITER", "SENTINEL", "COMPLIANCE"].map((A) => /* @__PURE__ */ e.jsxs("div", { className: "relative group/variant", children: [
|
|
2522
|
+
/* @__PURE__ */ e.jsxs(
|
|
2523
|
+
"button",
|
|
2524
|
+
{
|
|
2525
|
+
onClick: () => b(A),
|
|
2526
|
+
className: ie(
|
|
2527
|
+
"px-3 py-1 rounded-full text-[8px] font-black uppercase tracking-widest transition-all whitespace-nowrap border flex items-center",
|
|
2528
|
+
N === A ? "shadow-[0_0_15px_rgba(212,175,55,0.3)] border-amber-500" : "text-slate-400 border-white/5 hover:border-white/20 hover:text-white"
|
|
2529
|
+
),
|
|
2530
|
+
style: {
|
|
2531
|
+
backgroundColor: N === A ? "#d4af37" : "transparent",
|
|
2532
|
+
color: N === A ? "black" : void 0
|
|
2533
|
+
},
|
|
2534
|
+
children: [
|
|
2535
|
+
A,
|
|
2536
|
+
Pe[A] === "MANDATORY" && /* @__PURE__ */ e.jsx("div", { className: ie(
|
|
2537
|
+
"w-1 h-1 rounded-full ml-1.5 shadow-[0_0_5px_rgba(245,158,11,1)]",
|
|
2538
|
+
N === A ? "bg-black" : "bg-amber-500"
|
|
2539
|
+
) })
|
|
2540
|
+
]
|
|
2541
|
+
}
|
|
2542
|
+
),
|
|
2543
|
+
/* @__PURE__ */ e.jsx("div", { className: "absolute top-full left-1/2 -translate-x-1/2 mt-2 px-2 py-1 bg-[#0a0a20] border border-amber-500/30 text-amber-500 text-[7px] font-black uppercase tracking-[0.1em] rounded whitespace-nowrap opacity-0 group-hover/variant:opacity-100 transition-opacity pointer-events-none z-[100] shadow-2xl backdrop-blur-md", children: Ha[A] })
|
|
2544
|
+
] }, A)) }),
|
|
2429
2545
|
/* @__PURE__ */ e.jsx("div", { className: "flex-1 overflow-y-auto eva-agent-scrollbar p-6 space-y-6 relative", children: D ? m.length === 0 ? /* @__PURE__ */ e.jsxs("div", { className: "h-full flex flex-col items-center justify-center text-center p-8 space-y-8", children: [
|
|
2430
2546
|
/* @__PURE__ */ e.jsxs("div", { className: "relative", children: [
|
|
2431
2547
|
/* @__PURE__ */ e.jsx("div", { className: "absolute inset-0 bg-amber-500/5 rounded-full blur-3xl animate-pulse" }),
|
|
@@ -2439,24 +2555,24 @@ const Ue = ({ chart: n }) => {
|
|
|
2439
2555
|
"Analyze data for anomalies",
|
|
2440
2556
|
"Synthesize architecture blueprint",
|
|
2441
2557
|
"Forecast operational trajectory"
|
|
2442
|
-
].map((A,
|
|
2558
|
+
].map((A, L) => /* @__PURE__ */ e.jsx(
|
|
2443
2559
|
"button",
|
|
2444
2560
|
{
|
|
2445
2561
|
onClick: () => R(A),
|
|
2446
2562
|
className: "p-3 rounded-xl bg-white/5 border border-white/5 text-[9px] font-black uppercase tracking-widest text-slate-400 hover:text-amber-500 hover:bg-amber-500/5 hover:border-amber-500/20 transition-all text-left",
|
|
2447
2563
|
children: A
|
|
2448
2564
|
},
|
|
2449
|
-
|
|
2565
|
+
L
|
|
2450
2566
|
)) })
|
|
2451
2567
|
] }) : /* @__PURE__ */ e.jsxs(e.Fragment, { children: [
|
|
2452
|
-
m.map((A,
|
|
2568
|
+
m.map((A, L) => /* @__PURE__ */ e.jsxs("div", { className: ie(
|
|
2453
2569
|
"flex flex-col space-y-2",
|
|
2454
2570
|
A.role === "user" ? "items-end" : "items-start"
|
|
2455
2571
|
), children: [
|
|
2456
2572
|
/* @__PURE__ */ e.jsx(
|
|
2457
2573
|
"div",
|
|
2458
2574
|
{
|
|
2459
|
-
className:
|
|
2575
|
+
className: ie(
|
|
2460
2576
|
"max-w-[90%] px-7 py-6 rounded-3xl text-[11px] font-medium leading-relaxed whitespace-pre-wrap break-words shadow-xl",
|
|
2461
2577
|
A.role === "user" ? "bg-gradient-to-br from-amber-500 to-amber-600 text-white rounded-tr-none" : "bg-slate-900/80 text-indigo-100/90 border border-white/5 rounded-tl-none backdrop-blur-xl"
|
|
2462
2578
|
),
|
|
@@ -2468,7 +2584,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2468
2584
|
}
|
|
2469
2585
|
),
|
|
2470
2586
|
/* @__PURE__ */ e.jsx("span", { className: "text-[7px] font-black text-slate-500 uppercase tracking-widest px-2", children: A.role === "user" ? "Direct Input" : `Eva ${A.variant || "Neural"}` })
|
|
2471
|
-
] },
|
|
2587
|
+
] }, L)),
|
|
2472
2588
|
C && /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col items-center justify-center py-12 space-y-6", children: [
|
|
2473
2589
|
/* @__PURE__ */ e.jsxs("div", { className: "relative w-24 h-24", children: [
|
|
2474
2590
|
/* @__PURE__ */ e.jsx(
|
|
@@ -2525,7 +2641,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2525
2641
|
children: [
|
|
2526
2642
|
/* @__PURE__ */ e.jsxs("div", { className: "p-6 border-b border-white/5 flex items-center justify-between", children: [
|
|
2527
2643
|
/* @__PURE__ */ e.jsxs("h4", { className: "text-xs font-black text-white uppercase tracking-widest flex items-center gap-2", children: [
|
|
2528
|
-
/* @__PURE__ */ e.jsx(
|
|
2644
|
+
/* @__PURE__ */ e.jsx(Me, { size: 14, className: "text-amber-500" }),
|
|
2529
2645
|
"Neural Configuration"
|
|
2530
2646
|
] }),
|
|
2531
2647
|
/* @__PURE__ */ e.jsx("button", { onClick: () => c(!1), className: "text-slate-400 hover:text-white", children: /* @__PURE__ */ e.jsx(Ze, { size: 16 }) })
|
|
@@ -2536,7 +2652,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2536
2652
|
/* @__PURE__ */ e.jsx(
|
|
2537
2653
|
"select",
|
|
2538
2654
|
{
|
|
2539
|
-
value:
|
|
2655
|
+
value: z,
|
|
2540
2656
|
onChange: (A) => oe(A.target.value),
|
|
2541
2657
|
className: "w-full bg-[#0a0a20] border border-white/10 rounded-xl p-3 text-[10px] font-bold text-white outline-none focus:border-amber-500/40 transition-all appearance-none cursor-pointer",
|
|
2542
2658
|
style: { color: "white", backgroundColor: "#0a0a20" },
|
|
@@ -2551,7 +2667,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2551
2667
|
"select",
|
|
2552
2668
|
{
|
|
2553
2669
|
value: v.vertical,
|
|
2554
|
-
onChange: (A) =>
|
|
2670
|
+
onChange: (A) => T((L) => ({ ...L, vertical: A.target.value })),
|
|
2555
2671
|
className: "w-full bg-[#0a0a20] border border-white/10 rounded-xl p-3 text-[10px] font-bold text-white outline-none focus:border-amber-500/40 transition-all appearance-none cursor-pointer",
|
|
2556
2672
|
style: { color: "white", backgroundColor: "#0a0a20" },
|
|
2557
2673
|
children: ce.map((A) => /* @__PURE__ */ e.jsx("option", { value: A.id, style: { color: "white", backgroundColor: "#0a0a20" }, children: A.name }, A.id))
|
|
@@ -2564,7 +2680,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2564
2680
|
"select",
|
|
2565
2681
|
{
|
|
2566
2682
|
value: v.focus,
|
|
2567
|
-
onChange: (A) =>
|
|
2683
|
+
onChange: (A) => T((L) => ({ ...L, focus: A.target.value })),
|
|
2568
2684
|
className: "w-full bg-[#0a0a20] border border-white/10 rounded-xl p-3 text-[10px] font-bold text-white outline-none focus:border-amber-500/40 transition-all appearance-none cursor-pointer",
|
|
2569
2685
|
style: { color: "white", backgroundColor: "#0a0a20" },
|
|
2570
2686
|
children: [
|
|
@@ -2587,9 +2703,9 @@ const Ue = ({ chart: n }) => {
|
|
|
2587
2703
|
{
|
|
2588
2704
|
value: u,
|
|
2589
2705
|
onChange: (A) => {
|
|
2590
|
-
const
|
|
2591
|
-
re(
|
|
2592
|
-
const h =
|
|
2706
|
+
const L = A.target.value;
|
|
2707
|
+
re(L);
|
|
2708
|
+
const h = Ie.find((J) => J.id === L);
|
|
2593
2709
|
if (h) {
|
|
2594
2710
|
let J = h.data;
|
|
2595
2711
|
if (h.variant === "MAESTRO" && h.team && (h.tasks || h.data)) {
|
|
@@ -2599,7 +2715,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2599
2715
|
resources: h.team
|
|
2600
2716
|
};
|
|
2601
2717
|
}
|
|
2602
|
-
|
|
2718
|
+
T({
|
|
2603
2719
|
vertical: h.vertical || "TECH_SaaS",
|
|
2604
2720
|
focus: h.focus || "DISCOVERY",
|
|
2605
2721
|
data: J
|
|
@@ -2609,7 +2725,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2609
2725
|
className: "w-full bg-black/40 border border-white/10 rounded-xl px-4 h-11 text-[10px] font-bold text-white outline-none focus:border-amber-500/40 transition-all appearance-none cursor-pointer",
|
|
2610
2726
|
children: [
|
|
2611
2727
|
/* @__PURE__ */ e.jsx("option", { value: "", style: { color: "#64748b", backgroundColor: "#0a0a20" }, children: "Manual Input (No Template)" }),
|
|
2612
|
-
|
|
2728
|
+
Ie.filter((A) => A.vertical === v.vertical && A.variant === z).map((A) => /* @__PURE__ */ e.jsxs("option", { value: A.id, style: { color: "white", backgroundColor: "#0a0a20" }, children: [
|
|
2613
2729
|
A.name,
|
|
2614
2730
|
A.data ? " [DATA]" : " [PROMPT]"
|
|
2615
2731
|
] }, A.id))
|
|
@@ -2620,7 +2736,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2620
2736
|
/* @__PURE__ */ e.jsxs("div", { className: "space-y-2", children: [
|
|
2621
2737
|
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center justify-between mb-4", children: [
|
|
2622
2738
|
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2623
|
-
/* @__PURE__ */ e.jsx(
|
|
2739
|
+
/* @__PURE__ */ e.jsx(Me, { size: 12, className: "text-amber-500" }),
|
|
2624
2740
|
/* @__PURE__ */ e.jsx("span", { className: "text-[10px] font-black text-slate-500 uppercase tracking-widest", children: "Neural Matrix (JSON)" })
|
|
2625
2741
|
] }),
|
|
2626
2742
|
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
@@ -2648,10 +2764,10 @@ const Ue = ({ chart: n }) => {
|
|
|
2648
2764
|
]
|
|
2649
2765
|
}
|
|
2650
2766
|
),
|
|
2651
|
-
|
|
2767
|
+
z === "MAESTRO" && /* @__PURE__ */ e.jsxs(
|
|
2652
2768
|
"button",
|
|
2653
2769
|
{
|
|
2654
|
-
onClick:
|
|
2770
|
+
onClick: O,
|
|
2655
2771
|
className: "flex items-center gap-1.5 px-2 py-1 rounded bg-indigo-500/10 border border-indigo-500/20 text-[8px] font-black uppercase tracking-widest text-indigo-400 hover:bg-indigo-500/20 transition-all",
|
|
2656
2772
|
children: [
|
|
2657
2773
|
/* @__PURE__ */ e.jsx($t, { size: 10 }),
|
|
@@ -2666,10 +2782,10 @@ const Ue = ({ chart: n }) => {
|
|
|
2666
2782
|
{
|
|
2667
2783
|
value: v.data ? typeof v.data == "string" ? v.data : JSON.stringify(v.data, null, 2) : "",
|
|
2668
2784
|
onChange: (A) => {
|
|
2669
|
-
|
|
2785
|
+
T((L) => ({ ...L, data: A.target.value })), re("");
|
|
2670
2786
|
},
|
|
2671
2787
|
placeholder: '[{"key": "value"}]',
|
|
2672
|
-
className:
|
|
2788
|
+
className: ie(
|
|
2673
2789
|
"w-full bg-black/40 border rounded-xl p-4 text-[10px] font-mono text-indigo-200/60 outline-none h-32 resize-none transition-all",
|
|
2674
2790
|
p.isValid ? p.warning ? "border-amber-500/40" : "border-white/10 focus:border-amber-500/40" : "border-red-500/40"
|
|
2675
2791
|
)
|
|
@@ -2678,7 +2794,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2678
2794
|
/* @__PURE__ */ e.jsxs("div", { className: "mt-2 flex items-center justify-between px-1", children: [
|
|
2679
2795
|
/* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2680
2796
|
p.isValid ? p.warning ? /* @__PURE__ */ e.jsx(ea, { size: 10, className: "text-amber-500" }) : /* @__PURE__ */ e.jsx("div", { className: "w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse" }) : /* @__PURE__ */ e.jsx(Ye, { size: 10, className: "text-red-500" }),
|
|
2681
|
-
/* @__PURE__ */ e.jsx("span", { className:
|
|
2797
|
+
/* @__PURE__ */ e.jsx("span", { className: ie(
|
|
2682
2798
|
"text-[8px] font-bold uppercase tracking-widest",
|
|
2683
2799
|
p.isValid ? p.warning ? "text-amber-500" : "text-emerald-500" : "text-red-500"
|
|
2684
2800
|
), children: p.isValid ? p.warning ? "Validation Warning" : "Neural Integrity Established" : "Schema Disconnect" })
|
|
@@ -2699,14 +2815,14 @@ const Ue = ({ chart: n }) => {
|
|
|
2699
2815
|
"button",
|
|
2700
2816
|
{
|
|
2701
2817
|
onClick: pe,
|
|
2702
|
-
disabled:
|
|
2703
|
-
className:
|
|
2818
|
+
disabled: Pe[z] === "MANDATORY" && (!v.data || typeof v.data == "string" && !v.data.trim()),
|
|
2819
|
+
className: ie(
|
|
2704
2820
|
"w-full py-4 rounded-xl text-white text-[10px] font-black uppercase tracking-[0.2em] shadow-lg transition-all flex items-center justify-center gap-2",
|
|
2705
|
-
|
|
2821
|
+
Pe[z] === "MANDATORY" && (!v.data || typeof v.data == "string" && !v.data.trim()) ? "bg-white/5 text-white/20 border border-white/10 cursor-not-allowed shadow-none" : "bg-amber-500 hover:scale-[1.02] active:scale-[0.98] shadow-amber-500/20"
|
|
2706
2822
|
),
|
|
2707
2823
|
children: [
|
|
2708
2824
|
/* @__PURE__ */ e.jsx(ta, { size: 14 }),
|
|
2709
|
-
|
|
2825
|
+
Pe[z] === "MANDATORY" && (!v.data || typeof v.data == "string" && !v.data.trim()) ? "Awaiting Grounding Data" : "Confirm Neural Configuration"
|
|
2710
2826
|
]
|
|
2711
2827
|
}
|
|
2712
2828
|
),
|
|
@@ -2717,13 +2833,13 @@ const Ue = ({ chart: n }) => {
|
|
|
2717
2833
|
}
|
|
2718
2834
|
) }),
|
|
2719
2835
|
/* @__PURE__ */ e.jsxs("div", { className: "p-6 pb-8 bg-[#0a0a20] border-t border-white/5 relative z-40", children: [
|
|
2720
|
-
|
|
2836
|
+
Pe[N] === "MANDATORY" && (!X.data || typeof X.data == "string" && !X.data.trim()) && !a && /* @__PURE__ */ e.jsx("div", { className: "absolute inset-0 z-50 flex items-center justify-center bg-[#0a0a20]/80 backdrop-blur-sm px-6 pb-2 animate-in fade-in duration-300", children: /* @__PURE__ */ e.jsxs(
|
|
2721
2837
|
"button",
|
|
2722
2838
|
{
|
|
2723
2839
|
onClick: () => c(!0),
|
|
2724
2840
|
className: "w-full h-12 rounded-xl bg-amber-500/10 border border-amber-500/20 text-amber-500 text-[10px] font-black uppercase tracking-[0.15em] hover:bg-amber-500 hover:text-black transition-all flex items-center justify-center gap-2 shadow-2xl shadow-amber-500/5 group",
|
|
2725
2841
|
children: [
|
|
2726
|
-
/* @__PURE__ */ e.jsx(
|
|
2842
|
+
/* @__PURE__ */ e.jsx(Me, { size: 14, className: "group-hover:animate-bounce" }),
|
|
2727
2843
|
"Grounding Required: Open Neural Configuration"
|
|
2728
2844
|
]
|
|
2729
2845
|
}
|
|
@@ -2753,7 +2869,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2753
2869
|
"button",
|
|
2754
2870
|
{
|
|
2755
2871
|
type: "submit",
|
|
2756
|
-
disabled: !w.trim() || C || !D ||
|
|
2872
|
+
disabled: !w.trim() || C || !D || Pe[N] === "MANDATORY" && (!X.data || typeof X.data == "string" && !X.data.trim()),
|
|
2757
2873
|
className: "w-11 h-11 rounded-xl bg-amber-500 text-white flex items-center justify-center shrink-0 shadow-lg shadow-amber-500/20 disabled:opacity-30 disabled:grayscale transition-all hover:scale-105 active:scale-95",
|
|
2758
2874
|
children: /* @__PURE__ */ e.jsx(aa, { size: 18, className: "text-white" })
|
|
2759
2875
|
}
|
|
@@ -2763,10 +2879,10 @@ const Ue = ({ chart: n }) => {
|
|
|
2763
2879
|
)
|
|
2764
2880
|
] }),
|
|
2765
2881
|
/* @__PURE__ */ e.jsx(
|
|
2766
|
-
|
|
2882
|
+
Pa,
|
|
2767
2883
|
{
|
|
2768
2884
|
isOpen: !!d,
|
|
2769
|
-
onClose: () =>
|
|
2885
|
+
onClose: () => j(null),
|
|
2770
2886
|
input: d == null ? void 0 : d.input,
|
|
2771
2887
|
prompt: d == null ? void 0 : d.prompt,
|
|
2772
2888
|
output: d == null ? void 0 : d.output,
|
|
@@ -2777,12 +2893,12 @@ const Ue = ({ chart: n }) => {
|
|
|
2777
2893
|
}
|
|
2778
2894
|
)
|
|
2779
2895
|
] });
|
|
2780
|
-
},
|
|
2896
|
+
}, Qa = {
|
|
2781
2897
|
PROD: "https://evafusion-live.esteviatech.com",
|
|
2782
2898
|
DEV: "https://api-dev.protrack.esteviatech.com",
|
|
2783
2899
|
QA: "https://api-qa.protrack.esteviatech.com",
|
|
2784
2900
|
LOCAL: "http://localhost:5001"
|
|
2785
|
-
},
|
|
2901
|
+
}, Wa = (n) => {
|
|
2786
2902
|
const {
|
|
2787
2903
|
apiKey: i,
|
|
2788
2904
|
baseUrl: r,
|
|
@@ -2792,7 +2908,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2792
2908
|
} = n, [m, w] = q(!1), [g, C] = q(!1), N = xt(() => {
|
|
2793
2909
|
if (!i)
|
|
2794
2910
|
return null;
|
|
2795
|
-
const b = r ||
|
|
2911
|
+
const b = r || Qa[a];
|
|
2796
2912
|
return new Vt({
|
|
2797
2913
|
apiKey: i,
|
|
2798
2914
|
baseUrl: b,
|
|
@@ -2817,7 +2933,7 @@ const Ue = ({ chart: n }) => {
|
|
|
2817
2933
|
}
|
|
2818
2934
|
) }),
|
|
2819
2935
|
/* @__PURE__ */ e.jsx(We, { children: m && !g && /* @__PURE__ */ e.jsx(
|
|
2820
|
-
|
|
2936
|
+
Ga,
|
|
2821
2937
|
{
|
|
2822
2938
|
onClose: () => w(!1),
|
|
2823
2939
|
onMinimize: () => C(!0)
|
|
@@ -2826,6 +2942,6 @@ const Ue = ({ chart: n }) => {
|
|
|
2826
2942
|
] }) });
|
|
2827
2943
|
};
|
|
2828
2944
|
export {
|
|
2829
|
-
|
|
2945
|
+
Wa as EvaFusionAgent,
|
|
2830
2946
|
Na as useEvaAgent
|
|
2831
2947
|
};
|