@huma-finance/widgets 0.0.62-beta.611 → 0.0.62-beta.612
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/cjs/index.cjs +1435 -690
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/index.js +1153 -387
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -38,17 +38,6 @@ import { TOKEN_2022_PROGRAM_ID, createApproveCheckedInstruction } from '@solana/
|
|
|
38
38
|
import { useWallet, useConnection } from '@solana/wallet-adapter-react';
|
|
39
39
|
import { Transaction, PublicKey } from '@solana/web3.js';
|
|
40
40
|
|
|
41
|
-
function _taggedTemplateLiteral(strings, raw) {
|
|
42
|
-
if (!raw) {
|
|
43
|
-
raw = strings.slice(0);
|
|
44
|
-
}
|
|
45
|
-
return Object.freeze(Object.defineProperties(strings, {
|
|
46
|
-
raw: {
|
|
47
|
-
value: Object.freeze(raw)
|
|
48
|
-
}
|
|
49
|
-
}));
|
|
50
|
-
}
|
|
51
|
-
|
|
52
41
|
// Use throughout your app instead of plain `useDispatch` and `useSelector`
|
|
53
42
|
const useAppDispatch = () => useDispatch();
|
|
54
43
|
const useAppSelector = useSelector;
|
|
@@ -174,11 +163,10 @@ const widgetSlice = createSlice({
|
|
|
174
163
|
state.redeemShares = payload;
|
|
175
164
|
},
|
|
176
165
|
setStream: (state, _ref11) => {
|
|
177
|
-
var _state$stream;
|
|
178
166
|
let {
|
|
179
167
|
payload
|
|
180
168
|
} = _ref11;
|
|
181
|
-
const stream =
|
|
169
|
+
const stream = state.stream ?? {};
|
|
182
170
|
state.stream = {
|
|
183
171
|
...stream,
|
|
184
172
|
...payload
|
|
@@ -231,7 +219,6 @@ var SorryImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU8AAAFTCAYAAAC52Y
|
|
|
231
219
|
|
|
232
220
|
var AutoPaybackImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbcAAAFkCAYAAACjPXVqAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAJL6SURBVHgB7Z0JYBNl+sbfaQu9S7hvGu6blhuk2nCoKCpVUVfdXYq7KuquoKviqru064nrCnU90PW/tIsHIkirAgJCUwXkppX7bApyI6SUFgql+c/7zUwySXNOJpmkfX+7sWmSljRfMs+83/d8zwtAEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBeAsHBEEQRL1Bx4NfZBeIjIzUS/dfu3bNJHs4XjcjUM8gcSPUIOO5556bGRcXl7p+/fr8lStXFvC3GUH44BAEoTKigOl50Uq1WCypffr0SW7btm1q+/btdbGxsbqOHTtCkyZN2GM7derk9HccOXIEysvL4cKFC+w6r2/FFRUV5nXr1pXU1taa+IcU4yVchY/EjfALvV4/c968eVkGgwFycnIgKysLxM+Cib8M5C/17oyQIIINr2UoZAYUsJSUlHResFL79esH/fv3Z+IlCZla7NixgwkeL3RQVlZW/N133xVzHFfAV30odiYgiHrOzOLiYgvCi5qF/97xkgUEQSiCFzRDs2bN5tx7772l77//vuXHH3+0aAn++3/9618tt99+eyH/3Kaj4AJBeACnGAziRQ/hgX727NnsTT9nzhxJzM7zFZyFr+ak70uBIAivQUHjK7I506dPP//tt99a+CrJEorw1ZwFBXfkyJEodJkkdIQjug5t9DOfefj1819/tN2Cl1nPzbM8fN9z29u27DCHvz8VQpQnn3yyFN/kpaWlFv6NLQmZfsaMGed5pNvwogOCIFyC62d8hTYzIyPjPFZHoSporvj5558tjz/+uIX/G+aRyBGMLh17Fm/9+rzlwBqL08snbxdafn/nk6X9ew6eB0JVFxLw1dlMFDVErNKYsOF9zzzzTD7e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Pc6+xkYkMiOM3R5ti/RrHPbw8V9fLb0711RFIcmEZ0jcCIJIbR2tN3SPGzi5Z/zg1EFNxjLRYchUS/gvZ/2vfTUnXyATzSicnVPT7qqjSUSen8mEMyLCJpBiL7xtF1bDB0f/NJC/sRgIwgMkbgRByNGDaEjpL3NeMura8+tsJ5D3pZOwbSIHuxtlJhFhWrPWIqme7V/hf1GtOFWZ+8uLxevOLx4IBOEFJG4EQbhCz18M1zW9fWJybJ+MgUljoUUjMdxZfIB9tJdYgbH0kwjZ9gIpF9NB+RymIq2PlPbayTaSowvzr/vGkZGE8BoSN4IgvAGdl4YBiTdkdIjpPrFfYpoODSkIZ9+VQLY/zhl1I76s1Arf2wTONiu6/vwSmHfshc5Ae9sILyFxIwhCCcx52TV2oGFwE2zCOky41SJtCHcyFelYxcldKPKN4Q4Px5tfPXhProm6bRM+QOJGEIS/GLrGp2boY/pO7J0wXI+GFCFdxJX5RI6TSs7hK3YT/+fhyaOBum0TPkDiRhCEmmAciWFs89/w63T9DL3ih0Fz1oTV8zQlYlfRsU5uHHx6/DXTml9pbxvhGyRuBEEECj1/MQxpcvPklMQbWLfx5qLz0rGas24Yt6alCPvosJHq8/tuJCMJ4TMkbgRBBAM9fzH0Sbhu4tAmNxk6x/bTdYrtbbX5u+L7s5+aPj/xGk5JmoAgfIDEjSAILWBNWAckpqfzU5f6XnxV57gut+z0x+bFp2ajsNGmbcJnSNwIgtAa1oS1d/yIlMYRMalXai+bN5qX5Z27emIOUMVGEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEAQRXP4f8kfGser8rBoAAAAASUVORK5CYII=";
|
|
233
221
|
|
|
234
|
-
var _templateObject$v, _templateObject2$s, _templateObject3$m, _templateObject4$e, _templateObject5$8, _templateObject6$7, _templateObject7$6, _templateObject8$3;
|
|
235
222
|
function ErrorModal(_ref) {
|
|
236
223
|
let {
|
|
237
224
|
title,
|
|
@@ -248,14 +235,64 @@ function ErrorModal(_ref) {
|
|
|
248
235
|
errorReason = 'Oops! Something went wrong';
|
|
249
236
|
}
|
|
250
237
|
const styles = {
|
|
251
|
-
wrapper: css
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
238
|
+
wrapper: css`
|
|
239
|
+
height: 518px;
|
|
240
|
+
position: relative;
|
|
241
|
+
`,
|
|
242
|
+
header: css`
|
|
243
|
+
${theme.cssMixins.rowHCentered};
|
|
244
|
+
margin-top: ${theme.spacing(-0.5)};
|
|
245
|
+
`,
|
|
246
|
+
sorry: css`
|
|
247
|
+
${theme.cssMixins.rowHCentered};
|
|
248
|
+
margin-top: ${theme.spacing(12)};
|
|
249
|
+
margin-right: ${theme.spacing(4)};
|
|
250
|
+
& > img {
|
|
251
|
+
width: 170px;
|
|
252
|
+
}
|
|
253
|
+
`,
|
|
254
|
+
content: css`
|
|
255
|
+
box-sizing: border-box;
|
|
256
|
+
width: 100%;
|
|
257
|
+
display: inline-table;
|
|
258
|
+
padding: ${theme.spacing(2, 0)};
|
|
259
|
+
position: relative;
|
|
260
|
+
margin-top: ${theme.spacing(9)};
|
|
261
|
+
height: 79px;
|
|
262
|
+
`,
|
|
263
|
+
errorIcon: css`
|
|
264
|
+
position: absolute;
|
|
265
|
+
font-size: 20px;
|
|
266
|
+
color: ${theme.palette.error.main};
|
|
267
|
+
margin: ${theme.spacing(0, 2)};
|
|
268
|
+
`,
|
|
269
|
+
messageWrapper: css`
|
|
270
|
+
color: ${theme.palette.text.primary};
|
|
271
|
+
font-weight: 400;
|
|
272
|
+
font-size: 16px;
|
|
273
|
+
padding-left: ${theme.spacing(6)};
|
|
274
|
+
`,
|
|
275
|
+
errorMessage: css`
|
|
276
|
+
margin-top: ${theme.spacing(0.5)};
|
|
277
|
+
font-size: 14px;
|
|
278
|
+
font-weight: 400;
|
|
279
|
+
color: ${theme.palette.text.primary};
|
|
280
|
+
cursor: pointer;
|
|
281
|
+
display: -webkit-box;
|
|
282
|
+
line-height: 16px;
|
|
283
|
+
-webkit-line-clamp: 3;
|
|
284
|
+
-webkit-box-orient: vertical;
|
|
285
|
+
overflow: hidden;
|
|
286
|
+
text-overflow: ellipsis;
|
|
287
|
+
margin-right: ${theme.spacing(2)};
|
|
288
|
+
`,
|
|
289
|
+
okButton: css`
|
|
290
|
+
& .MuiButtonBase-root {
|
|
291
|
+
width: 100%;
|
|
292
|
+
position: absolute;
|
|
293
|
+
bottom: 0;
|
|
294
|
+
}
|
|
295
|
+
`
|
|
259
296
|
};
|
|
260
297
|
const handleCloseModal = useCallback(() => {
|
|
261
298
|
reset();
|
|
@@ -438,7 +475,7 @@ function ChainSupportProvider(_ref) {
|
|
|
438
475
|
const selectWidgetState = state => state.widget;
|
|
439
476
|
|
|
440
477
|
var _path$a;
|
|
441
|
-
function _extends$a() { _extends$a = Object.assign ? Object.assign.bind() : function (
|
|
478
|
+
function _extends$a() { return _extends$a = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$a.apply(null, arguments); }
|
|
442
479
|
const SvgReceipt = props => /*#__PURE__*/React__default.createElement("svg", _extends$a({
|
|
443
480
|
width: 24,
|
|
444
481
|
height: 24,
|
|
@@ -450,7 +487,7 @@ const SvgReceipt = props => /*#__PURE__*/React__default.createElement("svg", _ex
|
|
|
450
487
|
})));
|
|
451
488
|
|
|
452
489
|
var _path$9;
|
|
453
|
-
function _extends$9() { _extends$9 = Object.assign ? Object.assign.bind() : function (
|
|
490
|
+
function _extends$9() { return _extends$9 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$9.apply(null, arguments); }
|
|
454
491
|
const SvgSeparator = props => /*#__PURE__*/React__default.createElement("svg", _extends$9({
|
|
455
492
|
width: 2,
|
|
456
493
|
height: 14,
|
|
@@ -462,7 +499,7 @@ const SvgSeparator = props => /*#__PURE__*/React__default.createElement("svg", _
|
|
|
462
499
|
})));
|
|
463
500
|
|
|
464
501
|
var _path$8, _path2$3, _path3$2, _path4$1, _path5$1, _path6$1, _path7$1, _path8$1, _path9$1, _path10$1, _path11$1, _path12$1, _path13$1, _path14$1, _path15$1, _path16$1, _path17$1, _path18$1, _path19$1, _path20$1, _path21$1, _path22$1, _path23$1, _path24, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _path44, _path45, _defs$4;
|
|
465
|
-
function _extends$8() { _extends$8 = Object.assign ? Object.assign.bind() : function (
|
|
502
|
+
function _extends$8() { return _extends$8 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$8.apply(null, arguments); }
|
|
466
503
|
const SvgLoader = props => /*#__PURE__*/React__default.createElement("svg", _extends$8({
|
|
467
504
|
xmlns: "http://www.w3.org/2000/svg",
|
|
468
505
|
fill: "none",
|
|
@@ -1235,7 +1272,7 @@ const SvgLoader = props => /*#__PURE__*/React__default.createElement("svg", _ext
|
|
|
1235
1272
|
})))));
|
|
1236
1273
|
|
|
1237
1274
|
var _circle$2, _path$7, _defs$3;
|
|
1238
|
-
function _extends$7() { _extends$7 = Object.assign ? Object.assign.bind() : function (
|
|
1275
|
+
function _extends$7() { return _extends$7 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$7.apply(null, arguments); }
|
|
1239
1276
|
const SvgCheck = props => /*#__PURE__*/React__default.createElement("svg", _extends$7({
|
|
1240
1277
|
width: 120,
|
|
1241
1278
|
height: 120,
|
|
@@ -1266,7 +1303,7 @@ const SvgCheck = props => /*#__PURE__*/React__default.createElement("svg", _exte
|
|
|
1266
1303
|
})))));
|
|
1267
1304
|
|
|
1268
1305
|
var _path$6;
|
|
1269
|
-
function _extends$6() { _extends$6 = Object.assign ? Object.assign.bind() : function (
|
|
1306
|
+
function _extends$6() { return _extends$6 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$6.apply(null, arguments); }
|
|
1270
1307
|
const SvgCheckGreen = props => /*#__PURE__*/React__default.createElement("svg", _extends$6({
|
|
1271
1308
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1272
1309
|
width: 24,
|
|
@@ -1280,7 +1317,7 @@ const SvgCheckGreen = props => /*#__PURE__*/React__default.createElement("svg",
|
|
|
1280
1317
|
})));
|
|
1281
1318
|
|
|
1282
1319
|
var _path$5;
|
|
1283
|
-
function _extends$5() { _extends$5 = Object.assign ? Object.assign.bind() : function (
|
|
1320
|
+
function _extends$5() { return _extends$5 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$5.apply(null, arguments); }
|
|
1284
1321
|
const SvgCheckCircle = props => /*#__PURE__*/React__default.createElement("svg", _extends$5({
|
|
1285
1322
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1286
1323
|
width: 22,
|
|
@@ -1292,7 +1329,7 @@ const SvgCheckCircle = props => /*#__PURE__*/React__default.createElement("svg",
|
|
|
1292
1329
|
})));
|
|
1293
1330
|
|
|
1294
1331
|
var _path$4, _path2$2, _path3$1;
|
|
1295
|
-
function _extends$4() { _extends$4 = Object.assign ? Object.assign.bind() : function (
|
|
1332
|
+
function _extends$4() { return _extends$4 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$4.apply(null, arguments); }
|
|
1296
1333
|
const SvgUsdc = props => /*#__PURE__*/React__default.createElement("svg", _extends$4({
|
|
1297
1334
|
"data-name": "86977684-12db-4850-8f30-233a7c267d11",
|
|
1298
1335
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1309,7 +1346,7 @@ const SvgUsdc = props => /*#__PURE__*/React__default.createElement("svg", _exten
|
|
|
1309
1346
|
})));
|
|
1310
1347
|
|
|
1311
1348
|
var _path$3;
|
|
1312
|
-
function _extends$3() { _extends$3 = Object.assign ? Object.assign.bind() : function (
|
|
1349
|
+
function _extends$3() { return _extends$3 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$3.apply(null, arguments); }
|
|
1313
1350
|
const SvgCelo = props => /*#__PURE__*/React__default.createElement("svg", _extends$3({
|
|
1314
1351
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1315
1352
|
viewBox: "0 0 250 250",
|
|
@@ -1329,7 +1366,7 @@ const SvgCelo = props => /*#__PURE__*/React__default.createElement("svg", _exten
|
|
|
1329
1366
|
})));
|
|
1330
1367
|
|
|
1331
1368
|
var _path$2, _path2$1, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _circle$1, _circle2, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _defs$2;
|
|
1332
|
-
function _extends$2() { _extends$2 = Object.assign ? Object.assign.bind() : function (
|
|
1369
|
+
function _extends$2() { return _extends$2 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$2.apply(null, arguments); }
|
|
1333
1370
|
const SvgCongratulations = props => /*#__PURE__*/React__default.createElement("svg", _extends$2({
|
|
1334
1371
|
viewBox: "0 0 468 213",
|
|
1335
1372
|
fill: "none",
|
|
@@ -1458,7 +1495,7 @@ const SvgCongratulations = props => /*#__PURE__*/React__default.createElement("s
|
|
|
1458
1495
|
})))));
|
|
1459
1496
|
|
|
1460
1497
|
var _path$1, _defs$1;
|
|
1461
|
-
function _extends$1() { _extends$1 = Object.assign ? Object.assign.bind() : function (
|
|
1498
|
+
function _extends$1() { return _extends$1 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$1.apply(null, arguments); }
|
|
1462
1499
|
const SvgRibbon = props => /*#__PURE__*/React__default.createElement("svg", _extends$1({
|
|
1463
1500
|
width: 240,
|
|
1464
1501
|
height: 48,
|
|
@@ -1482,7 +1519,7 @@ const SvgRibbon = props => /*#__PURE__*/React__default.createElement("svg", _ext
|
|
|
1482
1519
|
})))));
|
|
1483
1520
|
|
|
1484
1521
|
var _path, _path2, _circle, _defs;
|
|
1485
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
1522
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
1486
1523
|
const SvgHumaPoints = props => /*#__PURE__*/React__default.createElement("svg", _extends({
|
|
1487
1524
|
width: 33,
|
|
1488
1525
|
height: 26,
|
|
@@ -1610,14 +1647,14 @@ function HumaLoading(_ref2) {
|
|
|
1610
1647
|
useEffect(() => {
|
|
1611
1648
|
const interval = setInterval(() => {
|
|
1612
1649
|
if (count <= pathLength) {
|
|
1613
|
-
const element = document.querySelector(
|
|
1650
|
+
const element = document.querySelector(`#huma-loader-wrapper > svg > path:nth-of-type(${count})`);
|
|
1614
1651
|
if (element) {
|
|
1615
1652
|
// @ts-ignore
|
|
1616
1653
|
element.style.visibility = 'visible';
|
|
1617
1654
|
setCount(pre => pre + 1);
|
|
1618
1655
|
}
|
|
1619
1656
|
} else {
|
|
1620
|
-
const elements = document.querySelectorAll(
|
|
1657
|
+
const elements = document.querySelectorAll(`#huma-loader-wrapper > svg > path`);
|
|
1621
1658
|
if (elements) {
|
|
1622
1659
|
// @ts-ignore
|
|
1623
1660
|
elements.forEach(element => {
|
|
@@ -1643,7 +1680,6 @@ function HumaLoading(_ref2) {
|
|
|
1643
1680
|
});
|
|
1644
1681
|
}
|
|
1645
1682
|
|
|
1646
|
-
var _templateObject$u, _templateObject2$r, _templateObject3$l, _templateObject4$d;
|
|
1647
1683
|
function WrapperModal(_ref) {
|
|
1648
1684
|
let {
|
|
1649
1685
|
title,
|
|
@@ -1652,10 +1688,31 @@ function WrapperModal(_ref) {
|
|
|
1652
1688
|
} = _ref;
|
|
1653
1689
|
const theme = useTheme();
|
|
1654
1690
|
const styles = {
|
|
1655
|
-
wrapper: css
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1691
|
+
wrapper: css`
|
|
1692
|
+
height: 518px;
|
|
1693
|
+
position: relative;
|
|
1694
|
+
`,
|
|
1695
|
+
header: css`
|
|
1696
|
+
${theme.cssMixins.rowHCentered};
|
|
1697
|
+
font-weight: 700;
|
|
1698
|
+
font-size: 20px;
|
|
1699
|
+
margin-top: ${theme.spacing(-0.5)};
|
|
1700
|
+
`,
|
|
1701
|
+
content: css`
|
|
1702
|
+
${theme.cssMixins.rowHCentered};
|
|
1703
|
+
margin-top: ${theme.spacing(4)};
|
|
1704
|
+
font-weight: 400;
|
|
1705
|
+
font-size: 16px;
|
|
1706
|
+
line-height: 24px;
|
|
1707
|
+
color: ${theme.palette.text.secondary};
|
|
1708
|
+
`,
|
|
1709
|
+
bottom: css`
|
|
1710
|
+
& .MuiButtonBase-root {
|
|
1711
|
+
width: 100%;
|
|
1712
|
+
position: absolute;
|
|
1713
|
+
bottom: 0;
|
|
1714
|
+
}
|
|
1715
|
+
`
|
|
1659
1716
|
};
|
|
1660
1717
|
return jsxs(Box, {
|
|
1661
1718
|
css: styles.wrapper,
|
|
@@ -1670,7 +1727,6 @@ function WrapperModal(_ref) {
|
|
|
1670
1727
|
});
|
|
1671
1728
|
}
|
|
1672
1729
|
|
|
1673
|
-
var _templateObject$t, _templateObject2$q;
|
|
1674
1730
|
function LoadingModal(_ref) {
|
|
1675
1731
|
let {
|
|
1676
1732
|
title,
|
|
@@ -1680,8 +1736,20 @@ function LoadingModal(_ref) {
|
|
|
1680
1736
|
} = _ref;
|
|
1681
1737
|
const theme = useTheme();
|
|
1682
1738
|
const styles = {
|
|
1683
|
-
loader: css
|
|
1684
|
-
|
|
1739
|
+
loader: css`
|
|
1740
|
+
width: 100%;
|
|
1741
|
+
${theme.cssMixins.rowHCentered};
|
|
1742
|
+
position: absolute;
|
|
1743
|
+
top: 50%;
|
|
1744
|
+
transform: translateY(-50%);
|
|
1745
|
+
`,
|
|
1746
|
+
bottom: css`
|
|
1747
|
+
& .MuiButtonBase-root {
|
|
1748
|
+
width: 100%;
|
|
1749
|
+
position: absolute;
|
|
1750
|
+
bottom: 0;
|
|
1751
|
+
}
|
|
1752
|
+
`
|
|
1685
1753
|
};
|
|
1686
1754
|
return jsxs(WrapperModal, {
|
|
1687
1755
|
title: title,
|
|
@@ -1759,7 +1827,6 @@ function WidgetWrapper(_ref) {
|
|
|
1759
1827
|
});
|
|
1760
1828
|
}
|
|
1761
1829
|
|
|
1762
|
-
var _templateObject$s;
|
|
1763
1830
|
function BottomButton(_ref) {
|
|
1764
1831
|
let {
|
|
1765
1832
|
variant,
|
|
@@ -1767,7 +1834,13 @@ function BottomButton(_ref) {
|
|
|
1767
1834
|
onClick,
|
|
1768
1835
|
children
|
|
1769
1836
|
} = _ref;
|
|
1770
|
-
const styles = css
|
|
1837
|
+
const styles = css`
|
|
1838
|
+
& .MuiButtonBase-root {
|
|
1839
|
+
width: 100%;
|
|
1840
|
+
position: absolute;
|
|
1841
|
+
bottom: 0;
|
|
1842
|
+
}
|
|
1843
|
+
`;
|
|
1771
1844
|
return jsx(Box, {
|
|
1772
1845
|
css: styles,
|
|
1773
1846
|
children: jsx(Button, {
|
|
@@ -1800,7 +1873,6 @@ function ViewOnExplorer(_ref) {
|
|
|
1800
1873
|
});
|
|
1801
1874
|
}
|
|
1802
1875
|
|
|
1803
|
-
var _templateObject$r, _templateObject2$p;
|
|
1804
1876
|
function ApproveAllowanceModal(_ref) {
|
|
1805
1877
|
let {
|
|
1806
1878
|
poolInfo,
|
|
@@ -1838,14 +1910,26 @@ function ApproveAllowanceModal(_ref) {
|
|
|
1838
1910
|
}
|
|
1839
1911
|
}, [handleSuccess, reset, resetAfterSuccess, state, symbol]);
|
|
1840
1912
|
const styles = {
|
|
1841
|
-
iconWrapper: css
|
|
1842
|
-
|
|
1913
|
+
iconWrapper: css`
|
|
1914
|
+
${theme.cssMixins.rowCentered};
|
|
1915
|
+
margin-top: ${theme.spacing(6)};
|
|
1916
|
+
& > img {
|
|
1917
|
+
width: 220px;
|
|
1918
|
+
}
|
|
1919
|
+
`,
|
|
1920
|
+
description: css`
|
|
1921
|
+
margin-top: ${theme.spacing(4)};
|
|
1922
|
+
font-weight: 400;
|
|
1923
|
+
font-size: 16px;
|
|
1924
|
+
color: ${theme.palette.text.secondary};
|
|
1925
|
+
padding: ${theme.spacing(0, 1)};
|
|
1926
|
+
`
|
|
1843
1927
|
};
|
|
1844
1928
|
const sendIncreaseAllowance = useCallback(async () => {
|
|
1845
|
-
const allowanceSpender = spender
|
|
1846
|
-
const targetAllowanceAmount = allowanceAmount
|
|
1847
|
-
const currentAllowance = await
|
|
1848
|
-
const amountToIncrease = BigNumber.from(targetAllowanceAmount).sub(currentAllowance
|
|
1929
|
+
const allowanceSpender = spender ?? poolInfo.pool;
|
|
1930
|
+
const targetAllowanceAmount = allowanceAmount ?? MaxUint256;
|
|
1931
|
+
const currentAllowance = await poolUnderlyingTokenContract?.allowance(account, allowanceSpender);
|
|
1932
|
+
const amountToIncrease = BigNumber.from(targetAllowanceAmount).sub(currentAllowance ?? 0);
|
|
1849
1933
|
if (amountToIncrease.lte(0)) {
|
|
1850
1934
|
handleSuccess();
|
|
1851
1935
|
return;
|
|
@@ -1883,7 +1967,7 @@ function ApproveAllowanceModal(_ref) {
|
|
|
1883
1967
|
});
|
|
1884
1968
|
}
|
|
1885
1969
|
return jsx(LoadingModal, {
|
|
1886
|
-
title:
|
|
1970
|
+
title: `Approve ${symbol}`,
|
|
1887
1971
|
description: "Waiting for approval confirmation...",
|
|
1888
1972
|
children: jsx(ViewOnExplorer, {
|
|
1889
1973
|
txHash: txHash
|
|
@@ -1909,7 +1993,6 @@ function ApproveAllowance$d(_ref) {
|
|
|
1909
1993
|
});
|
|
1910
1994
|
}
|
|
1911
1995
|
|
|
1912
|
-
var _templateObject$q, _templateObject2$o, _templateObject3$k, _templateObject4$c, _templateObject5$7, _templateObject6$6;
|
|
1913
1996
|
function TxDoneModal(_ref) {
|
|
1914
1997
|
let {
|
|
1915
1998
|
content,
|
|
@@ -1921,12 +2004,40 @@ function TxDoneModal(_ref) {
|
|
|
1921
2004
|
const dispatch = useAppDispatch();
|
|
1922
2005
|
const reset = useResetAtom(txAtom);
|
|
1923
2006
|
const styles = {
|
|
1924
|
-
wrapper: css
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
2007
|
+
wrapper: css`
|
|
2008
|
+
height: 518px;
|
|
2009
|
+
position: relative;
|
|
2010
|
+
`,
|
|
2011
|
+
header: css`
|
|
2012
|
+
${theme.cssMixins.rowHCentered};
|
|
2013
|
+
margin-top: ${theme.spacing(-0.5)};
|
|
2014
|
+
`,
|
|
2015
|
+
content: css`
|
|
2016
|
+
${theme.cssMixins.colVCentered};
|
|
2017
|
+
font-weight: ${subContent ? 700 : 400};
|
|
2018
|
+
font-size: 18px;
|
|
2019
|
+
color: ${theme.palette.text.secondary};
|
|
2020
|
+
margin-top: ${theme.spacing(8)};
|
|
2021
|
+
text-align: center;
|
|
2022
|
+
`,
|
|
2023
|
+
subContent: css`
|
|
2024
|
+
${theme.cssMixins.colVCentered};
|
|
2025
|
+
font-weight: 400;
|
|
2026
|
+
font-size: 18px;
|
|
2027
|
+
color: ${theme.palette.text.primary};
|
|
2028
|
+
margin-top: ${theme.spacing(2)};
|
|
2029
|
+
text-align: center;
|
|
2030
|
+
`,
|
|
2031
|
+
check: css`
|
|
2032
|
+
width: 100%;
|
|
2033
|
+
${theme.cssMixins.rowHCentered};
|
|
2034
|
+
margin-top: ${theme.spacing(10)};
|
|
2035
|
+
`,
|
|
2036
|
+
doneButton: css`
|
|
2037
|
+
width: 100%;
|
|
2038
|
+
position: absolute;
|
|
2039
|
+
bottom: 0;
|
|
2040
|
+
`
|
|
1930
2041
|
};
|
|
1931
2042
|
const handleCloseModal = useCallback(() => {
|
|
1932
2043
|
reset();
|
|
@@ -1992,7 +2103,7 @@ function Success$f(_ref) {
|
|
|
1992
2103
|
}, [decimals, txReceipt]);
|
|
1993
2104
|
return jsx(TxDoneModal, {
|
|
1994
2105
|
handleAction: handleAction,
|
|
1995
|
-
content: [
|
|
2106
|
+
content: [`You successfully approved ${formatMoney(approvedAmount)} ${symbol}.`, `Your pool will automatically pay off the due amount on the credit line before the end of each billing cycle.`]
|
|
1996
2107
|
});
|
|
1997
2108
|
}
|
|
1998
2109
|
|
|
@@ -2047,7 +2158,6 @@ function CreditLineApprove(_ref) {
|
|
|
2047
2158
|
});
|
|
2048
2159
|
}
|
|
2049
2160
|
|
|
2050
|
-
var _templateObject$p, _templateObject2$n;
|
|
2051
2161
|
function ApproveAllowanceModalV2(_ref) {
|
|
2052
2162
|
let {
|
|
2053
2163
|
poolInfo,
|
|
@@ -2082,15 +2192,27 @@ function ApproveAllowanceModalV2(_ref) {
|
|
|
2082
2192
|
}
|
|
2083
2193
|
}, [handleSuccess, reset, resetAfterSuccess, state]);
|
|
2084
2194
|
const styles = {
|
|
2085
|
-
iconWrapper: css
|
|
2086
|
-
|
|
2195
|
+
iconWrapper: css`
|
|
2196
|
+
${theme.cssMixins.rowCentered};
|
|
2197
|
+
margin-top: ${theme.spacing(6)};
|
|
2198
|
+
& > img {
|
|
2199
|
+
width: 220px;
|
|
2200
|
+
}
|
|
2201
|
+
`,
|
|
2202
|
+
description: css`
|
|
2203
|
+
margin-top: ${theme.spacing(4)};
|
|
2204
|
+
font-weight: 400;
|
|
2205
|
+
font-size: 16px;
|
|
2206
|
+
color: ${theme.palette.text.secondary};
|
|
2207
|
+
padding: ${theme.spacing(0, 1)};
|
|
2208
|
+
`
|
|
2087
2209
|
};
|
|
2088
2210
|
const sendIncreaseAllowance = useCallback(async () => {
|
|
2089
|
-
const allowanceSpender = spender
|
|
2090
|
-
const targetAllowanceAmount = allowanceAmount
|
|
2211
|
+
const allowanceSpender = spender ?? poolInfo.pool;
|
|
2212
|
+
const targetAllowanceAmount = allowanceAmount ?? MaxUint256;
|
|
2091
2213
|
const underlyingTokenContract = await getERC20Contract(address, provider, account);
|
|
2092
|
-
const currentAllowance = await
|
|
2093
|
-
const amountToIncrease = BigNumber.from(targetAllowanceAmount).sub(currentAllowance
|
|
2214
|
+
const currentAllowance = await underlyingTokenContract?.allowance(account, allowanceSpender);
|
|
2215
|
+
const amountToIncrease = BigNumber.from(targetAllowanceAmount).sub(currentAllowance ?? 0);
|
|
2094
2216
|
send({
|
|
2095
2217
|
contract: underlyingTokenContract,
|
|
2096
2218
|
method: 'increaseAllowance',
|
|
@@ -2124,7 +2246,7 @@ function ApproveAllowanceModalV2(_ref) {
|
|
|
2124
2246
|
});
|
|
2125
2247
|
}
|
|
2126
2248
|
return jsx(LoadingModal, {
|
|
2127
|
-
title:
|
|
2249
|
+
title: `Approve ${symbol}`,
|
|
2128
2250
|
description: "Waiting for approval confirmation...",
|
|
2129
2251
|
children: jsx(ViewOnExplorer, {
|
|
2130
2252
|
txHash: txHash
|
|
@@ -2154,7 +2276,7 @@ function Success$e(_ref) {
|
|
|
2154
2276
|
let {
|
|
2155
2277
|
handleAction
|
|
2156
2278
|
} = _ref;
|
|
2157
|
-
const content = [
|
|
2279
|
+
const content = [`You have successfully enabled auto payback.`];
|
|
2158
2280
|
return jsx(TxDoneModal, {
|
|
2159
2281
|
handleAction: handleAction,
|
|
2160
2282
|
content: content
|
|
@@ -2260,17 +2382,37 @@ const useEA = () => {
|
|
|
2260
2382
|
|
|
2261
2383
|
var spinner = "data:image/gif;base64,R0lGODlhuQEjAfcAAFFRUVFRUVFRUVFRUVNTU1dXV1hYWFlZWVlZWVxcXGtra4ODg5GRkZmZmZmZmZmZmZqampubm52dnaGhoaioqLCwsLe3t7y8vL29vb29vb29vb6+vr6+vr6+vr+/v8HBwcTExMjIyMvLy83Nzc3Nzc3Nzc3Nzc7Ozs7Ozs7OztHR0dfX1+7u7vj4+P7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBQCZACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBAAj+ADMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJ3qHAgAIItKhABSgixkCLNNKoAAoxEsZijTwiwEGOge3YI484AtlXBUMOqYCRaKEAAQNQwuiQkEnW+COTY6mowJZcKgABQxxUOSQDWIrFwQJdpkmmQhCI2eOSZX6FApppqsmmmz3G+dWKddZ55UFt4mmjnl2h0Gefax4UpqAtLkAoVxAc2qdCVLr55aNa8Slpl0UeNKOgcCrkJJQQdIqpUZpuuqWpBlWa5KX+CLUpwKy0IiDlqUSlqiqrBXHgKo+JHqQArcTSGiquQVWgKpeOLmRolcEahECx1ApwLLI/0akqrAsFWuMCvBI0bLXUNovtT8qqaq5DKFRQAQfhElQBueT+eW5PutYZb0bj0lvstffuFGmfC9jbEQr+khswUBykugC3H82bMLX7LowTChiXBMHE1Bps8Vgbc0ysxx+HhbDItFZcclco07ryWQu0HO3LJY1KqsoqnSwyzSk9CeXPDEAMEwMiC81zSEAnHXRNRCds9NEf+az0z0+3FDK5t0ItkopTJ33T1bMiULXWHUnddZQ5ZUz2SWcnPfbaWLUN9NtwWyU31XWDZfb+2STnjRXXcvutt9xZCw7p2YUbfrjSiSveFQcQRN6345RXbvnlmGeu+eacd+7556CHLvp37UYOQQU4j15UBaa33rjqR7HeuuuwLwX57LOnXjtPuOP++u5A9Y478EcJPzvxRhnfOvJFKR/578zvdLvxukdvk/LQWy+w8NobJbvpk3f/E8bVi2/++einr/767LfPHAocxB+/+zzJbz+89ON0//3l52/S/vfzH03gB0D5CXAmBbSfRMjXvwM6K4HzgwgDyefAjBAwgRKcIAUreBEIVk+DDOTgRS64vwyCsIEiLAgJDWhCEKYQIxjD3wJPiMIXboSGNbShRk6ow5dosIeSMVEbEIdIxCIa8YhITKISl8jEJjrxiVCMohSnSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pTdCwgAIfkECQUAmQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYc9PT09PT09PT09PT1CQkJKSkpPT09QUFBRUVFTU1NYWFhdXV1iYmJmZmZpaWlpaWlpaWlsbGxycnJ/f3+MjIyampqqqqqvr6+xsbGxsbGxsbGxsbGysrKysrK1tbW4uLi7u7u8vLy9vb29vb2+vr6+vr6+vr7AwMDExMTHx8fKysrMzMzQ0NDV1dXi4uLv7+/7+/v+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gAzCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiid+VQMEEE1DQAYqJlSDBAzTW+EAFMBZWgY08PjBBjoJ10GOPPwLpFwtDDomjkWix0EEHJUBEQZJDMmlWByxm2SILDVE55ItWirWilloumRCSXvJoZphejUmmlmAihGaaNVLA5ldYvvmmQnPSeeOdXump55oG+VljnIBmxYKgeio0gaEPcJmoVnkyqqVCJRha5EIslFCCpJMiVamlLC70KJ2cToDAqqzaGapR/iWQeulCM3oZZUIVsKorq4i+GpSsLLq60JRDSgDqQRTsqiwChPrqk5uW3spQrDZK0GxBHSy7rLTO/iSrsB9pu+wD3QYVq6Ui5Squsr2Wu9O5b4L70QPrKkuuu0B14GYFx4JU77L4qsXCv8oGnNbABOtqcFoJK7zwWfQ2LMHDZ2XbMLcUn1RCBxV00K9MEf87ccYocVzByShjDBPC/5KMEsowo9zuSyX8+7HLIJkcM8w3vxTyrpviTNLORN9E7aoPUNCz0B6VQPTOSzNN6dMxqyw1V1RXfXVYOmdt9daKZo0y2GGJfbJQTnpMtkZOZw2UjALEHTcBE0S9dkNdx2w3/k0PyO233EHfLRELRf+EwN+IC3Cv4BV5+nVOhyeOeOCMT0WB5JLPXPlTmEuOwOZUVdC55HuDblTfoyN+relKEZA64iOz7tTriC8uO1Ou0y537LcvhbruAqzee1GiAy9A6cMDZfznyTN1ue6aN19U5KlTLr1AGz+J/EzUY2779QKl/eT428f0e+LWSy/++OS/LcHfBBgLvkHs1//kUGmXL3v29rc/P1P9s9//ABhA9g1wKQU04AGTksAnPW6BQFlf/yCoFP7Z74EUfFv/MJjBCNZPfx0MoQhHSMISmvCEKEyh1DrlKRCq8CUsdJynXvgTGdqQhjyxoQ1diEON6VCGuj3MyQ+BGESjDXGGRbTJET+VRJvEUIdNNKIOeRjFkTyRiVXMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHScpSmvKUqEylKlfJyla68pWwjKUsZ0nLWtrylrjMpS53ycte+vKXwAymMIdJzPAEBAAh+QQJBQCZACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh0FBQUFBQUFBQUJCQklJSVBQUFZWVlhYWFlZWVpaWmBgYG1tbXNzc3R0dHR0dHV1dXd3d3x8fIGBgYmJiZKSkqGhoaysrLCwsLGxsbKysrKysrKysrKysrOzs7a2tr29vcbGxsvLy8zMzM3Nzc3Nzc3Nzc3Nzc7Ozs7Ozs7OztLS0tjY2Orq6vj4+P7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ADMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJ4H2wwYoooKhYBQ/EKKMEH7hYGAoy5ihjBTYKhqOOQPLY419AFvlAi0OmhQKSD31gJJASJGkWChVQYKWVGzhEwZNASknWBleGaSWTCXEJZI1eggWmmGIyZKaOWab5FZtsClnmmzKiKSdXVdIpJpkGSYBnjIDuiZWfdSq0waAPGMoVCoiyudCgcTqaFaSRhrnQomZGuakECISKAI2WIpXplXYmBOOTniaEwgL+osaKQKOlFnUqlg1xCiQFC30g668IFFprTx/cChGYOwpLEArAAjvsUH0iWulHDzT7K6/PBhVpqh4xa+2v2QoVbZjTfkTBt79yG25PG1Tgrp4iwYpurK2ui9a8stJq7734iqrvvmZV2++oAKNVwcAIlFvwWAgv3BIKHygL07n4quswSe26667CMQn87b8Xk/SBxiS7K3FLHgNbb8gklezyTQcDyzHLIGXsssYzw9SuBBJUAC/NLd9cMtBkUSk0yUSPNfLRGictltFMW+z0VlG7O3VYNgv989V8Hp0zThssUEAAARTwwNdcOwR1yWjXtMHYZMdNdgEnp51ryVvrRIH+3HzH3bbdT+3d9+B/A77UB4MnHoDhVyGg+ODYMj7V44MXIPlUFVA+eN2XG/WA5n0X3rlQn4Mut9SjH1W66WSLnvpPmbNONuevCyV72bU75TjrkeeuFOKs++6U4Jq73vmStNckQfHCI6TiiivmrdPbiRcgvfDQZ7+iUGHDbbbxl2uv/fXNIyW+9uU/hcL52Sef/k/Ps7+B++8TKz+L9S+1/v35M3U/+P3Lyf7OF0CmDDB7BXQKxDYQsQQ68IEQjKAEJ0jBClqwgEu6YFGQx0ENAoWDIPRgT0AYQhHuhIQlNCFOUNhBFa6QhRl04U1gSD8ZpgSGNnwhCXOokxTy8IeWQAyiEIdIxCIa8YhITKISl8jEJjrxiVCMohSnSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUquRYQACH5BAkFAJkAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRUlJSWVlZYGBgZmZmaGhoaWlpampqbm5uc3NzdHR0dXV1dXV1eXl5gYGBioqKkpKSmZmZn5+fp6enrq6us7Oztra2uLi4vLy8vb29vb29vr6+vr6+vr6+v7+/wsLCyMjIzMzMzc3Nzc3Nzs7Ozs7Ozs7Ozs7O0NDQ2dnZ5+fn+Pj4/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AMwkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4onhoaAiiot5IIEDMDoAwQUsHvZijDhCgEKNg92I44878vjXBT8WKaOQf0FgZJE0ImmWBxNIIOUFQTJE5JI/QuAkWShEKeWXEjS5kI9YxrilWCiAqaYEEzBEZpkOnBmWl2t+KSZCb5Yp51cu1qnmQlfCeeSeXdHpp5QeKISCoDC2SShXh6p550F5GvloV5GCOelBSpa56UEX3BjmpUllaidDKHRqpKMKTYDAq/6wvsoqqUOFamqVC01QJASJLgRBrMAioCWtRJk6K6oXTDDBBb0u5ECwwUpAbK2Z4uqRq9AG++m0O9laZ7MgZQttnNwGBaWax37kgbjQgluuTyh4IK9J2LIb67bvjiWBvcCmmy9Z+/ILq7//ilWvwPgW/BUKAsOqcFrPCjzsw082bC3FJXlwwcYbuyvTwdkmjPFHHJe88U0gAyvyyB2Z7PJNqUbLMkoau1zyxTPV7PHMI9n8Ms9k+Wwy0EELzTHRYxl9NNJhKc0s02GhoDTUYtVs88476foqBARTLZHPWOfkQABkl022tF5fJHXJ5prtNtkEpM2VB2/XHbfcWRFQd/7d5OJd1QR77x2230zpHfjbfRMOFQqH7624VBc0XjfOjycVueRuU175UZdjXrbmmxfFuOdlh/6U4Z4nbrpSgJM++OpEod646rAnRbfkd9fe1O2B5657QfHKKy/oOI1dN9q/FyT88vMKpbWwXesePPPDJ/8U9cxb7xT2y2vP1PTce88U98KLvxT5zdvUJQJkIzAB8eKjD79KKBAAwP3430+7+QSRb5ME+Qsg/lamPez9T4AIBAABtaei+anEAwlMoAP5R5MARBCBCKAgUC5wQQlq0CcO6CACo/fBmYgQgyXkyQkFGIAU7mSFAWyhC3MCw/xlcIY4QUAN7zcxHNZkAvE7BMDrfDiQBq6IJDuUIREXYsQGkgSAMFwgDptoRJJY8IT7WyJBqFhFK4rwhlpMCBedWBIIXJCEYRzjEUuSqiveLwDICyMTx7iSNcqxIXS8Y0+4qEd4kbGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycpWuvKVsIylLGdJy1ra8pa4zKUud8nLXvryl8AMpjCHScxiGvOYyEymMpfJzGY685nQjKY0p0nNalrzmtjMpja3yc1uevOb4AynOMdJznKa85zoTKc618lOEAUEACH5BAkFAJcAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRU1NTWFhYYmJiZ2dnaWlpbGxscXFxeXl5f39/gYGBgoKCgoKCg4ODhoaGi4uLkpKSlZWVmJiYmpqanp6epaWlqqqqr6+vsrKytra2v7+/x8fHy8vLzc3Nzc3Nzc3Nzs7Ozs7Ozs7Ozs7Ozs7Oz8/P09PT39/f9fX1/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4ALwkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopniUBhE44GIFJKhoGAcu1lhjBTIOpoGNPDoQQY6AkdBjjzgC2VcFQ/ZoJFocaOBkjA8l2aMGS5KlQQVYZgljQzRKaeOPVYZ1pZZacsDQjl7aGCZYY5KpJZQJoZmmi2t+5aabVCok5JwOFFnnVhzc6SZDLc5p5p9btSkolnAi1KWXYCKqlaKLNooQkl5aihAJY+Yp6YqLvtkQpkMeqqcDB6SqqgOafvoTCf6hZvkQB4XeOKqquKrqqatBxVqBqQ6RwAEHrR5UQa7IHrArrz7BGupIJCSbLLNCOXsnSRFIi6yf1P5EKbAhaTttt0MV+1G04uZqLrlipqsuu2lp4C6u68LrFbrzHmBvWvkeoMC+aB0777IAj6WAu/8WrFKTToI7E77SJqzwSQw7aXG9LJFwcLIOTIxSxRZfjNOOuDpAsMcihayykyibBfLKGmDcMlYwq+zwzF3VrDLOYuls8c08a/XyyjIHTZXPJxutFac1l9tp0UovxPTOQckbwNVYHwB11AkJqwGxQimA9dhYc8s1VmKTrXakZ1sVgdpwB5B0206REDfcBNBdlf4Dd8M9t95KEdC32hID/tTgaudt+FN2I0724lA5PrbikDcluOQBFF65Unxj/vfm5WJOOehLve3456QPdQDiHafuVNpxm+36QCTUXvtQVpN9ANCu2+47UU1iGfPsm/r+O/F1G2888k0pvzzzSzl/PPRJSW879UpZfztOgUYQwZbY6yk9ThUEAMD56Acge/gCWW+T3ejHj76+7Buk/E0kyK//+QFsXX9M5tuf/gLwv58oQIACZFsBc4JABC5wJxVooABR98CWHFCC+lNgBWdCAAzqj34brEkHPRg/EIZwJgcgYfxad8KZRECF6FtfC1uSPxgCYIYihKEJcQgTDsDQf8E8HEkEPUjBIKLkhRKUoRFdooEA6o8AQFyiSTggtvMRwAG8k6IWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycpWuvKVsIylLGdJy1ra8pa4zKUud8nLXvryl8AMpjCHScxiGvOYyEwmrwICACH5BAkFAJYAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHWVlZWVlZWVlZWVlZWVlZXFxcZWVlb29vdHR0dnZ2e3t7gYGBhYWFiIiIioqKjIyMjY2Njo6OkJCQlJSUnJycpKSkqqqqsbGxtbW1ubm5vLy8v7+/wsLCx8fHy8vLzMzMzc3Nzc3Nzs7Ozs7Ozs7Ozs7Oz8/P0tLS29vb7u7u+Pj4/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4ALQkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopojUBRRQcAEJKiJGQQQ01hjBBjESZuOOEVyQY2Az8mgjjj/2dYGQPBaZFgkbwAgRkjw6qaRYJLDYYos+OgTljllOCdYGV4bZYkMkbGljl152RYKYYqKZkJk1upmmVlayeSWRCsFJI55zbmVnmwwdCWefav4pZkNwykmoVWAaemVDG2xJAUQkSLnoUWs6OiakSE7a0AUJhCqqopcCpamLEAlKIwV8JkTCAv6ixprAAqUWVeefJcmqawK1EnWrmK1+BOuusdLaq1C/thisR6ASK+uyx+5U5ZWkejSss6J6Gu1a2Oq6LVvdyvott+GKOq5a5Zp7LloUpKvtumWRkC68abXbbbX0isTkBtDKFAG27+Zr0gYXFFxwvzDZqyu+An9k8MMF63TBsAsw3LBHBENsMMIXc1Wlxg93XFbGIBdsqchfkVzyySirWbLBLY/1csQxh6UyxBzXfNXNBxO1L8s6V3RzzjdFYIAASAtgQMBBWwR0TxckLXXSRDf9FAVTZy1A1VYvFbXWWT/d9VNHgz01r2NT9bXZU4udtlIJsJ01028zVbbcSUdQd/5UeE9t7N5O3d233oA7FXffSNNd+FFr9+324kQJzjbakDPVONuPVz4U1nJzrTlQl0/t+d6VZp5TBFMv/bmrpZde1M+rs96667E/NXvrtTt1++y5M7U77r0r9TvtwSc1vLQmF8/Q8TdtkAAA0Ef/t/IH7Y7TAtFnH73i1AN/kwHahw8A5dQD9bz44RNevk8XoI++6evHJID74pMfP04k0I/+/Tu1r3/4o+MfSiLwv/BxT4AvIWABs3dABLaEAgvMnsUcqJINRDB6FLzJBQEggAzaRIELnKAHUzK/AnZwhDXJXwFReBMVuu+ELCwa+hoYQ5gcKVQ9qqEOd8jDHvrwh5VADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpR0DAgAh+QQJBQCWACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzk5OTk5OTk5OTk5OTo6Ojw8PEpKSlpaWmRkZGhoaGhoaGhoaGlpaWpqam1tbXR0dHt7e4GBgYWFhYqKio2NjY2NjY6Ojo6OjpKSkpeXl5ubm6CgoKmpqbCwsLi4uMDAwMPDw8jIyMzMzM3Nzc7Ozs7Ozs7Ozs7Ozs/Pz9XV1d3d3ezs7PX19f7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AC0JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKaIlAkffGCCiol9oMEFNNLYAYyFzVjjjhe8iCNgHfAo5I9/mSCkkDcSyVeQR/KopFkfdCCllD42pGOTNVb5JFhTdimlQ1jyqOWWXXlpZkNh7jgmmVpFaWaXVqZJI5tfvXnmQkamqQGdXtnpZZxhrsnnVX7CCeiRSQ66VaFTPnTljh84ZIIGEVQaQaKKFsVoB4ImZEIHM2oQqUOUWmoqppkG9WmhJV1g6qv+EeyZ6lBuvllSB7DCiuqsPtVqKEm55sorUau6aBKuwb466rBruZqsqbIyq9azr14g7VrUmmrttWk5m2203JqFbLadhhtWthFsa+5ZH5C7bkvlyjRurru+SxKLLbYY70tGwtqjvSnlK7CxOX2qgQacApwSvgPrqzC7DQv8MJQR5zsxWQxXfDFZFVu8sVgdt/ixWBkPPPJYJTt88lgm03oBAzAz8O/KYD0Q880y09yVCTj3/IDOW/UsdARAY/Wy0D3XW/RTSCO9NFUdNC30vk8fpYHUSVcd1dFYx6y01khd3bXXYD8V9dgwU132UGjDvPZTXGP99dtGjU003U7xLPX+z3hDZbPQ6vZtdtwXLCu4QSYknvjhUynuOONQOS455HlLrjjlTVl+OeZLab4450p5rjboPmmuU9QGpG7AA3OTPjlOHzCg+uwGMDA65bevpAHtvBvQOuk4ddB777kDH9PwvR9g/E8XIN/778sf7zzvDES/kwnT9269Th9kz3vx25/Uvfezgx9+SdiTr/r5OKm/PvvoBxmr4QdF4H7g8H8kvAD8918A/gRJH/nyJxIG9O+A/fMdQprnPXARkCMGQKAE+ae0B2QPgA/MyAEmyMFO2Q95GMzgRTTAQQ4qDyEfsCDtHmA+ES4kgiWcIP0M4qYZujAjH4ghB+92w5VcQIfiEzRAD1nyACBOcIgrMaAREYhElRRxiQdsYkpICEX+CVGKKKki/0KIRZBssIot7OJEcghFLorxIz804hXPeJIIAHGNbDxJBwpQQh7GMSXNo6MVIxDGO2rkc34MpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm+AMZ1wCAgAh+QQJBQCWACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh0FBQUFBQUFBQUFBQUFBQUFBQUFBQUpKSllZWWZmZm5ubnJycnR0dHR0dHR0dHR0dHR0dHV1dXV1dXZ2dnh4eHx8fH9/f4GBgYSEhIiIiIyMjJCQkJSUlJeXl5mZmZmZmZqampqamp2dnaGhoaenp62trbGxsbOzs7S0tLe3t7u7u7+/v8LCwsXFxcjIyM3NzdLS0tbW1tvb2+Tk5O7u7vX19f7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AC0JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKaoonUnhOCiiy+sWNgKL9YYwgkyCvaCjTbimONfPPIY44987RhkjT4SWdYKJzS5AkQtHlmjkmQx2eSVJwzJUJRSukilWFZieaVDXHb5ZVhiptkQjV16eaZXYabZpJYKtRnCk292JaeYdCbEppR5erUnln0mVKaNhQZ61aBXJorQny8m2ZCRG2SpKFIvMCqpQ5megKdDK1wg6qgXbODopT4x+qlIJ5Dq6gX+q6Ia1KAlvfDqq7IWlWasIW1wq6sh5FrUC8SeZOuvrgrrVqvIksqrsmYx26yom0Ib7bSjVmttldiKeuq2YXV7AbhqhYCttuSONe0G6a6FLLvtrkTsvDtJm228Ks2rb7E6vbDCCt/iG9K++gqMFsH7GmwWwgUrTBbD9Do8FsT8ShwWxQFbjBXEGj9McMdlNUzUCb6W+izIW50gwcosr4wuylZd0PLMEgQLs1Yy0zyzzTdbpbLONPd8FdA68yx0VC8QrfPRU62gdNBMR/Xz0yxHHZXTVFdt9VNJZ73y1lB5XTPYT039NNlQ5ay00WgzpXbRbUcVAtAvx60UyaJucLL+3Xz37fffgAcu+OCBzp1AAhfUTfhPGyDg+OOOs734Ty8kAPnlCEgwuVCWY3655pv7JIHnnkseuk0vkE56xqe7dIHqnsPb+k2we57A7DjV7jnutOt+Oe82+Q757cDTNLrwCIxbPElMZnwC8gjsvTxGFxwwwPXXSyA98qBP31EI2IePPfEHPe87695DdIH47A+AQEIh6K54+hFt0H777z+qegLo0+/Q/feT3UFC0DnHJWB+/lMfAO83qf4l8CELvB8CH9iRF0Swfd2joElOcEH25U+DJgFfB8P3QRCShIMjxF4JTSgSC6bwespjIUkQ8MIBSE+GGxHhCFeIw5BYb4SqE+zhRVx4wRgKcSQrKOIRUZKA+x0giEvUyAsad73MQTGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuDxaQAAAIfkECQUAJQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdRUVFRUVFRUVFRUVFRUVFUVFRZWVlhYWFpaWlvb29ycnJ0dHR1dXV1dXV3d3eAgICKioqPj4+VlZWZmZmbm5uioqKqqqqwsLC3t7e/v7/FxcXNzc3c3Nze3t7r6+vx8fH7+/v+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBLCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqKJ1G1xAAQUXZLDiYS6+aCMFG8w4WI032pijjn/x2KONQP415JAyFmnWBhtk8ONDGxzZ4wVKktVkBlhmCaWUPVYp1pVZhulQlFy+SKWXYIWpppMOlWkmml+BuSaWDgl5JJxxzilmQ2RKeSaeXMk555ZH/gnoVoKuGZGdT46ZwQWNHmqUnlpKxKREFESg6aaGSjoUpWyStMGmpGpKgaeTzhlpSKW2eiqq/kQJelKmrZaaJKxu1eoqrm6NqmupvLaVwa+lrhpsWcMSu6mxx47lq7IRNLsWtBG8Ki1aF0DL7LVi0aprp9ya5W2p4IZ7EpPbzhQlqZCauxK68Lq7Frz0ypsWvfHauyS+6Oq7L7+X+usswOkKjCjABluJcMID18vwkkhdIPGtD4M1agMYZ2xtxVxdkPHHGD9QMMdQZQDyyQ2QrNUDKIP8gMpXedwyyCPDnBTLM3+8sc1Q5ewyz1P5DDLQUgmd8ctEQ4Wz0DsnvZTMQtfs9FBGIz21Uyb7fHVUUJ8s8tZRXQxy02A/JXGMZaet9tpst+3223Af26KZUse9k8kG5K33/td2E/WA3oDrTXbfO/0d+OGDE37TBYc3bgDFiueEgOOHpxy5ToxTfjjkl9MUgeaId45TA6AHbrXoNJFe+t6o22T46gYk3jpLFMCed7mzt7SB7QjkLhLeAgSPgOwlvA468b5TtAECwTffvAG4C6S65pYnz9EGzmff/OkFLU+99R1hr/34shsPeLTgc8T8+OOnG6XqDeCYPkcXsM9+7/Oz1ID97OfPEv/si57/QCI+AGYPfQM0SQEN2DwEJrAkDMwe8h64kQg6T4AU5MgDLBi8DCqQg9zzYEg2yEADiPAk6wMg504YkhSOzwB1Y2FGaje+EMqwJBmgQMgweMMe+vCHhEAMohCHSMQiGvGISEyiEpfIxCY68YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTk4tIAAh+QQJBQAvACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhz09PT09PT09PT09PT09PT8/P0REREpKSk5OTlBQUFBQUFFRUVFRUVFRUVFRUVFRUVRUVF9fX25ubnp6en9/f4GBgYGBgYGBgYKCgoODg4eHh5CQkJmZmaGhoaurq7CwsLGxsbW1tby8vMXFxc3Nzdra2uXl5fLy8vv7+/7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AF8IHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4nUkgACCCCSseJgILtboooyE0WijjTgG1uKOO/b4F5BACukXkTvGaCRZJIjgpJNKOoSkjSIsOdaTWML40JQ1VmklWE1m+eSWXIIQ5ZddiYnlmQrpOCWaYKmJJZlIsgmnVnKOSWeSd36Vp5MRuXnjRHb2WdSfhYJEAgeMMmqmoUjleRIIjVbKAQiQGhVmlpNaaimmmRa1aaIfLeqppaHGdaqnoKba1qr+nrrqFqyoysoWrZXaeiuujOq6FqW4eulrWrwOu5YItJJqrFimeqrsslc2+ii01FZr7bXYZqvtttx26+23b5HwLLhXgYDBueduICy5WZGwAbrwYsABu1rFa+8G9F7Fgb32tppvVCTwy++/U+0rcLzrEtzUwfbOq/BTDMfr8MMLR4zuxBQvZbDFCWeMVMAWY+CxUxsf7O/ISkWML8pNgcwvxiwzZS686sY8lbg256zzzjz37PPPQJso7rhB98SBBEgnDXPRPpGQ9NNJE820TCJAbbUEUk/90tVXa70TBlxbvbTXM4XdNdk2gWC21VkXLQIGDQggNwQri3T02k+fjLb+QE7L7bffBYy90d14I6032iIU8Pfic4ekduFId0w2CYozzjgEikKO9N4FxW255SJ/BHbhoXP+Agefp+7QvkjL+2zVhbfds+epMy74QBw0oPvuupeOEOFhH+41CbV/3oBCEvCufAMQSD7QBmbfrjUIxX+eUPLLL6/s41Y7Tzbq1TP+e/bZS8AQshtswIHsQIMf/t8IkU++9KY3JML7fx9vUO7yL495/RapHP7MZxDs9U95ALSIBPAnt8NB4IDL814CF3I//OnPIBCM4AQpggH8Oe+BGdwd+zYokAVW73ZwC6HuSFgRE36uAMITCAhU2AACsnAiIIAA4wrgu4SAMIOzMbyhlNIVxIKIIIQ9FOJJ+Nc/GypRJTOUXxKfmJIU8k4CRaSiSdw0Qi168YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pcKCwgAIfkECQUAkgAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdBQUFBQUFBQUFBQUFBQUFBQUFERERMTExUVFRYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZWVlZWVlZWVlZWVlZWVldXV1jY2NqampycnJ6enqBgYGHh4eLi4uNjY2NjY2Ojo6Ojo6Ojo6Pj4+RkZGVlZWcnJynp6eurq6wsLCxsbGysrKysrKzs7O1tbW5ubm9vb3Dw8PKysrNzc3Ozs7Ozs7f39/p6enu7u7y8vL+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gAlCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqCJ2N9ywomIuxCijiy8OdoOMOLogQ42C5ZgjjTz2daOPOAbpF5E5GnlWi0xGhGSRSo7F5JRANvSkjFFKSWWTDslwpQtZhrXllBBdWWWYXI1JpkNDEokmWGpyyaaPO775VZwtSjSkDGfauRWeKcmAwqA6+plUnCfdMOiii/ZpaFBjJsropCg8ilSeKVE6KZiWwiWopow62ilaoG46qlulMsrpqWuluuiq/qym5YKrKNQZa1qKunorW7OWCuuupIL6K7Bo9aoqsW8NKSqyzDbr7LPQRivttNRWa+212DZ34wjcjjBstli50O24I9gK7lUokEvut+dCJa665C7bLlPwqlvpvFLdUK+6+Er17r7dytuvUf8CPILAAxNVMMAIJyyUvgZz6/BTEY9w78RMLQxvwxgHle6+7HZ8lMbchizyUdt2a/LJLLfs8sswxyzzzDTXbHO+KGyg8wYocHxzTSPsLDTPPwPVwdBDj1B0T0cjnfTSOrngtNM+Q51S01MLrbTVNmXtNNcKudBBBRVocDBJN3iNNNgHoYDAAHDHPUAF5nqUttpCs12Q/gZy9w33xXbjnbfeAlXg9+FbfyS4zh0QLkkHh0de90Y5C76yzTdEHnkFD/XqQsOLOw655ocLfMPYZKdewcoy4F21zG+T7nfibatuewUbLNR61q/LLPvhGiSEwu23575Q5UIDrnfmv/fN+UE3EE887Qkp6zhBzDcf9/MGoS697ddXpL3cjRsU/fe3Ux++Q4aPP4DyAg2P/u3rS+SC+wMgNML89NcfUfvNU59AvMc/svkvIjLQHvcMsr8Cpu6ATvrdAg3iAgeSLXgQhIgMYgc8hliwAvDLIEOG1zcNXE4SDSygCCvipdc58IQr3Mj50BfCGI5EA9+DoQ07IjXb1XCHjSjpHRCHSMQiGvGISEyiEpfIxCY68YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHSceAAAAh+QQJBQCSACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzU1NTU1NTU1NTU1NTU1NTU1NTU1NTc3Nz4+PkhISE9PT1BQUFBQUFBQUFBQUFBQUFBQUFFRUVFRUVJSUlVVVVxcXGNjY2dnZ2hoaGhoaGhoaGhoaGlpaWlpaWlpaWlpaWlpaWpqam5ubnJycnZ2dnp6en5+foKCgoaGhomJiYyMjI2NjY2NjY6Ojo+Pj5OTk5qamqamprKysrq6ur29vb6+vsHBwcfHx87OztTU1Nvb2+Pj4+zs7Pv7+/7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ACUJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oos4oRDDTDC2GJhMdZYw4yC2WgjjoDpWCMOPPb1oo8xBnkWDkhKRGSNRpKF5JNJPjTkkk2KBSWUES0pY5VgXYnlQ1py2aWXT2bpI5BiekVmmWb+mOZXa0YpEZtvwrlmSi/KIMONdSZFZkp6Bhpon0hdCaigiBI6F6KM8qmoWzgwyuijb9UgKaJoUrrWpZhqyhangmbqKVqWgiqDqKOeZaoMqa5V6qX+qLZq1quIOiprWpF2eiukse7q66/ABivssMQWa+yxyCar7HCRwgDDqct2hQMMLVRrLQzRaoWDtdxa22u2UHUrLrbgUiWDuOLaWu5T6I67blTbttvtu1DFK6+19D5l770t5Msuvy2Q6+9Blqrb07n8GuxvCxIM4LDDEgjcE78SDwxDww9nPIAECt+0r7jfrtuCxiQ7zGpP07o78EAwlOxyxx7L4Cy0Kw/ksssS1HyUBze7XLHOQPWMM9BD1SC0y0QLNfLRJMOc9E0nME3yyU9PLLXGVFe9kwxXZ6z1T11D/LVPGF/dL001UBuw0zob3TXaJ5Ag99wnhKwzCVf/3BL+DHP3PXfWVVfAtAczyeD34SSwvTLePevdUtyI933C2ALVUHbGHtitkuGR+w341+ee0MLnMUHe+dxnUy6RzGubdPrhqkNUgwcS1G67BKmH9LrfsTvE8O3AV6D5Raa/PnnvC/0O/PLDV8T37iSQjvxAMixvvQQVhIQD9CRMr9D11+fO0IvNS/L86Y57Xz341jcEgwfwxy8+Qi2cPr/3A9HO/vLSD0RC/ACEX/8GUj/EpQ9/+7Ne+nAQwAZ64ICVK6DcWlC+3iVwefcTyP8cGEDF4S8iFwReBt/HwQZ+kCMVCKHtpFdCB3rwhA05gQpr1ysGtjCAGYRhlmZIuIPI4IbsATyeDi+ivwt27IdAjF/3hoiREOZwdkmEnxCZWBEcJHCKB4ki/CBIRYcUcXlc3GASK9hFhdTgBCms3QMdAkUgYrGMK2lBEuFYuhuSkY4hIWED34hHl8DgBPAjQQte2MdCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm+AMpzjHSc5ymvOc6PxOQAAAIfkECQUANQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdBQUFBQUFBQUFBQUFBQUFCQkJFRUVMTExPT09QUFBQUFBQUFBRUVFRUVFRUVFUVFRcXFxkZGRoaGhoaGhoaGhoaGhoaGhpaWlpaWltbW1xcXF6enqDg4OMjIySkpKXl5eZmZmampqampqbm5udnZ2ioqKtra21tbW9vb3Dw8PIyMjOzs7R0dHd3d3j4+Pq6ur4+Pj+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBrCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqOKKLOa0wosrtGgYjDTGKKNgNdJ4I2A56rijXz36+ONeQcI4JF9FvngkkUUuyWSQTj5ZY5RITknllRUqiaVeK5zg5Zc2bkkXCl+WeUKYYsLVpZllpikXm2y6CRecZsrp1pp0emlnW3jmuWdbeX75J1uBnoDCoIT6iehafba5KKBlHvropJRWaumlmGaq6aacdurpp6CKuQIKKKAZ6lYniKDqqpKemtWq/rCqeoKrWMVq66y0UrWCrbbmShWvt/oqFbC9CgsVsbEaeyyyqyr7FLOyOuvUrsxKa9AKHDQgwLYNcGDqTsziaq1AEGxr7rkYAIXsuAKtoO258ArQwLc5pRprq9a6G+++DQQ1aqnsDvTuvvFCEHBRJxCsML4H/1Suwvtq0LBQECs8MVAoVEwwvRfflLDG8XLccU0ZgwyvyCPTZDK8Kfc0sMnptgzuytuKOxOZhsos0MsV90uTCBwELbQIMn8MMsMuYSv00kGjPK4IINsME9NUc1A0z+fO+3PVTBMtswg8Q+D1TEpzvbTOA5GJtEwnmM201Gg3RKrTHAHt9tBxOyQC/gQN9N23BnRjZPfdHIydN0IrYOD34n13MNLgd8N9+EAr8M044xKHhALhTU+OkOWXM251SJw77rlBGoSu+toabX534DK7q3romS+0qwYY5M6B5AZBTjXvk4M9e+gMiZD78ccDzlDbVbPueerDX45yB8hXn3vgqQYtAvCnKx49484bb331tZ+ekfff+8164uNbb7j5FmWbvt8cU9++9fBndML8fRuM0P3jc17+HgK6772PIAC0HvcG2JD9pc9//0sg8g7IwIjIL3oClCDyFlhBhlwwdBBYIO40iAHYdTAhJyig38qXEPFJkIUnpEjbcqcBEZiQhByMoUhOIMHR6bAloTy8nw9/2JIVjLB6OSRiSailKgEq8YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHScpSmvKUqEylKlfJyla68pWwjKUsNRIQACH5BAkFADcAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRUVFRUVFRU1NTVlZWWFhYWFhYWFhYWFhYWFhYWVlZW1tbYGBgaGhocHBwc3NzdHR0dHR0dHR0dHR0dXV1dXV1dXV1dXV1dnZ2eXl5fHx8goKCiIiIj4+PlZWVmJiYmZmZmZmZmpqampqam5ubnZ2do6OjqKiora2tsbGxt7e3wMDAx8fHzMzM1NTU5eXl7u7u9vb2/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AbwgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopqjiiizq9MILLSL24owwxjgYjTTaGBiOOOr4F485+tgXkDMKOSSRNRqpF5JJKpkXkk7yBWSUR75I5ZVYZrlVCyt0uUKTWs7l5ZgrhEkXl2R22YKZcaGZZpdgsqnWm2OuKWdbdI55J555drknW32uYOefab3QJ6FsuUnmoIimpaiajbb1ApotxBnppZhmqummnHbq6aeghirqqKSWaupMhpagagllnprVCv6rxlqCpa4+1YKsstJaK1O44rqrVLf2Gquuvx4Fq7CrMlrsUsjG2uqyTB3brLLQIhVss8RWO1Szqmpb0AodPMDAAx9Qu9O1vWbragkCtOuuu8/2JG2u3gqEwbv4ttsBUKmuGq+29+ab7771GvWBwAiXUHBRCDe88LYNI/zvwzw9ELHAGFAM1MUIa/wTxwJ77BPI+YrcEwMku/uAyTx1kHK7CrPs4ssC4GSlzDcEDDLBM936wc8fzCozySvTVALQSAfN8gscM1DT0UkjHbPJOg9c0wpRR23uwy90gHK7DHygrkpZZ41zTy+UHfXZPGGtNtJjs522uAwwgMHUIrn99v7PcePsdd2A1/3AxB2lvTffbC+EQeCM1433R4f/nLhCfzfO+NYaQf024ZPfsILllhcd0uGdI0Q36Iw/ntALmnNukOFll37QC6hbnvFCXWOg++53O6Q50KrLfkMJtVu+0Aq8J4/BBw95ibnsxBfPuEIvKK988MJPFL30gFNuvfLPZ+/Q59wLnlAL3yvPvPgXlV/3+geVkL7y7F9UufS6zq983/W/fnrtPDuI/pLHv/59S3qiQ0gHBri7AhqQICv4H+NupxD5MZCCD5xI1xr3AOwVpHoM9GAGm5csiHyAgSN0yQLn57oUlmSF1muhC0uCvOSJbYYxmVSlcMjDHvrwh4ZADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU56ck8BAQAh+QQJBQCSACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzo6Ojk5OTo6Ojw8PEFBQUlJSU9PT1BQUFFRUVFRUVFRUVJSUlVVVV5eXmZmZmhoaGhoaGhoaGlpaWlpaWlpaWlpaW1tbXV1dXx8fICAgIGBgYGBgYGBgYGBgYKCgoKCgoKCgoODg4WFhYiIiIuLi5GRkZaWlpubm6GhoaampqysrK+vr7GxsbKysrKysrW1tbi4uLy8vL29vcDAwMXFxcvLy8zMzNLS0t/f3/r6+v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ACUJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oostlicDTDC6GJhMdY4o2A15njjXznquGNfPdr4I19BxjgkkEUeSWSQSiIpZJNIQinllFRyZYMMWMpgQ5V3ZemlDFzS9aWXW4YJ15VjZmkmXGmSuaZbbWZZ5ptrxYnlnHSu5MIHH5TgQk5otolnnibZQEEAiCYaAAU42UloSh8oKimiJ9gU6JeDPirSoZNO+oGlY2aqKUiRdtpppZYaOWpJNphqagL+q4LFqauexuoVra/aypUMuJqq61Yn9Nrpn79iFaywkhJbrFUuICspmMta1aqziUaLVQLUBsCAtVeVkC2q3FaFLbLbhmsVr8iKai5Ux+KqbE8yuCCvC+quq5AN43aaQL03zevvu/Y65MKsiFIAME///hvwRKoGlXDCC0v7sMIRUxXvxPPyW3FSF2NM78ZSdYyxxiAbZYPH8pYsFcoHq0yQCyeUcELLCGPsMkIfJKDzzgl86vDDNxvkAgM8F80AtD+JTHLFJxTttM5IB30Uvk8/LXVSFFT99AVXGyWD1lV3XVTOYDsNrthAZV120T6jnfbabLsdlNpw69y23D2RXXf+AmfjvZMLe+u8tN8yEV03o4T7BHjdg6MkwwmQnxA14XqD3TdMj0eu+eR4V/705S/BrPnonMs99NMUlO6SDaO3Djree1Ig+weqv+R66zQnntPtrev+E+u8a+67RI/z+cEJjVsEfPCQD/+QDLJHH/3dITEfufMNnSD99rInP5H1zWOv0MDccz9S5sF777eh5XNPvUfWi69QCe2X33jHEAUvv0L1l/96QScwnvFKMDj0Ra52+2Nf/6T3voLYQIAQ/EDuDNKw/SUEegtk4EIiGEEEWlAiCswgBRo4kAByEIIf5IgIo1cChZwwghNMIUQusMLUXfCFEZRhRsgnQoWYEIfbxtNhRj4gwgn+EIgkFGJEMvg/gRwRiEocYv2aKBAZIJFPLYwiRlxAQwYO7oq00+JGruQ9KwIxi2J0SQmAqL40wu+FbXSjR1gnwBJ4UI54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8lNqQQEACH5BAkFADUAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHREREREREQ0NDSUlJUlJSV1dXWFhYWVlZWVlZW1tbYmJibm5uc3NzdHR0dHR0dXV1dXV1dXV1eHh4fX19gICAgYGBgYGBgoKCgoKCg4ODhoaGjIyMk5OTnJycoqKiqKiora2tsLCwsbGxs7Oztra2urq6vr6+xcXFysrKzMzM1tbW39/f7Ozs8fHx9vb2/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AawgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopqjiiiy26OKLMMYo44w01mjjjTjmqOOOPPboo3wpBJnCj3QJaeSQRL51pJFJKrmkkE229SSUUao1JZVVonVlkFmyZMIIJuy0ZZcodYCAAGiiuUAHOI1JJkkpEJDmnGgigGRNU75J0gh09onmnTQtqedIJvhpKKCDanWmoX0ukChXfDLqZ5iPZrWApH5iUGlWmPpJwKZXpdCpn6BaJeqodJZqFaqpqkoVq/5pIuAqVRDAKsAGs05VKKyI5urUpahq6utUi2Iq67BUySnpsUClYIIJvSKrEAaM4grUlyNkm2200iLUwQJyErCmUNhqqy2l3U6VgrnsjsBtuku12y68UsnLLr1QrWuvtvhCtS+//Tr1b7YBO6Wvve/262zCOpXLLroFCzTCAghUXDEEEPvk8LYRD5QCxRaHjAAEQzkLbccei6wyAo6ifBTIK4dMsstEmRmzyiPQPBTMN1vcss4/mdDzygwDTZPNQ4ecs9E9IZ10xUszvZPTT0ctdU4jPB1y0VfDpLXFXfO0wddshr2T1j8Hiu3JXWedNNcpdSD33B1YzbTbN8NdJv7dfJs9tsrW1sT34GWHPcLcGc9kAuF86222S4zzbffjN0XeN+UOfVm34xdZTjfmDHUAweikY1yS53ODnlAKpbcOQeAhLe4550yz7nrrsIOEuuoIYXC764l3lILltBttwu+3R8QlRLIPXrzRGyDvOtfDY2A9BhtMrtDhc2vPu0DSu+49QR1cbz7233cUfuuFe3v++bmnb9H6pbdvkAnvv2+//BTRT/r4NShf/s7HP4yIzn8LGeD7AFjAhvhvfwRJgQLPB8EGPuSA4VsI/iZ4vQpa0CEY/B3DJMhB63nwgw0JYeu4VkLrBQ+FEAkhBhhIvhbC0CUb4CANbxi7CZ6Qh5lwyuECgQiTxeUwe0RMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycoJBQQAIfkECQUANQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdSUlJSUlJSUlJVVVVYWFhYWFhZWVlZWVlaWlpfX19tbW1ycnJ0dHR0dHR0dHR0dHR0dHR1dXV1dXV1dXV4eHiCgoKKioqNjY2NjY2Ojo6Ojo6Ojo6Ojo6QkJCUlJSZmZmhoaGqqqqxsbG1tbW6urq8vLy9vb2/v7/CwsLHx8fOzs7U1NTi4uLz8/P4+Pj+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBrCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqOKKLLbo4oswxijjjDTWaOONOOao44489ujjj0CupMKQRAYZF5FIqmCkW0kmuSRbTSL55FpRFjllWlUOeSWWWW55kgoVHADAmAdsoORNXXpZkgRjtunmBjhVqSZJYrppJwAKxCnlnCMpcOefEvDp1QZ/FvqBoFwVqiiiWn2gaKEiMIoVm4/eWYGkV1X6Z56YVqXpnQd06umnbnIqqlSUkgoAnKdKJYKq/mOe0OpUsIY6q6uqynqrVBV8yuquvFZ6qFBaAvvQCXXaqcCZP6lwwrPQMmvsQidsUIEEFXwgrU/OQuvtttNC5e24uoYbFbnjgmvuUuiOu6647UL77lPxyjtvU/WeoO69R9XLr1Pdkrvvuip8oMABCEswbFABR/vvQB8gLPHEkQ5V7MMChTnxxmVifNQGHIe8sMcMh2wyyUNpbPLGv6Ls08ohm+oyTyrAHPLMPiFr88YD4zxTzTtP7HNPQQs99E4SFH3ApUfrJILSPTcdk8owM21Tt1FjfDDMgdp0wgdgh12uz0mbbDVNIoSt9gcVDy1C2RJLMPZMX6+t9tw+O5u1/kt22y11T3X3Hfbef7uUtuBiF/6QlSYdjvgHeCteULUSVF75yCIFjnjkkgv0geWgV845RwU/jnnnA20Q+uqjb+R4322jPtDbq69e0utqxy67QLXXfvpHuLO9e0G09x76sRskv4EIhAukwuHMD1+Q6saHnnW1ymevu/QUXVs96FFjn332v3MPEfXfV96zCuO3v0Hr5i/0efqVLySC++3HT5EK9GO7EP7ta57+COK977WOfQDMHvwGeBD+fa9lDUyg9hgokRNUD4IIkaDyFkhBg4DJdw7RYPIE2MGBFMxay4PI/SRYvhKKRIMkdGFGEshBGXrkA+6LoQ03cgIR+FCHjTsMohCHSMQiGvGISEyiEpfIxCY68YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHeauAAAAh+QQJBQAvACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh1lZWVJSUlpaWmNjY2dnZ2lpaWlpaW5ubn19fYGBgYGBgYKCgoKCgoKCgoSEhIiIiI2NjZGRkZWVlZiYmJmZmZmZmZmZmZmZmZqampubm56enqKioqioqK6urrKysri4uLu7u729vb+/v8PDw8nJyc3NzdDQ0NnZ2d7e3uXl5fj4+P7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AF8IHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oosfuQBBAxA4EGLhHkAQAA45hgAAzQCdoCOQOI4Y497GRDkkRgQmRcDRzYpgpJ2idDklFDWZeSURw5ZZVxYNmnAlnFJ2eWRYMKFwZhklunWmWgCqaZbHrTp5ptslSCnjnS2dSeOSea5Fpty+qmnnDwKupadaAJgaFtxdqnoom2VcCWSkMLlAZM5AgBBpZxm96IBBhwAwZOdMnpjkAaUUKpaEHTZ56r+ZQGKpZawhoUomrWONemYhebq1a1t+vqVrGjSKmxWmMr56rHI7rkss1e1euez0FZF7JjGVlvVntpqleyYm3ab1amOiqtVo12Sai5W6B4JgLrrNhtkuEGVIMK9Iqgab0UeYOBvtj7hKzC8+2I1sMD6FmzwwfgqjJW9DN+bsMNTRYzvxBRHBXHEGGcMlcUEe/wxxyJXFXHJC5WAAQMsY9CxTxvni3JCJTAA6s2gMvDyzEh5gPPPoO7MM1GSAg300EsdYDTQvSJdlM9LAw2w0z/ZHPXP9FIt1NVAH6A1UVwf/fXWYd/s9dhBKV22AU2j3RMGaxswtds5rX023T9BzXX+yHjvBPfVc7/kweCE902Q3lLfVALhjHsg9NgeqM124C4t3jjjhgt1+eWZA7V5453D/Dnjj4cuk+WjO266Qy+yzIDLJqE++uoMieD67TGalPrgtCt0Ke64lyRC6qWvDjzwWYeUeu8JwXg87pRrNHzjfDMv0PPIQ9QvBqpHBHHxtP+O/e2s+2u+v+Bbr/34wTN0/vuwq6+R+Oy3fRD88MuvUc31s5wy/u+Lnv4a0r/XLWR7ADTfADFCP+y5L4HnWyBGnIe96EHwfOmTYPOwR637XdBfGmQg8tKHQAiGMCOoy6BAPli9E+rugi4UXAJjCBOVBZCGMymBDnHIwx768IeHQAyiEIdIxCIa8YhITKISl8jEJjrxiVCMohSnSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKTFAoIACH5BAkFAC0AIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHZWVlXl5eZmZmb29vdHR0dXV1d3d3fn5+h4eHjIyMjY2NjY2NjY2Njo6OkJCQlZWVmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmpqampqam5ubn5+fp6enr6+vs7OzuLi4vLy8wcHBxcXFy8vLzc3Nzs7O0dHR1dXV3t7e7Ozs+/v7/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AWwgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopqjiiiyCBMKLLRqWQQA01iiABzECBkKNPNqYY18z9ihkACX8mNeOQw5pJF5JJtnAknV50GSSUNI1ZZIZVCnXlUMeoCVcJXCp5JduhSlmj2S+dSaPAqTp1po1PukmWwfAGQAIc7Jl5pp5tlXnmXj2ydaZcgrKlgBXZmmoW0EOGeiib3nwpwANFAnppdl5kMGmj2LaVgNDKuppWiAgmqQAlo5aFpJXpqqqWP6mXtnmq2I1yiWOtIIF56y5drXnma72mpWUcHYqLFbErmnssVYlCyyzWv0qJrRbxcqll9QOq2y2WhUgJrbcZmXtkAWEy9WfXZrblQfe8ljAsj6VIG+w6k70Ir0/zasvvvVWta++/W71L8ABYzXwvAVfdTDCCVu1ML8NO/VwxP4eTLHDA1/MEAgedAxxTwRrnBC7BZRsMq4iP3WAySyXDG7KS63ccssvw3xUAzPnLKrNRZWQ8888H0Xyzy3DG7RPOBPd8s5HAyWz0iYX2jRQSUNdMtNT95SB1SdnHZTPXBfwsdc3Pa201GSDzHXaQoFN9NgtldCxByDAHXQJZked0/7cfBvtdQkZHHBAAxnYzRLfiPvNtk4cI8634YvP5LjjkQM1OeKV/3Q535lHpCmnKG0+d+cOZdDA6ag3gPJIjV+uOOkCpS474SaJDvtCs8++ekhyT367QiDkPvtJif+ukPC6Q1TCvRTJazzuyMvuEOCbVv/68xKVEL30DH1e/ffYb6T99qhv/P35GewefkXkn461QeijD/n6CZlO/tjUx1+9+vRLRP77BfGe/jbVv4t4YHtwE+AAC2hA5NlNgfpj4EUAJzv+ISR/A7SgBCPiPIkMsHobdAkG0Xe9EIpkhNYzIUxA8D0PzE+FMIyhDGdIwxra8IY4zKEOd8jDHvrwh3hADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSUnqBAQAIfkECQUAMAAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYc1NTU1NTU1NTU2NjY5OTlHR0dhYWFra2twcHB0dHR0dHR0dHR1dXV2dnZ7e3uEhISLi4uNjY2NjY2NjY2NjY2NjY2NjY2Ojo6QkJCRkZGVlZWcnJyjo6Opqamtra2wsLCxsbGxsbGxsbGysrKysrK4uLjCwsLIyMjOzs7X19fj4+Pu7u7+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBhCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogkgocCCSSgUGJjKDBQQAAwBkCAASSsiNgFBMSoI4wH2FjYATsGGUABKvoIGJBCBkmAkX+RkGSSPTJ5FgoPGFDAlQds0NCLTwpZpJRjHXDlmGRqmZAJXSb5AJhioUDmm2OuidAFaQpZAJthwalnARcgZECdQuL5lZh7wvklQVwCqqOgXblZKJxRFpSoojAyytUDj+p5qEAPUBrjnZZqZWWmb5pJkJOeBsBAqFqRCmef/gbl6GmNrGLl6puwFkQnpaDWetWtZSI0aZom+IoVocDSapCbgOZqbFUbAHulQsw+SYCpz1olrbNzyrpjpNleRcKtBjxEwgUHHPCAsuFmdYGrm7bL1ruFGhCvvGyhgCyZ3OIL14kXXLBBsf4WHB4KCBtMFwkMpOvwA/cqjNYDDlecbr8Sm9WwxRavmjFa6HLMMbYftynyyRGXzFXIJ1uMscpctXwyzGLJLDLNYOlrs8U4g7Uzzz179bPDHge98tBZGi300Ep7RcLP7DatFcsnkyy1Vhu0HPXVXG2w8QEMbM31aQiXnfLYWJltNtpeqa0221y5vTbcWsldNt112302/t5P6b03307ZDXjecw/+0N2Gp30BA4wzbnXiT3nd+ORhQx6V5JRPLrblR5mQ+ed/cw7UA59n/rLoQrVYeuaoJ8Xw6pQT3HpRr8PeuOyzD1W77QzgnntQqvPOQOi/40Q673IWr7vwvisP1OKwn+58T8d/Lj1MhU9vEOaNr5sTCiaELz7xuZOwwfnN0wS++OyTr/1N7Mef/vs9rS9/+O7TL9P98esfFP/s899E7JcSAOJPgBAxQcAWKLCT2O9+CDQXAyeYv4oYMIINOdcEKWgS/mGwIRsMoQPb90GGaDCEDKxgCUuCwg1u7iAoimGKVgiSFk7whQQ5kQxjOD8aWsSG8AzE4UB2uEMV+jAhGwBiwHo4RCLu8IgbUaASM+hEGRoRigZRohBhoMMqxhCLGrHh45blRRmCMSMoQOEYyVhGEjDxjBBBQRIDNkNztfGKcIxiG/MYkzLikY8bqSIgZ9LFOg7ykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHScpSmvKUqEylKlfJyla68pWwjKUsZ0nLWtrylrjMpS53ycte+vKXwAymMIdJzGIa85jITKYyl8nMZjrzmdCMpjSnSc1qWvOa2MymNrfJzW5685vgDKc4x0nOcprznOhMpzrXWcuAAAAh+QQJBQA1ACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh0FBQUFBQUFBQUJCQkREREdHR1hYWGlpaXR0dHx8fICAgIGBgYGBgYKCgoKCgoKCgoWFhYqKipKSkpeXl5mZmZmZmZmZmZmZmZmZmZqampqampubm6CgoKioqK2trbCwsLGxsbGxsbKysrKysrKysrOzs7W1tbi4uLy8vMHBwcjIyM/Pz9vb2/X19fv7+/7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AGsIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaCJTIyAQwIoBGKDBiYihYACLNK74IoyDaVDjjgEcgGNgI/DIo48/9rWCkELeWKRZIzhwwAEIaLBCQw4gKeSSZY1gwJZcbokAQ1YKOQKWYjnQ5ZlbopBQkGHuSCSZXpmJJppqHqRjmzvC6ZWWc86JUJV41qhnV332qSRBEgQq6KBa8VkomgexqWiLjGol56NnTmnQpDZWmtUBmNJ50IyTauqpVaCG2mWdBUmK55v+p1aFgKpdmloQoG0aECtWGtDKpUIH4MnqrlSt4KsBXyqkIpK6EovVrLQOixAKwdboorNa0eoARChooMEItmJ7lYyYwipuW8YWKsG5c/V6JgLSsgvXCiigEK68+Oarr0QpPnmAA2Pu2xYKCPhrMAL3CkzWCAY3/GTACmfp8MQJR+xVwRM3vK3FYjGcscPxcryVBB87fKjIXJXs8MYod6Wyxi1f/LK/LMeslQYzP3myzVetkPMBFfNMlZMvryv0Vj6/fHRXSWeM8NJxTlwz1FytoIEDWEtJ9dZcd+3112CHLfbYZJdt9tkVdYu1AxqEjHZSK0iw9tw7v33UCnPnjXX+0HYHpbfeRvdtVJN/5+224D4VDjjiRSmuN+ND4e343JALJfnkWFcuFOZrax7U1ZhD7HnimI8eFOGKi256T6jrrfrqPVmdd900rWD77bAXVC/fMt3uO++52/T778H/NLzvxcd+PPLJ67Q88803BLxHz9sePUMjeKv94R9Vf31CVmsvPu3dL/89QuGPL/5J5p9vkPrqvy4S9O4TlD782tcvU/b4iz+9QCsYgQDBpb+N8K9/3vrfABcovwLyC4Hamx4DGejAi3QLguSz3wQpWMGKYLCBrdrgAjtYkQPiT4IiHOD/SGgQE44PhCFMIQFZOBEXJvAhMhTgCmloEBSoMCKoOYQhD0MSwBRyb4gh8aEIkciSInKQiU30ob2gSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWxAoIACH5BAkFADYAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRUVFRUlJSVVVVV1dXY2NjcnJyfn5+ioqKjY2NjY2NjY2Njo6Ojo6Ojo6OkJCQlZWVmJiYmZmZmZmZmZmZmZmZmpqampqam5ubnJycnp6eo6Ojqampr6+vs7Oztra2urq6vLy8vb29vb29vb29vb29vr6+vr6+vr6+wMDAxMTEzc3N3t7e8fHx+/v7/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AbQgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZoYlMZJHCAAQg80MKJiSUgwIw0znjAizAO1oIBNfY4YwY5Csajjz6CEORfBxCpJI5HngVCBlCm4BAISip5QJNltZCAAVx2eQCQCyVZJZFYjgVCl2h2icBCYyoJZplenZnmnFci1EKbRCYAp1c7zumnngelgKePa+7J1ZZ++skkQYIOWmOhhmqVaKIPIORojW9GepWck6ZZp0FDXrqoplVl0KmfCD1wqQAGkJqVqf6nppnQqka6ehWssXaZEJWDQmprVX3myqJCGeD56a9WrShspgedWWWlyGLFaawOmdojtNFmhUCuUkLUwqjZansqs+G29UCiB9RablwtPKAsi+SuK++89Na7WAsZPKAvCODam9YDCAQscIv+rtXCwAgjAGjBZyWQMMILMzwWwA8jrK7EYVX8MMZigaBxwv1y/OrHFov8FcUkB3yxyVplkLLAK7OMVQovBxyyzFXV7CvOWXmccsw8X4VyxdgGvdXQCBdt9FY+l7w0WC2AIPXNT1dt9dVYZ6311lx37fXXYIftUApQZtCt2FDlq+/aDwCN9lFqs712vG8TFbfca7tdN/5Q7eKN995w+4233oDzJLjfhRN1+N+JC7W43I0LdffhdEeeU9+PU235TY/ru3lQmAv+uVChQz76UCnIfTZO37Z+elGtx6756zbJLjvtP9keO+4+6e467zz5/i3wwQtPPENRl716ScLPDvyTZSuPku/HKwR99NKfZHv1CZGNPfbc2/T994SHnxK+44PvbQspOG++t+mr3xD7KdRv//saoR8/lA7Rb///+MvI/so2tv8Z0H0BTMgAzTY/AzowgRbRX/oK6EAAQrAi3hvfQypowAtG8HpQKl9BOGhBD1ZkdxHxHwdN2BISto+FLawgAmH4EQfOkIYgGR4Od8jDHvrwh4ZADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU56cooBAQAh+QQJBQA3ACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzk5OTk5OTk5OTo6Oj8/P0hISE5OTlBQUFBQUFBQUFJSUlVVVVpaWmBgYGtra3d3d4CAgIqKipCQkJWVlZeXl5iYmJmZmZqampqampqampubm6Wlpa+vr7GxsbGxsbKysrKysrKysrKysra2tru7u729vb29vb6+vr6+vr6+vr6+vsHBwcTExMnJyc/Pz9nZ2e3t7fv7+/7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AG8IHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaGJTLoSAgQQYpHCiYik4oMCMNCqAwYuGSVDjjgo4gONgEPDIIwM/AhaCkEL6WKRaLqTgAkRIInnjkmWF8IADWGIJwZMLYRBlklSSBUGWZGI5ZUIMfCkkl2F+dWWZZZ55kJpChtDmV2PCCaedCNHJI593bhWCnoQm5OeOgAaa1ZuEluninIfSyKaiWDWqpwQIBRmpApRq5YKlcEKAkAubYpoQBg4EoGoADyTa6VD+MYJK5gMJaernqavmqqoCj74q1KeyZikqmn66OtADuiYbwLC+BhVslnIelOaXxgqErLLJMtusTxI868CkmSL5LUIYYIstuNvqBKys2irkggQPzOgABL3Oaa6ynKbr06Cg0vpRCPdiW6++OqHa6APoanRtwLqaSjBPKTBKZrsdKcBwsko+3FMKGEDwAAQYJMzRxcnmq7FZJOtq8slkWZyyqv6yLObLqkYrs0kphhCCyC25QHMAN6eUAgREF00vTS6TTHHQIXVstNE29/wy0yZJ8PTVUbME8MUDU/3R0FdfzbNKKQTMq9ckWR320w7LtHDDaJe0dtg3hZDn0XGTBPb+3EaPnbdVe/NNtN9/UxW44IQXPpXgRiv+ldqCZ+24VS4wvvTkWDk9d7WYY2X32l13vhXkREsu+lYupH766qy37vrrsMcu++y012777SeloDvuVLmAwe/Ah8z7UyoGH3zowxfFsfHGJ558T8xH/zxSvkff/PRGFW898MhjD/32wXPuPU/ghz8+rOX/7vz5NaVvOvs5aW999/AXDH79RMkPvPj485Qi9z5RXf+OkroCrm+ANTGgAREYFAUukIE/ceADIeg/CQqQgjux4AUxuBDdhcBJKrEgBxmSAp2ZUGcpkeAIO3jCFh4wIxNc4UFy1sITytAmNawh/W6okhzWUCLtG+ThRnzYQojo7oggFKJGiGhDhyARiS9UIkKYqLMdDuSJT5QiRkrIROdhEYpavAgTrSiQJn3xiGEUYw7JWMYzojGNFuGiCQ9oRjfC0SVuTOIdV5LHPeLxi358SR31GMhCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm+AMpzjHSc5ymvOc6EznMwMCACH5BAkFADAAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHQUFBQUFBQUFBRUVFS0tLUlJSV1dXWVlZWVlZWlpaXV1dbm5uhISEk5OTmJiYmZmZmZmZmZmZmpqanp6ep6enra2tsLCwsbGxsbGxsrKys7OztLS0t7e3urq6vb29wMDAxcXFycnJzMzMzc3Nzc3Nzs7Ozs7Oz8/P1NTU3Nzc7u7u/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AYQgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZoolMmeOCBCScyJgECMMbIAIstFmZCjDjGKEGNg3mQ448IMMAjYDcC+WMGQ/q1gJFA0phkWRIsIOUCDHjQUJFM5tjAk2RFOeWXCziJ0ItZ/silWF6C+aWYBi1ZZo5ngpWmml8q5OabMbIZZ1Z00rkjQnfiiYCee1o1Z59TJtSAoDEWyhWidCJ5kI+MLuDoVpCq+edBjCJgZUImRAnjAptealSmYJZaUAaCWoqQCf4LBCDrrLK6aipRqH4pKUKLvplQBrQGOyuht/LUQK5SEjtQr0aGiZAHwkYbgLLF4uQBsrYqdC2QqhYkbbQIVBsUA7l+2pAHEjDAgAS7IsTAt9FuKa5PsGYq70fwSjvvT/X2ea9HwOYrrLn78nSolAR79K7AwXZbsE4eZMAutRrFyjCt/z5MlsUXy5qxxmI10PGsDoP8FbQjT2sySya0fFPK4a6cUrrqqttuTBKMfLPMInlQ88/qUpwSAhdny3PPQCctNEpE5xvz0SQlnfTHLzUtrdFQg5SB1EknDBOrwi7gddYfNcA10CW/ZILEEoxNNkhnJ/22WHEDPXdYdf98t/6cea+798l9L/23VGbHnfbgVplQN+JgmVA42oyLhW7NEgge+eWYZ6755px37vnnoIcu+uikE+ly6VSxLcHqbqOOVKirxx67607JbvvqtC+l+u2r75z7ULzf/vtRsAcfu+XD24Su8ccnT1TxzCPvPE3Mzz498NX7fj1P0PO+PVHL8y799zN1v/r45NOUYgYrpu/++/DHL//89GPWMvr1sxRxBvxngH/+J+mfANkHQJwMcICtKyDLDjhABdKEgQP8nwM7AkEBIu9+95vgRirYP8thEIMazMj+Kii4D34whBdZGwcfYkIQotAiIzwgRFrowhdSJIYdnCENT2dDiqyPf6UJfNUOJdjDFO6wiC45IhJZ1sIlqi2DToyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycpWuvKVsIylLGdJy1qSLyAAOw==";
|
|
2262
2384
|
|
|
2263
|
-
var _templateObject$o, _templateObject2$m, _templateObject3$j, _templateObject4$b;
|
|
2264
2385
|
function SignIn(_ref) {
|
|
2265
2386
|
let {
|
|
2266
2387
|
description
|
|
2267
2388
|
} = _ref;
|
|
2268
2389
|
const theme = useTheme();
|
|
2269
2390
|
const styles = {
|
|
2270
|
-
wrapper: css
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2391
|
+
wrapper: css`
|
|
2392
|
+
height: 518px;
|
|
2393
|
+
position: relative;
|
|
2394
|
+
`,
|
|
2395
|
+
header: css`
|
|
2396
|
+
${theme.cssMixins.rowHCentered};
|
|
2397
|
+
margin-top: ${theme.spacing(-0.5)};
|
|
2398
|
+
`,
|
|
2399
|
+
icon: css`
|
|
2400
|
+
${theme.cssMixins.rowHCentered};
|
|
2401
|
+
margin-top: ${theme.spacing(12)};
|
|
2402
|
+
margin-right: ${theme.spacing(4)};
|
|
2403
|
+
& > img {
|
|
2404
|
+
width: 170px;
|
|
2405
|
+
}
|
|
2406
|
+
`,
|
|
2407
|
+
content: css`
|
|
2408
|
+
${theme.cssMixins.rowHCentered};
|
|
2409
|
+
margin-top: ${theme.spacing(4)};
|
|
2410
|
+
font-weight: 400;
|
|
2411
|
+
font-size: 16px;
|
|
2412
|
+
line-height: 24px;
|
|
2413
|
+
color: ${theme.palette.text.secondary};
|
|
2414
|
+
margin-bottom: ${theme.spacing(8)};
|
|
2415
|
+
`
|
|
2274
2416
|
};
|
|
2275
2417
|
return jsxs(Box, {
|
|
2276
2418
|
css: styles.wrapper,
|
|
@@ -2286,12 +2428,11 @@ function SignIn(_ref) {
|
|
|
2286
2428
|
})
|
|
2287
2429
|
}), jsx(Box, {
|
|
2288
2430
|
css: styles.content,
|
|
2289
|
-
children: description
|
|
2431
|
+
children: description ?? 'Please sign in to verify your ownership of the wallet.'
|
|
2290
2432
|
})]
|
|
2291
2433
|
});
|
|
2292
2434
|
}
|
|
2293
2435
|
|
|
2294
|
-
var _templateObject$n, _templateObject2$l, _templateObject3$i, _templateObject4$a, _templateObject5$6, _templateObject6$5, _templateObject7$5;
|
|
2295
2436
|
function Evaluation$4(_ref) {
|
|
2296
2437
|
let {
|
|
2297
2438
|
poolInfo,
|
|
@@ -2323,13 +2464,65 @@ function Evaluation$4(_ref) {
|
|
|
2323
2464
|
fetchData();
|
|
2324
2465
|
}, [account, chainId, checkingEA, handleApprove, poolInfo.assetAddress, poolInfo.pool, isWalletOwnershipVerified]);
|
|
2325
2466
|
const styles = {
|
|
2326
|
-
wrapper: css
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2467
|
+
wrapper: css`
|
|
2468
|
+
height: 518px;
|
|
2469
|
+
position: relative;
|
|
2470
|
+
`,
|
|
2471
|
+
header: css`
|
|
2472
|
+
${theme.cssMixins.rowHCentered};
|
|
2473
|
+
margin-top: ${theme.spacing(-0.5)};
|
|
2474
|
+
`,
|
|
2475
|
+
content: css`
|
|
2476
|
+
${theme.cssMixins.rowHCentered};
|
|
2477
|
+
margin-top: ${theme.spacing(4)};
|
|
2478
|
+
font-weight: 400;
|
|
2479
|
+
font-size: 16px;
|
|
2480
|
+
line-height: 24px;
|
|
2481
|
+
color: ${theme.palette.text.secondary};
|
|
2482
|
+
margin-bottom: ${theme.spacing(8)};
|
|
2483
|
+
`,
|
|
2484
|
+
checkWrapper: css`
|
|
2485
|
+
${theme.cssMixins.rowVCentered}
|
|
2486
|
+
width: 100%;
|
|
2487
|
+
height: 72px;
|
|
2488
|
+
background: #f9f8fa;
|
|
2489
|
+
border-radius: 4px;
|
|
2490
|
+
font-weight: 400;
|
|
2491
|
+
font-size: 16px;
|
|
2492
|
+
color: ${theme.palette.text.secondary};
|
|
2493
|
+
`,
|
|
2494
|
+
checkIcon: css`
|
|
2495
|
+
${theme.cssMixins.rowCentered}
|
|
2496
|
+
width: 105px;
|
|
2497
|
+
height: 100%;
|
|
2498
|
+
|
|
2499
|
+
& > img {
|
|
2500
|
+
max-width: 100%;
|
|
2501
|
+
max-height: 100%;
|
|
2502
|
+
}
|
|
2503
|
+
`,
|
|
2504
|
+
congratsWrapper: css`
|
|
2505
|
+
font-weight: 400;
|
|
2506
|
+
font-size: 16px;
|
|
2507
|
+
padding: ${theme.spacing(0, 2)};
|
|
2508
|
+
${theme.cssMixins.rowVCentered}
|
|
2509
|
+
margin-top: ${theme.spacing(8)};
|
|
2510
|
+
height: 52px;
|
|
2511
|
+
background: linear-gradient(
|
|
2512
|
+
0deg,
|
|
2513
|
+
rgba(255, 255, 255, 0.9),
|
|
2514
|
+
rgba(255, 255, 255, 0.9)
|
|
2515
|
+
),
|
|
2516
|
+
#2e7d32;
|
|
2517
|
+
border-radius: 4px;
|
|
2518
|
+
`,
|
|
2519
|
+
bottom: css`
|
|
2520
|
+
& .MuiButtonBase-root {
|
|
2521
|
+
width: 100%;
|
|
2522
|
+
position: absolute;
|
|
2523
|
+
bottom: 0;
|
|
2524
|
+
}
|
|
2525
|
+
`
|
|
2333
2526
|
};
|
|
2334
2527
|
const goToNextStep = () => {
|
|
2335
2528
|
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
@@ -2392,7 +2585,6 @@ function Evaluation$4(_ref) {
|
|
|
2392
2585
|
});
|
|
2393
2586
|
}
|
|
2394
2587
|
|
|
2395
|
-
var _templateObject$m, _templateObject2$k, _templateObject3$h, _templateObject4$9, _templateObject5$5, _templateObject6$4, _templateObject7$4, _templateObject8$2, _templateObject9$1, _templateObject10$1, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
2396
2588
|
function ChooseAmountModal(_ref) {
|
|
2397
2589
|
let {
|
|
2398
2590
|
title,
|
|
@@ -2419,27 +2611,124 @@ function ChooseAmountModal(_ref) {
|
|
|
2419
2611
|
} = useMQ();
|
|
2420
2612
|
const [inputTouched, setInputTouched] = useState(false);
|
|
2421
2613
|
const styles = {
|
|
2422
|
-
subTitle: css
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2614
|
+
subTitle: css`
|
|
2615
|
+
font-weight: 400;
|
|
2616
|
+
`,
|
|
2617
|
+
description2: css`
|
|
2618
|
+
${theme.cssMixins.rowCentered};
|
|
2619
|
+
font-weight: 400;
|
|
2620
|
+
font-size: 16px;
|
|
2621
|
+
color: ${theme.palette.text.secondary};
|
|
2622
|
+
margin-top: ${theme.spacing(2)};
|
|
2623
|
+
`,
|
|
2624
|
+
chosenAmountWrapper: css`
|
|
2625
|
+
${theme.cssMixins.rowCentered};
|
|
2626
|
+
background: linear-gradient(232.71deg, #a363f4 4.17%, #ff6a8a 178.69%);
|
|
2627
|
+
background-clip: text;
|
|
2628
|
+
-webkit-text-fill-color: transparent;
|
|
2629
|
+
font-weight: 700;
|
|
2630
|
+
font-size: 32px;
|
|
2631
|
+
margin-bottom: ${theme.spacing(1)};
|
|
2632
|
+
margin-top: ${theme.spacing(4)};
|
|
2633
|
+
`,
|
|
2634
|
+
chosenAmount: css`
|
|
2635
|
+
font-weight: 700;
|
|
2636
|
+
font-size: 32px;
|
|
2637
|
+
`,
|
|
2638
|
+
chosenAmountSymbol: css`
|
|
2639
|
+
font-size: 75%;
|
|
2640
|
+
margin-left: ${theme.spacing(0.5)};
|
|
2641
|
+
letter-spacing: 0.1px;
|
|
2642
|
+
`,
|
|
2643
|
+
inputAmountWrapper: css`
|
|
2644
|
+
margin-bottom: ${theme.spacing(1)};
|
|
2645
|
+
margin-top: ${theme.spacing(4)};
|
|
2646
|
+
`,
|
|
2647
|
+
inputAmount: css`
|
|
2648
|
+
${theme.cssMixins.rowSpaceBetweened};
|
|
2649
|
+
`,
|
|
2650
|
+
inputField: css`
|
|
2651
|
+
width: 100%;
|
|
2652
|
+
`,
|
|
2653
|
+
maxButton: css`
|
|
2654
|
+
width: 80px;
|
|
2655
|
+
`,
|
|
2656
|
+
amountAvailable: css`
|
|
2657
|
+
${theme.cssMixins.rowVCentered};
|
|
2658
|
+
margin-top: ${theme.spacing(0.5)};
|
|
2659
|
+
margin-bottom: ${theme.spacing(12)};
|
|
2660
|
+
font-size: 16px;
|
|
2661
|
+
& > svg {
|
|
2662
|
+
margin-right: ${theme.spacing(0.5)};
|
|
2663
|
+
}
|
|
2664
|
+
`,
|
|
2432
2665
|
tokenIcon: {
|
|
2433
2666
|
width: '16px',
|
|
2434
2667
|
height: '16px'
|
|
2435
2668
|
},
|
|
2436
|
-
editIcon: css
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2669
|
+
editIcon: css`
|
|
2670
|
+
color: ${theme.palette.primary.main};
|
|
2671
|
+
cursor: pointer;
|
|
2672
|
+
display: inline-grid;
|
|
2673
|
+
vertical-align: middle;
|
|
2674
|
+
& > svg {
|
|
2675
|
+
font-size: 24px;
|
|
2676
|
+
}
|
|
2677
|
+
& > svg:first-of-type {
|
|
2678
|
+
margin-bottom: ${theme.spacing(-1)};
|
|
2679
|
+
}
|
|
2680
|
+
`,
|
|
2681
|
+
input: css`
|
|
2682
|
+
font-size: 18px;
|
|
2683
|
+
-webkit-text-fill-color: ${theme.palette.primary.main};
|
|
2684
|
+
`,
|
|
2685
|
+
slider: css`
|
|
2686
|
+
margin-bottom: ${theme.spacing(7)};
|
|
2687
|
+
&.MuiSlider-root {
|
|
2688
|
+
height: 8px !important;
|
|
2689
|
+
color: ${theme.palette.text.primary};
|
|
2690
|
+
}
|
|
2691
|
+
& .MuiSlider-track {
|
|
2692
|
+
height: 8px !important;
|
|
2693
|
+
background: linear-gradient(232.71deg, #a363f4 4.17%, #ff6a8a 178.69%);
|
|
2694
|
+
border-radius: 8px;
|
|
2695
|
+
}
|
|
2696
|
+
& .MuiSlider-thumb::before {
|
|
2697
|
+
background: #ffffff;
|
|
2698
|
+
border: 1px solid #f9f9f9;
|
|
2699
|
+
box-shadow: 1px 1px 12px 2px rgba(163, 100, 244, 0.6);
|
|
2700
|
+
border-radius: 50px;
|
|
2701
|
+
width: 24px;
|
|
2702
|
+
height: 24px;
|
|
2703
|
+
}
|
|
2704
|
+
`,
|
|
2705
|
+
info: css`
|
|
2706
|
+
font-weight: 400;
|
|
2707
|
+
${theme.cssMixins.rowSpaceBetweened};
|
|
2708
|
+
font-size: 16px;
|
|
2709
|
+
color: ${theme.palette.text.secondary};
|
|
2710
|
+
`,
|
|
2711
|
+
divider: css`
|
|
2712
|
+
margin: ${theme.spacing(2, 0)};
|
|
2713
|
+
border-color: ${theme.palette.divider};
|
|
2714
|
+
`,
|
|
2715
|
+
okButton: css`
|
|
2716
|
+
font-weight: 700;
|
|
2717
|
+
width: 100%;
|
|
2718
|
+
position: absolute;
|
|
2719
|
+
bottom: ${theme.spacing(isXsSize ? 2 : 0)};
|
|
2720
|
+
`,
|
|
2721
|
+
terms: css`
|
|
2722
|
+
${theme.cssMixins.rowHCentered};
|
|
2723
|
+
font-weight: 400;
|
|
2724
|
+
font-size: 12px;
|
|
2725
|
+
color: ${theme.palette.text.secondary};
|
|
2726
|
+
margin-top: ${theme.spacing(1)};
|
|
2727
|
+
letter-spacing: 0px;
|
|
2728
|
+
width: 100%;
|
|
2729
|
+
position: absolute;
|
|
2730
|
+
bottom: ${theme.spacing(-3)};
|
|
2731
|
+
`
|
|
2443
2732
|
};
|
|
2444
2733
|
const handleSliderChange = (event, newValue) => {
|
|
2445
2734
|
handleChangeAmount(newValue);
|
|
@@ -2626,9 +2915,9 @@ function ChooseAmount$f(_ref) {
|
|
|
2626
2915
|
currentAmount: currentAmount,
|
|
2627
2916
|
tokenSymbol: symbol,
|
|
2628
2917
|
topLeft: "Origination Fee",
|
|
2629
|
-
topRight:
|
|
2918
|
+
topRight: `${chargedFees} ${symbol}`,
|
|
2630
2919
|
downLeft: "APR",
|
|
2631
|
-
downRight:
|
|
2920
|
+
downRight: `${creditRecordStatic.aprInBps / 100}%`,
|
|
2632
2921
|
handleChangeAmount: handleChangeAmount,
|
|
2633
2922
|
handleAction: handleAction,
|
|
2634
2923
|
actionText: "borrow"
|
|
@@ -2679,14 +2968,14 @@ function TxSendModal(_ref) {
|
|
|
2679
2968
|
}, [dispatch, handleSuccess, state]);
|
|
2680
2969
|
useMount(() => {
|
|
2681
2970
|
send({
|
|
2682
|
-
contract: contract
|
|
2971
|
+
contract: contract ?? poolContract,
|
|
2683
2972
|
method,
|
|
2684
2973
|
params,
|
|
2685
2974
|
provider
|
|
2686
2975
|
});
|
|
2687
2976
|
});
|
|
2688
2977
|
return jsx(LoadingModal, {
|
|
2689
|
-
title: title
|
|
2978
|
+
title: title ?? 'Transaction Pending',
|
|
2690
2979
|
description: "Waiting for confirmation...",
|
|
2691
2980
|
children: jsx(ViewOnExplorer, {
|
|
2692
2981
|
txHash: txHash
|
|
@@ -2733,8 +3022,8 @@ function Success$d(_ref) {
|
|
|
2733
3022
|
const {
|
|
2734
3023
|
symbol
|
|
2735
3024
|
} = poolUnderlyingToken;
|
|
2736
|
-
const dueDate = timeUtil.timestampToLL(creditRecord
|
|
2737
|
-
const content = [
|
|
3025
|
+
const dueDate = timeUtil.timestampToLL(creditRecord?.dueDate.toNumber());
|
|
3026
|
+
const content = [`${formatNumber(borrowAmountNet)} ${symbol} is now in your wallet.`, `Note: your payment will be automatically deducted on ${dueDate}.`];
|
|
2738
3027
|
return jsx(TxDoneModal, {
|
|
2739
3028
|
handleAction: handleAction,
|
|
2740
3029
|
content: content,
|
|
@@ -2800,11 +3089,10 @@ const useIsFirstTimeNotifiUser = (account, chainId) => {
|
|
|
2800
3089
|
if (userState == null || userState.status !== 'authenticated' && userState.status !== 'expired') {
|
|
2801
3090
|
setIsFirstTimeNotifiUser(true);
|
|
2802
3091
|
} else if (userState.status === 'authenticated') {
|
|
2803
|
-
var _targetGroups$;
|
|
2804
3092
|
// If a user is authenticated, check if they have a target group (AKA email)
|
|
2805
3093
|
// associated with their wallet. If they do not, show them the notifi onboarding flow.
|
|
2806
3094
|
const targetGroups = await notifiClient.getTargetGroups();
|
|
2807
|
-
const emailTargets =
|
|
3095
|
+
const emailTargets = targetGroups[0]?.emailTargets?.[0];
|
|
2808
3096
|
if (emailTargets == null || emailTargets.emailAddress == null) {
|
|
2809
3097
|
setIsFirstTimeNotifiUser(true);
|
|
2810
3098
|
}
|
|
@@ -2818,7 +3106,6 @@ const useIsFirstTimeNotifiUser = (account, chainId) => {
|
|
|
2818
3106
|
};
|
|
2819
3107
|
};
|
|
2820
3108
|
|
|
2821
|
-
var _templateObject$l, _templateObject2$j, _templateObject3$g, _templateObject4$8, _templateObject5$4;
|
|
2822
3109
|
function getIdFromEventType(eventType) {
|
|
2823
3110
|
if (eventType.type === 'directPush') {
|
|
2824
3111
|
const directPushEventType = eventType;
|
|
@@ -2831,17 +3118,16 @@ function getIdFromEventType(eventType) {
|
|
|
2831
3118
|
return '';
|
|
2832
3119
|
}
|
|
2833
3120
|
async function fetchEventTypes(notifiClient) {
|
|
2834
|
-
var _process$env$REACT_AP, _subscriptionConfig$e;
|
|
2835
3121
|
const subscribedAlerts = await notifiClient.getAlerts();
|
|
2836
3122
|
const subscriptionConfig = await notifiClient.fetchSubscriptionCard({
|
|
2837
|
-
id:
|
|
3123
|
+
id: process.env.REACT_APP_NOTIFI_CONFIG_ID ?? '',
|
|
2838
3124
|
type: 'SUBSCRIPTION_CARD'
|
|
2839
3125
|
});
|
|
2840
|
-
const eventTypes = subscriptionConfig
|
|
3126
|
+
const eventTypes = subscriptionConfig?.eventTypes?.map(eventType => {
|
|
2841
3127
|
const eventTypeId = getIdFromEventType(eventType);
|
|
2842
3128
|
let enabled = false;
|
|
2843
3129
|
// Check whether the user is subscribed to the event
|
|
2844
|
-
const subscribedAlert = subscribedAlerts
|
|
3130
|
+
const subscribedAlert = subscribedAlerts?.find(alert => alert.filterOptions.indexOf(eventTypeId) >= 0);
|
|
2845
3131
|
if (subscribedAlert) {
|
|
2846
3132
|
enabled = true;
|
|
2847
3133
|
}
|
|
@@ -2877,9 +3163,8 @@ function NotifiSubscriptionModal(_ref) {
|
|
|
2877
3163
|
return ethers.utils.arrayify(signature);
|
|
2878
3164
|
};
|
|
2879
3165
|
const handleEmailAddressChange = event => {
|
|
2880
|
-
var _event$target$value;
|
|
2881
3166
|
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
2882
|
-
setEmailValid(emailRegex.test(
|
|
3167
|
+
setEmailValid(emailRegex.test(event.target.value ?? ''));
|
|
2883
3168
|
setEmailAddress(event.target.value);
|
|
2884
3169
|
};
|
|
2885
3170
|
const logInAndSubscribe = async () => {
|
|
@@ -2926,11 +3211,29 @@ function NotifiSubscriptionModal(_ref) {
|
|
|
2926
3211
|
handleSuccess();
|
|
2927
3212
|
}, [dispatch, handleSuccess, reset]);
|
|
2928
3213
|
const styles = {
|
|
2929
|
-
disclaimer: css
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
3214
|
+
disclaimer: css`
|
|
3215
|
+
${theme.cssMixins.rowCentered};
|
|
3216
|
+
font-weight: 400;
|
|
3217
|
+
font-size: 16px;
|
|
3218
|
+
color: ${theme.palette.text.secondary};
|
|
3219
|
+
margin-top: ${theme.spacing(6)};
|
|
3220
|
+
`,
|
|
3221
|
+
inputField: css`
|
|
3222
|
+
width: 100%;
|
|
3223
|
+
font-size: 16px;
|
|
3224
|
+
`,
|
|
3225
|
+
inputWrapper: css`
|
|
3226
|
+
width: 100%;
|
|
3227
|
+
`,
|
|
3228
|
+
header: css`
|
|
3229
|
+
${theme.cssMixins.rowHCentered};
|
|
3230
|
+
margin-top: ${theme.spacing(-0.5)};
|
|
3231
|
+
`,
|
|
3232
|
+
check: css`
|
|
3233
|
+
width: 100%;
|
|
3234
|
+
${theme.cssMixins.rowHCentered};
|
|
3235
|
+
margin-top: ${theme.spacing(10)};
|
|
3236
|
+
`
|
|
2934
3237
|
};
|
|
2935
3238
|
if (isLoading) {
|
|
2936
3239
|
return jsx(LoadingModal, {
|
|
@@ -3020,7 +3323,7 @@ function CreditLineBorrow(_ref) {
|
|
|
3020
3323
|
const {
|
|
3021
3324
|
creditRecord
|
|
3022
3325
|
} = accountStats;
|
|
3023
|
-
const accountState = creditRecord
|
|
3326
|
+
const accountState = creditRecord?.state;
|
|
3024
3327
|
useEffect(() => {
|
|
3025
3328
|
if (!step && accountState !== undefined) {
|
|
3026
3329
|
const nextStep = accountState >= CreditState.Approved ? WIDGET_STEP.ChooseAmount : WIDGET_STEP.Evaluation;
|
|
@@ -3074,7 +3377,6 @@ function CreditLineBorrow(_ref) {
|
|
|
3074
3377
|
});
|
|
3075
3378
|
}
|
|
3076
3379
|
|
|
3077
|
-
var _templateObject$k, _templateObject2$i, _templateObject3$f, _templateObject4$7, _templateObject5$3, _templateObject6$3, _templateObject7$3, _templateObject8$1;
|
|
3078
3380
|
function InputAmountModal(_ref) {
|
|
3079
3381
|
let {
|
|
3080
3382
|
title,
|
|
@@ -3093,16 +3395,64 @@ function InputAmountModal(_ref) {
|
|
|
3093
3395
|
} = _ref;
|
|
3094
3396
|
const theme = useTheme();
|
|
3095
3397
|
const [inputTouched, setInputTouched] = useState(false);
|
|
3096
|
-
const suffix =
|
|
3398
|
+
const suffix = ` ${defaultSuffix ?? tokenSymbol}`;
|
|
3097
3399
|
const styles = {
|
|
3098
|
-
inputAmountWrapper: css
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3400
|
+
inputAmountWrapper: css`
|
|
3401
|
+
margin-bottom: ${theme.spacing(1)};
|
|
3402
|
+
margin-top: ${theme.spacing(16)};
|
|
3403
|
+
`,
|
|
3404
|
+
inputAmount: css`
|
|
3405
|
+
${theme.cssMixins.rowSpaceBetweened};
|
|
3406
|
+
`,
|
|
3407
|
+
inputField: css`
|
|
3408
|
+
input {
|
|
3409
|
+
width: 100%;
|
|
3410
|
+
color: ${theme.palette.text.primary};
|
|
3411
|
+
font-weight: 800;
|
|
3412
|
+
font-size: 40px;
|
|
3413
|
+
line-height: 133.4%;
|
|
3414
|
+
}
|
|
3415
|
+
`,
|
|
3416
|
+
maxWrapper: css`
|
|
3417
|
+
position: relative;
|
|
3418
|
+
display: flex;
|
|
3419
|
+
justify-content: flex-end;
|
|
3420
|
+
`,
|
|
3421
|
+
maxTitle: css`
|
|
3422
|
+
position: absolute;
|
|
3423
|
+
color: ${theme.palette.text.primary};
|
|
3424
|
+
font-weight: 400;
|
|
3425
|
+
font-size: 12px;
|
|
3426
|
+
line-height: 166%;
|
|
3427
|
+
letter-spacing: 0.4px;
|
|
3428
|
+
top: ${theme.spacing(-3)};
|
|
3429
|
+
width: 200px;
|
|
3430
|
+
text-align: right;
|
|
3431
|
+
`,
|
|
3432
|
+
max: css`
|
|
3433
|
+
display: flex;
|
|
3434
|
+
min-width: fit-content;
|
|
3435
|
+
justify-content: center;
|
|
3436
|
+
align-items: center;
|
|
3437
|
+
border-radius: 32px;
|
|
3438
|
+
padding: 4px 10px;
|
|
3439
|
+
gap: 8px;
|
|
3440
|
+
font-weight: 700;
|
|
3441
|
+
font-size: 13px;
|
|
3442
|
+
line-height: 22px;
|
|
3443
|
+
letter-spacing: 0.46px;
|
|
3444
|
+
`,
|
|
3445
|
+
info: css`
|
|
3446
|
+
color: ${theme.palette.text.secondary};
|
|
3447
|
+
font-weight: 400;
|
|
3448
|
+
font-size: 16px;
|
|
3449
|
+
line-height: 160%;
|
|
3450
|
+
letter-spacing: 0.15px;
|
|
3451
|
+
`,
|
|
3452
|
+
subInfo: css`
|
|
3453
|
+
position: absolute;
|
|
3454
|
+
bottom: ${theme.spacing(6)};
|
|
3455
|
+
`
|
|
3106
3456
|
};
|
|
3107
3457
|
const onChange = event => {
|
|
3108
3458
|
setInputTouched(true);
|
|
@@ -3150,7 +3500,7 @@ function InputAmountModal(_ref) {
|
|
|
3150
3500
|
suffix: suffix,
|
|
3151
3501
|
thousandSeparator: true,
|
|
3152
3502
|
customInput: TextField,
|
|
3153
|
-
placeholder:
|
|
3503
|
+
placeholder: `0${suffix}`,
|
|
3154
3504
|
variant: "standard",
|
|
3155
3505
|
InputProps: {
|
|
3156
3506
|
endAdornment: getEndAdornment()
|
|
@@ -3223,7 +3573,7 @@ function ChooseAmount$e(_ref) {
|
|
|
3223
3573
|
currentAmount: currentAmount,
|
|
3224
3574
|
handleChangeAmount: handleChangeAmount,
|
|
3225
3575
|
maxAmount: creditAvailableFormatted,
|
|
3226
|
-
infos: [
|
|
3576
|
+
infos: [`${formatNumber(creditAvailableFormatted)} Available`],
|
|
3227
3577
|
handleAction: handleAction,
|
|
3228
3578
|
actionText: "BORROW"
|
|
3229
3579
|
});
|
|
@@ -3279,7 +3629,7 @@ function TxSendModalV2(_ref) {
|
|
|
3279
3629
|
});
|
|
3280
3630
|
});
|
|
3281
3631
|
return jsx(LoadingModal, {
|
|
3282
|
-
title: title
|
|
3632
|
+
title: title ?? 'Transaction Pending',
|
|
3283
3633
|
description: "Waiting for confirmation...",
|
|
3284
3634
|
children: jsx(ViewOnExplorer, {
|
|
3285
3635
|
txHash: txHash
|
|
@@ -3334,8 +3684,8 @@ function Success$c(_ref) {
|
|
|
3334
3684
|
const {
|
|
3335
3685
|
symbol
|
|
3336
3686
|
} = poolUnderlyingToken;
|
|
3337
|
-
const dueDate = timeUtil.timestampToLL(creditRecord
|
|
3338
|
-
const content = [
|
|
3687
|
+
const dueDate = timeUtil.timestampToLL(creditRecord?.nextDueDate.toNumber());
|
|
3688
|
+
const content = [`${formatNumber(borrowAmountNet)} ${symbol} is now in your wallet.`, `Note: your payment will be automatically deducted on ${dueDate}.`];
|
|
3339
3689
|
return jsx(TxDoneModal, {
|
|
3340
3690
|
handleAction: handleAction,
|
|
3341
3691
|
content: content,
|
|
@@ -3381,7 +3731,7 @@ function CreditLineBorrowV2(_ref) {
|
|
|
3381
3731
|
const {
|
|
3382
3732
|
creditRecord
|
|
3383
3733
|
} = accountStats;
|
|
3384
|
-
const accountState = creditRecord
|
|
3734
|
+
const accountState = creditRecord?.state;
|
|
3385
3735
|
useEffect(() => {
|
|
3386
3736
|
if (!step && accountState !== undefined) {
|
|
3387
3737
|
if (accountState >= CreditStateV2.Approved) {
|
|
@@ -3555,7 +3905,7 @@ function Success$b(_ref) {
|
|
|
3555
3905
|
}
|
|
3556
3906
|
}
|
|
3557
3907
|
}, [decimals, txReceipt]);
|
|
3558
|
-
const content = [
|
|
3908
|
+
const content = [`You successfully paid ${formatNumber(payedAmount)} ${symbol}.`];
|
|
3559
3909
|
return jsx(TxDoneModal, {
|
|
3560
3910
|
handleAction: handleAction,
|
|
3561
3911
|
content: content
|
|
@@ -3673,7 +4023,7 @@ function ChooseAmount$c(_ref) {
|
|
|
3673
4023
|
handleChangeAmount: handleChangeAmount,
|
|
3674
4024
|
maxAmount: payoffAmount,
|
|
3675
4025
|
maxAmountText: "Pay Off",
|
|
3676
|
-
infos: [
|
|
4026
|
+
infos: [`${formatNumber(totalDueAmount.toFixed(0))} Due`],
|
|
3677
4027
|
handleAction: handleAction,
|
|
3678
4028
|
actionText: "PAY"
|
|
3679
4029
|
});
|
|
@@ -3754,7 +4104,7 @@ function Success$a(_ref) {
|
|
|
3754
4104
|
}
|
|
3755
4105
|
}
|
|
3756
4106
|
}, [decimals, txReceipt]);
|
|
3757
|
-
const content = [
|
|
4107
|
+
const content = [`You successfully paid ${formatNumber(paidAmount)} ${symbol}.`];
|
|
3758
4108
|
return jsx(TxDoneModal, {
|
|
3759
4109
|
handleAction: handleAction,
|
|
3760
4110
|
content: content
|
|
@@ -3855,7 +4205,7 @@ function Success$9(_ref) {
|
|
|
3855
4205
|
decimals
|
|
3856
4206
|
} = poolUnderlyingToken;
|
|
3857
4207
|
const amountFormatted = ethers.utils.formatUnits(amountToDeposit, decimals);
|
|
3858
|
-
const content = [
|
|
4208
|
+
const content = [`You have supplied ${formatMoney(amountFormatted)} ${symbol}.`];
|
|
3859
4209
|
return jsx(TxDoneModal, {
|
|
3860
4210
|
handleAction: handleAction,
|
|
3861
4211
|
content: content
|
|
@@ -3997,7 +4347,6 @@ function Evaluation$3(_ref) {
|
|
|
3997
4347
|
}
|
|
3998
4348
|
|
|
3999
4349
|
function ChooseAmount$b(_ref) {
|
|
4000
|
-
var _receivable;
|
|
4001
4350
|
let {
|
|
4002
4351
|
poolInfo,
|
|
4003
4352
|
accountStats
|
|
@@ -4018,7 +4367,7 @@ function ChooseAmount$b(_ref) {
|
|
|
4018
4367
|
const {
|
|
4019
4368
|
getFeesCharged
|
|
4020
4369
|
} = useFeeManager(poolInfo.poolName, poolInfo.poolType, chainId, provider);
|
|
4021
|
-
const [remainder, setRemainder] = useState(
|
|
4370
|
+
const [remainder, setRemainder] = useState(approval.receivable?.amountFormatted);
|
|
4022
4371
|
const getAvailableCreditLimit = () => {
|
|
4023
4372
|
if (approval && creditRecord) {
|
|
4024
4373
|
const principal = creditRecord.unbilledPrincipal.add(creditRecord.totalDue).sub(creditRecord.feesAndInterestDue).toNumber();
|
|
@@ -4036,12 +4385,12 @@ function ChooseAmount$b(_ref) {
|
|
|
4036
4385
|
const handleAction = useCallback(() => {
|
|
4037
4386
|
dispatch(setBorrowInfo({
|
|
4038
4387
|
borrowAmount: currentAmount,
|
|
4039
|
-
borrowAmountBN: ethers.utils.parseUnits(currentAmount.toString(), approval
|
|
4388
|
+
borrowAmountBN: ethers.utils.parseUnits(currentAmount.toString(), approval?.token.decimal).toJSON(),
|
|
4040
4389
|
chargedFees,
|
|
4041
4390
|
remainder: Number(remainder),
|
|
4042
4391
|
nextStep: WIDGET_STEP.ConfirmTransfer
|
|
4043
4392
|
}));
|
|
4044
|
-
}, [approval
|
|
4393
|
+
}, [approval?.token.decimal, chargedFees, currentAmount, dispatch, remainder]);
|
|
4045
4394
|
if (!approval) {
|
|
4046
4395
|
return null;
|
|
4047
4396
|
}
|
|
@@ -4053,15 +4402,14 @@ function ChooseAmount$b(_ref) {
|
|
|
4053
4402
|
currentAmount: currentAmount,
|
|
4054
4403
|
tokenSymbol: approval.token.symbol,
|
|
4055
4404
|
topLeft: "Fees",
|
|
4056
|
-
topRight:
|
|
4405
|
+
topRight: `${chargedFees} ${approval.token.symbol}`,
|
|
4057
4406
|
downLeft: "Remainder",
|
|
4058
|
-
downRight:
|
|
4407
|
+
downRight: `${remainder} ${approval.token.symbol}`,
|
|
4059
4408
|
handleChangeAmount: handleChangeAmount,
|
|
4060
4409
|
handleAction: handleAction
|
|
4061
4410
|
});
|
|
4062
4411
|
}
|
|
4063
4412
|
|
|
4064
|
-
var _templateObject$j, _templateObject2$h, _templateObject3$e, _templateObject4$6, _templateObject5$2, _templateObject6$2, _templateObject7$2, _templateObject8, _templateObject9, _templateObject10;
|
|
4065
4413
|
function ConfirmTransferModal(_ref) {
|
|
4066
4414
|
let {
|
|
4067
4415
|
title,
|
|
@@ -4072,16 +4420,92 @@ function ConfirmTransferModal(_ref) {
|
|
|
4072
4420
|
} = _ref;
|
|
4073
4421
|
const theme = useTheme();
|
|
4074
4422
|
const styles = {
|
|
4075
|
-
wrapper: css
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
|
|
4423
|
+
wrapper: css`
|
|
4424
|
+
height: 518px;
|
|
4425
|
+
position: relative;
|
|
4426
|
+
${theme.cssMixins.colStretch};
|
|
4427
|
+
`,
|
|
4428
|
+
header: css`
|
|
4429
|
+
${theme.cssMixins.rowHCentered};
|
|
4430
|
+
margin-top: ${theme.spacing(-0.5)};
|
|
4431
|
+
`,
|
|
4432
|
+
description: css`
|
|
4433
|
+
font-weight: 400;
|
|
4434
|
+
font-size: 16px;
|
|
4435
|
+
color: ${theme.palette.text.secondary};
|
|
4436
|
+
margin-top: ${theme.spacing(4)};
|
|
4437
|
+
text-align: center;
|
|
4438
|
+
`,
|
|
4439
|
+
transferWrapper: css`
|
|
4440
|
+
margin-top: ${theme.spacing(9)};
|
|
4441
|
+
`,
|
|
4442
|
+
transfer: css`
|
|
4443
|
+
font-weight: 400;
|
|
4444
|
+
${theme.cssMixins.rowSpaceBetweened}
|
|
4445
|
+
${theme.cssMixins.rowVCentered}
|
|
4446
|
+
height: 72px;
|
|
4447
|
+
background: #f9f8fa;
|
|
4448
|
+
border-radius: 4px;
|
|
4449
|
+
font-size: 16px;
|
|
4450
|
+
color: ${theme.palette.text.primary};
|
|
4451
|
+
padding: ${theme.spacing(3, 2)};
|
|
4452
|
+
margin-bottom: ${theme.spacing(1)};
|
|
4453
|
+
position: relative;
|
|
4454
|
+
box-sizing: border-box;
|
|
4455
|
+
`,
|
|
4456
|
+
transferItem: css`
|
|
4457
|
+
${theme.cssMixins.rowVCentered}
|
|
4458
|
+
`,
|
|
4459
|
+
arrow: css`
|
|
4460
|
+
@keyframes bounceAlpha {
|
|
4461
|
+
0% {
|
|
4462
|
+
opacity: 1;
|
|
4463
|
+
transform: translateX(0px) scale(1);
|
|
4464
|
+
}
|
|
4465
|
+
25% {
|
|
4466
|
+
opacity: 0;
|
|
4467
|
+
transform: translateX(10px) scale(0.9);
|
|
4468
|
+
}
|
|
4469
|
+
26% {
|
|
4470
|
+
opacity: 0;
|
|
4471
|
+
transform: translateX(-10px) scale(0.9);
|
|
4472
|
+
}
|
|
4473
|
+
55% {
|
|
4474
|
+
opacity: 1;
|
|
4475
|
+
transform: translateX(0px) scale(1);
|
|
4476
|
+
}
|
|
4477
|
+
}
|
|
4478
|
+
animation-name: bounceAlpha;
|
|
4479
|
+
animation-duration: 1.4s;
|
|
4480
|
+
animation-iteration-count: infinite;
|
|
4481
|
+
animation-timing-function: linear;
|
|
4482
|
+
|
|
4483
|
+
color: ${theme.palette.primary.main};
|
|
4484
|
+
position: absolute;
|
|
4485
|
+
margin: auto;
|
|
4486
|
+
top: 0;
|
|
4487
|
+
left: calc(15% + 36px);
|
|
4488
|
+
bottom: 0;
|
|
4489
|
+
right: 0;
|
|
4490
|
+
width: 16px;
|
|
4491
|
+
height: 16px;
|
|
4492
|
+
`,
|
|
4493
|
+
arrowFirst: css`
|
|
4494
|
+
left: calc(15% + 20px);
|
|
4495
|
+
animation-delay: 0.2s;
|
|
4496
|
+
`,
|
|
4497
|
+
okButton: css`
|
|
4498
|
+
width: 100%;
|
|
4499
|
+
position: absolute;
|
|
4500
|
+
bottom: 0;
|
|
4501
|
+
`,
|
|
4502
|
+
usdcIcon: css`
|
|
4503
|
+
width: 22px;
|
|
4504
|
+
margin-right: ${theme.spacing(2)};
|
|
4505
|
+
& > path:first-of-type {
|
|
4506
|
+
fill: #76707e;
|
|
4507
|
+
}
|
|
4508
|
+
`
|
|
4085
4509
|
};
|
|
4086
4510
|
return jsxs(Box, {
|
|
4087
4511
|
css: styles.wrapper,
|
|
@@ -4149,12 +4573,12 @@ function ConfirmTransfer$2() {
|
|
|
4149
4573
|
}
|
|
4150
4574
|
return jsx(ConfirmTransferModal, {
|
|
4151
4575
|
title: "Confirm transaction details",
|
|
4152
|
-
description:
|
|
4576
|
+
description: `Huma keeps your Invoice NFT as collateral until it's fully paid.`,
|
|
4153
4577
|
items: [{
|
|
4154
4578
|
leftText: 'Invoice NFT',
|
|
4155
4579
|
rightText: 'Huma'
|
|
4156
4580
|
}, {
|
|
4157
|
-
leftText:
|
|
4581
|
+
leftText: `${borrowAmountNet} ${approval?.token.symbol}`,
|
|
4158
4582
|
rightText: 'You'
|
|
4159
4583
|
}],
|
|
4160
4584
|
actionText: "APPROVE TRANSFER",
|
|
@@ -4235,7 +4659,7 @@ function Success$8(_ref) {
|
|
|
4235
4659
|
remainder,
|
|
4236
4660
|
approval
|
|
4237
4661
|
} = useAppSelector(selectWidgetState);
|
|
4238
|
-
const content = [
|
|
4662
|
+
const content = [`${formatNumber(borrowAmountNet)} ${approval?.token.symbol} is now in your wallet.`, `The remaining ${remainder} ${approval?.token.symbol} will be sent to your wallet when the invoice is paid.`];
|
|
4239
4663
|
return jsx(TxDoneModal, {
|
|
4240
4664
|
handleAction: handleAction,
|
|
4241
4665
|
content: content
|
|
@@ -4338,9 +4762,9 @@ function ChooseAmount$a(_ref) {
|
|
|
4338
4762
|
currentAmount: currentAmount,
|
|
4339
4763
|
tokenSymbol: symbol,
|
|
4340
4764
|
topLeft: "Total Due",
|
|
4341
|
-
topRight:
|
|
4765
|
+
topRight: `${totalDue} ${symbol}`,
|
|
4342
4766
|
downLeft: "Remaining Due",
|
|
4343
|
-
downRight:
|
|
4767
|
+
downRight: `${remainingDue} ${symbol}`,
|
|
4344
4768
|
handleChangeAmount: handleChangeAmount,
|
|
4345
4769
|
handleAction: handleAction,
|
|
4346
4770
|
actionText: "make payment"
|
|
@@ -4399,7 +4823,7 @@ function Success$7(_ref) {
|
|
|
4399
4823
|
paymentAmount,
|
|
4400
4824
|
remainDueAmount
|
|
4401
4825
|
} = useAppSelector(selectWidgetState);
|
|
4402
|
-
const content = [
|
|
4826
|
+
const content = [`You have successfully made a payment of ${paymentAmount} ${symbol}.`, `The remaining due amount is ${remainDueAmount} ${symbol}.`];
|
|
4403
4827
|
return jsx(TxDoneModal, {
|
|
4404
4828
|
handleAction: handleAction,
|
|
4405
4829
|
content: content
|
|
@@ -4459,7 +4883,6 @@ function InvoiceFactoringPayment(_ref) {
|
|
|
4459
4883
|
});
|
|
4460
4884
|
}
|
|
4461
4885
|
|
|
4462
|
-
var _templateObject$i, _templateObject2$g, _templateObject3$d;
|
|
4463
4886
|
function ChooseTranche$4(_ref) {
|
|
4464
4887
|
let {
|
|
4465
4888
|
selectedTranche,
|
|
@@ -4468,9 +4891,30 @@ function ChooseTranche$4(_ref) {
|
|
|
4468
4891
|
const theme = useTheme();
|
|
4469
4892
|
const dispatch = useAppDispatch();
|
|
4470
4893
|
const styles = {
|
|
4471
|
-
subTitle: css
|
|
4472
|
-
|
|
4473
|
-
|
|
4894
|
+
subTitle: css`
|
|
4895
|
+
color: ${theme.palette.text.primary} !important;
|
|
4896
|
+
font-weight: 400;
|
|
4897
|
+
font-size: 16px;
|
|
4898
|
+
line-height: 150%;
|
|
4899
|
+
letter-spacing: 0.15px;
|
|
4900
|
+
margin-top: ${theme.spacing(5)};
|
|
4901
|
+
margin-left: ${theme.spacing(2)};
|
|
4902
|
+
`,
|
|
4903
|
+
radioGroup: css`
|
|
4904
|
+
margin-left: ${theme.spacing(3)};
|
|
4905
|
+
margin-top: ${theme.spacing(3)};
|
|
4906
|
+
`,
|
|
4907
|
+
formControl: css`
|
|
4908
|
+
margin-bottom: ${theme.spacing(1)};
|
|
4909
|
+
|
|
4910
|
+
.MuiFormControlLabel-label {
|
|
4911
|
+
color: ${theme.palette.text.primary};
|
|
4912
|
+
font-weight: 400;
|
|
4913
|
+
font-size: 16px;
|
|
4914
|
+
line-height: 150%;
|
|
4915
|
+
letter-spacing: 0.15px;
|
|
4916
|
+
}
|
|
4917
|
+
`
|
|
4474
4918
|
};
|
|
4475
4919
|
const handleNext = () => {
|
|
4476
4920
|
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
@@ -4545,7 +4989,7 @@ function ChooseAmount$9(_ref) {
|
|
|
4545
4989
|
dispatch(setStep(WIDGET_STEP.Error));
|
|
4546
4990
|
dispatch(setError({
|
|
4547
4991
|
errorReason: 'Redemption too soon',
|
|
4548
|
-
errorMessage:
|
|
4992
|
+
errorMessage: `Your last deposit was on ${timestampToLL(depositRecord.lastDepositTime.toNumber())}. You can redeem on ${timestampToLL(lockupEndTimeDayjs.unix())}.`
|
|
4549
4993
|
}));
|
|
4550
4994
|
}
|
|
4551
4995
|
}
|
|
@@ -4567,13 +5011,13 @@ function ChooseAmount$9(_ref) {
|
|
|
4567
5011
|
}
|
|
4568
5012
|
return jsx(InputAmountModal, {
|
|
4569
5013
|
title: "Redemption",
|
|
4570
|
-
subTitle:
|
|
5014
|
+
subTitle: `Enter number of shares to redeem from ${trancheInfo.tranche} tranche`,
|
|
4571
5015
|
tokenSymbol: symbol,
|
|
4572
5016
|
currentAmount: currentShares,
|
|
4573
5017
|
handleChangeAmount: handleChangeShares,
|
|
4574
5018
|
maxAmount: maxSharesFormatted,
|
|
4575
|
-
infos: [
|
|
4576
|
-
maxAmountTitle:
|
|
5019
|
+
infos: [`${String(formatNumber(currentAmount))} ${symbol}`],
|
|
5020
|
+
maxAmountTitle: `${formatNumber(maxSharesFormatted)} Shares`,
|
|
4577
5021
|
suffix: "Shares",
|
|
4578
5022
|
handleAction: handleAction,
|
|
4579
5023
|
actionText: "REQUEST"
|
|
@@ -4620,7 +5064,7 @@ function Done$4(_ref) {
|
|
|
4620
5064
|
const {
|
|
4621
5065
|
redeemShares
|
|
4622
5066
|
} = useAppSelector(selectWidgetState);
|
|
4623
|
-
const content = [
|
|
5067
|
+
const content = [`${formatNumber(redeemShares)} shares requested for redemption`];
|
|
4624
5068
|
return jsx(TxDoneModal, {
|
|
4625
5069
|
handleAction: handleAction,
|
|
4626
5070
|
content: content
|
|
@@ -4724,7 +5168,7 @@ function AddRedemptionV2(_ref) {
|
|
|
4724
5168
|
handleClose: handleClose,
|
|
4725
5169
|
handleSuccess: handleRedeemSuccess,
|
|
4726
5170
|
children: [step === WIDGET_STEP.ChooseTranche && jsx(ChooseTranche$4, {
|
|
4727
|
-
selectedTranche: trancheInfo
|
|
5171
|
+
selectedTranche: trancheInfo?.tranche,
|
|
4728
5172
|
changeTranche: handleChangeTranche
|
|
4729
5173
|
}), step === WIDGET_STEP.ChooseAmount && trancheInfo && jsx(ChooseAmount$9, {
|
|
4730
5174
|
poolInfo: poolInfo,
|
|
@@ -4778,7 +5222,7 @@ function Done$3(_ref) {
|
|
|
4778
5222
|
handleAction
|
|
4779
5223
|
} = _ref;
|
|
4780
5224
|
const shares = ethers.utils.formatUnits(redemptionInfo.shares, poolUnderlyingToken.decimals);
|
|
4781
|
-
const content = [
|
|
5225
|
+
const content = [`Your request to cancel the redemption of ${formatNumber(shares)} shares has been successfully processed.`];
|
|
4782
5226
|
return jsx(TxDoneModal, {
|
|
4783
5227
|
handleAction: handleAction,
|
|
4784
5228
|
content: content
|
|
@@ -4849,7 +5293,6 @@ function CancelRedemptionV2(_ref) {
|
|
|
4849
5293
|
});
|
|
4850
5294
|
}
|
|
4851
5295
|
|
|
4852
|
-
var _templateObject$h, _templateObject2$f;
|
|
4853
5296
|
function EvaluationEA(_ref) {
|
|
4854
5297
|
let {
|
|
4855
5298
|
poolInfo,
|
|
@@ -4863,8 +5306,21 @@ function EvaluationEA(_ref) {
|
|
|
4863
5306
|
} = useWeb3React();
|
|
4864
5307
|
const [loading, setLoading] = useState(false);
|
|
4865
5308
|
const styles = {
|
|
4866
|
-
iconWrapper: css
|
|
4867
|
-
|
|
5309
|
+
iconWrapper: css`
|
|
5310
|
+
${theme.cssMixins.rowCentered};
|
|
5311
|
+
margin-top: ${theme.spacing(8)};
|
|
5312
|
+
& > img {
|
|
5313
|
+
width: 144px;
|
|
5314
|
+
}
|
|
5315
|
+
`,
|
|
5316
|
+
description: css`
|
|
5317
|
+
${theme.cssMixins.rowCentered};
|
|
5318
|
+
margin-top: ${theme.spacing(10)};
|
|
5319
|
+
padding: ${theme.spacing(0, 2)};
|
|
5320
|
+
font-weight: 400;
|
|
5321
|
+
font-size: 16px;
|
|
5322
|
+
color: ${theme.palette.text.secondary};
|
|
5323
|
+
`
|
|
4868
5324
|
};
|
|
4869
5325
|
const approveLender = async () => {
|
|
4870
5326
|
if (account) {
|
|
@@ -4940,7 +5396,7 @@ function HumaSnackBar(_ref2) {
|
|
|
4940
5396
|
};
|
|
4941
5397
|
return jsx(Snackbar, {
|
|
4942
5398
|
open: open,
|
|
4943
|
-
autoHideDuration: autoHideDuration
|
|
5399
|
+
autoHideDuration: autoHideDuration ?? 6000,
|
|
4944
5400
|
onClose: onClose,
|
|
4945
5401
|
css: styles.snackbar,
|
|
4946
5402
|
children: jsxs(Alert, {
|
|
@@ -4959,7 +5415,6 @@ function HumaSnackBar(_ref2) {
|
|
|
4959
5415
|
});
|
|
4960
5416
|
}
|
|
4961
5417
|
|
|
4962
|
-
var _templateObject$g, _templateObject2$e;
|
|
4963
5418
|
const KYCProvider = 'Securitize';
|
|
4964
5419
|
// TODO: Add copies for the other pools. Currently only the Jia pool is using the KYC process.
|
|
4965
5420
|
const JiaPoolCopies = {
|
|
@@ -4969,17 +5424,17 @@ const JiaPoolCopies = {
|
|
|
4969
5424
|
},
|
|
4970
5425
|
verifyIdentity: {
|
|
4971
5426
|
title: 'Verify Identity',
|
|
4972
|
-
description:
|
|
5427
|
+
description: `This pool is only available to professional/accredited investors at the moment, with minimum investments of $10,000. Please complete identity verification and investor accreditation via ${KYCProvider}.`,
|
|
4973
5428
|
buttonText: 'VERIFY MY IDENTITY'
|
|
4974
5429
|
},
|
|
4975
5430
|
emailSignatureLink: {
|
|
4976
5431
|
title: 'Pool Documents',
|
|
4977
|
-
description:
|
|
5432
|
+
description: `By lending to this pool, you become a subscriber member of the Jia Pioneer Fund LLC. Please sign the LLC Agreement via DocuSign, securing your off-chain claim to the Fund's returns and collateral.`,
|
|
4978
5433
|
buttonText: 'EMAIL DOCUSIGN LINK'
|
|
4979
5434
|
},
|
|
4980
5435
|
resendSignatureLink: {
|
|
4981
5436
|
title: 'Resend Documents',
|
|
4982
|
-
description:
|
|
5437
|
+
description: `Please check your inbox for the LLC Agreement sent via DocuSign. If you haven't received it, check your spam folder or click below to resend.`,
|
|
4983
5438
|
buttonText: 'RESEND DOCUSIGN LINK'
|
|
4984
5439
|
},
|
|
4985
5440
|
docUnderReview: {
|
|
@@ -4990,10 +5445,10 @@ const JiaPoolCopies = {
|
|
|
4990
5445
|
};
|
|
4991
5446
|
const LoadingCopiesByType$1 = {
|
|
4992
5447
|
verificationStatus: {
|
|
4993
|
-
description:
|
|
5448
|
+
description: `Checking your verification status...`
|
|
4994
5449
|
},
|
|
4995
5450
|
sendDocSignatureLink: {
|
|
4996
|
-
description:
|
|
5451
|
+
description: `Sending signature link...`
|
|
4997
5452
|
}
|
|
4998
5453
|
};
|
|
4999
5454
|
function EvaluationKYC(_ref) {
|
|
@@ -5025,17 +5480,30 @@ function EvaluationKYC(_ref) {
|
|
|
5025
5480
|
const docSignatureCompleted = docSignatureStatus === 'completed';
|
|
5026
5481
|
const [openSnackBar, setOpenSnackBar] = useState(false);
|
|
5027
5482
|
const styles = {
|
|
5028
|
-
iconWrapper: css
|
|
5029
|
-
|
|
5483
|
+
iconWrapper: css`
|
|
5484
|
+
${theme.cssMixins.rowCentered};
|
|
5485
|
+
margin-top: ${theme.spacing(8)};
|
|
5486
|
+
& > img {
|
|
5487
|
+
width: 144px;
|
|
5488
|
+
}
|
|
5489
|
+
`,
|
|
5490
|
+
description: css`
|
|
5491
|
+
${theme.cssMixins.rowCentered};
|
|
5492
|
+
margin-top: ${theme.spacing(10)};
|
|
5493
|
+
padding: ${theme.spacing(0, 2)};
|
|
5494
|
+
font-weight: 400;
|
|
5495
|
+
font-size: 16px;
|
|
5496
|
+
color: ${theme.palette.text.secondary};
|
|
5497
|
+
`
|
|
5030
5498
|
};
|
|
5031
5499
|
const {
|
|
5032
5500
|
envelopeKey,
|
|
5033
5501
|
envelopeLastQueryTimeKey,
|
|
5034
5502
|
envelopeDocuSignStatusKey
|
|
5035
5503
|
} = useMemo(() => {
|
|
5036
|
-
const envelopeKey =
|
|
5037
|
-
const envelopeLastQueryTimeKey =
|
|
5038
|
-
const envelopeDocuSignStatusKey =
|
|
5504
|
+
const envelopeKey = `${poolInfo.pool.toLowerCase()}-${account?.toLowerCase()}`;
|
|
5505
|
+
const envelopeLastQueryTimeKey = `${envelopeKey}-last-query-time`;
|
|
5506
|
+
const envelopeDocuSignStatusKey = `${envelopeKey}-docuSign-status`;
|
|
5039
5507
|
return {
|
|
5040
5508
|
envelopeKey,
|
|
5041
5509
|
envelopeLastQueryTimeKey,
|
|
@@ -5148,8 +5616,8 @@ function EvaluationKYC(_ref) {
|
|
|
5148
5616
|
const issuerId = CHAINS[chainId].isTestnet ? '53a66b32-583e-40e7-ba90-baf516d2cadd' : '5557baf5-d3c2-4c80-b522-c05a11c6e586';
|
|
5149
5617
|
const baseUrl = configUtil.getKYCProviderBaseUrl(KYCProvider, chainId);
|
|
5150
5618
|
const originUrl = window.location.href.split('?')[0];
|
|
5151
|
-
const redirectUrl =
|
|
5152
|
-
const providerAuthorizeUrl =
|
|
5619
|
+
const redirectUrl = `${originUrl}?poolName=${poolInfo.poolName}&chainId=${poolInfo.chainId}&poolType=${poolInfo.poolType}&kycProvider=${KYCProvider}&kycPool=${poolInfo.pool}`;
|
|
5620
|
+
const providerAuthorizeUrl = `${baseUrl}/#/authorize?issuerId=${issuerId}&scope=details&details=verification&redirectUrl=${redirectUrl}`;
|
|
5153
5621
|
window.location.href = isNotOnboarded ? providerAuthorizeUrl : baseUrl;
|
|
5154
5622
|
} else {
|
|
5155
5623
|
const envelopeId = localStorage.getItem(envelopeKey);
|
|
@@ -5218,14 +5686,13 @@ function EvaluationKYC(_ref) {
|
|
|
5218
5686
|
}
|
|
5219
5687
|
|
|
5220
5688
|
function Evaluation$2(_ref) {
|
|
5221
|
-
var _poolInfo$extra;
|
|
5222
5689
|
let {
|
|
5223
5690
|
poolInfo,
|
|
5224
5691
|
handleClose,
|
|
5225
5692
|
handleApproveSuccess
|
|
5226
5693
|
} = _ref;
|
|
5227
|
-
const lenderApprovalProvider =
|
|
5228
|
-
const isKYC =
|
|
5694
|
+
const lenderApprovalProvider = poolInfo.extra?.lenderApprovalProvider;
|
|
5695
|
+
const isKYC = lenderApprovalProvider?.type === 'KYC';
|
|
5229
5696
|
if (isKYC) {
|
|
5230
5697
|
return jsx(EvaluationKYC, {
|
|
5231
5698
|
poolInfo: poolInfo,
|
|
@@ -5266,9 +5733,9 @@ function ChooseAmount$8(_ref) {
|
|
|
5266
5733
|
dispatch(setStep(step));
|
|
5267
5734
|
}, [dispatch, needApprove]);
|
|
5268
5735
|
return jsx(ChooseAmountModal, {
|
|
5269
|
-
title:
|
|
5736
|
+
title: `Supply ${symbol}`,
|
|
5270
5737
|
description1: "Choose Amount",
|
|
5271
|
-
description2:
|
|
5738
|
+
description2: `Depositors need to wait for ${withdrawlLockoutDays.toFixed(0)} days before withdrawal`,
|
|
5272
5739
|
sliderMax: Number(underlyingTokenBalance),
|
|
5273
5740
|
currentAmount: currentAmount,
|
|
5274
5741
|
tokenSymbol: symbol,
|
|
@@ -5349,14 +5816,14 @@ function Success$6(_ref) {
|
|
|
5349
5816
|
to,
|
|
5350
5817
|
value
|
|
5351
5818
|
} = event.args;
|
|
5352
|
-
if (from.toLowerCase() ===
|
|
5819
|
+
if (from.toLowerCase() === account?.toLowerCase() && to.toLowerCase() === poolInfo.pool.toLowerCase()) {
|
|
5353
5820
|
setSupplyAmount(downScale(value.toString(), decimals));
|
|
5354
5821
|
}
|
|
5355
5822
|
});
|
|
5356
5823
|
}
|
|
5357
5824
|
}
|
|
5358
5825
|
}, [account, address, decimals, poolInfo.pool, txReceipt]);
|
|
5359
|
-
const content = [
|
|
5826
|
+
const content = [`You successfully supplied ${formatMoney(supplyAmount)} ${symbol}.`];
|
|
5360
5827
|
return jsx(TxDoneModal, {
|
|
5361
5828
|
handleAction: handleAction,
|
|
5362
5829
|
content: content,
|
|
@@ -5391,7 +5858,7 @@ function LendSupply(_ref) {
|
|
|
5391
5858
|
const poolInfo = usePoolInfo(poolName, poolType, chainId);
|
|
5392
5859
|
const {
|
|
5393
5860
|
decimals
|
|
5394
|
-
} =
|
|
5861
|
+
} = poolInfo?.poolUnderlyingToken || {};
|
|
5395
5862
|
const {
|
|
5396
5863
|
step,
|
|
5397
5864
|
errorMessage
|
|
@@ -5438,7 +5905,7 @@ function LendSupply(_ref) {
|
|
|
5438
5905
|
return jsxs(WidgetWrapper, {
|
|
5439
5906
|
isOpen: true,
|
|
5440
5907
|
isLoading: lenderApproved === undefined,
|
|
5441
|
-
loadingTitle:
|
|
5908
|
+
loadingTitle: `Supply ${poolInfo.poolUnderlyingToken.symbol}`,
|
|
5442
5909
|
handleClose: handleClose,
|
|
5443
5910
|
handleSuccess: handleSupplySuccess,
|
|
5444
5911
|
children: [step === WIDGET_STEP.Evaluation && jsx(Evaluation$2, {
|
|
@@ -5469,7 +5936,6 @@ function LendSupply(_ref) {
|
|
|
5469
5936
|
});
|
|
5470
5937
|
}
|
|
5471
5938
|
|
|
5472
|
-
var _templateObject$f, _templateObject2$d, _templateObject3$c;
|
|
5473
5939
|
function ChooseTranche$3(_ref) {
|
|
5474
5940
|
let {
|
|
5475
5941
|
poolUnderlyingToken,
|
|
@@ -5479,9 +5945,30 @@ function ChooseTranche$3(_ref) {
|
|
|
5479
5945
|
const theme = useTheme();
|
|
5480
5946
|
const dispatch = useAppDispatch();
|
|
5481
5947
|
const styles = {
|
|
5482
|
-
subTitle: css
|
|
5483
|
-
|
|
5484
|
-
|
|
5948
|
+
subTitle: css`
|
|
5949
|
+
color: ${theme.palette.text.primary} !important;
|
|
5950
|
+
font-weight: 400;
|
|
5951
|
+
font-size: 16px;
|
|
5952
|
+
line-height: 150%;
|
|
5953
|
+
letter-spacing: 0.15px;
|
|
5954
|
+
margin-top: ${theme.spacing(5)};
|
|
5955
|
+
margin-left: ${theme.spacing(2)};
|
|
5956
|
+
`,
|
|
5957
|
+
radioGroup: css`
|
|
5958
|
+
margin-left: ${theme.spacing(3)};
|
|
5959
|
+
margin-top: ${theme.spacing(3)};
|
|
5960
|
+
`,
|
|
5961
|
+
formControl: css`
|
|
5962
|
+
margin-bottom: ${theme.spacing(1)};
|
|
5963
|
+
|
|
5964
|
+
.MuiFormControlLabel-label {
|
|
5965
|
+
color: ${theme.palette.text.primary};
|
|
5966
|
+
font-weight: 400;
|
|
5967
|
+
font-size: 16px;
|
|
5968
|
+
line-height: 150%;
|
|
5969
|
+
letter-spacing: 0.15px;
|
|
5970
|
+
}
|
|
5971
|
+
`
|
|
5485
5972
|
};
|
|
5486
5973
|
const handleNext = () => {
|
|
5487
5974
|
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
@@ -5494,7 +5981,7 @@ function ChooseTranche$3(_ref) {
|
|
|
5494
5981
|
value: 'junior'
|
|
5495
5982
|
}];
|
|
5496
5983
|
return jsxs(WrapperModal, {
|
|
5497
|
-
title:
|
|
5984
|
+
title: `Supply ${poolUnderlyingToken.symbol}`,
|
|
5498
5985
|
children: [jsxs(FormControl, {
|
|
5499
5986
|
children: [jsxs(FormLabel, {
|
|
5500
5987
|
css: styles.subTitle,
|
|
@@ -5531,7 +6018,6 @@ function ChooseTranche$3(_ref) {
|
|
|
5531
6018
|
});
|
|
5532
6019
|
}
|
|
5533
6020
|
|
|
5534
|
-
var _templateObject$e, _templateObject2$c, _templateObject3$b;
|
|
5535
6021
|
function PersonaEvaluation(_ref) {
|
|
5536
6022
|
let {
|
|
5537
6023
|
poolInfo,
|
|
@@ -5568,8 +6054,7 @@ function PersonaEvaluation(_ref) {
|
|
|
5568
6054
|
useEffect(() => {
|
|
5569
6055
|
const createNewWallet = async () => {
|
|
5570
6056
|
if (isWalletOwnershipVerified && campaign && account) {
|
|
5571
|
-
|
|
5572
|
-
await CampaignService.createNewWallet(account, (_localStorage$getItem = localStorage.getItem(CAMPAIGN_REFERENCE_CODE)) !== null && _localStorage$getItem !== void 0 ? _localStorage$getItem : undefined, isDev, pointsTestnetExperience);
|
|
6057
|
+
await CampaignService.createNewWallet(account, localStorage.getItem(CAMPAIGN_REFERENCE_CODE) ?? undefined, isDev, pointsTestnetExperience);
|
|
5573
6058
|
}
|
|
5574
6059
|
};
|
|
5575
6060
|
createNewWallet();
|
|
@@ -5698,13 +6183,13 @@ function PersonaEvaluation(_ref) {
|
|
|
5698
6183
|
}, [checkVerificationStatus, isWalletOwnershipVerificationRequired, isWalletOwnershipVerified]);
|
|
5699
6184
|
useEffect(() => {
|
|
5700
6185
|
const interval = setInterval(() => {
|
|
5701
|
-
if (verificationStatus
|
|
6186
|
+
if (verificationStatus?.status && [IdentityVerificationStatusV2.CREATED, IdentityVerificationStatusV2.PENDING].includes(verificationStatus.status)) {
|
|
5702
6187
|
checkVerificationStatus();
|
|
5703
6188
|
}
|
|
5704
6189
|
}, 3 * 1000);
|
|
5705
6190
|
// eslint-disable-next-line consistent-return
|
|
5706
6191
|
return () => clearInterval(interval);
|
|
5707
|
-
}, [checkVerificationStatus, verificationStatus
|
|
6192
|
+
}, [checkVerificationStatus, verificationStatus?.status]);
|
|
5708
6193
|
useEffect(() => {
|
|
5709
6194
|
if (errorType === 'NotSignedIn') {
|
|
5710
6195
|
setLoadingType(undefined);
|
|
@@ -5797,9 +6282,24 @@ function PersonaEvaluation(_ref) {
|
|
|
5797
6282
|
}
|
|
5798
6283
|
};
|
|
5799
6284
|
const styles = {
|
|
5800
|
-
iconWrapper: css
|
|
5801
|
-
|
|
5802
|
-
|
|
6285
|
+
iconWrapper: css`
|
|
6286
|
+
${theme.cssMixins.rowCentered};
|
|
6287
|
+
margin-top: ${theme.spacing(8)};
|
|
6288
|
+
& > img {
|
|
6289
|
+
width: 144px;
|
|
6290
|
+
}
|
|
6291
|
+
`,
|
|
6292
|
+
description: css`
|
|
6293
|
+
margin-top: ${theme.spacing(10)};
|
|
6294
|
+
padding: ${theme.spacing(0, 2)};
|
|
6295
|
+
font-weight: 400;
|
|
6296
|
+
font-size: 16px;
|
|
6297
|
+
color: ${theme.palette.text.primary};
|
|
6298
|
+
`,
|
|
6299
|
+
points: css`
|
|
6300
|
+
color: ${theme.palette.primary.main};
|
|
6301
|
+
font-weight: 700;
|
|
6302
|
+
`
|
|
5803
6303
|
};
|
|
5804
6304
|
if (!loadingType) {
|
|
5805
6305
|
return jsxs(WrapperModal, {
|
|
@@ -5831,13 +6331,12 @@ function PersonaEvaluation(_ref) {
|
|
|
5831
6331
|
});
|
|
5832
6332
|
}
|
|
5833
6333
|
|
|
5834
|
-
var _templateObject$d, _templateObject2$b;
|
|
5835
6334
|
const LoadingCopiesByType = {
|
|
5836
6335
|
verificationStatus: {
|
|
5837
|
-
description:
|
|
6336
|
+
description: `Checking your verification status...`
|
|
5838
6337
|
},
|
|
5839
6338
|
sendDocSignatureLink: {
|
|
5840
|
-
description:
|
|
6339
|
+
description: `Sending signature link...`
|
|
5841
6340
|
}
|
|
5842
6341
|
};
|
|
5843
6342
|
function SecuritizeEvaluation(_ref) {
|
|
@@ -5874,9 +6373,9 @@ function SecuritizeEvaluation(_ref) {
|
|
|
5874
6373
|
envelopeLastQueryTimeKey,
|
|
5875
6374
|
envelopeDocuSignStatusKey
|
|
5876
6375
|
} = useMemo(() => {
|
|
5877
|
-
const envelopeKey =
|
|
5878
|
-
const envelopeLastQueryTimeKey =
|
|
5879
|
-
const envelopeDocuSignStatusKey =
|
|
6376
|
+
const envelopeKey = `${poolInfo.pool.toLowerCase()}-${account?.toLowerCase()}`;
|
|
6377
|
+
const envelopeLastQueryTimeKey = `${envelopeKey}-last-query-time`;
|
|
6378
|
+
const envelopeDocuSignStatusKey = `${envelopeKey}-docuSign-status`;
|
|
5880
6379
|
return {
|
|
5881
6380
|
envelopeKey,
|
|
5882
6381
|
envelopeLastQueryTimeKey,
|
|
@@ -5991,8 +6490,8 @@ function SecuritizeEvaluation(_ref) {
|
|
|
5991
6490
|
const issuerId = CHAINS[chainId].isTestnet ? '53a66b32-583e-40e7-ba90-baf516d2cadd' : '5557baf5-d3c2-4c80-b522-c05a11c6e586';
|
|
5992
6491
|
const baseUrl = configUtil.getKYCProviderBaseUrl(KYC_PROVIDER.Securitize, chainId);
|
|
5993
6492
|
const originUrl = window.location.href.split('?')[0];
|
|
5994
|
-
const redirectUrl =
|
|
5995
|
-
const providerAuthorizeUrl =
|
|
6493
|
+
const redirectUrl = `${originUrl}?poolName=${poolInfo.poolName}&kycProvider=${KYC_PROVIDER.Securitize}&kycPool=${poolInfo.pool}`;
|
|
6494
|
+
const providerAuthorizeUrl = `${baseUrl}/#/authorize?issuerId=${issuerId}&scope=details&details=verification&redirectUrl=${redirectUrl}`;
|
|
5996
6495
|
window.location.href = isNotOnboarded ? providerAuthorizeUrl : baseUrl;
|
|
5997
6496
|
} else {
|
|
5998
6497
|
const envelopeId = localStorage.getItem(envelopeKey);
|
|
@@ -6036,8 +6535,21 @@ function SecuritizeEvaluation(_ref) {
|
|
|
6036
6535
|
onClose: () => setOpenSnackBar(false)
|
|
6037
6536
|
});
|
|
6038
6537
|
const styles = {
|
|
6039
|
-
iconWrapper: css
|
|
6040
|
-
|
|
6538
|
+
iconWrapper: css`
|
|
6539
|
+
${theme.cssMixins.rowCentered};
|
|
6540
|
+
margin-top: ${theme.spacing(8)};
|
|
6541
|
+
& > img {
|
|
6542
|
+
width: 144px;
|
|
6543
|
+
}
|
|
6544
|
+
`,
|
|
6545
|
+
description: css`
|
|
6546
|
+
${theme.cssMixins.rowCentered};
|
|
6547
|
+
margin-top: ${theme.spacing(10)};
|
|
6548
|
+
padding: ${theme.spacing(0, 2)};
|
|
6549
|
+
font-weight: 400;
|
|
6550
|
+
font-size: 16px;
|
|
6551
|
+
color: ${theme.palette.text.primary};
|
|
6552
|
+
`
|
|
6041
6553
|
};
|
|
6042
6554
|
if (!loadingType) {
|
|
6043
6555
|
return jsxs(WrapperModal, {
|
|
@@ -6065,7 +6577,6 @@ function SecuritizeEvaluation(_ref) {
|
|
|
6065
6577
|
}
|
|
6066
6578
|
|
|
6067
6579
|
function Evaluation$1(_ref) {
|
|
6068
|
-
var _poolInfo$KYC, _poolInfo$KYC2;
|
|
6069
6580
|
let {
|
|
6070
6581
|
poolInfo,
|
|
6071
6582
|
isUniTranche,
|
|
@@ -6074,13 +6585,13 @@ function Evaluation$1(_ref) {
|
|
|
6074
6585
|
changeTranche,
|
|
6075
6586
|
handleClose
|
|
6076
6587
|
} = _ref;
|
|
6077
|
-
if (
|
|
6588
|
+
if (poolInfo.KYC?.Securitize) {
|
|
6078
6589
|
return jsx(SecuritizeEvaluation, {
|
|
6079
6590
|
poolInfo: poolInfo,
|
|
6080
6591
|
handleClose: handleClose
|
|
6081
6592
|
});
|
|
6082
6593
|
}
|
|
6083
|
-
if (
|
|
6594
|
+
if (poolInfo.KYC?.Persona) {
|
|
6084
6595
|
return jsx(PersonaEvaluation, {
|
|
6085
6596
|
poolInfo: poolInfo,
|
|
6086
6597
|
handleClose: handleClose,
|
|
@@ -6160,16 +6671,16 @@ function ChooseAmount$7(_ref) {
|
|
|
6160
6671
|
if (remainingCap.lt(0)) {
|
|
6161
6672
|
return ['0 remaining capacity'];
|
|
6162
6673
|
}
|
|
6163
|
-
return [
|
|
6674
|
+
return [`${formatNumber(ethers.utils.formatUnits(remainingCap, decimals))} remaining capacity`];
|
|
6164
6675
|
};
|
|
6165
6676
|
return jsx(InputAmountModal, {
|
|
6166
6677
|
title: "Enter Amount",
|
|
6167
|
-
subTitle:
|
|
6678
|
+
subTitle: `Depositing to ${isUniTranche ? 'uni tranche' : selectedTranche} tranche`,
|
|
6168
6679
|
tokenSymbol: symbol,
|
|
6169
6680
|
currentAmount: currentAmount,
|
|
6170
6681
|
handleChangeAmount: handleChangeAmount,
|
|
6171
6682
|
maxAmount: Number(ethers.utils.formatUnits(getMaxAmount(), decimals)),
|
|
6172
|
-
maxAmountTitle:
|
|
6683
|
+
maxAmountTitle: `${formatNumber(ethers.utils.formatUnits(balance, decimals))} balance`,
|
|
6173
6684
|
infos: getInfos(),
|
|
6174
6685
|
handleAction: handleAction,
|
|
6175
6686
|
actionText: "SUPPLY"
|
|
@@ -6265,7 +6776,7 @@ function Success$5(_ref) {
|
|
|
6265
6776
|
to,
|
|
6266
6777
|
value
|
|
6267
6778
|
} = event.args;
|
|
6268
|
-
if (from.toLowerCase() ===
|
|
6779
|
+
if (from.toLowerCase() === account?.toLowerCase() && to.toLowerCase() === poolInfo.poolSafe.toLowerCase()) {
|
|
6269
6780
|
setSupplyAmount(downScale(value.toString(), decimals));
|
|
6270
6781
|
}
|
|
6271
6782
|
});
|
|
@@ -6286,10 +6797,10 @@ function Success$5(_ref) {
|
|
|
6286
6797
|
handleAction();
|
|
6287
6798
|
}
|
|
6288
6799
|
}, [campaign, dispatch, handleAction, isFirstTimeNotifiUser, notifiChainSupported]);
|
|
6289
|
-
const content = [
|
|
6800
|
+
const content = [`You successfully supplied ${formatMoney(supplyAmount)} ${symbol}.`];
|
|
6290
6801
|
const getSubContent = () => {
|
|
6291
6802
|
const currentTime = moment().add(lpConfig.withdrawalLockoutPeriodInDays, 'days');
|
|
6292
|
-
return [
|
|
6803
|
+
return [`First redemption date: ${timeUtil.timestampToLL(currentTime.unix())}. You can redeem end of each month after.`];
|
|
6293
6804
|
};
|
|
6294
6805
|
const getButtonText = () => {
|
|
6295
6806
|
if (hasNextStep) {
|
|
@@ -6323,7 +6834,6 @@ function Notifications$1(_ref) {
|
|
|
6323
6834
|
});
|
|
6324
6835
|
}
|
|
6325
6836
|
|
|
6326
|
-
var _templateObject$c, _templateObject2$a, _templateObject3$a, _templateObject4$5, _templateObject5$1, _templateObject6$1, _templateObject7$1;
|
|
6327
6837
|
var STATE = /*#__PURE__*/function (STATE) {
|
|
6328
6838
|
STATE["Loading"] = "Loading";
|
|
6329
6839
|
STATE["SignIn"] = "SignIn";
|
|
@@ -6349,7 +6859,7 @@ function PointsEarned(_ref) {
|
|
|
6349
6859
|
const [pointsAccumulated, setPointsAccumulated] = useState();
|
|
6350
6860
|
const hasPointsAccumulated = !isEmpty(pointsAccumulated) && pointsAccumulated > 0;
|
|
6351
6861
|
const lockupMonths = Math.round(lpConfig.withdrawalLockoutPeriodInDays / 30);
|
|
6352
|
-
const monthText = lockupMonths > 1 ?
|
|
6862
|
+
const monthText = lockupMonths > 1 ? `${lockupMonths} months` : `${lockupMonths} month`;
|
|
6353
6863
|
const {
|
|
6354
6864
|
errorType,
|
|
6355
6865
|
setError: setAuthError,
|
|
@@ -6411,13 +6921,53 @@ function PointsEarned(_ref) {
|
|
|
6411
6921
|
handleAction();
|
|
6412
6922
|
}, [dispatch, handleAction, reset]);
|
|
6413
6923
|
const styles = {
|
|
6414
|
-
wrapper: css
|
|
6415
|
-
|
|
6416
|
-
|
|
6417
|
-
|
|
6418
|
-
|
|
6419
|
-
|
|
6420
|
-
|
|
6924
|
+
wrapper: css`
|
|
6925
|
+
height: 518px;
|
|
6926
|
+
position: relative;
|
|
6927
|
+
`,
|
|
6928
|
+
congrats: css`
|
|
6929
|
+
margin: ${theme.spacing(-4, -4.5, 0, -4.5)};
|
|
6930
|
+
`,
|
|
6931
|
+
ribbon: css`
|
|
6932
|
+
position: relative;
|
|
6933
|
+
${theme.cssMixins.rowHCentered};
|
|
6934
|
+
font-weight: 700;
|
|
6935
|
+
margin-top: ${theme.spacing(-8)};
|
|
6936
|
+
color: ${theme.palette.text.primary};
|
|
6937
|
+
font-size: 20px;
|
|
6938
|
+
line-height: 160%;
|
|
6939
|
+
letter-spacing: 0.15px;
|
|
6940
|
+
`,
|
|
6941
|
+
ribbonContent: css`
|
|
6942
|
+
${theme.cssMixins.rowVCentered};
|
|
6943
|
+
position: absolute;
|
|
6944
|
+
top: ${theme.spacing(1)};
|
|
6945
|
+
|
|
6946
|
+
svg {
|
|
6947
|
+
margin-right: ${theme.spacing(1)};
|
|
6948
|
+
}
|
|
6949
|
+
`,
|
|
6950
|
+
entirePoints: css`
|
|
6951
|
+
color: ${theme.palette.text.tertiary};
|
|
6952
|
+
text-align: center;
|
|
6953
|
+
font-weight: 700;
|
|
6954
|
+
font-size: 20px;
|
|
6955
|
+
line-height: 160%;
|
|
6956
|
+
letter-spacing: 0.15px;
|
|
6957
|
+
margin-top: ${theme.spacing(7)};
|
|
6958
|
+
`,
|
|
6959
|
+
entirePointsDetails: css`
|
|
6960
|
+
color: ${theme.palette.text.tertiary};
|
|
6961
|
+
text-align: center;
|
|
6962
|
+
font-weight: 400;
|
|
6963
|
+
font-size: 16px;
|
|
6964
|
+
line-height: 150%;
|
|
6965
|
+
letter-spacing: 0.15px;
|
|
6966
|
+
margin-top: ${theme.spacing(4)};
|
|
6967
|
+
`,
|
|
6968
|
+
everyday: css`
|
|
6969
|
+
font-weight: 700;
|
|
6970
|
+
`
|
|
6421
6971
|
};
|
|
6422
6972
|
if (state === STATE.SignIn) {
|
|
6423
6973
|
return jsx(SignIn, {
|
|
@@ -6435,7 +6985,7 @@ function PointsEarned(_ref) {
|
|
|
6435
6985
|
children: [jsx(RibbonIcon, {}), jsxs(Box, {
|
|
6436
6986
|
css: styles.ribbonContent,
|
|
6437
6987
|
children: [jsx(HumaPointsIcon, {}), jsx(Box, {
|
|
6438
|
-
children: hasPointsAccumulated ?
|
|
6988
|
+
children: hasPointsAccumulated ? `${formatNumber(pointsAccumulated)} Points` : 'Points earned'
|
|
6439
6989
|
})]
|
|
6440
6990
|
})]
|
|
6441
6991
|
}), jsx(Box, {
|
|
@@ -6493,7 +7043,7 @@ function LendSupplyV2(_ref) {
|
|
|
6493
7043
|
const [selectedTranche, setSelectedTranche] = useState();
|
|
6494
7044
|
const [transactionHash, setTransactionHash] = useState();
|
|
6495
7045
|
const lpConfig = useLPConfigV2(poolName, provider);
|
|
6496
|
-
const isUniTranche =
|
|
7046
|
+
const isUniTranche = lpConfig?.maxSeniorJuniorRatio === 0;
|
|
6497
7047
|
const [lenderApprovedSenior] = useLenderApprovedV2(poolName, 'senior', account, provider);
|
|
6498
7048
|
const [lenderApprovedJunior] = useLenderApprovedV2(poolName, 'junior', account, provider);
|
|
6499
7049
|
const [juniorAssets] = useTrancheVaultAssetsV2(poolName, 'junior', provider);
|
|
@@ -6545,7 +7095,7 @@ function LendSupplyV2(_ref) {
|
|
|
6545
7095
|
}
|
|
6546
7096
|
return jsxs(WidgetWrapper, {
|
|
6547
7097
|
isOpen: true,
|
|
6548
|
-
loadingTitle:
|
|
7098
|
+
loadingTitle: `Supply ${poolUnderlyingToken.symbol}`,
|
|
6549
7099
|
handleClose: handleClose,
|
|
6550
7100
|
handleSuccess: handleSuccess,
|
|
6551
7101
|
children: [step === WIDGET_STEP.ChooseTranche && jsx(ChooseTranche$3, {
|
|
@@ -6622,16 +7172,16 @@ function CheckWithdrawable(_ref) {
|
|
|
6622
7172
|
}
|
|
6623
7173
|
}, [dispatch, lastDepositTime, withdrawlLockoutSeconds]);
|
|
6624
7174
|
if (status === 'error') {
|
|
6625
|
-
const errorMessage =
|
|
7175
|
+
const errorMessage = `Your last deposit was on ${timeUtil.timestampToLL(lastDepositTime)}. Depositors need to wait for ${timeUtil.secondsToDays(withdrawlLockoutSeconds).toFixed(0)} days before withdrawal.`;
|
|
6626
7176
|
return jsx(ErrorModal, {
|
|
6627
|
-
title:
|
|
7177
|
+
title: `Withdraw ${symbol}`,
|
|
6628
7178
|
errorReason: "Withdraw too soon",
|
|
6629
7179
|
errorMessage: errorMessage,
|
|
6630
7180
|
handleOk: handleClose
|
|
6631
7181
|
});
|
|
6632
7182
|
}
|
|
6633
7183
|
return jsx(LoadingModal, {
|
|
6634
|
-
title:
|
|
7184
|
+
title: `Withdraw ${symbol}`,
|
|
6635
7185
|
description: "Checking withdrawable amount..."
|
|
6636
7186
|
});
|
|
6637
7187
|
}
|
|
@@ -6662,7 +7212,7 @@ function ChooseAmount$6(_ref) {
|
|
|
6662
7212
|
dispatch(setStep(WIDGET_STEP.Transfer));
|
|
6663
7213
|
}, [dispatch]);
|
|
6664
7214
|
return jsx(ChooseAmountModal, {
|
|
6665
|
-
title:
|
|
7215
|
+
title: `Withdraw ${symbol}`,
|
|
6666
7216
|
description1: "Choose Amount",
|
|
6667
7217
|
sliderMax: Number(withdrawableAmount),
|
|
6668
7218
|
currentAmount: currentAmount,
|
|
@@ -6727,14 +7277,14 @@ function Success$4(_ref) {
|
|
|
6727
7277
|
to,
|
|
6728
7278
|
value
|
|
6729
7279
|
} = event.args;
|
|
6730
|
-
if (from.toLowerCase() === poolInfo.pool.toLowerCase() && to.toLowerCase() ===
|
|
7280
|
+
if (from.toLowerCase() === poolInfo.pool.toLowerCase() && to.toLowerCase() === account?.toLowerCase()) {
|
|
6731
7281
|
setWithdrawAmount(downScale(value.toString(), decimals));
|
|
6732
7282
|
}
|
|
6733
7283
|
});
|
|
6734
7284
|
}
|
|
6735
7285
|
}
|
|
6736
7286
|
}, [account, address, decimals, poolInfo.pool, txReceipt]);
|
|
6737
|
-
const content = [
|
|
7287
|
+
const content = [`You successfully withdrawn ${formatMoney(withdrawAmount)} ${symbol}.`];
|
|
6738
7288
|
return jsx(TxDoneModal, {
|
|
6739
7289
|
handleAction: handleAction,
|
|
6740
7290
|
content: content
|
|
@@ -6764,9 +7314,9 @@ function LendWithdraw(_ref) {
|
|
|
6764
7314
|
const [lenderPosition, refreshLenderPosition] = useLenderPosition(poolName, poolType, chainId, account, provider);
|
|
6765
7315
|
const [poolBalance, refreshPoolBalance] = usePoolBalance(poolName, poolType, chainId, provider);
|
|
6766
7316
|
useEffect(() => {
|
|
6767
|
-
if (!step && lenderPosition
|
|
7317
|
+
if (!step && lenderPosition?.gt(0) && poolBalance?.gt(0)) {
|
|
6768
7318
|
dispatch(setStep(WIDGET_STEP.CheckWithdrawable));
|
|
6769
|
-
} else if (!step && (lenderPosition
|
|
7319
|
+
} else if (!step && (lenderPosition?.eq(0) || poolBalance?.eq(0))) {
|
|
6770
7320
|
dispatch(setStep(WIDGET_STEP.Error));
|
|
6771
7321
|
}
|
|
6772
7322
|
}, [dispatch, lenderPosition, poolBalance, step]);
|
|
@@ -6805,7 +7355,6 @@ function LendWithdraw(_ref) {
|
|
|
6805
7355
|
});
|
|
6806
7356
|
}
|
|
6807
7357
|
|
|
6808
|
-
var _templateObject$b, _templateObject2$9, _templateObject3$9, _templateObject4$4;
|
|
6809
7358
|
function ConfirmTransfer$1(_ref) {
|
|
6810
7359
|
let {
|
|
6811
7360
|
poolInfo,
|
|
@@ -6847,13 +7396,31 @@ function ConfirmTransfer$1(_ref) {
|
|
|
6847
7396
|
dispatch(setStep(WIDGET_STEP.Transfer));
|
|
6848
7397
|
};
|
|
6849
7398
|
const styles = {
|
|
6850
|
-
itemWrapper: css
|
|
6851
|
-
|
|
6852
|
-
|
|
6853
|
-
|
|
7399
|
+
itemWrapper: css`
|
|
7400
|
+
margin-top: ${theme.spacing(9)};
|
|
7401
|
+
color: ${theme.palette.text.primary};
|
|
7402
|
+
font-weight: 400;
|
|
7403
|
+
font-size: 16px;
|
|
7404
|
+
line-height: 175%;
|
|
7405
|
+
letter-spacing: 0.15px;
|
|
7406
|
+
`,
|
|
7407
|
+
item: css`
|
|
7408
|
+
display: flex;
|
|
7409
|
+
justify-content: space-between;
|
|
7410
|
+
align-items: center;
|
|
7411
|
+
margin-bottom: ${theme.spacing(3)};
|
|
7412
|
+
`,
|
|
7413
|
+
itemValue: css`
|
|
7414
|
+
font-size: 20px;
|
|
7415
|
+
font-weight: 700;
|
|
7416
|
+
`,
|
|
7417
|
+
divider: css`
|
|
7418
|
+
border-color: ${theme.palette.divider};
|
|
7419
|
+
margin-bottom: ${theme.spacing(3)};
|
|
7420
|
+
`
|
|
6854
7421
|
};
|
|
6855
7422
|
return jsxs(WrapperModal, {
|
|
6856
|
-
title:
|
|
7423
|
+
title: `Withdraw ${symbol}`,
|
|
6857
7424
|
subTitle: "Withdraw all the available amount",
|
|
6858
7425
|
children: [jsxs(Box, {
|
|
6859
7426
|
css: styles.itemWrapper,
|
|
@@ -6930,7 +7497,7 @@ function Done$2(_ref) {
|
|
|
6930
7497
|
symbol
|
|
6931
7498
|
} = poolUnderlyingToken;
|
|
6932
7499
|
const withdrawAmountFormatted = ethers.utils.formatUnits(withdrawAmount, poolUnderlyingToken.decimals);
|
|
6933
|
-
const content = [
|
|
7500
|
+
const content = [`You successfully withdrew ${formatMoney(withdrawAmountFormatted)} ${symbol}.`];
|
|
6934
7501
|
return jsx(TxDoneModal, {
|
|
6935
7502
|
handleAction: handleAction,
|
|
6936
7503
|
content: content
|
|
@@ -6957,7 +7524,7 @@ function LendWithdrawV2(_ref) {
|
|
|
6957
7524
|
errorMessage
|
|
6958
7525
|
} = useAppSelector(selectWidgetState);
|
|
6959
7526
|
const poolUnderlyingToken = usePoolUnderlyingTokenInfoV2(poolName, provider);
|
|
6960
|
-
const title = poolUnderlyingToken ?
|
|
7527
|
+
const title = poolUnderlyingToken ? `Withdraw ${poolUnderlyingToken.symbol}` : 'Withdraw';
|
|
6961
7528
|
const [redemptionStatus, setRedemptionStatus] = React__default.useState();
|
|
6962
7529
|
const [poolIsClosed, setPoolIsClosed] = useState(undefined);
|
|
6963
7530
|
useEffect(() => {
|
|
@@ -7218,8 +7785,8 @@ function Success$3(_ref) {
|
|
|
7218
7785
|
const {
|
|
7219
7786
|
symbol
|
|
7220
7787
|
} = poolUnderlyingToken;
|
|
7221
|
-
const dueDate = timeUtil.timestampToLL(creditRecord
|
|
7222
|
-
const content = [
|
|
7788
|
+
const dueDate = timeUtil.timestampToLL(creditRecord?.nextDueDate.toNumber());
|
|
7789
|
+
const content = [`${formatNumber(borrowAmountNet)} ${symbol} is now in your wallet.`, `Note: your payment will be automatically deducted on ${dueDate}.`];
|
|
7223
7790
|
return jsx(TxDoneModal, {
|
|
7224
7791
|
handleAction: handleAction,
|
|
7225
7792
|
content: content,
|
|
@@ -7266,7 +7833,7 @@ function ReceivableBackedCreditLineBorrowV2(_ref) {
|
|
|
7266
7833
|
const {
|
|
7267
7834
|
creditRecord
|
|
7268
7835
|
} = accountStats;
|
|
7269
|
-
const accountState = creditRecord
|
|
7836
|
+
const accountState = creditRecord?.state;
|
|
7270
7837
|
useEffect(() => {
|
|
7271
7838
|
if (!step && accountState !== undefined) {
|
|
7272
7839
|
if (accountState >= CreditStateV2.Approved) {
|
|
@@ -7330,7 +7897,6 @@ function ReceivableBackedCreditLineBorrowV2(_ref) {
|
|
|
7330
7897
|
});
|
|
7331
7898
|
}
|
|
7332
7899
|
|
|
7333
|
-
var _templateObject$a, _templateObject2$8, _templateObject3$8;
|
|
7334
7900
|
function ChoosePaymentType(_ref) {
|
|
7335
7901
|
let {
|
|
7336
7902
|
paymentType,
|
|
@@ -7339,9 +7905,29 @@ function ChoosePaymentType(_ref) {
|
|
|
7339
7905
|
const theme = useTheme();
|
|
7340
7906
|
const dispatch = useAppDispatch();
|
|
7341
7907
|
const styles = {
|
|
7342
|
-
subTitle: css
|
|
7343
|
-
|
|
7344
|
-
|
|
7908
|
+
subTitle: css`
|
|
7909
|
+
color: ${theme.palette.text.primary} !important;
|
|
7910
|
+
font-weight: 400;
|
|
7911
|
+
font-size: 16px;
|
|
7912
|
+
line-height: 150%;
|
|
7913
|
+
letter-spacing: 0.15px;
|
|
7914
|
+
margin-top: ${theme.spacing(5)};
|
|
7915
|
+
margin-left: ${theme.spacing(2)};
|
|
7916
|
+
`,
|
|
7917
|
+
radioGroup: css`
|
|
7918
|
+
margin-left: ${theme.spacing(3)};
|
|
7919
|
+
margin-top: ${theme.spacing(3)};
|
|
7920
|
+
`,
|
|
7921
|
+
formControl: css`
|
|
7922
|
+
margin-bottom: ${theme.spacing(1)};
|
|
7923
|
+
.MuiFormControlLabel-label {
|
|
7924
|
+
color: ${theme.palette.text.primary};
|
|
7925
|
+
font-weight: 400;
|
|
7926
|
+
font-size: 16px;
|
|
7927
|
+
line-height: 150%;
|
|
7928
|
+
letter-spacing: 0.15px;
|
|
7929
|
+
}
|
|
7930
|
+
`
|
|
7345
7931
|
};
|
|
7346
7932
|
const handleNext = () => {
|
|
7347
7933
|
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
@@ -7476,12 +8062,11 @@ function CreateReceivable(_ref) {
|
|
|
7476
8062
|
} = useAppSelector(selectWidgetState);
|
|
7477
8063
|
const [txHash, setTxHash] = useState('');
|
|
7478
8064
|
const getTokenIdFromReceipt = useCallback(txReceipt => {
|
|
7479
|
-
var _event$args;
|
|
7480
8065
|
if (!Array.isArray(txReceipt.events)) {
|
|
7481
8066
|
return undefined;
|
|
7482
8067
|
}
|
|
7483
8068
|
const event = txReceipt.events.find(event => event.event === 'ReceivableCreated');
|
|
7484
|
-
if (!event || !event.args || !
|
|
8069
|
+
if (!event || !event.args || !event.args?.tokenId) {
|
|
7485
8070
|
return undefined;
|
|
7486
8071
|
}
|
|
7487
8072
|
return event.args.tokenId.toString();
|
|
@@ -7648,7 +8233,7 @@ function Success$2(_ref) {
|
|
|
7648
8233
|
}
|
|
7649
8234
|
}, [decimals, successTxReceipt]);
|
|
7650
8235
|
const amountFormatted = formatNumber(paidAmount);
|
|
7651
|
-
const content = paymentType === PaymentType.PaymentWithReceivable ? [
|
|
8236
|
+
const content = paymentType === PaymentType.PaymentWithReceivable ? [`You successfully paid ${amountFormatted} ${symbol}.`] : [`You successfully paid ${amountFormatted} ${symbol} and borrowed ${amountFormatted} ${symbol}.`];
|
|
7652
8237
|
return jsx(TxDoneModal, {
|
|
7653
8238
|
handleAction: handleAction,
|
|
7654
8239
|
content: content
|
|
@@ -7761,13 +8346,10 @@ const useElementDimensions = ref => {
|
|
|
7761
8346
|
height: 0
|
|
7762
8347
|
});
|
|
7763
8348
|
useEffect(() => {
|
|
7764
|
-
const getDimensions = () => {
|
|
7765
|
-
|
|
7766
|
-
|
|
7767
|
-
|
|
7768
|
-
height: (_ref$current$offsetHe = ref === null || ref === void 0 || (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.offsetHeight) !== null && _ref$current$offsetHe !== void 0 ? _ref$current$offsetHe : 0
|
|
7769
|
-
};
|
|
7770
|
-
};
|
|
8349
|
+
const getDimensions = () => ({
|
|
8350
|
+
width: ref?.current?.offsetWidth ?? 0,
|
|
8351
|
+
height: ref?.current?.offsetHeight ?? 0
|
|
8352
|
+
});
|
|
7771
8353
|
const handleResize = () => {
|
|
7772
8354
|
setDimensions(getDimensions());
|
|
7773
8355
|
};
|
|
@@ -7782,7 +8364,6 @@ const useElementDimensions = ref => {
|
|
|
7782
8364
|
return dimensions;
|
|
7783
8365
|
};
|
|
7784
8366
|
|
|
7785
|
-
var _templateObject$9, _templateObject2$7, _templateObject3$7;
|
|
7786
8367
|
// @TODO: Move HumaTable along with Superfluid widget to Dapp package
|
|
7787
8368
|
function HumaTable(_ref) {
|
|
7788
8369
|
let {
|
|
@@ -7801,9 +8382,25 @@ function HumaTable(_ref) {
|
|
|
7801
8382
|
} = useElementDimensions(ref);
|
|
7802
8383
|
const isLoading = !columns || !rows;
|
|
7803
8384
|
const styles = {
|
|
7804
|
-
tableHeader: css
|
|
7805
|
-
|
|
7806
|
-
|
|
8385
|
+
tableHeader: css`
|
|
8386
|
+
font-weight: 400;
|
|
8387
|
+
${theme.cssMixins.rowVCentered}
|
|
8388
|
+
font-size: 14px;
|
|
8389
|
+
color: rgba(0, 0, 0, 0.87);
|
|
8390
|
+
`,
|
|
8391
|
+
tableBody: css`
|
|
8392
|
+
font-weight: 400;
|
|
8393
|
+
font-size: 14px;
|
|
8394
|
+
color: rgba(0, 0, 0, 0.87);
|
|
8395
|
+
`,
|
|
8396
|
+
empty: css`
|
|
8397
|
+
display: flex;
|
|
8398
|
+
flex-direction: column;
|
|
8399
|
+
align-items: center;
|
|
8400
|
+
margin-top: ${theme.spacing(2)};
|
|
8401
|
+
font-weight: 400;
|
|
8402
|
+
font-size: 14px;
|
|
8403
|
+
`
|
|
7807
8404
|
};
|
|
7808
8405
|
const handleChangePage = (event, newPage) => {
|
|
7809
8406
|
setPage(newPage);
|
|
@@ -7886,7 +8483,7 @@ function HumaTable(_ref) {
|
|
|
7886
8483
|
},
|
|
7887
8484
|
children: column.action(row)
|
|
7888
8485
|
})]
|
|
7889
|
-
},
|
|
8486
|
+
}, `${column.dataIndex}-${index}`))
|
|
7890
8487
|
}, row.id || row.name))
|
|
7891
8488
|
})]
|
|
7892
8489
|
})
|
|
@@ -7930,8 +8527,22 @@ function HumaTable(_ref) {
|
|
|
7930
8527
|
});
|
|
7931
8528
|
}
|
|
7932
8529
|
|
|
7933
|
-
|
|
7934
|
-
|
|
8530
|
+
const GET_ACTIVITY = gql`
|
|
8531
|
+
query GetCreditLineActivity($pool: String!, $owner: String!, $event: [Int]!) {
|
|
8532
|
+
creditEvents(
|
|
8533
|
+
where: { pool: $pool, owner: $owner, event_in: $event }
|
|
8534
|
+
orderBy: timestamp
|
|
8535
|
+
orderDirection: desc
|
|
8536
|
+
) {
|
|
8537
|
+
id
|
|
8538
|
+
amount
|
|
8539
|
+
timestamp
|
|
8540
|
+
owner
|
|
8541
|
+
pool
|
|
8542
|
+
event
|
|
8543
|
+
}
|
|
8544
|
+
}
|
|
8545
|
+
`;
|
|
7935
8546
|
const columns = [{
|
|
7936
8547
|
title: 'Action',
|
|
7937
8548
|
dataIndex: 'eventText'
|
|
@@ -7979,7 +8590,7 @@ function Activity(_ref) {
|
|
|
7979
8590
|
return theme.spacing(4, 6);
|
|
7980
8591
|
};
|
|
7981
8592
|
useEffect(() => {
|
|
7982
|
-
if (!
|
|
8593
|
+
if (!data?.creditEvents) {
|
|
7983
8594
|
return;
|
|
7984
8595
|
}
|
|
7985
8596
|
const result = data.creditEvents.map(item => {
|
|
@@ -7990,11 +8601,22 @@ function Activity(_ref) {
|
|
|
7990
8601
|
return event;
|
|
7991
8602
|
});
|
|
7992
8603
|
setEvents(result);
|
|
7993
|
-
}, [data
|
|
8604
|
+
}, [data?.creditEvents, decimals]);
|
|
7994
8605
|
const styles = {
|
|
7995
|
-
wrapper: css
|
|
7996
|
-
|
|
7997
|
-
|
|
8606
|
+
wrapper: css`
|
|
8607
|
+
margin-top: ${theme.spacing(9)};
|
|
8608
|
+
`,
|
|
8609
|
+
title: css`
|
|
8610
|
+
font-weight: 800;
|
|
8611
|
+
font-size: 24px;
|
|
8612
|
+
color: ${theme.palette.text.primary};
|
|
8613
|
+
margin-bottom: ${theme.spacing(2)};
|
|
8614
|
+
`,
|
|
8615
|
+
tableWrapper: css`
|
|
8616
|
+
box-shadow: 0px 4px 40px 8px rgba(0, 0, 0, 0.04);
|
|
8617
|
+
border-radius: 24px;
|
|
8618
|
+
padding: ${getPadding()};
|
|
8619
|
+
`
|
|
7998
8620
|
};
|
|
7999
8621
|
return jsxs(Box, {
|
|
8000
8622
|
css: styles.wrapper,
|
|
@@ -8066,7 +8688,6 @@ function Evaluation(_ref) {
|
|
|
8066
8688
|
}
|
|
8067
8689
|
|
|
8068
8690
|
function ChooseAmount$3(_ref) {
|
|
8069
|
-
var _poolInfo$extra;
|
|
8070
8691
|
let {
|
|
8071
8692
|
poolInfo,
|
|
8072
8693
|
currentFlowRate
|
|
@@ -8085,7 +8706,7 @@ function ChooseAmount$3(_ref) {
|
|
|
8085
8706
|
const [chargedFees, setChargedFees] = useState(0);
|
|
8086
8707
|
const [currentAmount, setCurrentAmount] = useState(0);
|
|
8087
8708
|
const borrowPeriodInSeconds = approval.terms.intervalInDays * 24 * 60 * 60;
|
|
8088
|
-
const superTokenDecimals =
|
|
8709
|
+
const superTokenDecimals = poolInfo.extra?.superToken?.decimals;
|
|
8089
8710
|
const underlyingTokenDecimals = poolInfo.poolUnderlyingToken.decimals;
|
|
8090
8711
|
// To ensure not to borrow all the available flowrate due to contract limitation
|
|
8091
8712
|
const borrowMaxAmount = Number(approval.terms.creditLimitFormatted) - 0.01;
|
|
@@ -8145,7 +8766,7 @@ function ChooseAmount$3(_ref) {
|
|
|
8145
8766
|
currentAmount: currentAmount,
|
|
8146
8767
|
tokenSymbol: approval.token.symbol,
|
|
8147
8768
|
topLeft: "Fees",
|
|
8148
|
-
topRight:
|
|
8769
|
+
topRight: `${chargedFees} ${approval.token.symbol}`,
|
|
8149
8770
|
handleChangeAmount: handleChangeAmount,
|
|
8150
8771
|
handleAction: handleAction,
|
|
8151
8772
|
actionText: "Confirm Transfer"
|
|
@@ -8166,12 +8787,12 @@ function ConfirmTransfer() {
|
|
|
8166
8787
|
}
|
|
8167
8788
|
return jsx(ConfirmTransferModal, {
|
|
8168
8789
|
title: "Confirm transaction details",
|
|
8169
|
-
description:
|
|
8790
|
+
description: `Huma keeps your Tradable Stream NFT as collateral until it's fully paid.`,
|
|
8170
8791
|
items: [{
|
|
8171
8792
|
leftText: 'Tradable Stream',
|
|
8172
8793
|
rightText: 'Huma'
|
|
8173
8794
|
}, {
|
|
8174
|
-
leftText:
|
|
8795
|
+
leftText: `${borrowAmount.toFixed(2)} ${approval?.token.symbol}`,
|
|
8175
8796
|
rightText: 'You'
|
|
8176
8797
|
}],
|
|
8177
8798
|
actionText: "APPROVE TRANSFER",
|
|
@@ -8217,7 +8838,7 @@ function Permit(_ref) {
|
|
|
8217
8838
|
const borrowAmountBN = BigNumber.from(borrowAmountBNJson);
|
|
8218
8839
|
const getDrawdownCallData = async () => {
|
|
8219
8840
|
const NFTPermitResult = await getTradableStreamPermitMessage(poolInfo.assetAddress, borrower, superToken, payerAddress, poolInfo.poolProcessor, stream.borrowFlowrate, stream.durationInSeconds);
|
|
8220
|
-
const drawdownEncodedData = ethers.utils.defaultAbiCoder.encode(['address', 'address', 'address', 'int96', 'uint256', 'uint256', 'uint8', 'bytes32', 'bytes32'], [borrower, superToken, payerAddress, stream
|
|
8841
|
+
const drawdownEncodedData = ethers.utils.defaultAbiCoder.encode(['address', 'address', 'address', 'int96', 'uint256', 'uint256', 'uint8', 'bytes32', 'bytes32'], [borrower, superToken, payerAddress, stream?.borrowFlowrate, stream?.durationInSeconds, NFTPermitResult.expiry, NFTPermitResult.v, NFTPermitResult.r, NFTPermitResult.s]);
|
|
8221
8842
|
const poolProcessorContract = new Contract(poolInfo.poolProcessor, SuperfluidPoolProcessor_ABI);
|
|
8222
8843
|
return poolProcessorContract.interface.encodeFunctionData('mintAndDrawdown', [borrower, borrowAmountBN, poolInfo.assetAddress, drawdownEncodedData]);
|
|
8223
8844
|
};
|
|
@@ -8235,7 +8856,7 @@ function Permit(_ref) {
|
|
|
8235
8856
|
dispatch(setStep(WIDGET_STEP.Transfer));
|
|
8236
8857
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8237
8858
|
} catch (e) {
|
|
8238
|
-
let errorMessage = e.reason ||
|
|
8859
|
+
let errorMessage = e.reason || `Sign permit failed`;
|
|
8239
8860
|
if (e.code === 4001 || e.code === 'ACTION_REJECTED') {
|
|
8240
8861
|
errorMessage = 'User has rejected the permit sign';
|
|
8241
8862
|
}
|
|
@@ -8288,7 +8909,7 @@ function Success$1(_ref) {
|
|
|
8288
8909
|
borrowAmount,
|
|
8289
8910
|
approval
|
|
8290
8911
|
} = useAppSelector(selectWidgetState);
|
|
8291
|
-
const content = [
|
|
8912
|
+
const content = [`${formatNumber(borrowAmount)} ${approval?.token.symbol} is now in your wallet.`];
|
|
8292
8913
|
return jsx(TxDoneModal, {
|
|
8293
8914
|
handleAction: handleAction,
|
|
8294
8915
|
content: content
|
|
@@ -8352,7 +8973,6 @@ function StreamFactoringBorrow(_ref) {
|
|
|
8352
8973
|
});
|
|
8353
8974
|
}
|
|
8354
8975
|
|
|
8355
|
-
var _templateObject$7, _templateObject2$5, _templateObject3$5, _templateObject4$2;
|
|
8356
8976
|
function UpcomingList(_ref) {
|
|
8357
8977
|
let {
|
|
8358
8978
|
items,
|
|
@@ -8378,10 +8998,31 @@ function UpcomingList(_ref) {
|
|
|
8378
8998
|
return theme.spacing(0, 2, 2, 2);
|
|
8379
8999
|
};
|
|
8380
9000
|
const styles = {
|
|
8381
|
-
title: css
|
|
8382
|
-
|
|
8383
|
-
|
|
8384
|
-
|
|
9001
|
+
title: css`
|
|
9002
|
+
font-weight: 800;
|
|
9003
|
+
color: ${theme.palette.text.primary};
|
|
9004
|
+
font-size: 24px;
|
|
9005
|
+
margin-bottom: ${theme.spacing(2)};
|
|
9006
|
+
`,
|
|
9007
|
+
description: css`
|
|
9008
|
+
font-weight: 400;
|
|
9009
|
+
color: ${theme.palette.text.primary};
|
|
9010
|
+
font-size: 1rem;
|
|
9011
|
+
`,
|
|
9012
|
+
tableWrapper: css`
|
|
9013
|
+
margin-top: ${theme.spacing(3)};
|
|
9014
|
+
padding: ${getPadding()};
|
|
9015
|
+
background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
|
|
9016
|
+
border: 1px solid #ffffff;
|
|
9017
|
+
border-radius: 24px;
|
|
9018
|
+
position: relative;
|
|
9019
|
+
`,
|
|
9020
|
+
progress: css`
|
|
9021
|
+
width: calc(100% - 30px);
|
|
9022
|
+
position: absolute;
|
|
9023
|
+
top: 0;
|
|
9024
|
+
left: ${theme.spacing(2)};
|
|
9025
|
+
`
|
|
8385
9026
|
};
|
|
8386
9027
|
return jsxs(Box, {
|
|
8387
9028
|
children: [jsx(Box, {
|
|
@@ -8393,9 +9034,9 @@ function UpcomingList(_ref) {
|
|
|
8393
9034
|
children: [!isActive && jsx(Box, {
|
|
8394
9035
|
component: "span",
|
|
8395
9036
|
children: connectWalletDesc
|
|
8396
|
-
}), isActive && !
|
|
9037
|
+
}), isActive && !items?.length && jsx(Box, {
|
|
8397
9038
|
children: noItemDesc
|
|
8398
|
-
}), isActive && !!
|
|
9039
|
+
}), isActive && !!items?.length && jsxs(Box, {
|
|
8399
9040
|
css: styles.tableWrapper,
|
|
8400
9041
|
children: [loading && jsx(Box, {
|
|
8401
9042
|
css: styles.progress,
|
|
@@ -8410,7 +9051,6 @@ function UpcomingList(_ref) {
|
|
|
8410
9051
|
});
|
|
8411
9052
|
}
|
|
8412
9053
|
|
|
8413
|
-
var _templateObject$6, _templateObject2$4, _templateObject3$4, _templateObject4$1;
|
|
8414
9054
|
function _EMOTION_STRINGIFIED_CSS_ERROR__$2() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
8415
9055
|
var _ref2$1 = process.env.NODE_ENV === "production" ? {
|
|
8416
9056
|
name: "1llo5fb",
|
|
@@ -8450,7 +9090,7 @@ function FactoredList(_ref) {
|
|
|
8450
9090
|
const hasActiveLoan = hasRFActiveLoan(creditRecord, receivableInfo);
|
|
8451
9091
|
useEffect(() => {
|
|
8452
9092
|
const fetchData = async () => {
|
|
8453
|
-
if (creditRecord && receivableInfo
|
|
9093
|
+
if (creditRecord && receivableInfo?.receivableParam.gt(0) && decimals) {
|
|
8454
9094
|
const id = receivableInfo.receivableParam.toString();
|
|
8455
9095
|
const dueDate = timestampToLL(creditRecord.dueDate.toNumber());
|
|
8456
9096
|
const {
|
|
@@ -8488,10 +9128,31 @@ function FactoredList(_ref) {
|
|
|
8488
9128
|
return theme.spacing(0, 2, 2, 2);
|
|
8489
9129
|
};
|
|
8490
9130
|
const styles = {
|
|
8491
|
-
title: css
|
|
8492
|
-
|
|
8493
|
-
|
|
8494
|
-
|
|
9131
|
+
title: css`
|
|
9132
|
+
font-weight: 800;
|
|
9133
|
+
color: ${theme.palette.text.primary};
|
|
9134
|
+
font-size: 24px;
|
|
9135
|
+
margin-bottom: ${theme.spacing(2)};
|
|
9136
|
+
`,
|
|
9137
|
+
description: css`
|
|
9138
|
+
font-weight: 400;
|
|
9139
|
+
color: ${theme.palette.text.primary};
|
|
9140
|
+
font-size: 1rem;
|
|
9141
|
+
`,
|
|
9142
|
+
tableWrapper: css`
|
|
9143
|
+
margin-top: ${theme.spacing(3)};
|
|
9144
|
+
padding: ${getPadding()};
|
|
9145
|
+
background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
|
|
9146
|
+
border: 1px solid #ffffff;
|
|
9147
|
+
border-radius: 24px;
|
|
9148
|
+
position: relative;
|
|
9149
|
+
`,
|
|
9150
|
+
progress: css`
|
|
9151
|
+
width: calc(100% - 30px);
|
|
9152
|
+
position: absolute;
|
|
9153
|
+
top: 0;
|
|
9154
|
+
left: ${theme.spacing(2)};
|
|
9155
|
+
`
|
|
8495
9156
|
};
|
|
8496
9157
|
return jsxs(Box, {
|
|
8497
9158
|
children: [jsxs(Box, {
|
|
@@ -8544,19 +9205,15 @@ const getColumns = () => [{
|
|
|
8544
9205
|
dataIndex: 'remained'
|
|
8545
9206
|
}];
|
|
8546
9207
|
function SuperfluidFactoredList(_ref) {
|
|
8547
|
-
var _poolInfo$extra2;
|
|
8548
9208
|
let {
|
|
8549
9209
|
poolInfo,
|
|
8550
9210
|
loading,
|
|
8551
9211
|
accountStats,
|
|
8552
9212
|
handlePayManually
|
|
8553
9213
|
} = _ref;
|
|
8554
|
-
const setItem = useCallback(() => {
|
|
8555
|
-
|
|
8556
|
-
|
|
8557
|
-
name: (_poolInfo$extra$super = poolInfo === null || poolInfo === void 0 || (_poolInfo$extra = poolInfo.extra) === null || _poolInfo$extra === void 0 || (_poolInfo$extra = _poolInfo$extra.superToken) === null || _poolInfo$extra === void 0 ? void 0 : _poolInfo$extra.symbol) !== null && _poolInfo$extra$super !== void 0 ? _poolInfo$extra$super : ''
|
|
8558
|
-
});
|
|
8559
|
-
}, [poolInfo === null || poolInfo === void 0 || (_poolInfo$extra2 = poolInfo.extra) === null || _poolInfo$extra2 === void 0 ? void 0 : _poolInfo$extra2.superToken]);
|
|
9214
|
+
const setItem = useCallback(() => Promise.resolve({
|
|
9215
|
+
name: poolInfo?.extra?.superToken?.symbol ?? ''
|
|
9216
|
+
}), [poolInfo?.extra?.superToken]);
|
|
8560
9217
|
return jsx(FactoredList, {
|
|
8561
9218
|
title: "Streams",
|
|
8562
9219
|
poolInfo: poolInfo,
|
|
@@ -8568,7 +9225,6 @@ function SuperfluidFactoredList(_ref) {
|
|
|
8568
9225
|
});
|
|
8569
9226
|
}
|
|
8570
9227
|
|
|
8571
|
-
var _templateObject$5;
|
|
8572
9228
|
function TableActionButton(_ref) {
|
|
8573
9229
|
let {
|
|
8574
9230
|
title,
|
|
@@ -8576,7 +9232,14 @@ function TableActionButton(_ref) {
|
|
|
8576
9232
|
handleClick,
|
|
8577
9233
|
disabled = false
|
|
8578
9234
|
} = _ref;
|
|
8579
|
-
const styles = css
|
|
9235
|
+
const styles = css`
|
|
9236
|
+
border: none;
|
|
9237
|
+
padding: 0;
|
|
9238
|
+
background: ${disabled ? 'unset !important' : 'inherit'};
|
|
9239
|
+
&:hover {
|
|
9240
|
+
border: none;
|
|
9241
|
+
}
|
|
9242
|
+
`;
|
|
8580
9243
|
return jsx(Button, {
|
|
8581
9244
|
className: className,
|
|
8582
9245
|
variant: disabled ? undefined : 'outlined',
|
|
@@ -8589,9 +9252,27 @@ function TableActionButton(_ref) {
|
|
|
8589
9252
|
});
|
|
8590
9253
|
}
|
|
8591
9254
|
|
|
8592
|
-
var _templateObject$4;
|
|
8593
9255
|
function _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
8594
|
-
const GET_RECEIVED_STREAMS = gql
|
|
9256
|
+
const GET_RECEIVED_STREAMS = gql`
|
|
9257
|
+
query GetReceivedStreams($receiver: String!, $tokenIds: [String]!) {
|
|
9258
|
+
streams(
|
|
9259
|
+
where: { receiver: $receiver, token_in: $tokenIds, currentFlowRate_gt: 0 }
|
|
9260
|
+
orderBy: updatedAtTimestamp
|
|
9261
|
+
orderDirection: desc
|
|
9262
|
+
) {
|
|
9263
|
+
id
|
|
9264
|
+
currentFlowRate
|
|
9265
|
+
sender {
|
|
9266
|
+
id
|
|
9267
|
+
}
|
|
9268
|
+
token {
|
|
9269
|
+
id
|
|
9270
|
+
symbol
|
|
9271
|
+
decimals
|
|
9272
|
+
}
|
|
9273
|
+
}
|
|
9274
|
+
}
|
|
9275
|
+
`;
|
|
8595
9276
|
const getUpcomingColumns = (userHasActiveLoan, handleGetPaid) => [{
|
|
8596
9277
|
title: '',
|
|
8597
9278
|
dataIndex: 'icon',
|
|
@@ -8626,7 +9307,6 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
|
8626
9307
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
|
|
8627
9308
|
};
|
|
8628
9309
|
function SuperfluidUpcomingList(_ref) {
|
|
8629
|
-
var _poolInfo$extra;
|
|
8630
9310
|
let {
|
|
8631
9311
|
hasActiveLoan,
|
|
8632
9312
|
poolInfo,
|
|
@@ -8644,12 +9324,11 @@ function SuperfluidUpcomingList(_ref) {
|
|
|
8644
9324
|
} = useQuery(GET_RECEIVED_STREAMS, {
|
|
8645
9325
|
variables: {
|
|
8646
9326
|
receiver: account ? account.toLowerCase() : undefined,
|
|
8647
|
-
tokenIds: poolInfo
|
|
9327
|
+
tokenIds: poolInfo?.extra?.superToken ? [poolInfo.extra.superToken.id] : []
|
|
8648
9328
|
}
|
|
8649
9329
|
});
|
|
8650
9330
|
useEffect(() => {
|
|
8651
|
-
|
|
8652
|
-
if (data !== null && data !== void 0 && (_data$streams = data.streams) !== null && _data$streams !== void 0 && _data$streams.length) {
|
|
9331
|
+
if (data?.streams?.length) {
|
|
8653
9332
|
let result = data.streams.map(item => {
|
|
8654
9333
|
const ONE_MONTH_SECONDS = 30 * 24 * 60 * 60;
|
|
8655
9334
|
const flowrateMonth = downScale(toBigNumber(item.currentFlowRate).mul(ONE_MONTH_SECONDS), item.token.decimals);
|
|
@@ -8664,7 +9343,7 @@ function SuperfluidUpcomingList(_ref) {
|
|
|
8664
9343
|
payer: item.sender.id,
|
|
8665
9344
|
payerAbbr: getWalletAddressAbbr(item.sender.id),
|
|
8666
9345
|
flowrate: item.currentFlowRate,
|
|
8667
|
-
flowrateMonth:
|
|
9346
|
+
flowrateMonth: `${Number(flowrateMonth).toFixed(0)}/mo`
|
|
8668
9347
|
};
|
|
8669
9348
|
}
|
|
8670
9349
|
return undefined;
|
|
@@ -8697,7 +9376,6 @@ function SuperfluidUpcomingList(_ref) {
|
|
|
8697
9376
|
}
|
|
8698
9377
|
|
|
8699
9378
|
function SuperfluidFactoring() {
|
|
8700
|
-
var _PoolMap$Stream$poolN, _poolInfo$extra;
|
|
8701
9379
|
const theme = useTheme();
|
|
8702
9380
|
const poolName = POOL_NAME.Superfluid;
|
|
8703
9381
|
const {
|
|
@@ -8725,14 +9403,14 @@ function SuperfluidFactoring() {
|
|
|
8725
9403
|
}), jsx(Box, {
|
|
8726
9404
|
css: styles.description,
|
|
8727
9405
|
marginBottom: theme.spacing(6),
|
|
8728
|
-
children:
|
|
9406
|
+
children: PoolMap.Stream[poolName]?.borrowDesc
|
|
8729
9407
|
}), poolInfo && jsx(SuperfluidFactoredList, {
|
|
8730
9408
|
poolInfo: poolInfo,
|
|
8731
9409
|
handlePayManually: handlePayManually,
|
|
8732
9410
|
loading: loading && actionType === 'payment',
|
|
8733
9411
|
accountStats: accountStats
|
|
8734
9412
|
}), jsx(ApolloWrapper, {
|
|
8735
|
-
uri: poolInfo
|
|
9413
|
+
uri: poolInfo?.extra?.subgraph,
|
|
8736
9414
|
children: jsx(SuperfluidUpcomingList, {
|
|
8737
9415
|
poolInfo: poolInfo,
|
|
8738
9416
|
handleGetPaid: handleGetPaid,
|
|
@@ -9238,7 +9916,6 @@ const themeHuma = createTheme(themeBase, {
|
|
|
9238
9916
|
components: components(themeBase)
|
|
9239
9917
|
});
|
|
9240
9918
|
|
|
9241
|
-
var _templateObject$3, _templateObject2$3, _templateObject3$3;
|
|
9242
9919
|
function ChooseTranche$2(_ref) {
|
|
9243
9920
|
let {
|
|
9244
9921
|
poolUnderlyingToken,
|
|
@@ -9248,9 +9925,30 @@ function ChooseTranche$2(_ref) {
|
|
|
9248
9925
|
const theme = useTheme();
|
|
9249
9926
|
const dispatch = useAppDispatch();
|
|
9250
9927
|
const styles = {
|
|
9251
|
-
subTitle: css
|
|
9252
|
-
|
|
9253
|
-
|
|
9928
|
+
subTitle: css`
|
|
9929
|
+
color: ${theme.palette.text.primary} !important;
|
|
9930
|
+
font-weight: 400;
|
|
9931
|
+
font-size: 16px;
|
|
9932
|
+
line-height: 150%;
|
|
9933
|
+
letter-spacing: 0.15px;
|
|
9934
|
+
margin-top: ${theme.spacing(5)};
|
|
9935
|
+
margin-left: ${theme.spacing(2)};
|
|
9936
|
+
`,
|
|
9937
|
+
radioGroup: css`
|
|
9938
|
+
margin-left: ${theme.spacing(3)};
|
|
9939
|
+
margin-top: ${theme.spacing(3)};
|
|
9940
|
+
`,
|
|
9941
|
+
formControl: css`
|
|
9942
|
+
margin-bottom: ${theme.spacing(1)};
|
|
9943
|
+
|
|
9944
|
+
.MuiFormControlLabel-label {
|
|
9945
|
+
color: ${theme.palette.text.primary};
|
|
9946
|
+
font-weight: 400;
|
|
9947
|
+
font-size: 16px;
|
|
9948
|
+
line-height: 150%;
|
|
9949
|
+
letter-spacing: 0.15px;
|
|
9950
|
+
}
|
|
9951
|
+
`
|
|
9254
9952
|
};
|
|
9255
9953
|
const handleNext = () => {
|
|
9256
9954
|
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
@@ -9263,7 +9961,7 @@ function ChooseTranche$2(_ref) {
|
|
|
9263
9961
|
value: 'junior'
|
|
9264
9962
|
}];
|
|
9265
9963
|
return jsxs(WrapperModal, {
|
|
9266
|
-
title:
|
|
9964
|
+
title: `Supply ${poolUnderlyingToken.symbol}`,
|
|
9267
9965
|
children: [jsxs(FormControl, {
|
|
9268
9966
|
children: [jsx(FormLabel, {
|
|
9269
9967
|
css: styles.subTitle,
|
|
@@ -9360,17 +10058,17 @@ function ChooseAmount$2(_ref) {
|
|
|
9360
10058
|
if (remainingCap.ltn(0)) {
|
|
9361
10059
|
return ['0 remaining capacity'];
|
|
9362
10060
|
}
|
|
9363
|
-
return [
|
|
10061
|
+
return [`${formatNumber(SolanaTokenUtils.formatUnits(remainingCap, decimals))} remaining capacity`];
|
|
9364
10062
|
};
|
|
9365
10063
|
return jsx(InputAmountModal, {
|
|
9366
10064
|
title: "Enter Amount",
|
|
9367
|
-
subTitle:
|
|
10065
|
+
subTitle: `Depositing to ${isUniTranche ? 'uni tranche' : selectedTranche} tranche`,
|
|
9368
10066
|
tokenSymbol: symbol,
|
|
9369
10067
|
currentAmount: currentAmount,
|
|
9370
10068
|
handleChangeAmount: handleChangeAmount,
|
|
9371
10069
|
minimumAmount: getMinAmount(),
|
|
9372
10070
|
maxAmount: Number(SolanaTokenUtils.formatUnits(getMaxAmount(), decimals)),
|
|
9373
|
-
maxAmountTitle:
|
|
10071
|
+
maxAmountTitle: `${formatNumber(SolanaTokenUtils.formatUnits(balance, decimals))} balance`,
|
|
9374
10072
|
infos: getInfos(),
|
|
9375
10073
|
handleAction: handleAction,
|
|
9376
10074
|
actionText: "SUPPLY"
|
|
@@ -9430,7 +10128,7 @@ function SolanaTxSendModal(_ref) {
|
|
|
9430
10128
|
} catch (error) {
|
|
9431
10129
|
const err = error;
|
|
9432
10130
|
dispatch(setError({
|
|
9433
|
-
errorMessage:
|
|
10131
|
+
errorMessage: err?.message || ''
|
|
9434
10132
|
}));
|
|
9435
10133
|
}
|
|
9436
10134
|
}
|
|
@@ -9499,7 +10197,6 @@ function Transfer$2(_ref) {
|
|
|
9499
10197
|
});
|
|
9500
10198
|
}
|
|
9501
10199
|
|
|
9502
|
-
var _templateObject$2, _templateObject2$2, _templateObject3$2, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
9503
10200
|
function SolanaTxDoneModal(_ref) {
|
|
9504
10201
|
let {
|
|
9505
10202
|
content,
|
|
@@ -9512,13 +10209,43 @@ function SolanaTxDoneModal(_ref) {
|
|
|
9512
10209
|
const theme = useTheme();
|
|
9513
10210
|
const dispatch = useAppDispatch();
|
|
9514
10211
|
const styles = {
|
|
9515
|
-
wrapper: css
|
|
9516
|
-
|
|
9517
|
-
|
|
9518
|
-
|
|
9519
|
-
|
|
9520
|
-
|
|
9521
|
-
|
|
10212
|
+
wrapper: css`
|
|
10213
|
+
height: 518px;
|
|
10214
|
+
position: relative;
|
|
10215
|
+
`,
|
|
10216
|
+
header: css`
|
|
10217
|
+
${theme.cssMixins.rowHCentered};
|
|
10218
|
+
margin-top: ${theme.spacing(-0.5)};
|
|
10219
|
+
`,
|
|
10220
|
+
content: css`
|
|
10221
|
+
${theme.cssMixins.colVCentered};
|
|
10222
|
+
font-weight: ${subContent ? 700 : 400};
|
|
10223
|
+
font-size: 18px;
|
|
10224
|
+
color: ${theme.palette.text.secondary};
|
|
10225
|
+
margin-top: ${theme.spacing(8)};
|
|
10226
|
+
text-align: center;
|
|
10227
|
+
`,
|
|
10228
|
+
subContent: css`
|
|
10229
|
+
${theme.cssMixins.colVCentered};
|
|
10230
|
+
font-weight: 400;
|
|
10231
|
+
font-size: 18px;
|
|
10232
|
+
color: ${theme.palette.text.primary};
|
|
10233
|
+
margin-top: ${theme.spacing(2)};
|
|
10234
|
+
text-align: center;
|
|
10235
|
+
`,
|
|
10236
|
+
check: css`
|
|
10237
|
+
width: 100%;
|
|
10238
|
+
${theme.cssMixins.rowHCentered};
|
|
10239
|
+
margin-top: ${theme.spacing(10)};
|
|
10240
|
+
`,
|
|
10241
|
+
bottomButtonGroup: css`
|
|
10242
|
+
width: 100%;
|
|
10243
|
+
position: absolute;
|
|
10244
|
+
bottom: 0;
|
|
10245
|
+
`,
|
|
10246
|
+
bottomButton: css`
|
|
10247
|
+
margin-top: ${theme.spacing(1)};
|
|
10248
|
+
`
|
|
9522
10249
|
};
|
|
9523
10250
|
const handleCloseModal = useCallback(() => {
|
|
9524
10251
|
dispatch(resetState());
|
|
@@ -9579,10 +10306,10 @@ function Success(_ref) {
|
|
|
9579
10306
|
const {
|
|
9580
10307
|
symbol
|
|
9581
10308
|
} = poolInfo.underlyingMint;
|
|
9582
|
-
const content = [
|
|
10309
|
+
const content = [`You successfully supplied ${formatMoney(supplyAmount)} ${symbol}.`];
|
|
9583
10310
|
const getSubContent = () => {
|
|
9584
10311
|
const currentTime = moment().add(poolState.withdrawalLockupPeriodDays, 'days');
|
|
9585
|
-
return [
|
|
10312
|
+
return [`First redemption date: ${timeUtil.timestampToLL(currentTime.unix())}. You can redeem end of each month after.`];
|
|
9586
10313
|
};
|
|
9587
10314
|
return jsx(SolanaTxDoneModal, {
|
|
9588
10315
|
handleAction: handleAction,
|
|
@@ -9648,7 +10375,7 @@ function SolanaLendSupply(_ref) {
|
|
|
9648
10375
|
}
|
|
9649
10376
|
return jsxs(WidgetWrapper, {
|
|
9650
10377
|
isOpen: true,
|
|
9651
|
-
loadingTitle:
|
|
10378
|
+
loadingTitle: `Supply ${poolInfo.underlyingMint.symbol}`,
|
|
9652
10379
|
handleClose: handleClose,
|
|
9653
10380
|
handleSuccess: handleSuccess,
|
|
9654
10381
|
children: [step === WIDGET_STEP.ChooseTranche && jsx(ChooseTranche$2, {
|
|
@@ -9700,28 +10427,28 @@ function ChooseAmount$1(_ref) {
|
|
|
9700
10427
|
loading: isLoadingTokenAccounts
|
|
9701
10428
|
} = useTrancheTokenAccounts(poolInfo);
|
|
9702
10429
|
const maxSharesFormatted = useMemo(() => {
|
|
9703
|
-
if (!
|
|
10430
|
+
if (!mintAccount?.decimals) {
|
|
9704
10431
|
return 0;
|
|
9705
10432
|
}
|
|
9706
|
-
return SolanaTokenUtils.formatUnits(selectedTranche === 'senior' ? new BN(seniorTokenAccount
|
|
9707
|
-
}, [mintAccount, juniorTokenAccount
|
|
10433
|
+
return SolanaTokenUtils.formatUnits(selectedTranche === 'senior' ? new BN(seniorTokenAccount?.amount) : new BN(juniorTokenAccount?.amount), mintAccount.decimals);
|
|
10434
|
+
}, [mintAccount, juniorTokenAccount?.amount, selectedTranche, seniorTokenAccount?.amount]);
|
|
9708
10435
|
const sharePrice = useMemo(() => {
|
|
9709
|
-
if (!
|
|
10436
|
+
if (!mintAccount?.decimals || !mintAccount?.supply) {
|
|
9710
10437
|
return 0;
|
|
9711
10438
|
}
|
|
9712
10439
|
const mintSupplyFormatted = Number(SolanaTokenUtils.formatUnits(new BN(mintAccount.supply), mintAccount.decimals));
|
|
9713
10440
|
if (mintSupplyFormatted === 0) {
|
|
9714
10441
|
return 0;
|
|
9715
10442
|
}
|
|
9716
|
-
const seniorTrancheAssetsFormatted = Number(SolanaTokenUtils.formatUnits(new BN(poolState
|
|
10443
|
+
const seniorTrancheAssetsFormatted = Number(SolanaTokenUtils.formatUnits(new BN(poolState?.seniorTrancheAssets), mintAccount.decimals));
|
|
9717
10444
|
if (selectedTranche === 'senior') {
|
|
9718
10445
|
return seniorTrancheAssetsFormatted / mintSupplyFormatted;
|
|
9719
10446
|
}
|
|
9720
|
-
const juniorTrancheAssetsFormatted = Number(SolanaTokenUtils.formatUnits(new BN(poolState
|
|
10447
|
+
const juniorTrancheAssetsFormatted = Number(SolanaTokenUtils.formatUnits(new BN(poolState?.juniorTrancheAssets), mintAccount.decimals));
|
|
9721
10448
|
return juniorTrancheAssetsFormatted / mintSupplyFormatted;
|
|
9722
|
-
}, [mintAccount
|
|
10449
|
+
}, [mintAccount?.decimals, mintAccount?.supply, poolState?.juniorTrancheAssets, poolState?.seniorTrancheAssets, selectedTranche]);
|
|
9723
10450
|
useEffect(() => {
|
|
9724
|
-
if (poolState
|
|
10451
|
+
if (poolState?.withdrawalLockupPeriodDays && poolState?.epochEndTime && lenderState) {
|
|
9725
10452
|
const SECONDS_IN_A_DAY = 24 * 60 * 60;
|
|
9726
10453
|
const lastDepositTime = Number(lenderState.depositRecord.lastDepositTime);
|
|
9727
10454
|
const lockupEndTime = lastDepositTime + poolState.withdrawalLockupPeriodDays * SECONDS_IN_A_DAY;
|
|
@@ -9730,7 +10457,7 @@ function ChooseAmount$1(_ref) {
|
|
|
9730
10457
|
dispatch(setStep(WIDGET_STEP.Error));
|
|
9731
10458
|
dispatch(setError({
|
|
9732
10459
|
errorReason: 'Redemption too soon',
|
|
9733
|
-
errorMessage:
|
|
10460
|
+
errorMessage: `Your last deposit was on ${timestampToLL(lastDepositTime)}. You can redeem on ${timestampToLL(lockupEndTimeDayjs.unix())}.`
|
|
9734
10461
|
}));
|
|
9735
10462
|
}
|
|
9736
10463
|
}
|
|
@@ -9745,29 +10472,28 @@ function ChooseAmount$1(_ref) {
|
|
|
9745
10472
|
const handleAction = () => {
|
|
9746
10473
|
dispatch(setStep(WIDGET_STEP.Transfer));
|
|
9747
10474
|
};
|
|
9748
|
-
if (isLoadingTokenAccounts || isLoadingTrancheMintAccounts || !lenderState ||
|
|
10475
|
+
if (isLoadingTokenAccounts || isLoadingTrancheMintAccounts || !lenderState || poolState?.withdrawalLockupPeriodDays === undefined ||
|
|
9749
10476
|
// withdrawalLockupPeriodDays can be 0
|
|
9750
|
-
!
|
|
10477
|
+
!poolState?.epochEndTime) {
|
|
9751
10478
|
return jsx(LoadingModal, {
|
|
9752
10479
|
title: "Redemption"
|
|
9753
10480
|
});
|
|
9754
10481
|
}
|
|
9755
10482
|
return jsx(InputAmountModal, {
|
|
9756
10483
|
title: "Redemption",
|
|
9757
|
-
subTitle:
|
|
10484
|
+
subTitle: `Enter number of shares to redeem from the ${selectedTranche} tranche`,
|
|
9758
10485
|
tokenSymbol: symbol,
|
|
9759
10486
|
currentAmount: currentShares,
|
|
9760
10487
|
handleChangeAmount: handleChangeShares,
|
|
9761
10488
|
maxAmount: maxSharesFormatted,
|
|
9762
|
-
infos: [
|
|
9763
|
-
maxAmountTitle:
|
|
10489
|
+
infos: [`${String(formatNumber(currentAmount))} ${symbol}`],
|
|
10490
|
+
maxAmountTitle: `${formatNumber(maxSharesFormatted)} Shares`,
|
|
9764
10491
|
suffix: "Shares",
|
|
9765
10492
|
handleAction: handleAction,
|
|
9766
10493
|
actionText: "REQUEST"
|
|
9767
10494
|
});
|
|
9768
10495
|
}
|
|
9769
10496
|
|
|
9770
|
-
var _templateObject$1, _templateObject2$1, _templateObject3$1;
|
|
9771
10497
|
function ChooseTranche$1(_ref) {
|
|
9772
10498
|
let {
|
|
9773
10499
|
selectedTranche,
|
|
@@ -9776,9 +10502,30 @@ function ChooseTranche$1(_ref) {
|
|
|
9776
10502
|
const theme = useTheme();
|
|
9777
10503
|
const dispatch = useAppDispatch();
|
|
9778
10504
|
const styles = {
|
|
9779
|
-
subTitle: css
|
|
9780
|
-
|
|
9781
|
-
|
|
10505
|
+
subTitle: css`
|
|
10506
|
+
color: ${theme.palette.text.primary} !important;
|
|
10507
|
+
font-weight: 400;
|
|
10508
|
+
font-size: 16px;
|
|
10509
|
+
line-height: 150%;
|
|
10510
|
+
letter-spacing: 0.15px;
|
|
10511
|
+
margin-top: ${theme.spacing(5)};
|
|
10512
|
+
margin-left: ${theme.spacing(2)};
|
|
10513
|
+
`,
|
|
10514
|
+
radioGroup: css`
|
|
10515
|
+
margin-left: ${theme.spacing(3)};
|
|
10516
|
+
margin-top: ${theme.spacing(3)};
|
|
10517
|
+
`,
|
|
10518
|
+
formControl: css`
|
|
10519
|
+
margin-bottom: ${theme.spacing(1)};
|
|
10520
|
+
|
|
10521
|
+
.MuiFormControlLabel-label {
|
|
10522
|
+
color: ${theme.palette.text.primary};
|
|
10523
|
+
font-weight: 400;
|
|
10524
|
+
font-size: 16px;
|
|
10525
|
+
line-height: 150%;
|
|
10526
|
+
letter-spacing: 0.15px;
|
|
10527
|
+
}
|
|
10528
|
+
`
|
|
9782
10529
|
};
|
|
9783
10530
|
const handleNext = () => {
|
|
9784
10531
|
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
@@ -9832,7 +10579,7 @@ function Done$1(_ref) {
|
|
|
9832
10579
|
redeemShares,
|
|
9833
10580
|
solanaSignature
|
|
9834
10581
|
} = useAppSelector(selectWidgetState);
|
|
9835
|
-
const content = [
|
|
10582
|
+
const content = [`${formatNumber(redeemShares)} shares requested for redemption`];
|
|
9836
10583
|
return jsx(SolanaTxDoneModal, {
|
|
9837
10584
|
handleAction: handleAction,
|
|
9838
10585
|
content: content,
|
|
@@ -9863,7 +10610,7 @@ function Transfer$1(_ref) {
|
|
|
9863
10610
|
if (!mintAccount) {
|
|
9864
10611
|
return null;
|
|
9865
10612
|
}
|
|
9866
|
-
return SolanaTokenUtils.parseUnits(String(redeemShares), mintAccount
|
|
10613
|
+
return SolanaTokenUtils.parseUnits(String(redeemShares), mintAccount?.decimals);
|
|
9867
10614
|
}, [mintAccount, redeemShares]);
|
|
9868
10615
|
const handleSuccess = useCallback(() => {
|
|
9869
10616
|
dispatch(setStep(WIDGET_STEP.Done));
|
|
@@ -9924,8 +10671,8 @@ function SolanaLendAddRedemption(_ref) {
|
|
|
9924
10671
|
const [selectedTranche, setSelectedTranche] = useState();
|
|
9925
10672
|
useEffect(() => {
|
|
9926
10673
|
if (!step && !isLoadingLenderAccounts && !isLoadingTokenAccounts) {
|
|
9927
|
-
const seniorTrancheShares = new BN(seniorTokenAccount
|
|
9928
|
-
const juniorTrancheShares = new BN(juniorTokenAccount
|
|
10674
|
+
const seniorTrancheShares = new BN(seniorTokenAccount?.amount);
|
|
10675
|
+
const juniorTrancheShares = new BN(juniorTokenAccount?.amount);
|
|
9929
10676
|
if (juniorTrancheShares.gtn(0) && seniorTrancheShares.lten(0)) {
|
|
9930
10677
|
setSelectedTranche('junior');
|
|
9931
10678
|
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
@@ -9940,7 +10687,7 @@ function SolanaLendAddRedemption(_ref) {
|
|
|
9940
10687
|
dispatch(setStep(WIDGET_STEP.ChooseTranche));
|
|
9941
10688
|
}
|
|
9942
10689
|
}
|
|
9943
|
-
}, [dispatch, step, isLoadingLenderAccounts, isLoadingTokenAccounts, seniorTokenAccount
|
|
10690
|
+
}, [dispatch, step, isLoadingLenderAccounts, isLoadingTokenAccounts, seniorTokenAccount?.amount, juniorTokenAccount?.amount]);
|
|
9944
10691
|
const title = 'Redemption';
|
|
9945
10692
|
if (isLoadingLenderAccounts || isLoadingTokenAccounts) {
|
|
9946
10693
|
return jsx(WidgetWrapper, {
|
|
@@ -10029,7 +10776,6 @@ function Transfer(_ref) {
|
|
|
10029
10776
|
});
|
|
10030
10777
|
}
|
|
10031
10778
|
|
|
10032
|
-
var _templateObject, _templateObject2, _templateObject3;
|
|
10033
10779
|
function ChooseTranche(_ref) {
|
|
10034
10780
|
let {
|
|
10035
10781
|
selectedTranche,
|
|
@@ -10038,9 +10784,30 @@ function ChooseTranche(_ref) {
|
|
|
10038
10784
|
const theme = useTheme();
|
|
10039
10785
|
const dispatch = useAppDispatch();
|
|
10040
10786
|
const styles = {
|
|
10041
|
-
subTitle: css
|
|
10042
|
-
|
|
10043
|
-
|
|
10787
|
+
subTitle: css`
|
|
10788
|
+
color: ${theme.palette.text.primary} !important;
|
|
10789
|
+
font-weight: 400;
|
|
10790
|
+
font-size: 16px;
|
|
10791
|
+
line-height: 150%;
|
|
10792
|
+
letter-spacing: 0.15px;
|
|
10793
|
+
margin-top: ${theme.spacing(5)};
|
|
10794
|
+
margin-left: ${theme.spacing(2)};
|
|
10795
|
+
`,
|
|
10796
|
+
radioGroup: css`
|
|
10797
|
+
margin-left: ${theme.spacing(3)};
|
|
10798
|
+
margin-top: ${theme.spacing(3)};
|
|
10799
|
+
`,
|
|
10800
|
+
formControl: css`
|
|
10801
|
+
margin-bottom: ${theme.spacing(1)};
|
|
10802
|
+
|
|
10803
|
+
.MuiFormControlLabel-label {
|
|
10804
|
+
color: ${theme.palette.text.primary};
|
|
10805
|
+
font-weight: 400;
|
|
10806
|
+
font-size: 16px;
|
|
10807
|
+
line-height: 150%;
|
|
10808
|
+
letter-spacing: 0.15px;
|
|
10809
|
+
}
|
|
10810
|
+
`
|
|
10044
10811
|
};
|
|
10045
10812
|
const handleNext = () => {
|
|
10046
10813
|
dispatch(setStep(WIDGET_STEP.ChooseAmount));
|
|
@@ -10099,7 +10866,7 @@ function Done(_ref) {
|
|
|
10099
10866
|
const {
|
|
10100
10867
|
solanaSignature
|
|
10101
10868
|
} = useAppSelector(selectWidgetState);
|
|
10102
|
-
const content = !lenderState || isLoadingTrancheMintAccounts || !mintAccount ? [''] : [
|
|
10869
|
+
const content = !lenderState || isLoadingTrancheMintAccounts || !mintAccount ? [''] : [`Your request to cancel the redemption of ${formatNumber(SolanaTokenUtils.formatUnits(lenderState.redemptionRecord.numSharesRequested, mintAccount.decimals))} shares has been successfully processed.`];
|
|
10103
10870
|
return jsx(SolanaTxDoneModal, {
|
|
10104
10871
|
handleAction: handleAction,
|
|
10105
10872
|
content: content,
|
|
@@ -10130,8 +10897,8 @@ function SolanaLendCancelRedemption(_ref) {
|
|
|
10130
10897
|
const [selectedTranche, setSelectedTranche] = useState();
|
|
10131
10898
|
useEffect(() => {
|
|
10132
10899
|
if (!step && !isLoadingLenderAccounts) {
|
|
10133
|
-
const seniorTrancheSharesRequested = new BN(seniorLenderStateAccount
|
|
10134
|
-
const juniorTrancheSharesRequested = new BN(juniorLenderStateAccount
|
|
10900
|
+
const seniorTrancheSharesRequested = new BN(seniorLenderStateAccount?.redemptionRecord.numSharesRequested);
|
|
10901
|
+
const juniorTrancheSharesRequested = new BN(juniorLenderStateAccount?.redemptionRecord.numSharesRequested);
|
|
10135
10902
|
if (juniorTrancheSharesRequested.gtn(0) && seniorTrancheSharesRequested.lten(0)) {
|
|
10136
10903
|
setSelectedTranche('junior');
|
|
10137
10904
|
dispatch(setStep(WIDGET_STEP.Transfer));
|
|
@@ -10146,7 +10913,7 @@ function SolanaLendCancelRedemption(_ref) {
|
|
|
10146
10913
|
dispatch(setStep(WIDGET_STEP.ChooseTranche));
|
|
10147
10914
|
}
|
|
10148
10915
|
}
|
|
10149
|
-
}, [dispatch, step, isLoadingLenderAccounts, seniorLenderStateAccount
|
|
10916
|
+
}, [dispatch, step, isLoadingLenderAccounts, seniorLenderStateAccount?.redemptionRecord.numSharesRequested, juniorLenderStateAccount?.redemptionRecord.numSharesRequested]);
|
|
10150
10917
|
const title = 'Cancel Redemption';
|
|
10151
10918
|
if (isLoadingLenderAccounts) {
|
|
10152
10919
|
return jsx(WidgetWrapper, {
|
|
@@ -10202,12 +10969,11 @@ function ChooseAmount(_ref) {
|
|
|
10202
10969
|
setCurrentAmount(newAmount);
|
|
10203
10970
|
};
|
|
10204
10971
|
const handleAction = useCallback(() => {
|
|
10205
|
-
var _tokenAccount$delegat;
|
|
10206
10972
|
if (!tokenAccount) {
|
|
10207
10973
|
return;
|
|
10208
10974
|
}
|
|
10209
10975
|
const borrowAmountBN = SolanaTokenUtils.parseUnits(String(currentAmount), decimals);
|
|
10210
|
-
const nextStep = borrowAmountBN.gt(new BN(tokenAccount.delegatedAmount)) ||
|
|
10976
|
+
const nextStep = borrowAmountBN.gt(new BN(tokenAccount.delegatedAmount)) || tokenAccount.delegate?.toString() !== sentinel ? WIDGET_STEP.ApproveAllowance : WIDGET_STEP.Transfer;
|
|
10211
10977
|
dispatch(setBorrowInfo({
|
|
10212
10978
|
borrowAmount: currentAmount,
|
|
10213
10979
|
borrowAmountBN,
|
|
@@ -10222,7 +10988,7 @@ function ChooseAmount(_ref) {
|
|
|
10222
10988
|
currentAmount: currentAmount,
|
|
10223
10989
|
handleChangeAmount: handleChangeAmount,
|
|
10224
10990
|
maxAmount: creditAvailable,
|
|
10225
|
-
infos: [
|
|
10991
|
+
infos: [`${String(formatNumber(creditAvailable))} ${symbol} Available`],
|
|
10226
10992
|
handleAction: handleAction,
|
|
10227
10993
|
actionText: "BORROW"
|
|
10228
10994
|
});
|
|
@@ -10340,7 +11106,7 @@ function Widget(props) {
|
|
|
10340
11106
|
const getChainId = async () => {
|
|
10341
11107
|
if (provider instanceof JsonRpcProvider) {
|
|
10342
11108
|
const network = await provider.getNetwork();
|
|
10343
|
-
setChainId(network
|
|
11109
|
+
setChainId(network?.chainId);
|
|
10344
11110
|
}
|
|
10345
11111
|
};
|
|
10346
11112
|
getChainId();
|