@huma-finance/widgets 0.0.62-beta.633 → 0.0.62-beta.635

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.
Files changed (43) hide show
  1. package/API.md +195 -0
  2. package/dist/cjs/index.cjs +1871 -299
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/index.d.ts +138 -2
  5. package/dist/index.js +1869 -302
  6. package/dist/index.js.map +1 -1
  7. package/package.json +18 -8
  8. package/src/components/CreditLine/paymentV2/1-ChooseAmount.tsx +1 -0
  9. package/src/components/CreditLine/solanaBorrow/1-ChooseAmount.tsx +67 -0
  10. package/src/components/CreditLine/solanaBorrow/2-Transfer.tsx +159 -0
  11. package/src/components/CreditLine/solanaBorrow/3-Done.tsx +38 -0
  12. package/src/components/CreditLine/solanaBorrow/index.tsx +93 -0
  13. package/src/components/CreditLine/solanaPayment/1-ChooseAmount.tsx +75 -0
  14. package/src/components/CreditLine/solanaPayment/2-Transfer.tsx +92 -0
  15. package/src/components/CreditLine/solanaPayment/3-Done.tsx +60 -0
  16. package/src/components/CreditLine/solanaPayment/index.tsx +86 -0
  17. package/src/components/InputAmountModal.tsx +13 -2
  18. package/src/components/Lend/{supplyV2/components → components}/PersonaEvaluation.tsx +19 -13
  19. package/src/components/Lend/{supplyV2/components → components}/SecuritizeEvaluation.tsx +7 -8
  20. package/src/components/Lend/solanaAddRedemption/1-ChooseTranche.tsx +114 -0
  21. package/src/components/Lend/solanaAddRedemption/2-ChooseAmount.tsx +183 -0
  22. package/src/components/Lend/solanaAddRedemption/3-Transfer.tsx +102 -0
  23. package/src/components/Lend/solanaAddRedemption/4-Done.tsx +29 -0
  24. package/src/components/Lend/solanaAddRedemption/index.tsx +155 -0
  25. package/src/components/Lend/solanaCancelRedemption/1-ChooseTranche.tsx +114 -0
  26. package/src/components/Lend/solanaCancelRedemption/2-Transfer.tsx +99 -0
  27. package/src/components/Lend/solanaCancelRedemption/3-Done.tsx +55 -0
  28. package/src/components/Lend/solanaCancelRedemption/index.tsx +162 -0
  29. package/src/components/Lend/solanaSupply/1-Evaluation.tsx +43 -0
  30. package/src/components/Lend/solanaSupply/2-ChooseTranche.tsx +116 -0
  31. package/src/components/Lend/solanaSupply/3-ChooseAmount.tsx +131 -0
  32. package/src/components/Lend/solanaSupply/4-Transfer.tsx +137 -0
  33. package/src/components/Lend/solanaSupply/5-Success.tsx +52 -0
  34. package/src/components/Lend/solanaSupply/index.tsx +155 -0
  35. package/src/components/Lend/supplyV2/2-Evaluation.tsx +4 -3
  36. package/src/components/Lend/supplyV2/6-Success.tsx +3 -3
  37. package/src/components/SolanaTxDoneModal.tsx +119 -0
  38. package/src/components/SolanaTxSendModal.tsx +61 -0
  39. package/src/components/SolanaViewOnExplorer.tsx +29 -0
  40. package/src/components/WidgetWrapper.tsx +6 -4
  41. package/src/index.tsx +139 -0
  42. package/src/store/widgets.reducers.ts +5 -0
  43. package/src/store/widgets.store.ts +1 -0
@@ -30,6 +30,10 @@ var Persona = require('persona');
30
30
  var sdk = require('@huma-finance/sdk');
31
31
  var moment = require('moment');
32
32
  var address = require('@ethersproject/address');
33
+ var anchor = require('@coral-xyz/anchor');
34
+ var splToken = require('@solana/spl-token');
35
+ var walletAdapterReact = require('@solana/wallet-adapter-react');
36
+ var web3_js = require('@solana/web3.js');
33
37
  var bytes = require('@ethersproject/bytes');
34
38
 
35
39
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -106,6 +110,7 @@ const widgetSlice = toolkit.createSlice({
106
110
  state.withdrawShares = undefined;
107
111
  state.redeemAmount = undefined;
108
112
  state.redeemShares = undefined;
113
+ state.solanaSignature = undefined;
109
114
  },
110
115
  setStep: (state, _ref) => {
111
116
  let {
@@ -196,10 +201,16 @@ const widgetSlice = toolkit.createSlice({
196
201
  } = _ref12;
197
202
  state.multisend = payload;
198
203
  },
199
- setError: (state, _ref13) => {
204
+ setSolanaSignature: (state, _ref13) => {
200
205
  let {
201
206
  payload
202
207
  } = _ref13;
208
+ state.solanaSignature = payload;
209
+ },
210
+ setError: (state, _ref14) => {
211
+ let {
212
+ payload
213
+ } = _ref14;
203
214
  state.errorMessage = payload.errorMessage;
204
215
  state.errorReason = payload.errorReason;
205
216
  state.step = WIDGET_STEP.Error;
@@ -220,7 +231,8 @@ const {
220
231
  setWithdrawAmount,
221
232
  setWithdrawShares,
222
233
  setRedeemAmount,
223
- setRedeemShares
234
+ setRedeemShares,
235
+ setSolanaSignature
224
236
  } = widgetSlice.actions;
225
237
  var widgetsReducers = widgetSlice.reducer;
226
238
 
@@ -230,7 +242,7 @@ var SorryImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU8AAAFTCAYAAAC52Y
230
242
 
231
243
  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=";
232
244
 
233
- var _templateObject$l, _templateObject2$k, _templateObject3$e, _templateObject4$a, _templateObject5$7, _templateObject6$6, _templateObject7$5, _templateObject8$3;
245
+ var _templateObject$p, _templateObject2$o, _templateObject3$i, _templateObject4$b, _templateObject5$8, _templateObject6$7, _templateObject7$5, _templateObject8$3;
234
246
  function ErrorModal(_ref) {
235
247
  let {
236
248
  title,
@@ -247,12 +259,12 @@ function ErrorModal(_ref) {
247
259
  errorReason = 'Oops! Something went wrong';
248
260
  }
249
261
  const styles = {
250
- wrapper: material.css(_templateObject$l || (_templateObject$l = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
251
- header: material.css(_templateObject2$k || (_templateObject2$k = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
252
- sorry: material.css(_templateObject3$e || (_templateObject3$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
253
- content: material.css(_templateObject4$a || (_templateObject4$a = _taggedTemplateLiteral(["\n box-sizing: border-box;\n width: 100%;\n display: inline-table;\n padding: ", ";\n position: relative;\n margin-top: ", ";\n height: 79px;\n "])), theme.spacing(2, 0), theme.spacing(9)),
254
- errorIcon: material.css(_templateObject5$7 || (_templateObject5$7 = _taggedTemplateLiteral(["\n position: absolute;\n font-size: 20px;\n color: ", ";\n margin: ", ";\n "])), theme.palette.error.main, theme.spacing(0, 2)),
255
- messageWrapper: material.css(_templateObject6$6 || (_templateObject6$6 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n padding-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(6)),
262
+ wrapper: material.css(_templateObject$p || (_templateObject$p = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
263
+ header: material.css(_templateObject2$o || (_templateObject2$o = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
264
+ sorry: material.css(_templateObject3$i || (_templateObject3$i = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
265
+ content: material.css(_templateObject4$b || (_templateObject4$b = _taggedTemplateLiteral(["\n box-sizing: border-box;\n width: 100%;\n display: inline-table;\n padding: ", ";\n position: relative;\n margin-top: ", ";\n height: 79px;\n "])), theme.spacing(2, 0), theme.spacing(9)),
266
+ errorIcon: material.css(_templateObject5$8 || (_templateObject5$8 = _taggedTemplateLiteral(["\n position: absolute;\n font-size: 20px;\n color: ", ";\n margin: ", ";\n "])), theme.palette.error.main, theme.spacing(0, 2)),
267
+ messageWrapper: material.css(_templateObject6$7 || (_templateObject6$7 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n padding-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(6)),
256
268
  errorMessage: material.css(_templateObject7$5 || (_templateObject7$5 = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-size: 14px;\n font-weight: 400;\n color: ", ";\n cursor: pointer;\n display: -webkit-box;\n line-height: 16px;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-right: ", ";\n "])), theme.spacing(0.5), theme.palette.text.primary, theme.spacing(2)),
257
269
  okButton: material.css(_templateObject8$3 || (_templateObject8$3 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
258
270
  };
@@ -1625,7 +1637,7 @@ function HumaLoading(_ref2) {
1625
1637
  });
1626
1638
  }
1627
1639
 
1628
- var _templateObject$k, _templateObject2$j, _templateObject3$d, _templateObject4$9;
1640
+ var _templateObject$o, _templateObject2$n, _templateObject3$h, _templateObject4$a;
1629
1641
  function WrapperModal(_ref) {
1630
1642
  let {
1631
1643
  title,
@@ -1634,10 +1646,10 @@ function WrapperModal(_ref) {
1634
1646
  } = _ref;
1635
1647
  const theme = material.useTheme();
1636
1648
  const styles = {
1637
- wrapper: material.css(_templateObject$k || (_templateObject$k = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1638
- header: material.css(_templateObject2$j || (_templateObject2$j = _taggedTemplateLiteral(["\n ", ";\n font-weight: 700;\n font-size: 20px;\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
1639
- content: material.css(_templateObject3$d || (_templateObject3$d = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary),
1640
- bottom: material.css(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
1649
+ wrapper: material.css(_templateObject$o || (_templateObject$o = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1650
+ header: material.css(_templateObject2$n || (_templateObject2$n = _taggedTemplateLiteral(["\n ", ";\n font-weight: 700;\n font-size: 20px;\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
1651
+ content: material.css(_templateObject3$h || (_templateObject3$h = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary),
1652
+ bottom: material.css(_templateObject4$a || (_templateObject4$a = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
1641
1653
  };
1642
1654
  return jsxRuntime.jsxs(material.Box, {
1643
1655
  css: styles.wrapper,
@@ -1652,7 +1664,7 @@ function WrapperModal(_ref) {
1652
1664
  });
1653
1665
  }
1654
1666
 
1655
- var _templateObject$j, _templateObject2$i;
1667
+ var _templateObject$n, _templateObject2$m;
1656
1668
  function LoadingModal(_ref) {
1657
1669
  let {
1658
1670
  title,
@@ -1662,8 +1674,8 @@ function LoadingModal(_ref) {
1662
1674
  } = _ref;
1663
1675
  const theme = material.useTheme();
1664
1676
  const styles = {
1665
- loader: material.css(_templateObject$j || (_templateObject$j = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n "])), theme.cssMixins.rowHCentered),
1666
- bottom: material.css(_templateObject2$i || (_templateObject2$i = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
1677
+ loader: material.css(_templateObject$n || (_templateObject$n = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n "])), theme.cssMixins.rowHCentered),
1678
+ bottom: material.css(_templateObject2$m || (_templateObject2$m = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
1667
1679
  };
1668
1680
  return jsxRuntime.jsxs(WrapperModal, {
1669
1681
  title: title,
@@ -1690,7 +1702,8 @@ function WidgetWrapper(_ref) {
1690
1702
  const theme = material.useTheme();
1691
1703
  const dispatch = useAppDispatch();
1692
1704
  const {
1693
- step
1705
+ step,
1706
+ solanaSignature
1694
1707
  } = useAppSelector(selectWidgetState);
1695
1708
  const [{
1696
1709
  state,
@@ -1706,12 +1719,14 @@ function WidgetWrapper(_ref) {
1706
1719
  }
1707
1720
  }, [dispatch, failReason, state]);
1708
1721
  React.useEffect(() => {
1709
- if (step === WIDGET_STEP.Done && txReceipt) {
1710
- if (handleSuccess) {
1722
+ if (step === WIDGET_STEP.Done && (txReceipt || solanaSignature)) {
1723
+ if (handleSuccess && txReceipt) {
1711
1724
  handleSuccess(txReceipt.blockNumber);
1725
+ } else if (handleSuccess && solanaSignature) {
1726
+ handleSuccess(0); // solana tx doesn't have block number
1712
1727
  }
1713
1728
  }
1714
- }, [handleSuccess, step, txReceipt]);
1729
+ }, [handleSuccess, solanaSignature, step, txReceipt]);
1715
1730
  const handleCloseModal = React.useCallback(() => {
1716
1731
  reset();
1717
1732
  dispatch(resetState());
@@ -1738,7 +1753,7 @@ function WidgetWrapper(_ref) {
1738
1753
  });
1739
1754
  }
1740
1755
 
1741
- var _templateObject$i;
1756
+ var _templateObject$m;
1742
1757
  function BottomButton(_ref) {
1743
1758
  let {
1744
1759
  variant,
@@ -1746,7 +1761,7 @@ function BottomButton(_ref) {
1746
1761
  onClick,
1747
1762
  children
1748
1763
  } = _ref;
1749
- const styles = material.css(_templateObject$i || (_templateObject$i = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])));
1764
+ const styles = material.css(_templateObject$m || (_templateObject$m = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])));
1750
1765
  return jsxRuntime.jsx(material.Box, {
1751
1766
  css: styles,
1752
1767
  children: jsxRuntime.jsx(material.Button, {
@@ -1779,7 +1794,7 @@ function ViewOnExplorer(_ref) {
1779
1794
  });
1780
1795
  }
1781
1796
 
1782
- var _templateObject$h, _templateObject2$h;
1797
+ var _templateObject$l, _templateObject2$l;
1783
1798
  function ApproveAllowanceModal(_ref) {
1784
1799
  let {
1785
1800
  poolInfo,
@@ -1817,8 +1832,8 @@ function ApproveAllowanceModal(_ref) {
1817
1832
  }
1818
1833
  }, [handleSuccess, reset, resetAfterSuccess, state, symbol]);
1819
1834
  const styles = {
1820
- iconWrapper: material.css(_templateObject$h || (_templateObject$h = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
1821
- description: material.css(_templateObject2$h || (_templateObject2$h = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
1835
+ iconWrapper: material.css(_templateObject$l || (_templateObject$l = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
1836
+ description: material.css(_templateObject2$l || (_templateObject2$l = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
1822
1837
  };
1823
1838
  const sendIncreaseAllowance = React.useCallback(async () => {
1824
1839
  const allowanceSpender = spender !== null && spender !== void 0 ? spender : poolInfo.pool;
@@ -1888,7 +1903,7 @@ function ApproveAllowance$c(_ref) {
1888
1903
  });
1889
1904
  }
1890
1905
 
1891
- var _templateObject$g, _templateObject2$g, _templateObject3$c, _templateObject4$8, _templateObject5$6, _templateObject6$5;
1906
+ var _templateObject$k, _templateObject2$k, _templateObject3$g, _templateObject4$9, _templateObject5$7, _templateObject6$6;
1892
1907
  function TxDoneModal(_ref) {
1893
1908
  let {
1894
1909
  content,
@@ -1900,12 +1915,12 @@ function TxDoneModal(_ref) {
1900
1915
  const dispatch = useAppDispatch();
1901
1916
  const reset = utils.useResetAtom(webShared.txAtom);
1902
1917
  const styles = {
1903
- wrapper: material.css(_templateObject$g || (_templateObject$g = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1904
- header: material.css(_templateObject2$g || (_templateObject2$g = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
1905
- content: material.css(_templateObject3$c || (_templateObject3$c = _taggedTemplateLiteral(["\n ", ";\n font-weight: ", ";\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, subContent ? 700 : 400, theme.palette.text.secondary, theme.spacing(8)),
1906
- subContent: material.css(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, theme.palette.text.primary, theme.spacing(2)),
1907
- check: material.css(_templateObject5$6 || (_templateObject5$6 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10)),
1908
- doneButton: material.css(_templateObject6$5 || (_templateObject6$5 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "])))
1918
+ wrapper: material.css(_templateObject$k || (_templateObject$k = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1919
+ header: material.css(_templateObject2$k || (_templateObject2$k = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
1920
+ content: material.css(_templateObject3$g || (_templateObject3$g = _taggedTemplateLiteral(["\n ", ";\n font-weight: ", ";\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, subContent ? 700 : 400, theme.palette.text.secondary, theme.spacing(8)),
1921
+ subContent: material.css(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, theme.palette.text.primary, theme.spacing(2)),
1922
+ check: material.css(_templateObject5$7 || (_templateObject5$7 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10)),
1923
+ doneButton: material.css(_templateObject6$6 || (_templateObject6$6 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "])))
1909
1924
  };
1910
1925
  const handleCloseModal = React.useCallback(() => {
1911
1926
  reset();
@@ -1947,7 +1962,7 @@ function TxDoneModal(_ref) {
1947
1962
  });
1948
1963
  }
1949
1964
 
1950
- function Success$e(_ref) {
1965
+ function Success$f(_ref) {
1951
1966
  let {
1952
1967
  poolInfo,
1953
1968
  handleAction
@@ -2015,7 +2030,7 @@ function CreditLineApprove(_ref) {
2015
2030
  children: [step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$c, {
2016
2031
  poolInfo: poolInfo,
2017
2032
  amount: amount
2018
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$e, {
2033
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$f, {
2019
2034
  poolInfo: poolInfo,
2020
2035
  handleAction: handleClose
2021
2036
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -2026,7 +2041,7 @@ function CreditLineApprove(_ref) {
2026
2041
  });
2027
2042
  }
2028
2043
 
2029
- var _templateObject$f, _templateObject2$f;
2044
+ var _templateObject$j, _templateObject2$j;
2030
2045
  function ApproveAllowanceModalV2(_ref) {
2031
2046
  let {
2032
2047
  poolInfo,
@@ -2061,8 +2076,8 @@ function ApproveAllowanceModalV2(_ref) {
2061
2076
  }
2062
2077
  }, [handleSuccess, reset, resetAfterSuccess, state]);
2063
2078
  const styles = {
2064
- iconWrapper: material.css(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
2065
- description: material.css(_templateObject2$f || (_templateObject2$f = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
2079
+ iconWrapper: material.css(_templateObject$j || (_templateObject$j = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
2080
+ description: material.css(_templateObject2$j || (_templateObject2$j = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
2066
2081
  };
2067
2082
  const sendIncreaseAllowance = React.useCallback(async () => {
2068
2083
  const allowanceSpender = spender !== null && spender !== void 0 ? spender : poolInfo.pool;
@@ -2129,7 +2144,7 @@ function ApproveAllowance$b(_ref) {
2129
2144
  });
2130
2145
  }
2131
2146
 
2132
- function Success$d(_ref) {
2147
+ function Success$e(_ref) {
2133
2148
  let {
2134
2149
  handleAction
2135
2150
  } = _ref;
@@ -2184,7 +2199,7 @@ function AutoPaybackV2(_ref) {
2184
2199
  children: [step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$b, {
2185
2200
  poolInfo: poolInfo,
2186
2201
  poolUnderlyingToken: poolUnderlyingToken
2187
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$d, {
2202
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$e, {
2188
2203
  handleAction: handleClose
2189
2204
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
2190
2205
  title: "Auto Payback",
@@ -2239,17 +2254,17 @@ const useEA = () => {
2239
2254
 
2240
2255
  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==";
2241
2256
 
2242
- var _templateObject$e, _templateObject2$e, _templateObject3$b, _templateObject4$7;
2257
+ var _templateObject$i, _templateObject2$i, _templateObject3$f, _templateObject4$8;
2243
2258
  function SignIn(_ref) {
2244
2259
  let {
2245
2260
  description
2246
2261
  } = _ref;
2247
2262
  const theme = material.useTheme();
2248
2263
  const styles = {
2249
- wrapper: material.css(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2250
- header: material.css(_templateObject2$e || (_templateObject2$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2251
- icon: material.css(_templateObject3$b || (_templateObject3$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
2252
- content: material.css(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8))
2264
+ wrapper: material.css(_templateObject$i || (_templateObject$i = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2265
+ header: material.css(_templateObject2$i || (_templateObject2$i = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2266
+ icon: material.css(_templateObject3$f || (_templateObject3$f = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
2267
+ content: material.css(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8))
2253
2268
  };
2254
2269
  return jsxRuntime.jsxs(material.Box, {
2255
2270
  css: styles.wrapper,
@@ -2270,8 +2285,8 @@ function SignIn(_ref) {
2270
2285
  });
2271
2286
  }
2272
2287
 
2273
- var _templateObject$d, _templateObject2$d, _templateObject3$a, _templateObject4$6, _templateObject5$5, _templateObject6$4, _templateObject7$4;
2274
- function Evaluation$4(_ref) {
2288
+ var _templateObject$h, _templateObject2$h, _templateObject3$e, _templateObject4$7, _templateObject5$6, _templateObject6$5, _templateObject7$4;
2289
+ function Evaluation$5(_ref) {
2275
2290
  let {
2276
2291
  poolInfo,
2277
2292
  handleApprove
@@ -2302,12 +2317,12 @@ function Evaluation$4(_ref) {
2302
2317
  fetchData();
2303
2318
  }, [account, chainId, checkingEA, handleApprove, poolInfo.assetAddress, poolInfo.pool, isWalletOwnershipVerified]);
2304
2319
  const styles = {
2305
- wrapper: material.css(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2306
- header: material.css(_templateObject2$d || (_templateObject2$d = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2307
- content: material.css(_templateObject3$a || (_templateObject3$a = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8)),
2308
- checkWrapper: material.css(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteral(["\n ", "\n width: 100%;\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowVCentered, theme.palette.text.secondary),
2309
- checkIcon: material.css(_templateObject5$5 || (_templateObject5$5 = _taggedTemplateLiteral(["\n ", "\n width: 105px;\n height: 100%;\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n "])), theme.cssMixins.rowCentered),
2310
- congratsWrapper: material.css(_templateObject6$4 || (_templateObject6$4 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n padding: ", ";\n ", "\n margin-top: ", ";\n height: 52px;\n background: linear-gradient(\n 0deg,\n rgba(255, 255, 255, 0.9),\n rgba(255, 255, 255, 0.9)\n ),\n #2e7d32;\n border-radius: 4px;\n "])), theme.spacing(0, 2), theme.cssMixins.rowVCentered, theme.spacing(8)),
2320
+ wrapper: material.css(_templateObject$h || (_templateObject$h = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2321
+ header: material.css(_templateObject2$h || (_templateObject2$h = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2322
+ content: material.css(_templateObject3$e || (_templateObject3$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8)),
2323
+ checkWrapper: material.css(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteral(["\n ", "\n width: 100%;\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowVCentered, theme.palette.text.secondary),
2324
+ checkIcon: material.css(_templateObject5$6 || (_templateObject5$6 = _taggedTemplateLiteral(["\n ", "\n width: 105px;\n height: 100%;\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n "])), theme.cssMixins.rowCentered),
2325
+ congratsWrapper: material.css(_templateObject6$5 || (_templateObject6$5 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n padding: ", ";\n ", "\n margin-top: ", ";\n height: 52px;\n background: linear-gradient(\n 0deg,\n rgba(255, 255, 255, 0.9),\n rgba(255, 255, 255, 0.9)\n ),\n #2e7d32;\n border-radius: 4px;\n "])), theme.spacing(0, 2), theme.cssMixins.rowVCentered, theme.spacing(8)),
2311
2326
  bottom: material.css(_templateObject7$4 || (_templateObject7$4 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2312
2327
  };
2313
2328
  const goToNextStep = () => {
@@ -2371,7 +2386,7 @@ function Evaluation$4(_ref) {
2371
2386
  });
2372
2387
  }
2373
2388
 
2374
- var _templateObject$c, _templateObject2$c, _templateObject3$9, _templateObject4$5, _templateObject5$4, _templateObject6$3, _templateObject7$3, _templateObject8$2, _templateObject9$1, _templateObject10$1, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
2389
+ var _templateObject$g, _templateObject2$g, _templateObject3$d, _templateObject4$6, _templateObject5$5, _templateObject6$4, _templateObject7$3, _templateObject8$2, _templateObject9$1, _templateObject10$1, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
2375
2390
  function ChooseAmountModal(_ref) {
2376
2391
  let {
2377
2392
  title,
@@ -2398,12 +2413,12 @@ function ChooseAmountModal(_ref) {
2398
2413
  } = webShared.useMQ();
2399
2414
  const [inputTouched, setInputTouched] = React.useState(false);
2400
2415
  const styles = {
2401
- subTitle: material.css(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n font-weight: 400;\n "]))),
2402
- description2: material.css(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(2)),
2403
- chosenAmountWrapper: material.css(_templateObject3$9 || (_templateObject3$9 = _taggedTemplateLiteral(["\n ", ";\n background: linear-gradient(232.71deg, #a363f4 4.17%, #ff6a8a 178.69%);\n background-clip: text;\n -webkit-text-fill-color: transparent;\n font-weight: 700;\n font-size: 32px;\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(1), theme.spacing(4)),
2404
- chosenAmount: material.css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteral(["\n font-weight: 700;\n font-size: 32px;\n "]))),
2405
- chosenAmountSymbol: material.css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteral(["\n font-size: 75%;\n margin-left: ", ";\n letter-spacing: 0.1px;\n "])), theme.spacing(0.5)),
2406
- inputAmountWrapper: material.css(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(4)),
2416
+ subTitle: material.css(_templateObject$g || (_templateObject$g = _taggedTemplateLiteral(["\n font-weight: 400;\n "]))),
2417
+ description2: material.css(_templateObject2$g || (_templateObject2$g = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(2)),
2418
+ chosenAmountWrapper: material.css(_templateObject3$d || (_templateObject3$d = _taggedTemplateLiteral(["\n ", ";\n background: linear-gradient(232.71deg, #a363f4 4.17%, #ff6a8a 178.69%);\n background-clip: text;\n -webkit-text-fill-color: transparent;\n font-weight: 700;\n font-size: 32px;\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(1), theme.spacing(4)),
2419
+ chosenAmount: material.css(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteral(["\n font-weight: 700;\n font-size: 32px;\n "]))),
2420
+ chosenAmountSymbol: material.css(_templateObject5$5 || (_templateObject5$5 = _taggedTemplateLiteral(["\n font-size: 75%;\n margin-left: ", ";\n letter-spacing: 0.1px;\n "])), theme.spacing(0.5)),
2421
+ inputAmountWrapper: material.css(_templateObject6$4 || (_templateObject6$4 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(4)),
2407
2422
  inputAmount: material.css(_templateObject7$3 || (_templateObject7$3 = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
2408
2423
  inputField: material.css(_templateObject8$2 || (_templateObject8$2 = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
2409
2424
  maxButton: material.css(_templateObject9$1 || (_templateObject9$1 = _taggedTemplateLiteral(["\n width: 80px;\n "]))),
@@ -2554,7 +2569,7 @@ function ChooseAmountModal(_ref) {
2554
2569
  });
2555
2570
  }
2556
2571
 
2557
- function ChooseAmount$c(_ref) {
2572
+ function ChooseAmount$g(_ref) {
2558
2573
  let {
2559
2574
  poolInfo,
2560
2575
  accountStats
@@ -2673,7 +2688,7 @@ function TxSendModal(_ref) {
2673
2688
  });
2674
2689
  }
2675
2690
 
2676
- function Transfer$f(_ref) {
2691
+ function Transfer$k(_ref) {
2677
2692
  let {
2678
2693
  poolInfo
2679
2694
  } = _ref;
@@ -2696,7 +2711,7 @@ function Transfer$f(_ref) {
2696
2711
  });
2697
2712
  }
2698
2713
 
2699
- function Success$c(_ref) {
2714
+ function Success$d(_ref) {
2700
2715
  let {
2701
2716
  poolInfo,
2702
2717
  creditRecord,
@@ -2721,7 +2736,7 @@ function Success$c(_ref) {
2721
2736
  });
2722
2737
  }
2723
2738
 
2724
- var _templateObject$b, _templateObject2$b, _templateObject3$8, _templateObject4$4, _templateObject5$3;
2739
+ var _templateObject$f, _templateObject2$f, _templateObject3$c, _templateObject4$5, _templateObject5$4;
2725
2740
  const validateDefaultTargetGroup = async frontendClient => {
2726
2741
  var _await$frontendClient;
2727
2742
  // NOTE: this extra request is necessary as the targetGroupId state in NotifiTargetContext will not be updated constantly right after login
@@ -2837,11 +2852,11 @@ function NotifiSubscriptionModal(_ref) {
2837
2852
  handleSuccess();
2838
2853
  }, [dispatch, handleSuccess, reset]);
2839
2854
  const styles = {
2840
- disclaimer: material.css(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(6)),
2841
- inputField: material.css(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteral(["\n width: 100%;\n font-size: 16px;\n "]))),
2842
- inputWrapper: material.css(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
2843
- header: material.css(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2844
- check: material.css(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10))
2855
+ disclaimer: material.css(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(6)),
2856
+ inputField: material.css(_templateObject2$f || (_templateObject2$f = _taggedTemplateLiteral(["\n width: 100%;\n font-size: 16px;\n "]))),
2857
+ inputWrapper: material.css(_templateObject3$c || (_templateObject3$c = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
2858
+ header: material.css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2859
+ check: material.css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10))
2845
2860
  };
2846
2861
  if (isLoading) {
2847
2862
  return jsxRuntime.jsx(LoadingModal, {
@@ -3018,17 +3033,17 @@ function CreditLineBorrow(_ref) {
3018
3033
  loadingTitle: "Borrow",
3019
3034
  handleClose: handleClose,
3020
3035
  handleSuccess: handleSuccess,
3021
- children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$4, {
3036
+ children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$5, {
3022
3037
  poolInfo: poolInfo,
3023
3038
  handleApprove: approveCallback
3024
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$c, {
3039
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$g, {
3025
3040
  poolInfo: poolInfo,
3026
3041
  accountStats: accountStats
3027
3042
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$a, {
3028
3043
  poolInfo: poolInfo
3029
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$f, {
3044
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$k, {
3030
3045
  poolInfo: poolInfo
3031
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$c, {
3046
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$d, {
3032
3047
  poolInfo: poolInfo,
3033
3048
  handleAction: setupNotificationsOrClose,
3034
3049
  creditRecord: creditRecord,
@@ -3043,7 +3058,7 @@ function CreditLineBorrow(_ref) {
3043
3058
  });
3044
3059
  }
3045
3060
 
3046
- var _templateObject$a, _templateObject2$a, _templateObject3$7, _templateObject4$3, _templateObject5$2, _templateObject6$2, _templateObject7$2, _templateObject8$1;
3061
+ var _templateObject$e, _templateObject2$e, _templateObject3$b, _templateObject4$4, _templateObject5$3, _templateObject6$3, _templateObject7$2, _templateObject8$1;
3047
3062
  function InputAmountModal(_ref) {
3048
3063
  let {
3049
3064
  title,
@@ -3052,6 +3067,7 @@ function InputAmountModal(_ref) {
3052
3067
  tokenSymbol,
3053
3068
  suffix: defaultSuffix,
3054
3069
  currentAmount,
3070
+ minimumAmount,
3055
3071
  maxAmount,
3056
3072
  maxAmountText = 'MAX',
3057
3073
  maxAmountTitle,
@@ -3063,12 +3079,12 @@ function InputAmountModal(_ref) {
3063
3079
  const [inputTouched, setInputTouched] = React.useState(false);
3064
3080
  const suffix = " ".concat(defaultSuffix !== null && defaultSuffix !== void 0 ? defaultSuffix : tokenSymbol);
3065
3081
  const styles = {
3066
- inputAmountWrapper: material.css(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(16)),
3067
- inputAmount: material.css(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
3068
- inputField: material.css(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteral(["\n input {\n width: 100%;\n color: ", ";\n font-weight: 800;\n font-size: 40px;\n line-height: 133.4%;\n }\n "])), theme.palette.text.primary),
3069
- maxWrapper: material.css(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n justify-content: flex-end;\n "]))),
3070
- maxTitle: material.css(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral(["\n position: absolute;\n color: ", ";\n font-weight: 400;\n font-size: 12px;\n line-height: 166%;\n letter-spacing: 0.4px;\n top: ", ";\n width: 200px;\n text-align: right;\n "])), theme.palette.text.primary, theme.spacing(-3)),
3071
- max: material.css(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteral(["\n display: flex;\n min-width: fit-content;\n justify-content: center;\n align-items: center;\n border-radius: 32px;\n padding: 4px 10px;\n gap: 8px;\n font-weight: 700;\n font-size: 13px;\n line-height: 22px;\n letter-spacing: 0.46px;\n "]))),
3082
+ inputAmountWrapper: material.css(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(16)),
3083
+ inputAmount: material.css(_templateObject2$e || (_templateObject2$e = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
3084
+ inputField: material.css(_templateObject3$b || (_templateObject3$b = _taggedTemplateLiteral(["\n input {\n width: 100%;\n color: ", ";\n font-weight: 800;\n font-size: 40px;\n line-height: 133.4%;\n }\n "])), theme.palette.text.primary),
3085
+ maxWrapper: material.css(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n justify-content: flex-end;\n "]))),
3086
+ maxTitle: material.css(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteral(["\n position: absolute;\n color: ", ";\n font-weight: 400;\n font-size: 12px;\n line-height: 166%;\n letter-spacing: 0.4px;\n top: ", ";\n width: 200px;\n text-align: right;\n "])), theme.palette.text.primary, theme.spacing(-3)),
3087
+ max: material.css(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteral(["\n display: flex;\n min-width: fit-content;\n justify-content: center;\n align-items: center;\n border-radius: 32px;\n padding: 4px 10px;\n gap: 8px;\n font-weight: 700;\n font-size: 13px;\n line-height: 22px;\n letter-spacing: 0.46px;\n white-space: nowrap;\n "]))),
3072
3088
  info: material.css(_templateObject7$2 || (_templateObject7$2 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 160%;\n letter-spacing: 0.15px;\n "])), theme.palette.text.secondary),
3073
3089
  subInfo: material.css(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteral(["\n position: absolute;\n bottom: ", ";\n "])), theme.spacing(6))
3074
3090
  };
@@ -3086,6 +3102,9 @@ function InputAmountModal(_ref) {
3086
3102
  if (!shared.isEmpty(maxAmount) && Number(currentAmount) > Number(maxAmount)) {
3087
3103
  return true;
3088
3104
  }
3105
+ if (!shared.isEmpty(minimumAmount) && Number(currentAmount) < minimumAmount) {
3106
+ return true;
3107
+ }
3089
3108
  return false;
3090
3109
  };
3091
3110
  const getEndAdornment = () => jsxRuntime.jsxs(material.Box, {
@@ -3127,6 +3146,11 @@ function InputAmountModal(_ref) {
3127
3146
  css: styles.info,
3128
3147
  children: info
3129
3148
  }, info))
3149
+ }), !!minimumAmount && minimumAmount > 0 && jsxRuntime.jsx(material.Box, {
3150
+ children: jsxRuntime.jsxs(material.Typography, {
3151
+ css: styles.info,
3152
+ children: ["Minimum deposit: ", minimumAmount, " ", tokenSymbol]
3153
+ }, 'minDeposit')
3130
3154
  }), jsxRuntime.jsx(BottomButton, {
3131
3155
  variant: "contained",
3132
3156
  onClick: handleAction,
@@ -3136,7 +3160,7 @@ function InputAmountModal(_ref) {
3136
3160
  });
3137
3161
  }
3138
3162
 
3139
- function ChooseAmount$b(_ref) {
3163
+ function ChooseAmount$f(_ref) {
3140
3164
  let {
3141
3165
  poolInfo,
3142
3166
  poolUnderlyingToken,
@@ -3247,7 +3271,7 @@ function TxSendModalV2(_ref) {
3247
3271
  });
3248
3272
  }
3249
3273
 
3250
- function Transfer$e(_ref) {
3274
+ function Transfer$j(_ref) {
3251
3275
  let {
3252
3276
  poolInfo
3253
3277
  } = _ref;
@@ -3281,7 +3305,7 @@ function Transfer$e(_ref) {
3281
3305
  });
3282
3306
  }
3283
3307
 
3284
- function Success$b(_ref) {
3308
+ function Success$c(_ref) {
3285
3309
  let {
3286
3310
  poolUnderlyingToken,
3287
3311
  creditRecord,
@@ -3378,16 +3402,16 @@ function CreditLineBorrowV2(_ref) {
3378
3402
  handleSuccess: handleSuccessCallback,
3379
3403
  children: [!step && jsxRuntime.jsx(LoadingModal, {
3380
3404
  title: "Borrow"
3381
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$b, {
3405
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$f, {
3382
3406
  poolInfo: poolInfo,
3383
3407
  poolUnderlyingToken: poolUnderlyingToken,
3384
3408
  accountStats: accountStats
3385
3409
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$9, {
3386
3410
  poolInfo: poolInfo,
3387
3411
  poolUnderlyingToken: poolUnderlyingToken
3388
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$e, {
3412
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$j, {
3389
3413
  poolInfo: poolInfo
3390
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$b, {
3414
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$c, {
3391
3415
  poolUnderlyingToken: poolUnderlyingToken,
3392
3416
  handleAction: setupNotificationsOrClose,
3393
3417
  creditRecord: accountStats.creditRecord,
@@ -3402,7 +3426,7 @@ function CreditLineBorrowV2(_ref) {
3402
3426
  });
3403
3427
  }
3404
3428
 
3405
- function ChooseAmount$a(_ref) {
3429
+ function ChooseAmount$e(_ref) {
3406
3430
  let {
3407
3431
  payoffAmount,
3408
3432
  totalDueAmount,
@@ -3467,7 +3491,7 @@ function ApproveAllowance$8(_ref) {
3467
3491
  });
3468
3492
  }
3469
3493
 
3470
- function Transfer$d(_ref) {
3494
+ function Transfer$i(_ref) {
3471
3495
  let {
3472
3496
  poolInfo
3473
3497
  } = _ref;
@@ -3493,7 +3517,7 @@ function Transfer$d(_ref) {
3493
3517
  });
3494
3518
  }
3495
3519
 
3496
- function Success$a(_ref) {
3520
+ function Success$b(_ref) {
3497
3521
  let {
3498
3522
  poolInfo,
3499
3523
  handleAction
@@ -3559,15 +3583,15 @@ function CreditLinePayment(_ref) {
3559
3583
  loadingTitle: "Make Payment",
3560
3584
  handleClose: handleClose,
3561
3585
  handleSuccess: handleSuccess,
3562
- children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$a, {
3586
+ children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$e, {
3563
3587
  poolInfo: poolInfo,
3564
3588
  payoffAmount: payoffAmount,
3565
3589
  totalDueAmount: totalDueAmount
3566
3590
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$8, {
3567
3591
  poolInfo: poolInfo
3568
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$d, {
3592
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$i, {
3569
3593
  poolInfo: poolInfo
3570
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$a, {
3594
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$b, {
3571
3595
  poolInfo: poolInfo,
3572
3596
  handleAction: handleClose
3573
3597
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -3578,7 +3602,7 @@ function CreditLinePayment(_ref) {
3578
3602
  });
3579
3603
  }
3580
3604
 
3581
- function ChooseAmount$9(_ref) {
3605
+ function ChooseAmount$d(_ref) {
3582
3606
  let {
3583
3607
  payoffAmount: payoffAmountBN,
3584
3608
  totalDueAmount: totalDueAmountBN,
@@ -3600,6 +3624,8 @@ function ChooseAmount$9(_ref) {
3600
3624
  } = webShared.usePoolSafeAllowanceV2(poolInfo.poolName, account, provider);
3601
3625
  const totalDueAmount = Number(ethers.ethers.utils.formatUnits(totalDueAmountBN, decimals));
3602
3626
  const payoffAmount = Number(ethers.ethers.utils.formatUnits(payoffAmountBN, decimals));
3627
+
3628
+ // TODO: Remove redundant useEffect
3603
3629
  React.useEffect(() => {
3604
3630
  setCurrentAmount(totalDueAmount);
3605
3631
  }, [totalDueAmount]);
@@ -3657,7 +3683,7 @@ function ApproveAllowance$7(_ref) {
3657
3683
  });
3658
3684
  }
3659
3685
 
3660
- function Transfer$c(_ref) {
3686
+ function Transfer$h(_ref) {
3661
3687
  let {
3662
3688
  poolInfo,
3663
3689
  poolUnderlyingToken
@@ -3692,7 +3718,7 @@ function Transfer$c(_ref) {
3692
3718
  });
3693
3719
  }
3694
3720
 
3695
- function Success$9(_ref) {
3721
+ function Success$a(_ref) {
3696
3722
  let {
3697
3723
  poolUnderlyingToken,
3698
3724
  handleAction
@@ -3763,7 +3789,7 @@ function CreditLinePaymentV2(_ref) {
3763
3789
  loadingTitle: "Pay",
3764
3790
  handleClose: handleClose,
3765
3791
  handleSuccess: handleSuccess,
3766
- children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$9, {
3792
+ children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$d, {
3767
3793
  poolInfo: poolInfo,
3768
3794
  poolUnderlyingToken: poolUnderlyingToken,
3769
3795
  payoffAmount: payoffAmount,
@@ -3771,10 +3797,10 @@ function CreditLinePaymentV2(_ref) {
3771
3797
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$7, {
3772
3798
  poolInfo: poolInfo,
3773
3799
  poolUnderlyingToken: poolUnderlyingToken
3774
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$c, {
3800
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$h, {
3775
3801
  poolInfo: poolInfo,
3776
3802
  poolUnderlyingToken: poolUnderlyingToken
3777
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$9, {
3803
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$a, {
3778
3804
  poolUnderlyingToken: poolUnderlyingToken,
3779
3805
  handleAction: handleClose
3780
3806
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -3804,7 +3830,7 @@ function ApproveAllowance$6(_ref) {
3804
3830
  });
3805
3831
  }
3806
3832
 
3807
- function Success$8(_ref) {
3833
+ function Success$9(_ref) {
3808
3834
  let {
3809
3835
  amountToDeposit,
3810
3836
  poolUnderlyingToken,
@@ -3822,7 +3848,7 @@ function Success$8(_ref) {
3822
3848
  });
3823
3849
  }
3824
3850
 
3825
- function Transfer$b(_ref) {
3851
+ function Transfer$g(_ref) {
3826
3852
  let {
3827
3853
  poolInfo,
3828
3854
  amountToDeposit,
@@ -3903,11 +3929,11 @@ function SupplyFirstLossCover(_ref) {
3903
3929
  poolInfo: poolInfo,
3904
3930
  poolUnderlyingToken: poolUnderlyingToken,
3905
3931
  amountToDeposit: minAmountToDeposit
3906
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$b, {
3932
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$g, {
3907
3933
  poolInfo: poolInfo,
3908
3934
  amountToDeposit: minAmountToDeposit,
3909
3935
  title: title
3910
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$8, {
3936
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$9, {
3911
3937
  poolUnderlyingToken: poolUnderlyingToken,
3912
3938
  handleAction: handleClose,
3913
3939
  amountToDeposit: minAmountToDeposit
@@ -3919,7 +3945,7 @@ function SupplyFirstLossCover(_ref) {
3919
3945
  });
3920
3946
  }
3921
3947
 
3922
- function Evaluation$3(_ref) {
3948
+ function Evaluation$4(_ref) {
3923
3949
  let {
3924
3950
  poolInfo,
3925
3951
  tokenId
@@ -3956,7 +3982,7 @@ function Evaluation$3(_ref) {
3956
3982
  });
3957
3983
  }
3958
3984
 
3959
- function ChooseAmount$8(_ref) {
3985
+ function ChooseAmount$c(_ref) {
3960
3986
  var _receivable;
3961
3987
  let {
3962
3988
  poolInfo,
@@ -4021,7 +4047,7 @@ function ChooseAmount$8(_ref) {
4021
4047
  });
4022
4048
  }
4023
4049
 
4024
- var _templateObject$9, _templateObject2$9, _templateObject3$6, _templateObject4$2, _templateObject5$1, _templateObject6$1, _templateObject7$1, _templateObject8, _templateObject9, _templateObject10;
4050
+ var _templateObject$d, _templateObject2$d, _templateObject3$a, _templateObject4$3, _templateObject5$2, _templateObject6$2, _templateObject7$1, _templateObject8, _templateObject9, _templateObject10;
4025
4051
  function ConfirmTransferModal(_ref) {
4026
4052
  let {
4027
4053
  title,
@@ -4032,12 +4058,12 @@ function ConfirmTransferModal(_ref) {
4032
4058
  } = _ref;
4033
4059
  const theme = material.useTheme();
4034
4060
  const styles = {
4035
- wrapper: material.css(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n ", ";\n "])), theme.cssMixins.colStretch),
4036
- header: material.css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
4037
- description: material.css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.palette.text.secondary, theme.spacing(4)),
4038
- transferWrapper: material.css(_templateObject4$2 || (_templateObject4$2 = _taggedTemplateLiteral(["\n margin-top: ", ";\n "])), theme.spacing(9)),
4039
- transfer: material.css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n font-weight: 400;\n ", "\n ", "\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n margin-bottom: ", ";\n position: relative;\n box-sizing: border-box;\n "])), theme.cssMixins.rowSpaceBetweened, theme.cssMixins.rowVCentered, theme.palette.text.primary, theme.spacing(3, 2), theme.spacing(1)),
4040
- transferItem: material.css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral(["\n ", "\n "])), theme.cssMixins.rowVCentered),
4061
+ wrapper: material.css(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n ", ";\n "])), theme.cssMixins.colStretch),
4062
+ header: material.css(_templateObject2$d || (_templateObject2$d = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
4063
+ description: material.css(_templateObject3$a || (_templateObject3$a = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.palette.text.secondary, theme.spacing(4)),
4064
+ transferWrapper: material.css(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteral(["\n margin-top: ", ";\n "])), theme.spacing(9)),
4065
+ transfer: material.css(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral(["\n font-weight: 400;\n ", "\n ", "\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n margin-bottom: ", ";\n position: relative;\n box-sizing: border-box;\n "])), theme.cssMixins.rowSpaceBetweened, theme.cssMixins.rowVCentered, theme.palette.text.primary, theme.spacing(3, 2), theme.spacing(1)),
4066
+ transferItem: material.css(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteral(["\n ", "\n "])), theme.cssMixins.rowVCentered),
4041
4067
  arrow: material.css(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteral(["\n @keyframes bounceAlpha {\n 0% {\n opacity: 1;\n transform: translateX(0px) scale(1);\n }\n 25% {\n opacity: 0;\n transform: translateX(10px) scale(0.9);\n }\n 26% {\n opacity: 0;\n transform: translateX(-10px) scale(0.9);\n }\n 55% {\n opacity: 1;\n transform: translateX(0px) scale(1);\n }\n }\n animation-name: bounceAlpha;\n animation-duration: 1.4s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n\n color: ", ";\n position: absolute;\n margin: auto;\n top: 0;\n left: calc(15% + 36px);\n bottom: 0;\n right: 0;\n width: 16px;\n height: 16px;\n "])), theme.palette.primary.main),
4042
4068
  arrowFirst: material.css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n left: calc(15% + 20px);\n animation-delay: 0.2s;\n "]))),
4043
4069
  okButton: material.css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "]))),
@@ -4161,7 +4187,7 @@ function ApproveNFT(_ref) {
4161
4187
  });
4162
4188
  }
4163
4189
 
4164
- function Transfer$a(_ref) {
4190
+ function Transfer$f(_ref) {
4165
4191
  let {
4166
4192
  poolInfo,
4167
4193
  tokenId
@@ -4186,7 +4212,7 @@ function Transfer$a(_ref) {
4186
4212
  });
4187
4213
  }
4188
4214
 
4189
- function Success$7(_ref) {
4215
+ function Success$8(_ref) {
4190
4216
  let {
4191
4217
  handleAction
4192
4218
  } = _ref;
@@ -4234,19 +4260,19 @@ function InvoiceFactoringBorrow(_ref) {
4234
4260
  isOpen: true,
4235
4261
  handleClose: handleClose,
4236
4262
  handleSuccess: handleSuccess,
4237
- children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$3, {
4263
+ children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$4, {
4238
4264
  poolInfo: poolInfo,
4239
4265
  tokenId: tokenId.toString()
4240
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$8, {
4266
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$c, {
4241
4267
  poolInfo: poolInfo,
4242
4268
  accountStats: accountStats
4243
4269
  }), step === WIDGET_STEP.ConfirmTransfer && jsxRuntime.jsx(ConfirmTransfer$2, {}), step === WIDGET_STEP.ApproveNFT && jsxRuntime.jsx(ApproveNFT, {
4244
4270
  poolInfo: poolInfo,
4245
4271
  tokenId: tokenId.toString()
4246
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$a, {
4272
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$f, {
4247
4273
  poolInfo: poolInfo,
4248
4274
  tokenId: tokenId.toString()
4249
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$7, {
4275
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$8, {
4250
4276
  handleAction: handleClose
4251
4277
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
4252
4278
  title: "Invoice Factoring",
@@ -4256,7 +4282,7 @@ function InvoiceFactoringBorrow(_ref) {
4256
4282
  });
4257
4283
  }
4258
4284
 
4259
- function ChooseAmount$7(_ref) {
4285
+ function ChooseAmount$b(_ref) {
4260
4286
  let {
4261
4287
  creditRecord,
4262
4288
  poolInfo
@@ -4321,7 +4347,7 @@ function ApproveAllowance$5(_ref) {
4321
4347
  });
4322
4348
  }
4323
4349
 
4324
- function Transfer$9(_ref) {
4350
+ function Transfer$e(_ref) {
4325
4351
  let {
4326
4352
  poolInfo
4327
4353
  } = _ref;
@@ -4347,7 +4373,7 @@ function Transfer$9(_ref) {
4347
4373
  });
4348
4374
  }
4349
4375
 
4350
- function Success$6(_ref) {
4376
+ function Success$7(_ref) {
4351
4377
  let {
4352
4378
  poolInfo,
4353
4379
  handleAction
@@ -4401,14 +4427,14 @@ function InvoiceFactoringPayment(_ref) {
4401
4427
  loadingTitle: "Make Payment",
4402
4428
  handleClose: handleClose,
4403
4429
  handleSuccess: handleSuccess,
4404
- children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$7, {
4430
+ children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$b, {
4405
4431
  creditRecord: creditRecord,
4406
4432
  poolInfo: poolInfo
4407
4433
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$5, {
4408
4434
  poolInfo: poolInfo
4409
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$9, {
4435
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$e, {
4410
4436
  poolInfo: poolInfo
4411
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$6, {
4437
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$7, {
4412
4438
  poolInfo: poolInfo,
4413
4439
  handleAction: handleClose
4414
4440
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -4419,8 +4445,8 @@ function InvoiceFactoringPayment(_ref) {
4419
4445
  });
4420
4446
  }
4421
4447
 
4422
- var _templateObject$8, _templateObject2$8, _templateObject3$5;
4423
- function ChooseTranche$1(_ref) {
4448
+ var _templateObject$c, _templateObject2$c, _templateObject3$9;
4449
+ function ChooseTranche$4(_ref) {
4424
4450
  let {
4425
4451
  selectedTranche,
4426
4452
  changeTranche
@@ -4428,9 +4454,9 @@ function ChooseTranche$1(_ref) {
4428
4454
  const theme = material.useTheme();
4429
4455
  const dispatch = useAppDispatch();
4430
4456
  const styles = {
4431
- subTitle: material.css(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
4432
- radioGroup: material.css(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
4433
- formControl: material.css(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
4457
+ subTitle: material.css(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
4458
+ radioGroup: material.css(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
4459
+ formControl: material.css(_templateObject3$9 || (_templateObject3$9 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
4434
4460
  };
4435
4461
  const handleNext = () => {
4436
4462
  dispatch(setStep(WIDGET_STEP.ChooseAmount));
@@ -4475,7 +4501,7 @@ function ChooseTranche$1(_ref) {
4475
4501
  });
4476
4502
  }
4477
4503
 
4478
- function ChooseAmount$6(_ref) {
4504
+ function ChooseAmount$a(_ref) {
4479
4505
  let {
4480
4506
  poolInfo,
4481
4507
  poolUnderlyingToken,
@@ -4541,7 +4567,7 @@ function ChooseAmount$6(_ref) {
4541
4567
  });
4542
4568
  }
4543
4569
 
4544
- function Transfer$8(_ref) {
4570
+ function Transfer$d(_ref) {
4545
4571
  let {
4546
4572
  poolInfo,
4547
4573
  poolUnderlyingToken,
@@ -4574,7 +4600,7 @@ function Transfer$8(_ref) {
4574
4600
  });
4575
4601
  }
4576
4602
 
4577
- function Done$2(_ref) {
4603
+ function Done$6(_ref) {
4578
4604
  let {
4579
4605
  handleAction
4580
4606
  } = _ref;
@@ -4684,18 +4710,18 @@ function AddRedemptionV2(_ref) {
4684
4710
  loadingTitle: title,
4685
4711
  handleClose: handleClose,
4686
4712
  handleSuccess: handleRedeemSuccess,
4687
- children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$1, {
4713
+ children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$4, {
4688
4714
  selectedTranche: trancheInfo === null || trancheInfo === void 0 ? void 0 : trancheInfo.tranche,
4689
4715
  changeTranche: handleChangeTranche
4690
- }), step === WIDGET_STEP.ChooseAmount && trancheInfo && jsxRuntime.jsx(ChooseAmount$6, {
4716
+ }), step === WIDGET_STEP.ChooseAmount && trancheInfo && jsxRuntime.jsx(ChooseAmount$a, {
4691
4717
  poolInfo: poolInfo,
4692
4718
  poolUnderlyingToken: poolUnderlyingToken,
4693
4719
  trancheInfo: trancheInfo
4694
- }), step === WIDGET_STEP.Transfer && trancheInfo && jsxRuntime.jsx(Transfer$8, {
4720
+ }), step === WIDGET_STEP.Transfer && trancheInfo && jsxRuntime.jsx(Transfer$d, {
4695
4721
  poolInfo: poolInfo,
4696
4722
  poolUnderlyingToken: poolUnderlyingToken,
4697
4723
  trancheInfo: trancheInfo
4698
- }), step === WIDGET_STEP.Done && trancheInfo && jsxRuntime.jsx(Done$2, {
4724
+ }), step === WIDGET_STEP.Done && trancheInfo && jsxRuntime.jsx(Done$6, {
4699
4725
  handleAction: handleClose
4700
4726
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
4701
4727
  title: title,
@@ -4706,7 +4732,7 @@ function AddRedemptionV2(_ref) {
4706
4732
  });
4707
4733
  }
4708
4734
 
4709
- function Transfer$7(_ref) {
4735
+ function Transfer$c(_ref) {
4710
4736
  let {
4711
4737
  poolInfo,
4712
4738
  trancheType,
@@ -4732,7 +4758,7 @@ function Transfer$7(_ref) {
4732
4758
  });
4733
4759
  }
4734
4760
 
4735
- function Done$1(_ref) {
4761
+ function Done$5(_ref) {
4736
4762
  let {
4737
4763
  poolUnderlyingToken,
4738
4764
  redemptionInfo,
@@ -4793,11 +4819,11 @@ function CancelRedemptionV2(_ref) {
4793
4819
  loadingTitle: title,
4794
4820
  handleClose: handleClose,
4795
4821
  handleSuccess: handleRedeemSuccess,
4796
- children: [step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$7, {
4822
+ children: [step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$c, {
4797
4823
  poolInfo: poolInfo,
4798
4824
  trancheType: trancheType,
4799
4825
  redemptionInfo: redemptionInfo
4800
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$1, {
4826
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$5, {
4801
4827
  poolUnderlyingToken: poolUnderlyingToken,
4802
4828
  handleAction: handleClose,
4803
4829
  redemptionInfo: redemptionInfo
@@ -4810,7 +4836,7 @@ function CancelRedemptionV2(_ref) {
4810
4836
  });
4811
4837
  }
4812
4838
 
4813
- var _templateObject$7, _templateObject2$7;
4839
+ var _templateObject$b, _templateObject2$b;
4814
4840
  function EvaluationEA(_ref) {
4815
4841
  let {
4816
4842
  poolInfo,
@@ -4824,8 +4850,8 @@ function EvaluationEA(_ref) {
4824
4850
  } = core.useWeb3React();
4825
4851
  const [loading, setLoading] = React.useState(false);
4826
4852
  const styles = {
4827
- iconWrapper: material.css(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
4828
- description: material.css(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
4853
+ iconWrapper: material.css(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
4854
+ description: material.css(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
4829
4855
  };
4830
4856
  const approveLender = async () => {
4831
4857
  if (account) {
@@ -4920,7 +4946,7 @@ function HumaSnackBar(_ref2) {
4920
4946
  });
4921
4947
  }
4922
4948
 
4923
- var _templateObject$6, _templateObject2$6;
4949
+ var _templateObject$a, _templateObject2$a;
4924
4950
  const KYCProvider = 'Securitize';
4925
4951
  // TODO: Add copies for the other pools. Currently only the Jia pool is using the KYC process.
4926
4952
  const JiaPoolCopies = {
@@ -4986,8 +5012,8 @@ function EvaluationKYC(_ref) {
4986
5012
  const docSignatureCompleted = docSignatureStatus === 'completed';
4987
5013
  const [openSnackBar, setOpenSnackBar] = React.useState(false);
4988
5014
  const styles = {
4989
- iconWrapper: material.css(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
4990
- description: material.css(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
5015
+ iconWrapper: material.css(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
5016
+ description: material.css(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
4991
5017
  };
4992
5018
  const {
4993
5019
  envelopeKey,
@@ -5178,7 +5204,7 @@ function EvaluationKYC(_ref) {
5178
5204
  });
5179
5205
  }
5180
5206
 
5181
- function Evaluation$2(_ref) {
5207
+ function Evaluation$3(_ref) {
5182
5208
  var _poolInfo$extra;
5183
5209
  let {
5184
5210
  poolInfo,
@@ -5199,7 +5225,7 @@ function Evaluation$2(_ref) {
5199
5225
  });
5200
5226
  }
5201
5227
 
5202
- function ChooseAmount$5(_ref) {
5228
+ function ChooseAmount$9(_ref) {
5203
5229
  let {
5204
5230
  allowance,
5205
5231
  withdrawlLockoutSeconds,
@@ -5256,7 +5282,7 @@ function ApproveAllowance$4(_ref) {
5256
5282
  });
5257
5283
  }
5258
5284
 
5259
- function Transfer$6(_ref) {
5285
+ function Transfer$b(_ref) {
5260
5286
  let {
5261
5287
  poolInfo
5262
5288
  } = _ref;
@@ -5279,7 +5305,7 @@ function Transfer$6(_ref) {
5279
5305
  });
5280
5306
  }
5281
5307
 
5282
- function Success$5(_ref) {
5308
+ function Success$6(_ref) {
5283
5309
  let {
5284
5310
  poolInfo,
5285
5311
  handleAction,
@@ -5402,20 +5428,20 @@ function LendSupply(_ref) {
5402
5428
  loadingTitle: "Supply ".concat(poolInfo.poolUnderlyingToken.symbol),
5403
5429
  handleClose: handleClose,
5404
5430
  handleSuccess: handleSupplySuccess,
5405
- children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$2, {
5431
+ children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$3, {
5406
5432
  poolInfo: poolInfo,
5407
5433
  handleClose: handleClose,
5408
5434
  handleApproveSuccess: handleApproveSuccess
5409
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$5, {
5435
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$9, {
5410
5436
  poolInfo: poolInfo,
5411
5437
  allowance: allowance,
5412
5438
  underlyingTokenBalance: balanceWithoutDecimals,
5413
5439
  withdrawlLockoutSeconds: withdrawlLockoutSeconds
5414
5440
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$4, {
5415
5441
  poolInfo: poolInfo
5416
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$6, {
5442
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$b, {
5417
5443
  poolInfo: poolInfo
5418
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$5, {
5444
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$6, {
5419
5445
  poolInfo: poolInfo,
5420
5446
  handleAction: setupNotificationsOrClose,
5421
5447
  hasNextStep: isFirstTimeNotifiUser
@@ -5430,8 +5456,8 @@ function LendSupply(_ref) {
5430
5456
  });
5431
5457
  }
5432
5458
 
5433
- var _templateObject$5, _templateObject2$5, _templateObject3$4;
5434
- function ChooseTranche(_ref) {
5459
+ var _templateObject$9, _templateObject2$9, _templateObject3$8;
5460
+ function ChooseTranche$3(_ref) {
5435
5461
  let {
5436
5462
  poolUnderlyingToken,
5437
5463
  selectedTranche,
@@ -5440,9 +5466,9 @@ function ChooseTranche(_ref) {
5440
5466
  const theme = material.useTheme();
5441
5467
  const dispatch = useAppDispatch();
5442
5468
  const styles = {
5443
- subTitle: material.css(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
5444
- radioGroup: material.css(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
5445
- formControl: material.css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
5469
+ subTitle: material.css(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
5470
+ radioGroup: material.css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
5471
+ formControl: material.css(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
5446
5472
  };
5447
5473
  const handleNext = () => {
5448
5474
  dispatch(setStep(WIDGET_STEP.ChooseAmount));
@@ -5492,13 +5518,14 @@ function ChooseTranche(_ref) {
5492
5518
  });
5493
5519
  }
5494
5520
 
5495
- var _templateObject$4, _templateObject2$4, _templateObject3$3;
5521
+ var _templateObject$8, _templateObject2$8, _templateObject3$7;
5496
5522
  function PersonaEvaluation(_ref) {
5497
5523
  let {
5498
5524
  poolInfo,
5499
5525
  isUniTranche,
5500
5526
  campaign,
5501
5527
  pointsTestnetExperience,
5528
+ chainType,
5502
5529
  changeTranche,
5503
5530
  handleClose
5504
5531
  } = _ref;
@@ -5508,7 +5535,7 @@ function PersonaEvaluation(_ref) {
5508
5535
  const {
5509
5536
  account,
5510
5537
  chainId
5511
- } = core.useWeb3React();
5538
+ } = webShared.useChainInfo(isDev, chainType);
5512
5539
  const {
5513
5540
  errorType,
5514
5541
  setError: setAuthError,
@@ -5758,9 +5785,9 @@ function PersonaEvaluation(_ref) {
5758
5785
  }
5759
5786
  };
5760
5787
  const styles = {
5761
- iconWrapper: material.css(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
5762
- description: material.css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary),
5763
- points: material.css(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 700;\n "])), theme.palette.primary.main)
5788
+ iconWrapper: material.css(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
5789
+ description: material.css(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary),
5790
+ points: material.css(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 700;\n "])), theme.palette.primary.main)
5764
5791
  };
5765
5792
  if (!loadingType) {
5766
5793
  return jsxRuntime.jsxs(WrapperModal, {
@@ -5792,7 +5819,7 @@ function PersonaEvaluation(_ref) {
5792
5819
  });
5793
5820
  }
5794
5821
 
5795
- var _templateObject$3, _templateObject2$3;
5822
+ var _templateObject$7, _templateObject2$7;
5796
5823
  const LoadingCopiesByType = {
5797
5824
  verificationStatus: {
5798
5825
  description: "Checking your verification status..."
@@ -5997,8 +6024,8 @@ function SecuritizeEvaluation(_ref) {
5997
6024
  onClose: () => setOpenSnackBar(false)
5998
6025
  });
5999
6026
  const styles = {
6000
- iconWrapper: material.css(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
6001
- description: material.css(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary)
6027
+ iconWrapper: material.css(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
6028
+ description: material.css(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary)
6002
6029
  };
6003
6030
  if (!loadingType) {
6004
6031
  return jsxRuntime.jsxs(WrapperModal, {
@@ -6025,7 +6052,7 @@ function SecuritizeEvaluation(_ref) {
6025
6052
  });
6026
6053
  }
6027
6054
 
6028
- function Evaluation$1(_ref) {
6055
+ function Evaluation$2(_ref) {
6029
6056
  var _poolInfo$KYC, _poolInfo$KYC2;
6030
6057
  let {
6031
6058
  poolInfo,
@@ -6048,13 +6075,14 @@ function Evaluation$1(_ref) {
6048
6075
  isUniTranche: isUniTranche,
6049
6076
  pointsTestnetExperience: pointsTestnetExperience,
6050
6077
  campaign: campaign,
6078
+ chainType: shared.CHAIN_TYPE.EVM,
6051
6079
  changeTranche: changeTranche
6052
6080
  });
6053
6081
  }
6054
6082
  return null;
6055
6083
  }
6056
6084
 
6057
- function ChooseAmount$4(_ref) {
6085
+ function ChooseAmount$8(_ref) {
6058
6086
  let {
6059
6087
  poolInfo,
6060
6088
  lpConfig,
@@ -6154,7 +6182,7 @@ function ApproveAllowance$3(_ref) {
6154
6182
  });
6155
6183
  }
6156
6184
 
6157
- function Transfer$5(_ref) {
6185
+ function Transfer$a(_ref) {
6158
6186
  let {
6159
6187
  poolInfo,
6160
6188
  trancheType
@@ -6186,7 +6214,7 @@ function Transfer$5(_ref) {
6186
6214
  });
6187
6215
  }
6188
6216
 
6189
- function Success$4(_ref) {
6217
+ function Success$5(_ref) {
6190
6218
  let {
6191
6219
  poolInfo,
6192
6220
  lpConfig,
@@ -6249,9 +6277,9 @@ function Success$4(_ref) {
6249
6277
  }, [campaign, dispatch, handleAction, isFirstTimeNotifiUser, notifiChainSupported]);
6250
6278
  const content = ["You successfully supplied ".concat(shared.formatMoney(supplyAmount), " ").concat(symbol, ".")];
6251
6279
  const getSubContent = () => {
6252
- const redemptionTime = dayjs__default["default"]().add(lpConfig.withdrawalLockoutPeriodInDays, 'day').date(1);
6253
- const withdrawTime = redemptionTime.add(1, 'month');
6254
- return ["You can begin submitting redemption requests on ".concat(shared.timeUtil.timestampToLL(redemptionTime.unix()), ", which can be redeemed starting ").concat(shared.timeUtil.timestampToLL(withdrawTime.unix()), ".")];
6280
+ const lockupEndTime = dayjs__default["default"]().add(lpConfig.withdrawalLockoutPeriodInDays, 'day').date(1);
6281
+ const withdrawTime = lockupEndTime.add(1, 'month');
6282
+ return ["You can begin submitting redemption requests on ".concat(shared.timeUtil.timestampToLL(lockupEndTime.unix()), ", which can be redeemed starting ").concat(shared.timeUtil.timestampToLL(withdrawTime.unix()), ".")];
6255
6283
  };
6256
6284
  const getButtonText = () => {
6257
6285
  if (hasNextStep) {
@@ -6286,7 +6314,7 @@ function Notifications$1(_ref) {
6286
6314
  });
6287
6315
  }
6288
6316
 
6289
- var _templateObject$2, _templateObject2$2, _templateObject3$2, _templateObject4$1, _templateObject5, _templateObject6, _templateObject7;
6317
+ var _templateObject$6, _templateObject2$6, _templateObject3$6, _templateObject4$2, _templateObject5$1, _templateObject6$1, _templateObject7;
6290
6318
  var STATE = /*#__PURE__*/function (STATE) {
6291
6319
  STATE["Loading"] = "Loading";
6292
6320
  STATE["SignIn"] = "SignIn";
@@ -6374,12 +6402,12 @@ function PointsEarned(_ref) {
6374
6402
  handleAction();
6375
6403
  }, [dispatch, handleAction, reset]);
6376
6404
  const styles = {
6377
- wrapper: material.css(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
6378
- congrats: material.css(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteral(["\n margin: ", ";\n "])), theme.spacing(-4, -4.5, 0, -4.5)),
6379
- ribbon: material.css(_templateObject3$2 || (_templateObject3$2 = _taggedTemplateLiteral(["\n position: relative;\n ", ";\n font-weight: 700;\n margin-top: ", ";\n color: ", ";\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n "])), theme.cssMixins.rowHCentered, theme.spacing(-8), theme.palette.text.primary),
6380
- ribbonContent: material.css(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteral(["\n ", ";\n position: absolute;\n top: ", ";\n\n svg {\n margin-right: ", ";\n }\n "])), theme.cssMixins.rowVCentered, theme.spacing(1), theme.spacing(1)),
6381
- entirePoints: material.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 700;\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(7)),
6382
- entirePointsDetails: material.css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(4)),
6405
+ wrapper: material.css(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
6406
+ congrats: material.css(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteral(["\n margin: ", ";\n "])), theme.spacing(-4, -4.5, 0, -4.5)),
6407
+ ribbon: material.css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteral(["\n position: relative;\n ", ";\n font-weight: 700;\n margin-top: ", ";\n color: ", ";\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n "])), theme.cssMixins.rowHCentered, theme.spacing(-8), theme.palette.text.primary),
6408
+ ribbonContent: material.css(_templateObject4$2 || (_templateObject4$2 = _taggedTemplateLiteral(["\n ", ";\n position: absolute;\n top: ", ";\n\n svg {\n margin-right: ", ";\n }\n "])), theme.cssMixins.rowVCentered, theme.spacing(1), theme.spacing(1)),
6409
+ entirePoints: material.css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 700;\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(7)),
6410
+ entirePointsDetails: material.css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(4)),
6383
6411
  everyday: material.css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n font-weight: 700;\n "])))
6384
6412
  };
6385
6413
  if (state === STATE.SignIn) {
@@ -6511,18 +6539,18 @@ function LendSupplyV2(_ref) {
6511
6539
  loadingTitle: "Supply ".concat(poolUnderlyingToken.symbol),
6512
6540
  handleClose: handleClose,
6513
6541
  handleSuccess: handleSuccess,
6514
- children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche, {
6542
+ children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$3, {
6515
6543
  poolUnderlyingToken: poolUnderlyingToken,
6516
6544
  selectedTranche: selectedTranche,
6517
6545
  changeTranche: setSelectedTranche
6518
- }), step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$1, {
6546
+ }), step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$2, {
6519
6547
  poolInfo: poolInfo,
6520
6548
  handleClose: handleClose,
6521
6549
  isUniTranche: isUniTranche,
6522
6550
  changeTranche: setSelectedTranche,
6523
6551
  pointsTestnetExperience: pointsTestnetExperience,
6524
6552
  campaign: campaign
6525
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$4, {
6553
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$8, {
6526
6554
  poolInfo: poolInfo,
6527
6555
  lpConfig: lpConfig,
6528
6556
  juniorAssets: juniorAssets,
@@ -6531,10 +6559,10 @@ function LendSupplyV2(_ref) {
6531
6559
  isUniTranche: isUniTranche
6532
6560
  }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$3, {
6533
6561
  poolInfo: poolInfo
6534
- }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$5, {
6562
+ }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$a, {
6535
6563
  poolInfo: poolInfo,
6536
6564
  trancheType: selectedTranche
6537
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$4, {
6565
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$5, {
6538
6566
  poolInfo: poolInfo,
6539
6567
  lpConfig: lpConfig,
6540
6568
  campaign: campaign,
@@ -6599,7 +6627,7 @@ function CheckWithdrawable(_ref) {
6599
6627
  });
6600
6628
  }
6601
6629
 
6602
- function ChooseAmount$3(_ref) {
6630
+ function ChooseAmount$7(_ref) {
6603
6631
  let {
6604
6632
  lenderPosition,
6605
6633
  poolBalance,
@@ -6637,7 +6665,7 @@ function ChooseAmount$3(_ref) {
6637
6665
  });
6638
6666
  }
6639
6667
 
6640
- function Transfer$4(_ref) {
6668
+ function Transfer$9(_ref) {
6641
6669
  let {
6642
6670
  poolInfo
6643
6671
  } = _ref;
@@ -6660,7 +6688,7 @@ function Transfer$4(_ref) {
6660
6688
  });
6661
6689
  }
6662
6690
 
6663
- function Success$3(_ref) {
6691
+ function Success$4(_ref) {
6664
6692
  let {
6665
6693
  poolInfo,
6666
6694
  handleAction
@@ -6750,13 +6778,13 @@ function LendWithdraw(_ref) {
6750
6778
  children: [step === WIDGET_STEP.CheckWithdrawable && jsxRuntime.jsx(CheckWithdrawable, {
6751
6779
  poolInfo: poolInfo,
6752
6780
  handleClose: handleClose
6753
- }), step === WIDGET_STEP.ChooseAmount && lenderPosition && poolBalance && jsxRuntime.jsx(ChooseAmount$3, {
6781
+ }), step === WIDGET_STEP.ChooseAmount && lenderPosition && poolBalance && jsxRuntime.jsx(ChooseAmount$7, {
6754
6782
  poolInfo: poolInfo,
6755
6783
  lenderPosition: lenderPosition,
6756
6784
  poolBalance: poolBalance
6757
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$4, {
6785
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$9, {
6758
6786
  poolInfo: poolInfo
6759
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$3, {
6787
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$4, {
6760
6788
  poolInfo: poolInfo,
6761
6789
  handleAction: handleClose
6762
6790
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -6768,7 +6796,7 @@ function LendWithdraw(_ref) {
6768
6796
  });
6769
6797
  }
6770
6798
 
6771
- var _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4;
6799
+ var _templateObject$5, _templateObject2$5, _templateObject3$5, _templateObject4$1;
6772
6800
  function ConfirmTransfer$1(_ref) {
6773
6801
  let {
6774
6802
  poolInfo,
@@ -6810,10 +6838,10 @@ function ConfirmTransfer$1(_ref) {
6810
6838
  dispatch(setStep(WIDGET_STEP.Transfer));
6811
6839
  };
6812
6840
  const styles = {
6813
- itemWrapper: material.css(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n margin-top: ", ";\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 175%;\n letter-spacing: 0.15px;\n "])), theme.spacing(9), theme.palette.text.primary),
6814
- item: material.css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: ", ";\n "])), theme.spacing(3)),
6815
- itemValue: material.css(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral(["\n font-size: 20px;\n font-weight: 700;\n "]))),
6816
- divider: material.css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n border-color: ", ";\n margin-bottom: ", ";\n "])), theme.palette.divider, theme.spacing(3))
6841
+ itemWrapper: material.css(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral(["\n margin-top: ", ";\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 175%;\n letter-spacing: 0.15px;\n "])), theme.spacing(9), theme.palette.text.primary),
6842
+ item: material.css(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: ", ";\n "])), theme.spacing(3)),
6843
+ itemValue: material.css(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteral(["\n font-size: 20px;\n font-weight: 700;\n "]))),
6844
+ divider: material.css(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteral(["\n border-color: ", ";\n margin-bottom: ", ";\n "])), theme.palette.divider, theme.spacing(3))
6817
6845
  };
6818
6846
  return jsxRuntime.jsxs(WrapperModal, {
6819
6847
  title: "Withdraw ".concat(symbol),
@@ -6857,7 +6885,7 @@ function ConfirmTransfer$1(_ref) {
6857
6885
  });
6858
6886
  }
6859
6887
 
6860
- function Transfer$3(_ref) {
6888
+ function Transfer$8(_ref) {
6861
6889
  let {
6862
6890
  poolInfo,
6863
6891
  tranche,
@@ -6883,7 +6911,7 @@ function Transfer$3(_ref) {
6883
6911
  });
6884
6912
  }
6885
6913
 
6886
- function Done(_ref) {
6914
+ function Done$4(_ref) {
6887
6915
  let {
6888
6916
  poolUnderlyingToken,
6889
6917
  withdrawAmount,
@@ -6983,11 +7011,11 @@ function LendWithdrawV2(_ref) {
6983
7011
  redemptionStatus: redemptionStatus,
6984
7012
  poolUnderlyingToken: poolUnderlyingToken,
6985
7013
  poolIsClosed: poolIsClosed
6986
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$3, {
7014
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$8, {
6987
7015
  poolInfo: poolInfo,
6988
7016
  tranche: trancheType,
6989
7017
  poolIsClosed: poolIsClosed
6990
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done, {
7018
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$4, {
6991
7019
  poolUnderlyingToken: poolUnderlyingToken,
6992
7020
  withdrawAmount: redemptionStatus.withdrawableAssets,
6993
7021
  handleAction: handleClose
@@ -7000,7 +7028,7 @@ function LendWithdrawV2(_ref) {
7000
7028
  });
7001
7029
  }
7002
7030
 
7003
- function ChooseAmount$2(_ref) {
7031
+ function ChooseAmount$6(_ref) {
7004
7032
  let {
7005
7033
  poolInfo,
7006
7034
  poolUnderlyingToken,
@@ -7123,7 +7151,7 @@ function ApproveReceivable$1(_ref) {
7123
7151
  });
7124
7152
  }
7125
7153
 
7126
- function Transfer$2(_ref) {
7154
+ function Transfer$7(_ref) {
7127
7155
  let {
7128
7156
  poolInfo,
7129
7157
  tokenId
@@ -7168,7 +7196,7 @@ function Transfer$2(_ref) {
7168
7196
  });
7169
7197
  }
7170
7198
 
7171
- function Success$2(_ref) {
7199
+ function Success$3(_ref) {
7172
7200
  let {
7173
7201
  poolUnderlyingToken,
7174
7202
  creditRecord,
@@ -7264,7 +7292,7 @@ function ReceivableBackedCreditLineBorrowV2(_ref) {
7264
7292
  loadingTitle: "Borrow",
7265
7293
  handleClose: handleClose,
7266
7294
  handleSuccess: handleSuccessCallback,
7267
- children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$2, {
7295
+ children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$6, {
7268
7296
  poolInfo: poolInfo,
7269
7297
  poolUnderlyingToken: poolUnderlyingToken,
7270
7298
  accountStats: accountStats,
@@ -7275,10 +7303,10 @@ function ReceivableBackedCreditLineBorrowV2(_ref) {
7275
7303
  }), step === WIDGET_STEP.ApproveNFT && tokenId && jsxRuntime.jsx(ApproveReceivable$1, {
7276
7304
  poolInfo: poolInfo,
7277
7305
  tokenId: tokenId
7278
- }), step === WIDGET_STEP.Transfer && tokenId && jsxRuntime.jsx(Transfer$2, {
7306
+ }), step === WIDGET_STEP.Transfer && tokenId && jsxRuntime.jsx(Transfer$7, {
7279
7307
  poolInfo: poolInfo,
7280
7308
  tokenId: tokenId
7281
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$2, {
7309
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$3, {
7282
7310
  poolUnderlyingToken: poolUnderlyingToken,
7283
7311
  handleAction: setupNotificationsOrClose,
7284
7312
  creditRecord: accountStats.creditRecord,
@@ -7293,7 +7321,7 @@ function ReceivableBackedCreditLineBorrowV2(_ref) {
7293
7321
  });
7294
7322
  }
7295
7323
 
7296
- var _templateObject, _templateObject2, _templateObject3;
7324
+ var _templateObject$4, _templateObject2$4, _templateObject3$4;
7297
7325
  function ChoosePaymentType(_ref) {
7298
7326
  let {
7299
7327
  paymentType,
@@ -7302,9 +7330,9 @@ function ChoosePaymentType(_ref) {
7302
7330
  const theme = material.useTheme();
7303
7331
  const dispatch = useAppDispatch();
7304
7332
  const styles = {
7305
- subTitle: material.css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
7306
- radioGroup: material.css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
7307
- formControl: material.css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
7333
+ subTitle: material.css(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
7334
+ radioGroup: material.css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
7335
+ formControl: material.css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
7308
7336
  };
7309
7337
  const handleNext = () => {
7310
7338
  dispatch(setStep(WIDGET_STEP.ChooseAmount));
@@ -7349,7 +7377,7 @@ function ChoosePaymentType(_ref) {
7349
7377
  });
7350
7378
  }
7351
7379
 
7352
- function ChooseAmount$1(_ref) {
7380
+ function ChooseAmount$5(_ref) {
7353
7381
  let {
7354
7382
  payoffAmount: payoffAmountBN,
7355
7383
  poolInfo,
@@ -7531,7 +7559,7 @@ function ApproveReceivable(_ref) {
7531
7559
  });
7532
7560
  }
7533
7561
 
7534
- function Transfer$1(_ref) {
7562
+ function Transfer$6(_ref) {
7535
7563
  let {
7536
7564
  poolInfo,
7537
7565
  poolUnderlyingToken,
@@ -7589,7 +7617,7 @@ function Transfer$1(_ref) {
7589
7617
  });
7590
7618
  }
7591
7619
 
7592
- function Success$1(_ref) {
7620
+ function Success$2(_ref) {
7593
7621
  let {
7594
7622
  poolUnderlyingToken,
7595
7623
  paymentType,
@@ -7682,7 +7710,7 @@ function ReceivableBackedCreditLinePaymentV2(_ref) {
7682
7710
  children: [step === WIDGET_STEP.ChoosePaymentType && jsxRuntime.jsx(ChoosePaymentType, {
7683
7711
  paymentType: paymentType,
7684
7712
  changePaymentType: setPaymentType
7685
- }), step === WIDGET_STEP.ChooseAmount && paymentType && jsxRuntime.jsx(ChooseAmount$1, {
7713
+ }), step === WIDGET_STEP.ChooseAmount && paymentType && jsxRuntime.jsx(ChooseAmount$5, {
7686
7714
  poolInfo: poolInfo,
7687
7715
  poolUnderlyingToken: poolUnderlyingToken,
7688
7716
  payoffAmount: payoffAmount,
@@ -7698,14 +7726,14 @@ function ReceivableBackedCreditLinePaymentV2(_ref) {
7698
7726
  }), step === WIDGET_STEP.ApproveNFT && borrowTokenId && jsxRuntime.jsx(ApproveReceivable, {
7699
7727
  poolInfo: poolInfo,
7700
7728
  tokenId: borrowTokenId
7701
- }), step === WIDGET_STEP.Transfer && paymentType && jsxRuntime.jsx(Transfer$1, {
7729
+ }), step === WIDGET_STEP.Transfer && paymentType && jsxRuntime.jsx(Transfer$6, {
7702
7730
  poolInfo: poolInfo,
7703
7731
  poolUnderlyingToken: poolUnderlyingToken,
7704
7732
  paymentType: paymentType,
7705
7733
  paymentTokenId: tokenId,
7706
7734
  borrowTokenId: borrowTokenId,
7707
7735
  setSuccessTxReceipt: setSuccessTxReceipt
7708
- }), step === WIDGET_STEP.Done && paymentType && successTxReceipt && jsxRuntime.jsx(Success$1, {
7736
+ }), step === WIDGET_STEP.Done && paymentType && successTxReceipt && jsxRuntime.jsx(Success$2, {
7709
7737
  poolUnderlyingToken: poolUnderlyingToken,
7710
7738
  paymentType: paymentType,
7711
7739
  handleAction: handleClose,
@@ -7718,7 +7746,7 @@ function ReceivableBackedCreditLinePaymentV2(_ref) {
7718
7746
  });
7719
7747
  }
7720
7748
 
7721
- function Evaluation(_ref) {
7749
+ function Evaluation$1(_ref) {
7722
7750
  let {
7723
7751
  poolInfo,
7724
7752
  payerAddress,
@@ -7756,7 +7784,7 @@ function Evaluation(_ref) {
7756
7784
  });
7757
7785
  }
7758
7786
 
7759
- function ChooseAmount(_ref) {
7787
+ function ChooseAmount$4(_ref) {
7760
7788
  var _poolInfo$extra;
7761
7789
  let {
7762
7790
  poolInfo,
@@ -7942,7 +7970,7 @@ function Permit(_ref) {
7942
7970
  });
7943
7971
  }
7944
7972
 
7945
- function Transfer(_ref) {
7973
+ function Transfer$5(_ref) {
7946
7974
  let {
7947
7975
  poolInfo
7948
7976
  } = _ref;
@@ -7971,7 +7999,7 @@ function Transfer(_ref) {
7971
7999
  });
7972
8000
  }
7973
8001
 
7974
- function Success(_ref) {
8002
+ function Success$1(_ref) {
7975
8003
  let {
7976
8004
  handleAction
7977
8005
  } = _ref;
@@ -8017,11 +8045,11 @@ function StreamFactoringBorrow(_ref) {
8017
8045
  isOpen: isOpen,
8018
8046
  handleClose: handleClose,
8019
8047
  handleSuccess: handleSuccess,
8020
- children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation, {
8048
+ children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$1, {
8021
8049
  poolInfo: poolInfo,
8022
8050
  payerAddress: payerAddress,
8023
8051
  superToken: superToken
8024
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount, {
8052
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$4, {
8025
8053
  poolInfo: poolInfo,
8026
8054
  currentFlowRate: currentFlowRate
8027
8055
  }), step === WIDGET_STEP.ConfirmTransfer && jsxRuntime.jsx(ConfirmTransfer, {}), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance, {
@@ -8031,9 +8059,9 @@ function StreamFactoringBorrow(_ref) {
8031
8059
  payerAddress: payerAddress,
8032
8060
  borrower: account,
8033
8061
  superToken: superToken
8034
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer, {
8062
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$5, {
8035
8063
  poolInfo: poolInfo
8036
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success, {
8064
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$1, {
8037
8065
  handleAction: handleClose
8038
8066
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
8039
8067
  title: "Stream Borrowing",
@@ -8558,86 +8586,1512 @@ const themeHuma = material.createTheme(themeBase, {
8558
8586
  components: components(themeBase)
8559
8587
  });
8560
8588
 
8561
- function NotifiContextWrapper(_ref) {
8589
+ function Evaluation(_ref) {
8590
+ var _poolInfo$KYC;
8562
8591
  let {
8563
- chainId,
8564
- children
8592
+ poolInfo,
8593
+ isUniTranche,
8594
+ pointsTestnetExperience,
8595
+ campaign,
8596
+ changeTranche,
8597
+ handleClose
8565
8598
  } = _ref;
8566
- const {
8567
- account,
8568
- provider
8569
- } = core.useWeb3React();
8570
- const signer = React.useMemo(() => {
8571
- if (provider instanceof ethers.providers.JsonRpcProvider) {
8572
- return provider.getSigner();
8573
- }
8574
- return undefined;
8575
- }, [provider]);
8576
- if (account == null || signer == null || chainId == null) {
8577
- return null;
8578
- }
8579
- let cardId = '';
8580
- if (chainId === shared.ChainEnum.Celo || chainId === shared.ChainEnum.Alfajores) {
8581
- var _process$env$REACT_AP;
8582
- cardId = (_process$env$REACT_AP = process.env.REACT_APP_NOTIFI_CONFIG_ID_CELO) !== null && _process$env$REACT_AP !== void 0 ? _process$env$REACT_AP : '';
8583
- } else if (chainId === shared.ChainEnum.Polygon || chainId === shared.ChainEnum.Amoy) {
8584
- var _process$env$REACT_AP2;
8585
- cardId = (_process$env$REACT_AP2 = process.env.REACT_APP_NOTIFI_CONFIG_ID_POLYGON) !== null && _process$env$REACT_AP2 !== void 0 ? _process$env$REACT_AP2 : '';
8586
- } else if (chainId === shared.ChainEnum.Scroll || chainId === shared.ChainEnum.ScrollSepolia) {
8587
- var _process$env$REACT_AP3;
8588
- cardId = (_process$env$REACT_AP3 = process.env.REACT_APP_NOTIFI_CONFIG_ID_SCROLL) !== null && _process$env$REACT_AP3 !== void 0 ? _process$env$REACT_AP3 : '';
8599
+ if ((_poolInfo$KYC = poolInfo.KYC) !== null && _poolInfo$KYC !== void 0 && _poolInfo$KYC.Persona) {
8600
+ return jsxRuntime.jsx(PersonaEvaluation, {
8601
+ poolInfo: {
8602
+ KYC: poolInfo.KYC,
8603
+ juniorTrancheVault: poolInfo.juniorTrancheMint,
8604
+ seniorTrancheVault: poolInfo.seniorTrancheMint
8605
+ },
8606
+ handleClose: handleClose,
8607
+ isUniTranche: isUniTranche,
8608
+ pointsTestnetExperience: pointsTestnetExperience,
8609
+ campaign: campaign,
8610
+ chainType: shared.CHAIN_TYPE.SOLANA,
8611
+ changeTranche: changeTranche
8612
+ });
8589
8613
  }
8590
- return jsxRuntime.jsx(notifiReact.NotifiContextProvider, {
8591
- tenantId: "humafinanceprod",
8592
- env: "Production",
8593
- signMessage: async message => {
8594
- const result = await signer.signMessage(message);
8595
- return bytes.arrayify(result);
8596
- },
8597
- walletPublicKey: account,
8598
- walletBlockchain: shared.getBlockchainConfigFromChain(chainId),
8599
- cardId: cardId,
8600
- children: children
8601
- });
8602
- }
8603
-
8604
- function Widget(props) {
8605
- const {
8606
- children,
8607
- provider
8608
- } = props;
8609
- const [chainId, setChainId] = React.useState(undefined);
8610
- React.useEffect(() => {
8611
- const getChainId = async () => {
8612
- if (provider instanceof providers.JsonRpcProvider) {
8613
- const network = await provider.getNetwork();
8614
- setChainId(network === null || network === void 0 ? void 0 : network.chainId);
8615
- }
8616
- };
8617
- getChainId();
8618
- }, [provider]);
8619
- return jsxRuntime.jsx(material.ThemeProvider, {
8620
- theme: themeHuma,
8621
- children: jsxRuntime.jsx(reactRedux.Provider, {
8622
- store: store,
8623
- children: jsxRuntime.jsx(webShared.Provider, {
8624
- ...props,
8625
- defaultChainId: chainId,
8626
- children: jsxRuntime.jsx(jotai.Provider, {
8627
- children: jsxRuntime.jsx(ChainSupportProvider, {
8628
- children: jsxRuntime.jsx(NotifiContextWrapper, {
8629
- chainId: chainId,
8630
- children: children
8631
- })
8632
- })
8633
- })
8634
- })
8635
- })
8636
- });
8614
+ return null;
8637
8615
  }
8638
8616
 
8639
- /**
8640
- * Invoice factoring pool borrow widget props
8617
+ var _templateObject$3, _templateObject2$3, _templateObject3$3;
8618
+ function ChooseTranche$2(_ref) {
8619
+ let {
8620
+ poolUnderlyingToken,
8621
+ selectedTranche,
8622
+ changeTranche
8623
+ } = _ref;
8624
+ const theme = material.useTheme();
8625
+ const dispatch = useAppDispatch();
8626
+ const styles = {
8627
+ subTitle: material.css(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
8628
+ radioGroup: material.css(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
8629
+ formControl: material.css(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
8630
+ };
8631
+ const handleNext = () => {
8632
+ dispatch(setStep(WIDGET_STEP.ChooseAmount));
8633
+ };
8634
+ const items = [{
8635
+ label: 'Senior',
8636
+ value: 'senior'
8637
+ }, {
8638
+ label: 'Junior',
8639
+ value: 'junior'
8640
+ }];
8641
+ return jsxRuntime.jsxs(WrapperModal, {
8642
+ title: "Supply ".concat(poolUnderlyingToken.symbol),
8643
+ children: [jsxRuntime.jsxs(material.FormControl, {
8644
+ children: [jsxRuntime.jsx(material.FormLabel, {
8645
+ css: styles.subTitle,
8646
+ children: "Select Tranche Type"
8647
+ }), jsxRuntime.jsx(material.RadioGroup, {
8648
+ "aria-labelledby": "buttons-group-label",
8649
+ name: "radio-buttons-group",
8650
+ css: styles.radioGroup,
8651
+ onChange: e => changeTranche(e.target.value),
8652
+ children: items.map(item => jsxRuntime.jsx(material.FormControlLabel, {
8653
+ value: item.value,
8654
+ control: jsxRuntime.jsx(material.Radio, {
8655
+ sx: {
8656
+ '& .MuiSvgIcon-root': {
8657
+ fontSize: 24
8658
+ }
8659
+ }
8660
+ }),
8661
+ label: item.label,
8662
+ css: styles.formControl
8663
+ }, item.label))
8664
+ })]
8665
+ }), jsxRuntime.jsx(BottomButton, {
8666
+ variant: "contained",
8667
+ disabled: !selectedTranche,
8668
+ onClick: handleNext,
8669
+ children: "NEXT"
8670
+ })]
8671
+ });
8672
+ }
8673
+
8674
+ function ChooseAmount$3(_ref) {
8675
+ let {
8676
+ poolInfo,
8677
+ poolState,
8678
+ tokenAccount,
8679
+ selectedTranche,
8680
+ isUniTranche
8681
+ } = _ref;
8682
+ const dispatch = useAppDispatch();
8683
+ const {
8684
+ symbol,
8685
+ decimals
8686
+ } = poolInfo.underlyingMint;
8687
+ const [currentAmount, setCurrentAmount] = React.useState(0);
8688
+ const balance = tokenAccount ? new anchor.BN(tokenAccount.amount.toString()) : new anchor.BN(0);
8689
+ const {
8690
+ juniorAvailableCapBN,
8691
+ seniorAvailableCapBN
8692
+ } = React.useMemo(() => {
8693
+ const {
8694
+ maxSeniorJuniorRatio,
8695
+ liquidityCap,
8696
+ seniorTrancheAssets,
8697
+ juniorTrancheAssets
8698
+ } = poolState;
8699
+ const juniorTrancheAssetsBN = new anchor.BN(juniorTrancheAssets !== null && juniorTrancheAssets !== void 0 ? juniorTrancheAssets : 0);
8700
+ const seniorTrancheAssetsBN = new anchor.BN(seniorTrancheAssets !== null && seniorTrancheAssets !== void 0 ? seniorTrancheAssets : 0);
8701
+ const totalDeployedBN = seniorTrancheAssetsBN.add(juniorTrancheAssetsBN);
8702
+ const totalAvailableCapBN = new anchor.BN(liquidityCap !== null && liquidityCap !== void 0 ? liquidityCap : 0).sub(totalDeployedBN);
8703
+ const maxSeniorAssetsBN = juniorTrancheAssetsBN.muln(maxSeniorJuniorRatio !== null && maxSeniorJuniorRatio !== void 0 ? maxSeniorJuniorRatio : 0);
8704
+ let seniorAvailableCapBN = maxSeniorAssetsBN.sub(seniorTrancheAssetsBN);
8705
+ seniorAvailableCapBN = seniorAvailableCapBN.gt(totalAvailableCapBN) ? totalAvailableCapBN : seniorAvailableCapBN;
8706
+ return {
8707
+ juniorAvailableCapBN: totalAvailableCapBN.sub(seniorAvailableCapBN),
8708
+ seniorAvailableCapBN
8709
+ };
8710
+ }, [poolState]);
8711
+ const handleChangeAmount = newAmount => {
8712
+ setCurrentAmount(newAmount);
8713
+ dispatch(setSupplyAmount(Number(newAmount)));
8714
+ };
8715
+ const handleAction = () => {
8716
+ dispatch(setStep(WIDGET_STEP.Transfer));
8717
+ };
8718
+ const getTrancheCap = () => {
8719
+ if (selectedTranche === 'junior') {
8720
+ return juniorAvailableCapBN;
8721
+ }
8722
+ return seniorAvailableCapBN;
8723
+ };
8724
+ const getMinAmount = () => {
8725
+ const minAmount = poolState.minDepositAmount ? shared.SolanaTokenUtils.formatUnits(new anchor.BN(poolState.minDepositAmount), decimals) : 0;
8726
+ return Math.max(0, Math.ceil(Number(minAmount)));
8727
+ };
8728
+ const getMaxAmount = () => {
8729
+ const trancheCap = getTrancheCap();
8730
+ return balance.gt(trancheCap) ? trancheCap : balance;
8731
+ };
8732
+ const getInfos = () => {
8733
+ const trancheCap = getTrancheCap();
8734
+ const currentAmountBN = shared.SolanaTokenUtils.parseUnits(String(currentAmount), decimals);
8735
+ const remainingCap = trancheCap.sub(currentAmountBN);
8736
+ if (remainingCap.ltn(0)) {
8737
+ return ['0 remaining capacity'];
8738
+ }
8739
+ return ["".concat(shared.formatNumber(shared.SolanaTokenUtils.formatUnits(remainingCap, decimals)), " remaining capacity")];
8740
+ };
8741
+ return jsxRuntime.jsx(InputAmountModal, {
8742
+ title: "Enter Amount",
8743
+ subTitle: "Depositing to ".concat(isUniTranche ? 'uni tranche' : selectedTranche, " tranche"),
8744
+ tokenSymbol: symbol,
8745
+ currentAmount: currentAmount,
8746
+ handleChangeAmount: handleChangeAmount,
8747
+ minimumAmount: getMinAmount(),
8748
+ maxAmount: Number(shared.SolanaTokenUtils.formatUnits(getMaxAmount(), decimals)),
8749
+ maxAmountTitle: "".concat(shared.formatNumber(shared.SolanaTokenUtils.formatUnits(balance, decimals)), " balance"),
8750
+ infos: getInfos(),
8751
+ handleAction: handleAction,
8752
+ actionText: "SUPPLY"
8753
+ });
8754
+ }
8755
+
8756
+ function SolanaViewOnExplorer(_ref) {
8757
+ let {
8758
+ chainId,
8759
+ signature
8760
+ } = _ref;
8761
+ const link = shared.getSolanaExplorerUrl(chainId, signature, 'tx');
8762
+ if (!link) {
8763
+ return null;
8764
+ }
8765
+ return jsxRuntime.jsx(material.Button, {
8766
+ fullWidth: true,
8767
+ variant: "outlined",
8768
+ onClick: () => shared.openInNewTab(link),
8769
+ children: jsxRuntime.jsx(material.Box, {
8770
+ component: "span",
8771
+ children: "VIEW ON EXPLORER"
8772
+ })
8773
+ });
8774
+ }
8775
+
8776
+ function SolanaTxSendModal(_ref) {
8777
+ let {
8778
+ chainId,
8779
+ tx,
8780
+ handleSuccess
8781
+ } = _ref;
8782
+ const dispatch = useAppDispatch();
8783
+ const {
8784
+ sendTransaction
8785
+ } = walletAdapterReact.useWallet();
8786
+ const {
8787
+ connection
8788
+ } = walletAdapterReact.useConnection();
8789
+ const [signature, setSignature] = React.useState('');
8790
+ React.useEffect(() => {
8791
+ async function sendTx() {
8792
+ if (!connection || !tx) {
8793
+ return;
8794
+ }
8795
+ try {
8796
+ const latestBlockHash = await connection.getLatestBlockhash();
8797
+ const signature = await sendTransaction(tx, connection);
8798
+ setSignature(signature);
8799
+ dispatch(setSolanaSignature(signature));
8800
+ await connection.confirmTransaction({
8801
+ blockhash: latestBlockHash.blockhash,
8802
+ lastValidBlockHeight: latestBlockHash.lastValidBlockHeight,
8803
+ signature
8804
+ });
8805
+ handleSuccess();
8806
+ } catch (error) {
8807
+ const err = error;
8808
+ dispatch(setError({
8809
+ errorMessage: (err === null || err === void 0 ? void 0 : err.message) || ''
8810
+ }));
8811
+ }
8812
+ }
8813
+ sendTx();
8814
+ }, [connection, dispatch, handleSuccess, sendTransaction, tx]);
8815
+ return jsxRuntime.jsx(LoadingModal, {
8816
+ title: "Transaction Pending",
8817
+ description: "Waiting for confirmation...",
8818
+ children: jsxRuntime.jsx(SolanaViewOnExplorer, {
8819
+ chainId: chainId,
8820
+ signature: signature
8821
+ })
8822
+ });
8823
+ }
8824
+
8825
+ function Transfer$4(_ref) {
8826
+ let {
8827
+ poolInfo,
8828
+ selectedTranche
8829
+ } = _ref;
8830
+ const dispatch = useAppDispatch();
8831
+ const {
8832
+ publicKey
8833
+ } = walletAdapterReact.useWallet();
8834
+ const {
8835
+ supplyAmount
8836
+ } = useAppSelector(selectWidgetState);
8837
+ const {
8838
+ decimals
8839
+ } = poolInfo.underlyingMint;
8840
+ const supplyBigNumber = shared.SolanaTokenUtils.parseUnits(String(supplyAmount), decimals);
8841
+ const [transaction, setTransaction] = React.useState();
8842
+ const {
8843
+ juniorLenderApprovedAccountPDA,
8844
+ seniorLenderApprovedAccountPDA,
8845
+ seniorLenderStateAccount,
8846
+ juniorLenderStateAccount,
8847
+ loading: isLoadingLenderAccounts
8848
+ } = webShared.useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
8849
+ const program = webShared.useHumaProgram(poolInfo.chainId);
8850
+ const handleSuccess = React.useCallback(() => {
8851
+ dispatch(setStep(WIDGET_STEP.Done));
8852
+ }, [dispatch]);
8853
+ React.useEffect(() => {
8854
+ async function getTx() {
8855
+ if (!publicKey || transaction || isLoadingLenderAccounts) {
8856
+ return;
8857
+ }
8858
+ const tx = new web3_js.Transaction();
8859
+ const {
8860
+ underlyingTokenATA,
8861
+ seniorTrancheATA,
8862
+ juniorTrancheATA
8863
+ } = shared.getTokenAccounts(poolInfo, publicKey);
8864
+ if (selectedTranche === 'senior' && !seniorLenderStateAccount || selectedTranche === 'junior' && !juniorLenderStateAccount) {
8865
+ const createLenderAccountsTx = await program.methods.createLenderAccounts().accountsPartial({
8866
+ lender: publicKey,
8867
+ humaConfig: poolInfo.humaConfig,
8868
+ poolConfig: poolInfo.poolConfig,
8869
+ approvedLender: selectedTranche === 'senior' ? seniorLenderApprovedAccountPDA : juniorLenderApprovedAccountPDA,
8870
+ trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
8871
+ lenderTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
8872
+ tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
8873
+ }).transaction();
8874
+ tx.add(createLenderAccountsTx);
8875
+ }
8876
+ const depositTx = await program.methods.deposit(supplyBigNumber).accountsPartial({
8877
+ depositor: publicKey,
8878
+ poolConfig: poolInfo.poolConfig,
8879
+ underlyingMint: poolInfo.underlyingMint.address,
8880
+ trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
8881
+ poolUnderlyingToken: poolInfo.poolUnderlyingTokenAccount,
8882
+ depositorUnderlyingToken: underlyingTokenATA,
8883
+ depositorTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
8884
+ humaConfig: poolInfo.humaConfig,
8885
+ tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
8886
+ }).transaction();
8887
+ tx.add(depositTx);
8888
+ setTransaction(tx);
8889
+ }
8890
+ getTx();
8891
+ }, [isLoadingLenderAccounts, juniorLenderApprovedAccountPDA, juniorLenderStateAccount, poolInfo, program.methods, publicKey, selectedTranche, seniorLenderApprovedAccountPDA, seniorLenderStateAccount, supplyBigNumber, transaction]);
8892
+ if (isLoadingLenderAccounts) {
8893
+ return jsxRuntime.jsx(LoadingModal, {
8894
+ title: "Supply"
8895
+ });
8896
+ }
8897
+ return jsxRuntime.jsx(SolanaTxSendModal, {
8898
+ tx: transaction,
8899
+ chainId: poolInfo.chainId,
8900
+ handleSuccess: handleSuccess
8901
+ });
8902
+ }
8903
+
8904
+ var _templateObject$2, _templateObject2$2, _templateObject3$2, _templateObject4, _templateObject5, _templateObject6;
8905
+ function SolanaTxDoneModal(_ref) {
8906
+ let {
8907
+ content,
8908
+ subContent,
8909
+ handleAction,
8910
+ solanaSignature,
8911
+ chainId,
8912
+ buttonText
8913
+ } = _ref;
8914
+ const theme = material.useTheme();
8915
+ const dispatch = useAppDispatch();
8916
+ const styles = {
8917
+ wrapper: material.css(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
8918
+ header: material.css(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
8919
+ content: material.css(_templateObject3$2 || (_templateObject3$2 = _taggedTemplateLiteral(["\n ", ";\n font-weight: ", ";\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, subContent ? 700 : 400, theme.palette.text.secondary, theme.spacing(8)),
8920
+ subContent: material.css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, theme.palette.text.primary, theme.spacing(2)),
8921
+ check: material.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10)),
8922
+ bottomButtonGroup: material.css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n display: flex;\n row-gap: ", ";\n column-gap: ", ";\n\n button {\n height: 40px;\n margin-top: ", ";\n }\n "])), theme.spacing(1), theme.spacing(1), theme.spacing(1))
8923
+ };
8924
+ const handleCloseModal = React.useCallback(() => {
8925
+ dispatch(resetState());
8926
+ handleAction();
8927
+ }, [dispatch, handleAction]);
8928
+ return jsxRuntime.jsxs(material.Box, {
8929
+ css: styles.wrapper,
8930
+ children: [jsxRuntime.jsx(material.Typography, {
8931
+ variant: "h6",
8932
+ css: styles.header,
8933
+ children: "Transaction Completed"
8934
+ }), jsxRuntime.jsx(material.Box, {
8935
+ css: styles.check,
8936
+ children: jsxRuntime.jsx(CheckIcon, {})
8937
+ }), jsxRuntime.jsx(material.Box, {
8938
+ css: styles.content,
8939
+ children: content.map(item => jsxRuntime.jsx(material.Box, {
8940
+ sx: {
8941
+ marginTop: theme.spacing(1)
8942
+ },
8943
+ children: item
8944
+ }, item))
8945
+ }), subContent && jsxRuntime.jsx(material.Box, {
8946
+ css: styles.subContent,
8947
+ children: subContent.map(item => jsxRuntime.jsx(material.Box, {
8948
+ sx: {
8949
+ marginTop: theme.spacing(1)
8950
+ },
8951
+ children: item
8952
+ }, item))
8953
+ }), jsxRuntime.jsxs(material.Box, {
8954
+ css: styles.bottomButtonGroup,
8955
+ children: [solanaSignature && chainId && jsxRuntime.jsx(SolanaViewOnExplorer, {
8956
+ signature: solanaSignature,
8957
+ chainId: chainId
8958
+ }), jsxRuntime.jsx(material.Button, {
8959
+ className: "transaction-done-modal-close-btn",
8960
+ variant: "contained",
8961
+ fullWidth: true,
8962
+ onClick: handleCloseModal,
8963
+ children: !buttonText ? 'DONE' : buttonText
8964
+ })]
8965
+ })]
8966
+ });
8967
+ }
8968
+
8969
+ function Success(_ref) {
8970
+ let {
8971
+ poolInfo,
8972
+ poolState,
8973
+ handleAction
8974
+ } = _ref;
8975
+ const {
8976
+ supplyAmount,
8977
+ solanaSignature
8978
+ } = useAppSelector(selectWidgetState);
8979
+ const {
8980
+ symbol
8981
+ } = poolInfo.underlyingMint;
8982
+ const content = ["You successfully supplied ".concat(shared.formatMoney(supplyAmount), " ").concat(symbol, ".")];
8983
+ const getSubContent = () => {
8984
+ var _poolState$withdrawal;
8985
+ const lockupEndTime = dayjs__default["default"]().add((_poolState$withdrawal = poolState.withdrawalLockupPeriodDays) !== null && _poolState$withdrawal !== void 0 ? _poolState$withdrawal : 0, 'day').date(1);
8986
+ const withdrawTime = lockupEndTime.add(1, 'month');
8987
+ return ["You can begin submitting redemption requests on ".concat(shared.timeUtil.timestampToLL(lockupEndTime.unix()), ", which can be redeemed starting ").concat(shared.timeUtil.timestampToLL(withdrawTime.unix()), ".")];
8988
+ };
8989
+ return jsxRuntime.jsx(SolanaTxDoneModal, {
8990
+ handleAction: handleAction,
8991
+ content: content,
8992
+ subContent: getSubContent(),
8993
+ chainId: poolInfo.chainId,
8994
+ solanaSignature: solanaSignature,
8995
+ buttonText: "DONE"
8996
+ });
8997
+ }
8998
+
8999
+ function SolanaLendSupply(_ref) {
9000
+ let {
9001
+ poolInfo,
9002
+ poolState,
9003
+ pointsTestnetExperience,
9004
+ handleClose,
9005
+ handleSuccess
9006
+ } = _ref;
9007
+ const dispatch = reactRedux.useDispatch();
9008
+ const {
9009
+ isUniTranche
9010
+ } = poolState;
9011
+ const {
9012
+ seniorLenderApproved,
9013
+ juniorLenderApproved,
9014
+ loading: isLoadingLenderAccounts
9015
+ } = webShared.useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
9016
+ const [tokenAccount, isLoadingTokenAccount] = webShared.useTokenAccount(poolInfo);
9017
+ const {
9018
+ step,
9019
+ errorMessage
9020
+ } = useAppSelector(selectWidgetState);
9021
+ const [selectedTranche, setSelectedTranche] = React.useState();
9022
+ React.useEffect(() => {
9023
+ if (!step && !isLoadingLenderAccounts && !isLoadingTokenAccount) {
9024
+ if (!juniorLenderApproved && !seniorLenderApproved) {
9025
+ dispatch(setStep(WIDGET_STEP.Evaluation));
9026
+ return;
9027
+ }
9028
+ if (juniorLenderApproved && !seniorLenderApproved) {
9029
+ setSelectedTranche('junior');
9030
+ dispatch(setStep(WIDGET_STEP.ChooseAmount));
9031
+ return;
9032
+ }
9033
+ if (seniorLenderApproved && !juniorLenderApproved) {
9034
+ setSelectedTranche('senior');
9035
+ dispatch(setStep(WIDGET_STEP.ChooseAmount));
9036
+ return;
9037
+ }
9038
+ if (juniorLenderApproved && seniorLenderApproved) {
9039
+ dispatch(setStep(WIDGET_STEP.ChooseTranche));
9040
+ }
9041
+ }
9042
+ }, [dispatch, handleClose, poolInfo, step, isLoadingLenderAccounts, juniorLenderApproved, seniorLenderApproved, isLoadingTokenAccount]);
9043
+ if (isLoadingLenderAccounts || isLoadingTokenAccount) {
9044
+ return jsxRuntime.jsx(WidgetWrapper, {
9045
+ isOpen: true,
9046
+ isLoading: true,
9047
+ loadingTitle: "Supply",
9048
+ handleClose: handleClose,
9049
+ handleSuccess: handleSuccess
9050
+ });
9051
+ }
9052
+ return jsxRuntime.jsxs(WidgetWrapper, {
9053
+ isOpen: true,
9054
+ loadingTitle: "Supply ".concat(poolInfo.underlyingMint.symbol),
9055
+ handleClose: handleClose,
9056
+ handleSuccess: handleSuccess,
9057
+ children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation, {
9058
+ poolInfo: poolInfo,
9059
+ isUniTranche: !!isUniTranche,
9060
+ pointsTestnetExperience: pointsTestnetExperience,
9061
+ handleClose: handleClose,
9062
+ changeTranche: setSelectedTranche
9063
+ }), step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$2, {
9064
+ poolUnderlyingToken: poolInfo.underlyingMint,
9065
+ selectedTranche: selectedTranche,
9066
+ changeTranche: setSelectedTranche
9067
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$3, {
9068
+ poolInfo: poolInfo,
9069
+ poolState: poolState,
9070
+ tokenAccount: tokenAccount,
9071
+ selectedTranche: selectedTranche,
9072
+ isUniTranche: isUniTranche
9073
+ }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$4, {
9074
+ poolInfo: poolInfo,
9075
+ selectedTranche: selectedTranche
9076
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success, {
9077
+ poolInfo: poolInfo,
9078
+ poolState: poolState,
9079
+ handleAction: handleClose
9080
+ }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
9081
+ title: "Supply",
9082
+ errorReason: "Sorry there was an error",
9083
+ errorMessage: errorMessage,
9084
+ handleOk: handleClose
9085
+ })]
9086
+ });
9087
+ }
9088
+
9089
+ function ChooseAmount$2(_ref) {
9090
+ let {
9091
+ poolInfo,
9092
+ poolState,
9093
+ selectedTranche,
9094
+ lenderState
9095
+ } = _ref;
9096
+ const dispatch = useAppDispatch();
9097
+ const {
9098
+ symbol
9099
+ } = poolInfo.underlyingMint;
9100
+ const [currentAmount, setCurrentAmount] = React.useState(0);
9101
+ const [currentShares, setCurrentShares] = React.useState(0);
9102
+ const {
9103
+ mintAccount,
9104
+ loading: isLoadingTrancheMintAccounts
9105
+ } = webShared.useTrancheMintAccounts(poolInfo, selectedTranche);
9106
+ const {
9107
+ seniorTokenAccount,
9108
+ juniorTokenAccount,
9109
+ loading: isLoadingTokenAccounts
9110
+ } = webShared.useTrancheTokenAccounts(poolInfo);
9111
+ const maxSharesFormatted = React.useMemo(() => {
9112
+ var _seniorTokenAccount$a, _seniorTokenAccount$a2, _juniorTokenAccount$a, _juniorTokenAccount$a2;
9113
+ if (!(mintAccount !== null && mintAccount !== void 0 && mintAccount.decimals)) {
9114
+ return 0;
9115
+ }
9116
+ return shared.SolanaTokenUtils.formatUnits(selectedTranche === 'senior' ? new anchor.BN((_seniorTokenAccount$a = seniorTokenAccount === null || seniorTokenAccount === void 0 || (_seniorTokenAccount$a2 = seniorTokenAccount.amount) === null || _seniorTokenAccount$a2 === void 0 ? void 0 : _seniorTokenAccount$a2.toString()) !== null && _seniorTokenAccount$a !== void 0 ? _seniorTokenAccount$a : 0) : new anchor.BN((_juniorTokenAccount$a = juniorTokenAccount === null || juniorTokenAccount === void 0 || (_juniorTokenAccount$a2 = juniorTokenAccount.amount) === null || _juniorTokenAccount$a2 === void 0 ? void 0 : _juniorTokenAccount$a2.toString()) !== null && _juniorTokenAccount$a !== void 0 ? _juniorTokenAccount$a : 0), mintAccount.decimals);
9117
+ }, [mintAccount, juniorTokenAccount === null || juniorTokenAccount === void 0 ? void 0 : juniorTokenAccount.amount, selectedTranche, seniorTokenAccount === null || seniorTokenAccount === void 0 ? void 0 : seniorTokenAccount.amount]);
9118
+ const sharePrice = React.useMemo(() => {
9119
+ var _poolState$seniorTran, _poolState$juniorTran;
9120
+ if (!(mintAccount !== null && mintAccount !== void 0 && mintAccount.decimals) || !(mintAccount !== null && mintAccount !== void 0 && mintAccount.supply)) {
9121
+ return 0;
9122
+ }
9123
+ const mintSupplyFormatted = Number(shared.SolanaTokenUtils.formatUnits(new anchor.BN(mintAccount.supply.toString()), mintAccount.decimals));
9124
+ if (mintSupplyFormatted === 0) {
9125
+ return 0;
9126
+ }
9127
+ const seniorTrancheAssetsFormatted = Number(shared.SolanaTokenUtils.formatUnits(new anchor.BN((_poolState$seniorTran = poolState === null || poolState === void 0 ? void 0 : poolState.seniorTrancheAssets) !== null && _poolState$seniorTran !== void 0 ? _poolState$seniorTran : 0), mintAccount.decimals));
9128
+ if (selectedTranche === 'senior') {
9129
+ return seniorTrancheAssetsFormatted / mintSupplyFormatted;
9130
+ }
9131
+ const juniorTrancheAssetsFormatted = Number(shared.SolanaTokenUtils.formatUnits(new anchor.BN((_poolState$juniorTran = poolState === null || poolState === void 0 ? void 0 : poolState.juniorTrancheAssets) !== null && _poolState$juniorTran !== void 0 ? _poolState$juniorTran : 0), mintAccount.decimals));
9132
+ return juniorTrancheAssetsFormatted / mintSupplyFormatted;
9133
+ }, [mintAccount === null || mintAccount === void 0 ? void 0 : mintAccount.decimals, mintAccount === null || mintAccount === void 0 ? void 0 : mintAccount.supply, poolState === null || poolState === void 0 ? void 0 : poolState.juniorTrancheAssets, poolState === null || poolState === void 0 ? void 0 : poolState.seniorTrancheAssets, selectedTranche]);
9134
+ React.useEffect(() => {
9135
+ if (poolState !== null && poolState !== void 0 && poolState.withdrawalLockupPeriodDays && poolState !== null && poolState !== void 0 && poolState.epochEndTime && lenderState) {
9136
+ const SECONDS_IN_A_DAY = 24 * 60 * 60;
9137
+ const lastDepositTime = Number(lenderState.depositRecord.lastDepositTime);
9138
+ const lockupEndTime = lastDepositTime + poolState.withdrawalLockupPeriodDays * SECONDS_IN_A_DAY;
9139
+ if (poolState.epochEndTime < lockupEndTime) {
9140
+ const lockupEndTimeDayjs = dayjs__default["default"].unix(lockupEndTime).date(1);
9141
+ dispatch(setStep(WIDGET_STEP.Error));
9142
+ dispatch(setError({
9143
+ errorReason: 'Redemption too soon',
9144
+ errorMessage: "Your last deposit was on ".concat(shared.timestampToLL(lastDepositTime), ". You can redeem on ").concat(shared.timestampToLL(lockupEndTimeDayjs.unix()), ".")
9145
+ }));
9146
+ }
9147
+ }
9148
+ }, [dispatch, lenderState, poolState.epochEndTime, poolState.withdrawalLockupPeriodDays]);
9149
+ const handleChangeShares = newShares => {
9150
+ const amount = Number(newShares) * sharePrice;
9151
+ setCurrentShares(Number(newShares));
9152
+ setCurrentAmount(amount);
9153
+ dispatch(setRedeemShares(Number(newShares)));
9154
+ dispatch(setRedeemAmount(amount));
9155
+ };
9156
+ const handleAction = () => {
9157
+ dispatch(setStep(WIDGET_STEP.Transfer));
9158
+ };
9159
+ if (isLoadingTokenAccounts || isLoadingTrancheMintAccounts || !lenderState || (poolState === null || poolState === void 0 ? void 0 : poolState.withdrawalLockupPeriodDays) === undefined ||
9160
+ // withdrawalLockupPeriodDays can be 0
9161
+ !(poolState !== null && poolState !== void 0 && poolState.epochEndTime)) {
9162
+ return jsxRuntime.jsx(LoadingModal, {
9163
+ title: "Redemption"
9164
+ });
9165
+ }
9166
+ return jsxRuntime.jsx(InputAmountModal, {
9167
+ title: "Redemption",
9168
+ subTitle: "Enter number of shares to redeem from the ".concat(selectedTranche, " tranche"),
9169
+ tokenSymbol: symbol,
9170
+ currentAmount: currentShares,
9171
+ handleChangeAmount: handleChangeShares,
9172
+ maxAmount: maxSharesFormatted,
9173
+ infos: ["".concat(String(shared.formatNumber(currentAmount)), " ").concat(symbol)],
9174
+ maxAmountTitle: "".concat(shared.formatNumber(maxSharesFormatted), " Shares"),
9175
+ suffix: "Shares",
9176
+ handleAction: handleAction,
9177
+ actionText: "REQUEST"
9178
+ });
9179
+ }
9180
+
9181
+ var _templateObject$1, _templateObject2$1, _templateObject3$1;
9182
+ function ChooseTranche$1(_ref) {
9183
+ let {
9184
+ selectedTranche,
9185
+ changeTranche
9186
+ } = _ref;
9187
+ const theme = material.useTheme();
9188
+ const dispatch = useAppDispatch();
9189
+ const styles = {
9190
+ subTitle: material.css(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
9191
+ radioGroup: material.css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
9192
+ formControl: material.css(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
9193
+ };
9194
+ const handleNext = () => {
9195
+ dispatch(setStep(WIDGET_STEP.ChooseAmount));
9196
+ };
9197
+ const items = [{
9198
+ label: 'Senior',
9199
+ value: 'senior'
9200
+ }, {
9201
+ label: 'Junior',
9202
+ value: 'junior'
9203
+ }];
9204
+ return jsxRuntime.jsxs(WrapperModal, {
9205
+ title: "Redemption",
9206
+ children: [jsxRuntime.jsxs(material.FormControl, {
9207
+ children: [jsxRuntime.jsx(material.FormLabel, {
9208
+ css: styles.subTitle,
9209
+ children: "Select Tranche Type"
9210
+ }), jsxRuntime.jsx(material.RadioGroup, {
9211
+ "aria-labelledby": "buttons-group-label",
9212
+ name: "radio-buttons-group",
9213
+ css: styles.radioGroup,
9214
+ onChange: e => changeTranche(e.target.value),
9215
+ children: items.map(item => jsxRuntime.jsx(material.FormControlLabel, {
9216
+ value: item.value,
9217
+ control: jsxRuntime.jsx(material.Radio, {
9218
+ sx: {
9219
+ '& .MuiSvgIcon-root': {
9220
+ fontSize: 24
9221
+ }
9222
+ }
9223
+ }),
9224
+ label: item.label,
9225
+ css: styles.formControl
9226
+ }, item.label))
9227
+ })]
9228
+ }), jsxRuntime.jsx(BottomButton, {
9229
+ variant: "contained",
9230
+ disabled: !selectedTranche,
9231
+ onClick: handleNext,
9232
+ children: "NEXT"
9233
+ })]
9234
+ });
9235
+ }
9236
+
9237
+ function Done$3(_ref) {
9238
+ let {
9239
+ poolInfo,
9240
+ handleAction
9241
+ } = _ref;
9242
+ const {
9243
+ redeemShares,
9244
+ solanaSignature
9245
+ } = useAppSelector(selectWidgetState);
9246
+ const content = ["".concat(shared.formatNumber(redeemShares), " shares requested for redemption")];
9247
+ return jsxRuntime.jsx(SolanaTxDoneModal, {
9248
+ handleAction: handleAction,
9249
+ content: content,
9250
+ chainId: poolInfo.chainId,
9251
+ solanaSignature: solanaSignature,
9252
+ buttonText: "DONE"
9253
+ });
9254
+ }
9255
+
9256
+ function Transfer$3(_ref) {
9257
+ let {
9258
+ poolInfo,
9259
+ selectedTranche
9260
+ } = _ref;
9261
+ const dispatch = useAppDispatch();
9262
+ const {
9263
+ publicKey
9264
+ } = walletAdapterReact.useWallet();
9265
+ const {
9266
+ redeemShares
9267
+ } = useAppSelector(selectWidgetState);
9268
+ const {
9269
+ mintAccount
9270
+ } = webShared.useTrancheMintAccounts(poolInfo, selectedTranche);
9271
+ const [transaction, setTransaction] = React.useState();
9272
+ const program = webShared.useHumaProgram(poolInfo.chainId);
9273
+ const redeemBN = React.useMemo(() => {
9274
+ if (!mintAccount) {
9275
+ return null;
9276
+ }
9277
+ return shared.SolanaTokenUtils.parseUnits(String(redeemShares), mintAccount === null || mintAccount === void 0 ? void 0 : mintAccount.decimals);
9278
+ }, [mintAccount, redeemShares]);
9279
+ const handleSuccess = React.useCallback(() => {
9280
+ dispatch(setStep(WIDGET_STEP.Done));
9281
+ }, [dispatch]);
9282
+ React.useEffect(() => {
9283
+ async function getTx() {
9284
+ if (!publicKey || !redeemBN || transaction) {
9285
+ return;
9286
+ }
9287
+ const {
9288
+ seniorTrancheATA,
9289
+ juniorTrancheATA,
9290
+ poolSeniorTrancheATA,
9291
+ poolJuniorTrancheATA
9292
+ } = shared.getTokenAccounts(poolInfo, publicKey);
9293
+ const tx = await program.methods.addRedemptionRequest(redeemBN).accountsPartial({
9294
+ lender: publicKey,
9295
+ humaConfig: poolInfo.humaConfig,
9296
+ poolConfig: poolInfo.poolConfig,
9297
+ trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
9298
+ poolTrancheToken: selectedTranche === 'senior' ? poolSeniorTrancheATA : poolJuniorTrancheATA,
9299
+ lenderTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
9300
+ tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
9301
+ }).transaction();
9302
+ setTransaction(tx);
9303
+ }
9304
+ getTx();
9305
+ }, [poolInfo, program.methods, publicKey, redeemBN, selectedTranche, transaction]);
9306
+ return jsxRuntime.jsx(SolanaTxSendModal, {
9307
+ tx: transaction,
9308
+ chainId: poolInfo.chainId,
9309
+ handleSuccess: handleSuccess
9310
+ });
9311
+ }
9312
+
9313
+ function SolanaLendAddRedemption(_ref) {
9314
+ let {
9315
+ poolInfo,
9316
+ poolState,
9317
+ tranche,
9318
+ handleClose,
9319
+ handleSuccess
9320
+ } = _ref;
9321
+ const dispatch = reactRedux.useDispatch();
9322
+ const {
9323
+ seniorLenderStateAccount,
9324
+ juniorLenderStateAccount,
9325
+ loading: isLoadingLenderAccounts
9326
+ } = webShared.useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
9327
+ const {
9328
+ seniorTokenAccount,
9329
+ juniorTokenAccount,
9330
+ loading: isLoadingTokenAccounts
9331
+ } = webShared.useTrancheTokenAccounts(poolInfo);
9332
+ const {
9333
+ step,
9334
+ errorMessage
9335
+ } = useAppSelector(selectWidgetState);
9336
+ const [selectedTranche, setSelectedTranche] = React.useState(tranche);
9337
+ React.useEffect(() => {
9338
+ if (!step && !isLoadingLenderAccounts && !isLoadingTokenAccounts) {
9339
+ var _seniorTokenAccount$a, _seniorTokenAccount$a2, _juniorTokenAccount$a, _juniorTokenAccount$a2;
9340
+ const seniorTrancheShares = new anchor.BN((_seniorTokenAccount$a = seniorTokenAccount === null || seniorTokenAccount === void 0 || (_seniorTokenAccount$a2 = seniorTokenAccount.amount) === null || _seniorTokenAccount$a2 === void 0 ? void 0 : _seniorTokenAccount$a2.toString()) !== null && _seniorTokenAccount$a !== void 0 ? _seniorTokenAccount$a : 0);
9341
+ const juniorTrancheShares = new anchor.BN((_juniorTokenAccount$a = juniorTokenAccount === null || juniorTokenAccount === void 0 || (_juniorTokenAccount$a2 = juniorTokenAccount.amount) === null || _juniorTokenAccount$a2 === void 0 ? void 0 : _juniorTokenAccount$a2.toString()) !== null && _juniorTokenAccount$a !== void 0 ? _juniorTokenAccount$a : 0);
9342
+ if (selectedTranche) {
9343
+ dispatch(setStep(WIDGET_STEP.ChooseAmount));
9344
+ return;
9345
+ }
9346
+ if (juniorTrancheShares.gtn(0) && seniorTrancheShares.lten(0)) {
9347
+ setSelectedTranche('junior');
9348
+ dispatch(setStep(WIDGET_STEP.ChooseAmount));
9349
+ return;
9350
+ }
9351
+ if (seniorTrancheShares.gtn(0) && juniorTrancheShares.lten(0)) {
9352
+ setSelectedTranche('senior');
9353
+ dispatch(setStep(WIDGET_STEP.ChooseAmount));
9354
+ return;
9355
+ }
9356
+ if (seniorTrancheShares.gtn(0) && juniorTrancheShares.gtn(0)) {
9357
+ dispatch(setStep(WIDGET_STEP.ChooseTranche));
9358
+ }
9359
+ }
9360
+ }, [dispatch, step, isLoadingLenderAccounts, isLoadingTokenAccounts, seniorTokenAccount === null || seniorTokenAccount === void 0 ? void 0 : seniorTokenAccount.amount, juniorTokenAccount === null || juniorTokenAccount === void 0 ? void 0 : juniorTokenAccount.amount, selectedTranche]);
9361
+ const title = 'Redemption';
9362
+ if (isLoadingLenderAccounts || isLoadingTokenAccounts) {
9363
+ return jsxRuntime.jsx(WidgetWrapper, {
9364
+ isOpen: true,
9365
+ isLoading: true,
9366
+ loadingTitle: title,
9367
+ handleClose: handleClose,
9368
+ handleSuccess: handleSuccess
9369
+ });
9370
+ }
9371
+ return jsxRuntime.jsxs(WidgetWrapper, {
9372
+ isOpen: true,
9373
+ loadingTitle: title,
9374
+ handleClose: handleClose,
9375
+ handleSuccess: handleSuccess,
9376
+ children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$1, {
9377
+ selectedTranche: selectedTranche,
9378
+ changeTranche: setSelectedTranche
9379
+ }), step === WIDGET_STEP.ChooseAmount && selectedTranche && jsxRuntime.jsx(ChooseAmount$2, {
9380
+ poolInfo: poolInfo,
9381
+ poolState: poolState,
9382
+ lenderState: selectedTranche === 'senior' ? seniorLenderStateAccount : juniorLenderStateAccount,
9383
+ selectedTranche: selectedTranche
9384
+ }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$3, {
9385
+ poolInfo: poolInfo,
9386
+ selectedTranche: selectedTranche
9387
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$3, {
9388
+ poolInfo: poolInfo,
9389
+ handleAction: handleClose
9390
+ }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
9391
+ title: title,
9392
+ errorReason: "Sorry there was an error",
9393
+ errorMessage: errorMessage,
9394
+ handleOk: handleClose
9395
+ })]
9396
+ });
9397
+ }
9398
+
9399
+ function Transfer$2(_ref) {
9400
+ let {
9401
+ poolInfo,
9402
+ lenderState,
9403
+ lenderStatePDA,
9404
+ selectedTranche
9405
+ } = _ref;
9406
+ const dispatch = useAppDispatch();
9407
+ const {
9408
+ publicKey
9409
+ } = walletAdapterReact.useWallet();
9410
+ const [transaction, setTransaction] = React.useState();
9411
+ const program = webShared.useHumaProgram(poolInfo.chainId);
9412
+ const handleSuccess = React.useCallback(() => {
9413
+ dispatch(setStep(WIDGET_STEP.Done));
9414
+ }, [dispatch]);
9415
+ React.useEffect(() => {
9416
+ async function getTx() {
9417
+ if (!publicKey || !lenderState || !lenderStatePDA || transaction) {
9418
+ return;
9419
+ }
9420
+ const {
9421
+ seniorTrancheATA,
9422
+ juniorTrancheATA,
9423
+ poolSeniorTrancheATA,
9424
+ poolJuniorTrancheATA
9425
+ } = shared.getTokenAccounts(poolInfo, publicKey);
9426
+ const tx = await program.methods.cancelRedemptionRequest(lenderState.redemptionRecord.numSharesRequested).accountsPartial({
9427
+ lender: publicKey,
9428
+ humaConfig: poolInfo.humaConfig,
9429
+ poolConfig: poolInfo.poolConfig,
9430
+ trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
9431
+ trancheState: selectedTranche === 'senior' ? poolInfo.seniorTrancheState : poolInfo.juniorTrancheState,
9432
+ lenderState: lenderStatePDA,
9433
+ poolAuthority: poolInfo.poolAuthority,
9434
+ poolTrancheToken: selectedTranche === 'senior' ? poolSeniorTrancheATA : poolJuniorTrancheATA,
9435
+ lenderTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
9436
+ tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
9437
+ }).transaction();
9438
+ setTransaction(tx);
9439
+ }
9440
+ getTx();
9441
+ }, [lenderState, lenderStatePDA, poolInfo, program.methods, publicKey, selectedTranche, transaction]);
9442
+ return jsxRuntime.jsx(SolanaTxSendModal, {
9443
+ tx: transaction,
9444
+ chainId: poolInfo.chainId,
9445
+ handleSuccess: handleSuccess
9446
+ });
9447
+ }
9448
+
9449
+ var _templateObject, _templateObject2, _templateObject3;
9450
+ function ChooseTranche(_ref) {
9451
+ let {
9452
+ selectedTranche,
9453
+ changeTranche
9454
+ } = _ref;
9455
+ const theme = material.useTheme();
9456
+ const dispatch = useAppDispatch();
9457
+ const styles = {
9458
+ subTitle: material.css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
9459
+ radioGroup: material.css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
9460
+ formControl: material.css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
9461
+ };
9462
+ const handleNext = () => {
9463
+ dispatch(setStep(WIDGET_STEP.ChooseAmount));
9464
+ };
9465
+ const items = [{
9466
+ label: 'Senior',
9467
+ value: 'senior'
9468
+ }, {
9469
+ label: 'Junior',
9470
+ value: 'junior'
9471
+ }];
9472
+ return jsxRuntime.jsxs(WrapperModal, {
9473
+ title: "Cancel Redemption",
9474
+ children: [jsxRuntime.jsxs(material.FormControl, {
9475
+ children: [jsxRuntime.jsx(material.FormLabel, {
9476
+ css: styles.subTitle,
9477
+ children: "Select Tranche Type"
9478
+ }), jsxRuntime.jsx(material.RadioGroup, {
9479
+ "aria-labelledby": "buttons-group-label",
9480
+ name: "radio-buttons-group",
9481
+ css: styles.radioGroup,
9482
+ onChange: e => changeTranche(e.target.value),
9483
+ children: items.map(item => jsxRuntime.jsx(material.FormControlLabel, {
9484
+ value: item.value,
9485
+ control: jsxRuntime.jsx(material.Radio, {
9486
+ sx: {
9487
+ '& .MuiSvgIcon-root': {
9488
+ fontSize: 24
9489
+ }
9490
+ }
9491
+ }),
9492
+ label: item.label,
9493
+ css: styles.formControl
9494
+ }, item.label))
9495
+ })]
9496
+ }), jsxRuntime.jsx(BottomButton, {
9497
+ variant: "contained",
9498
+ disabled: !selectedTranche,
9499
+ onClick: handleNext,
9500
+ children: "NEXT"
9501
+ })]
9502
+ });
9503
+ }
9504
+
9505
+ function Done$2(_ref) {
9506
+ let {
9507
+ poolInfo,
9508
+ lenderState,
9509
+ selectedTranche,
9510
+ handleAction
9511
+ } = _ref;
9512
+ const {
9513
+ mintAccount,
9514
+ loading: isLoadingTrancheMintAccounts
9515
+ } = webShared.useTrancheMintAccounts(poolInfo, selectedTranche);
9516
+ const {
9517
+ solanaSignature
9518
+ } = useAppSelector(selectWidgetState);
9519
+ const content = !lenderState || isLoadingTrancheMintAccounts || !mintAccount ? [''] : ["Your request to cancel the redemption of ".concat(shared.formatNumber(shared.SolanaTokenUtils.formatUnits(lenderState.redemptionRecord.numSharesRequested, mintAccount.decimals)), " shares has been successfully processed.")];
9520
+ return jsxRuntime.jsx(SolanaTxDoneModal, {
9521
+ handleAction: handleAction,
9522
+ content: content,
9523
+ chainId: poolInfo.chainId,
9524
+ solanaSignature: solanaSignature,
9525
+ buttonText: "DONE"
9526
+ });
9527
+ }
9528
+
9529
+ function SolanaLendCancelRedemption(_ref) {
9530
+ let {
9531
+ poolInfo,
9532
+ tranche,
9533
+ handleClose,
9534
+ handleSuccess
9535
+ } = _ref;
9536
+ const dispatch = reactRedux.useDispatch();
9537
+ const {
9538
+ seniorLenderStateAccount,
9539
+ juniorLenderStateAccount,
9540
+ juniorLenderStateAccountPDA,
9541
+ seniorLenderStateAccountPDA,
9542
+ loading: isLoadingLenderAccounts
9543
+ } = webShared.useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
9544
+ const {
9545
+ step,
9546
+ errorMessage
9547
+ } = useAppSelector(selectWidgetState);
9548
+ const [selectedTranche, setSelectedTranche] = React.useState(tranche);
9549
+ React.useEffect(() => {
9550
+ if (!step && !isLoadingLenderAccounts) {
9551
+ var _seniorLenderStateAcc, _juniorLenderStateAcc;
9552
+ const seniorTrancheSharesRequested = new anchor.BN((_seniorLenderStateAcc = seniorLenderStateAccount === null || seniorLenderStateAccount === void 0 ? void 0 : seniorLenderStateAccount.redemptionRecord.numSharesRequested) !== null && _seniorLenderStateAcc !== void 0 ? _seniorLenderStateAcc : 0);
9553
+ const juniorTrancheSharesRequested = new anchor.BN((_juniorLenderStateAcc = juniorLenderStateAccount === null || juniorLenderStateAccount === void 0 ? void 0 : juniorLenderStateAccount.redemptionRecord.numSharesRequested) !== null && _juniorLenderStateAcc !== void 0 ? _juniorLenderStateAcc : 0);
9554
+ if (selectedTranche) {
9555
+ dispatch(setStep(WIDGET_STEP.Transfer));
9556
+ return;
9557
+ }
9558
+ if (juniorTrancheSharesRequested.gtn(0) && seniorTrancheSharesRequested.lten(0)) {
9559
+ setSelectedTranche('junior');
9560
+ dispatch(setStep(WIDGET_STEP.Transfer));
9561
+ return;
9562
+ }
9563
+ if (seniorTrancheSharesRequested.gtn(0) && juniorTrancheSharesRequested.lten(0)) {
9564
+ setSelectedTranche('senior');
9565
+ dispatch(setStep(WIDGET_STEP.Transfer));
9566
+ return;
9567
+ }
9568
+ if (seniorTrancheSharesRequested.gtn(0) && juniorTrancheSharesRequested.gtn(0)) {
9569
+ dispatch(setStep(WIDGET_STEP.ChooseTranche));
9570
+ }
9571
+ }
9572
+ }, [dispatch, step, isLoadingLenderAccounts, seniorLenderStateAccount === null || seniorLenderStateAccount === void 0 ? void 0 : seniorLenderStateAccount.redemptionRecord.numSharesRequested, juniorLenderStateAccount === null || juniorLenderStateAccount === void 0 ? void 0 : juniorLenderStateAccount.redemptionRecord.numSharesRequested, selectedTranche]);
9573
+ const title = 'Cancel Redemption';
9574
+ if (isLoadingLenderAccounts) {
9575
+ return jsxRuntime.jsx(WidgetWrapper, {
9576
+ isOpen: true,
9577
+ isLoading: true,
9578
+ loadingTitle: title,
9579
+ handleClose: handleClose,
9580
+ handleSuccess: handleSuccess
9581
+ });
9582
+ }
9583
+ return jsxRuntime.jsxs(WidgetWrapper, {
9584
+ isOpen: true,
9585
+ loadingTitle: title,
9586
+ handleClose: handleClose,
9587
+ handleSuccess: handleSuccess,
9588
+ children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche, {
9589
+ selectedTranche: selectedTranche,
9590
+ changeTranche: setSelectedTranche
9591
+ }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$2, {
9592
+ poolInfo: poolInfo,
9593
+ lenderState: selectedTranche === 'senior' ? seniorLenderStateAccount : juniorLenderStateAccount,
9594
+ lenderStatePDA: selectedTranche === 'senior' ? seniorLenderStateAccountPDA : juniorLenderStateAccountPDA,
9595
+ selectedTranche: selectedTranche
9596
+ }), step === WIDGET_STEP.Done && selectedTranche && jsxRuntime.jsx(Done$2, {
9597
+ poolInfo: poolInfo,
9598
+ lenderState: selectedTranche === 'senior' ? seniorLenderStateAccount : juniorLenderStateAccount,
9599
+ selectedTranche: selectedTranche,
9600
+ handleAction: handleClose
9601
+ }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
9602
+ title: title,
9603
+ errorReason: "Sorry there was an error",
9604
+ errorMessage: errorMessage,
9605
+ handleOk: handleClose
9606
+ })]
9607
+ });
9608
+ }
9609
+
9610
+ function ChooseAmount$1(_ref) {
9611
+ let {
9612
+ poolInfo,
9613
+ creditConfigAccount
9614
+ } = _ref;
9615
+ const dispatch = useAppDispatch();
9616
+ const {
9617
+ symbol,
9618
+ decimals
9619
+ } = poolInfo.underlyingMint;
9620
+ const [currentAmount, setCurrentAmount] = React.useState(0);
9621
+ const creditAvailable = React.useMemo(() => shared.SolanaTokenUtils.formatUnits(creditConfigAccount.creditAvailable, decimals), [creditConfigAccount.creditAvailable, decimals]);
9622
+ const handleChangeAmount = newAmount => {
9623
+ setCurrentAmount(newAmount);
9624
+ };
9625
+ const handleAction = React.useCallback(() => {
9626
+ const borrowAmountBN = shared.SolanaTokenUtils.parseUnits(String(currentAmount), decimals);
9627
+ dispatch(setBorrowInfo({
9628
+ borrowAmount: currentAmount,
9629
+ borrowAmountBN: JSON.parse(borrowAmountBN.toString()),
9630
+ chargedFees: 0,
9631
+ nextStep: WIDGET_STEP.Transfer
9632
+ }));
9633
+ }, [currentAmount, decimals, dispatch]);
9634
+ return jsxRuntime.jsx(InputAmountModal, {
9635
+ title: "Borrow",
9636
+ subTitle: "Choose Amount",
9637
+ tokenSymbol: symbol,
9638
+ currentAmount: currentAmount,
9639
+ handleChangeAmount: handleChangeAmount,
9640
+ maxAmount: creditAvailable,
9641
+ infos: ["".concat(String(shared.formatNumber(creditAvailable)), " ").concat(symbol, " Available")],
9642
+ handleAction: handleAction,
9643
+ actionText: "BORROW"
9644
+ });
9645
+ }
9646
+
9647
+ function Transfer$1(_ref) {
9648
+ let {
9649
+ poolInfo
9650
+ } = _ref;
9651
+ const dispatch = useAppDispatch();
9652
+ const {
9653
+ wallet,
9654
+ publicKey
9655
+ } = walletAdapterReact.useWallet();
9656
+ const sentinel = shared.getSentinelAddress(poolInfo.chainId);
9657
+ const {
9658
+ connection
9659
+ } = walletAdapterReact.useConnection();
9660
+ const [transaction, setTransaction] = React.useState();
9661
+ const program = webShared.useHumaProgram(poolInfo.chainId);
9662
+ const {
9663
+ borrowAmountBN: borrowAmountBNJson
9664
+ } = useAppSelector(selectWidgetState);
9665
+ const handleSuccess = React.useCallback(() => {
9666
+ dispatch(setStep(WIDGET_STEP.Done));
9667
+ }, [dispatch]);
9668
+ React.useEffect(() => {
9669
+ async function getTx() {
9670
+ var _borrowAmountBNJson$t, _tokenAccount$delegat;
9671
+ if (!wallet || !publicKey || !connection) {
9672
+ return;
9673
+ }
9674
+ const {
9675
+ underlyingTokenATA
9676
+ } = shared.getTokenAccounts(poolInfo, publicKey);
9677
+ const tx = new web3_js.Transaction();
9678
+
9679
+ // Create user token account if it doesn't exist
9680
+ let tokenAccount;
9681
+ try {
9682
+ tokenAccount = await splToken.getAccount(connection, underlyingTokenATA, undefined, splToken.TOKEN_2022_PROGRAM_ID);
9683
+ } catch (error) {
9684
+ // TokenAccountNotFoundError can be possible if the associated address has already received some lamports,
9685
+ // becoming a system account. Assuming program derived addressing is safe, this is the only case for the
9686
+ // TokenInvalidAccountOwnerError in this code path.
9687
+ if (error instanceof splToken.TokenAccountNotFoundError || error instanceof splToken.TokenInvalidAccountOwnerError) {
9688
+ // As this isn't atomic, it's possible others can create associated accounts meanwhile.
9689
+ tx.add(splToken.createAssociatedTokenAccountInstruction(publicKey, underlyingTokenATA, publicKey, new web3_js.PublicKey(poolInfo.underlyingMint.address), splToken.TOKEN_2022_PROGRAM_ID, splToken.ASSOCIATED_TOKEN_PROGRAM_ID));
9690
+ }
9691
+ }
9692
+
9693
+ // Approve allowance to the sentinel if the account is new or delegated amount is not enough
9694
+ const borrowAmountBN = new anchor.BN((_borrowAmountBNJson$t = borrowAmountBNJson === null || borrowAmountBNJson === void 0 ? void 0 : borrowAmountBNJson.toString()) !== null && _borrowAmountBNJson$t !== void 0 ? _borrowAmountBNJson$t : '0');
9695
+ if (!tokenAccount || borrowAmountBN.gt(new anchor.BN(tokenAccount.delegatedAmount.toString())) || ((_tokenAccount$delegat = tokenAccount.delegate) === null || _tokenAccount$delegat === void 0 ? void 0 : _tokenAccount$delegat.toString()) !== sentinel) {
9696
+ tx.add(splToken.createApproveCheckedInstruction(underlyingTokenATA, new web3_js.PublicKey(poolInfo.underlyingMint.address), new web3_js.PublicKey(sentinel),
9697
+ // delegate
9698
+ publicKey,
9699
+ // owner of the wallet
9700
+ BigInt(shared.SolanaTokenUtils.parseUnits('100000000000',
9701
+ // 100 billion
9702
+ poolInfo.underlyingMint.decimals).toString()),
9703
+ // amount
9704
+ poolInfo.underlyingMint.decimals, undefined,
9705
+ // multiSigners
9706
+ splToken.TOKEN_2022_PROGRAM_ID));
9707
+ }
9708
+ const {
9709
+ creditConfigAccount,
9710
+ creditStateAccount
9711
+ } = shared.getCreditAccounts(poolInfo, publicKey);
9712
+ // borrowAmountBNJson is stored as a raw number string in this flow
9713
+ const programTx = await program.methods.drawdown(borrowAmountBN).accountsPartial({
9714
+ borrower: publicKey,
9715
+ humaConfig: poolInfo.humaConfig,
9716
+ poolConfig: poolInfo.poolConfig,
9717
+ poolState: poolInfo.poolState,
9718
+ creditConfig: creditConfigAccount,
9719
+ creditState: creditStateAccount,
9720
+ poolAuthority: poolInfo.poolAuthority,
9721
+ underlyingMint: poolInfo.underlyingMint.address,
9722
+ poolUnderlyingToken: poolInfo.poolUnderlyingTokenAccount,
9723
+ borrowerUnderlyingToken: underlyingTokenATA,
9724
+ tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
9725
+ }).transaction();
9726
+ tx.add(programTx);
9727
+ setTransaction(tx);
9728
+ }
9729
+ getTx();
9730
+ }, [borrowAmountBNJson, connection, dispatch, poolInfo, poolInfo.underlyingMint.address, poolInfo.underlyingMint.decimals, program.methods, publicKey, sentinel, wallet]);
9731
+ return jsxRuntime.jsx(SolanaTxSendModal, {
9732
+ tx: transaction,
9733
+ chainId: poolInfo.chainId,
9734
+ handleSuccess: handleSuccess
9735
+ });
9736
+ }
9737
+
9738
+ function Done$1(_ref) {
9739
+ let {
9740
+ poolInfo,
9741
+ poolState,
9742
+ handleAction
9743
+ } = _ref;
9744
+ const {
9745
+ borrowAmount,
9746
+ solanaSignature
9747
+ } = useAppSelector(selectWidgetState);
9748
+ const {
9749
+ symbol
9750
+ } = poolInfo.underlyingMint;
9751
+ const dueDate = shared.timeUtil.timestampToLL(poolState.epochEndTime);
9752
+ const content = ["".concat(shared.formatNumber(borrowAmount), " ").concat(symbol, " is now in your wallet."), "Note: your first automatic payment will occur after ".concat(dueDate, ".")];
9753
+ return jsxRuntime.jsx(SolanaTxDoneModal, {
9754
+ handleAction: handleAction,
9755
+ content: content,
9756
+ chainId: poolInfo.chainId,
9757
+ solanaSignature: solanaSignature,
9758
+ buttonText: "DONE"
9759
+ });
9760
+ }
9761
+
9762
+ function SolanaBorrow(_ref) {
9763
+ let {
9764
+ poolInfo,
9765
+ poolState,
9766
+ handleClose,
9767
+ handleSuccess
9768
+ } = _ref;
9769
+ const title = 'Borrow';
9770
+ const dispatch = reactRedux.useDispatch();
9771
+ const {
9772
+ step,
9773
+ errorMessage
9774
+ } = useAppSelector(selectWidgetState);
9775
+ const {
9776
+ creditConfigAccount
9777
+ } = webShared.useBorrowerAccounts(poolInfo.chainId, poolInfo.poolName);
9778
+ React.useEffect(() => {
9779
+ if (!step && creditConfigAccount) {
9780
+ dispatch(setStep(WIDGET_STEP.ChooseAmount));
9781
+ }
9782
+ }, [creditConfigAccount, dispatch, step]);
9783
+ if (!creditConfigAccount) {
9784
+ return jsxRuntime.jsx(WidgetWrapper, {
9785
+ isOpen: true,
9786
+ isLoading: true,
9787
+ loadingTitle: title,
9788
+ handleClose: handleClose,
9789
+ handleSuccess: handleSuccess
9790
+ });
9791
+ }
9792
+ return jsxRuntime.jsxs(WidgetWrapper, {
9793
+ isOpen: true,
9794
+ loadingTitle: title,
9795
+ handleClose: handleClose,
9796
+ handleSuccess: handleSuccess,
9797
+ children: [step === WIDGET_STEP.ChooseAmount && creditConfigAccount && jsxRuntime.jsx(ChooseAmount$1, {
9798
+ poolInfo: poolInfo,
9799
+ creditConfigAccount: creditConfigAccount
9800
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$1, {
9801
+ poolInfo: poolInfo
9802
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$1, {
9803
+ poolInfo: poolInfo,
9804
+ poolState: poolState,
9805
+ handleAction: handleClose
9806
+ }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
9807
+ title: title,
9808
+ errorReason: "Sorry there was an error",
9809
+ errorMessage: errorMessage,
9810
+ handleOk: handleClose
9811
+ })]
9812
+ });
9813
+ }
9814
+
9815
+ function ChooseAmount(_ref) {
9816
+ let {
9817
+ poolInfo,
9818
+ creditStateAccount
9819
+ } = _ref;
9820
+ const dispatch = useAppDispatch();
9821
+ const {
9822
+ symbol,
9823
+ decimals
9824
+ } = poolInfo.underlyingMint;
9825
+ const [currentAmount, setCurrentAmount] = React.useState(0);
9826
+ const totalDueAmount = React.useMemo(() => Number(shared.SolanaTokenUtils.formatUnits(creditStateAccount.creditRecord.totalDueAmount, decimals)), [creditStateAccount.creditRecord.totalDueAmount, decimals]);
9827
+ const payoffAmount = React.useMemo(() => Number(shared.SolanaTokenUtils.formatUnits(creditStateAccount.creditRecord.payoffAmount, decimals)), [creditStateAccount.creditRecord.payoffAmount, decimals]);
9828
+ React.useEffect(() => {
9829
+ setCurrentAmount(totalDueAmount);
9830
+ dispatch(setPaymentAmount({
9831
+ paymentAmount: totalDueAmount
9832
+ }));
9833
+ }, [dispatch, totalDueAmount]);
9834
+ const handleChangeAmount = newAmount => {
9835
+ setCurrentAmount(newAmount);
9836
+ dispatch(setPaymentAmount({
9837
+ paymentAmount: newAmount
9838
+ }));
9839
+ };
9840
+ const handleAction = React.useCallback(() => {
9841
+ dispatch(setStep(WIDGET_STEP.Transfer));
9842
+ }, [dispatch]);
9843
+ return jsxRuntime.jsx(InputAmountModal, {
9844
+ title: "Make Payment",
9845
+ subTitle: "Choose Amount",
9846
+ tokenSymbol: symbol,
9847
+ currentAmount: currentAmount,
9848
+ handleChangeAmount: handleChangeAmount,
9849
+ maxAmount: payoffAmount,
9850
+ maxAmountText: "Pay Off",
9851
+ infos: ["".concat(shared.formatNumber(totalDueAmount.toFixed(0)), " Due")],
9852
+ handleAction: handleAction,
9853
+ actionText: "PAY"
9854
+ });
9855
+ }
9856
+
9857
+ function Transfer(_ref) {
9858
+ let {
9859
+ poolInfo
9860
+ } = _ref;
9861
+ const dispatch = useAppDispatch();
9862
+ const {
9863
+ wallet,
9864
+ publicKey
9865
+ } = walletAdapterReact.useWallet();
9866
+ const {
9867
+ connection
9868
+ } = walletAdapterReact.useConnection();
9869
+ const [transaction, setTransaction] = React.useState();
9870
+ const program = webShared.useHumaProgram(poolInfo.chainId);
9871
+ const {
9872
+ paymentAmount
9873
+ } = useAppSelector(selectWidgetState);
9874
+ const {
9875
+ decimals
9876
+ } = poolInfo.underlyingMint;
9877
+ const handleSuccess = React.useCallback(() => {
9878
+ dispatch(setStep(WIDGET_STEP.Done));
9879
+ }, [dispatch]);
9880
+ React.useEffect(() => {
9881
+ async function getTx() {
9882
+ if (!wallet || !publicKey || !connection || !paymentAmount) {
9883
+ return;
9884
+ }
9885
+ const {
9886
+ underlyingTokenATA
9887
+ } = shared.getTokenAccounts(poolInfo, publicKey);
9888
+ const {
9889
+ creditConfigAccount,
9890
+ creditStateAccount
9891
+ } = shared.getCreditAccounts(poolInfo, publicKey);
9892
+ const paymentAmountBN = shared.SolanaTokenUtils.parseUnits(paymentAmount.toString(), decimals);
9893
+ const tx = await program.methods.makePayment(paymentAmountBN).accountsPartial({
9894
+ signer: publicKey,
9895
+ humaConfig: poolInfo.humaConfig,
9896
+ poolConfig: poolInfo.poolConfig,
9897
+ poolState: poolInfo.poolState,
9898
+ creditConfig: creditConfigAccount,
9899
+ creditState: creditStateAccount,
9900
+ poolAuthority: poolInfo.poolAuthority,
9901
+ underlyingMint: poolInfo.underlyingMint.address,
9902
+ poolUnderlyingToken: poolInfo.poolUnderlyingTokenAccount,
9903
+ borrowerUnderlyingToken: underlyingTokenATA,
9904
+ tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
9905
+ }).transaction();
9906
+ setTransaction(tx);
9907
+ }
9908
+ getTx();
9909
+ }, [connection, decimals, dispatch, paymentAmount, poolInfo, poolInfo.underlyingMint.address, poolInfo.underlyingMint.decimals, program.methods, publicKey, wallet]);
9910
+ return jsxRuntime.jsx(SolanaTxSendModal, {
9911
+ tx: transaction,
9912
+ chainId: poolInfo.chainId,
9913
+ handleSuccess: handleSuccess
9914
+ });
9915
+ }
9916
+
9917
+ function Done(_ref) {
9918
+ let {
9919
+ poolInfo,
9920
+ handleAction
9921
+ } = _ref;
9922
+ const {
9923
+ solanaSignature
9924
+ } = useAppSelector(selectWidgetState);
9925
+ const {
9926
+ symbol
9927
+ } = poolInfo.underlyingMint;
9928
+ const {
9929
+ connection
9930
+ } = walletAdapterReact.useConnection();
9931
+ const [tokensPaid, setTokensPaid] = React.useState(null);
9932
+ React.useEffect(() => {
9933
+ const fetchTokensPaid = async () => {
9934
+ var _txData$meta, _txData$meta2;
9935
+ if (!solanaSignature) {
9936
+ return;
9937
+ }
9938
+ const txData = await connection.getTransaction(solanaSignature, {
9939
+ maxSupportedTransactionVersion: 2
9940
+ });
9941
+ const preTokenBalance = txData === null || txData === void 0 || (_txData$meta = txData.meta) === null || _txData$meta === void 0 || (_txData$meta = _txData$meta.preTokenBalances) === null || _txData$meta === void 0 || (_txData$meta = _txData$meta[0]) === null || _txData$meta === void 0 || (_txData$meta = _txData$meta.uiTokenAmount) === null || _txData$meta === void 0 ? void 0 : _txData$meta.uiAmount;
9942
+ const postTokenBalance = txData === null || txData === void 0 || (_txData$meta2 = txData.meta) === null || _txData$meta2 === void 0 || (_txData$meta2 = _txData$meta2.postTokenBalances) === null || _txData$meta2 === void 0 || (_txData$meta2 = _txData$meta2[0]) === null || _txData$meta2 === void 0 || (_txData$meta2 = _txData$meta2.uiTokenAmount) === null || _txData$meta2 === void 0 ? void 0 : _txData$meta2.uiAmount;
9943
+ if (preTokenBalance && postTokenBalance) {
9944
+ setTokensPaid(preTokenBalance - postTokenBalance);
9945
+ }
9946
+ };
9947
+ fetchTokensPaid();
9948
+ }, [connection, solanaSignature]);
9949
+ const content = React.useMemo(() => {
9950
+ if (tokensPaid !== null) {
9951
+ return ["You successfully paid ".concat(shared.formatNumber(tokensPaid), " ").concat(symbol, ".")];
9952
+ }
9953
+ return ['Your payment to the pool was successful'];
9954
+ }, [tokensPaid, symbol]);
9955
+ return jsxRuntime.jsx(SolanaTxDoneModal, {
9956
+ handleAction: handleAction,
9957
+ content: content,
9958
+ chainId: poolInfo.chainId,
9959
+ solanaSignature: solanaSignature,
9960
+ buttonText: "DONE"
9961
+ });
9962
+ }
9963
+
9964
+ function SolanaPayment(_ref) {
9965
+ let {
9966
+ poolInfo,
9967
+ handleClose,
9968
+ handleSuccess
9969
+ } = _ref;
9970
+ const title = 'Make Payment';
9971
+ const dispatch = reactRedux.useDispatch();
9972
+ const {
9973
+ step,
9974
+ errorMessage
9975
+ } = useAppSelector(selectWidgetState);
9976
+ const {
9977
+ creditStateAccount
9978
+ } = webShared.useBorrowerAccounts(poolInfo.chainId, poolInfo.poolName);
9979
+ React.useEffect(() => {
9980
+ if (!step && creditStateAccount) {
9981
+ dispatch(setStep(WIDGET_STEP.ChooseAmount));
9982
+ }
9983
+ }, [creditStateAccount, dispatch, step]);
9984
+ if (!creditStateAccount) {
9985
+ return jsxRuntime.jsx(WidgetWrapper, {
9986
+ isOpen: true,
9987
+ isLoading: true,
9988
+ loadingTitle: title,
9989
+ handleClose: handleClose,
9990
+ handleSuccess: handleSuccess
9991
+ });
9992
+ }
9993
+ return jsxRuntime.jsxs(WidgetWrapper, {
9994
+ isOpen: true,
9995
+ loadingTitle: title,
9996
+ handleClose: handleClose,
9997
+ handleSuccess: handleSuccess,
9998
+ children: [step === WIDGET_STEP.ChooseAmount && creditStateAccount && jsxRuntime.jsx(ChooseAmount, {
9999
+ poolInfo: poolInfo,
10000
+ creditStateAccount: creditStateAccount
10001
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer, {
10002
+ poolInfo: poolInfo
10003
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done, {
10004
+ poolInfo: poolInfo,
10005
+ handleAction: handleClose
10006
+ }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
10007
+ title: title,
10008
+ errorReason: "Sorry there was an error",
10009
+ errorMessage: errorMessage,
10010
+ handleOk: handleClose
10011
+ })]
10012
+ });
10013
+ }
10014
+
10015
+ function NotifiContextWrapper(_ref) {
10016
+ let {
10017
+ chainId,
10018
+ children
10019
+ } = _ref;
10020
+ const {
10021
+ account,
10022
+ provider
10023
+ } = core.useWeb3React();
10024
+ const signer = React.useMemo(() => {
10025
+ if (provider instanceof ethers.providers.JsonRpcProvider) {
10026
+ return provider.getSigner();
10027
+ }
10028
+ return undefined;
10029
+ }, [provider]);
10030
+ if (account == null || signer == null || chainId == null) {
10031
+ return null;
10032
+ }
10033
+ let cardId = '';
10034
+ if (chainId === shared.ChainEnum.Celo || chainId === shared.ChainEnum.Alfajores) {
10035
+ var _process$env$REACT_AP;
10036
+ cardId = (_process$env$REACT_AP = process.env.REACT_APP_NOTIFI_CONFIG_ID_CELO) !== null && _process$env$REACT_AP !== void 0 ? _process$env$REACT_AP : '';
10037
+ } else if (chainId === shared.ChainEnum.Polygon || chainId === shared.ChainEnum.Amoy) {
10038
+ var _process$env$REACT_AP2;
10039
+ cardId = (_process$env$REACT_AP2 = process.env.REACT_APP_NOTIFI_CONFIG_ID_POLYGON) !== null && _process$env$REACT_AP2 !== void 0 ? _process$env$REACT_AP2 : '';
10040
+ } else if (chainId === shared.ChainEnum.Scroll || chainId === shared.ChainEnum.ScrollSepolia) {
10041
+ var _process$env$REACT_AP3;
10042
+ cardId = (_process$env$REACT_AP3 = process.env.REACT_APP_NOTIFI_CONFIG_ID_SCROLL) !== null && _process$env$REACT_AP3 !== void 0 ? _process$env$REACT_AP3 : '';
10043
+ }
10044
+ return jsxRuntime.jsx(notifiReact.NotifiContextProvider, {
10045
+ tenantId: "humafinanceprod",
10046
+ env: "Production",
10047
+ signMessage: async message => {
10048
+ const result = await signer.signMessage(message);
10049
+ return bytes.arrayify(result);
10050
+ },
10051
+ walletPublicKey: account,
10052
+ walletBlockchain: shared.getBlockchainConfigFromChain(chainId),
10053
+ cardId: cardId,
10054
+ children: children
10055
+ });
10056
+ }
10057
+
10058
+ function Widget(props) {
10059
+ const {
10060
+ children,
10061
+ provider
10062
+ } = props;
10063
+ const [chainId, setChainId] = React.useState(undefined);
10064
+ React.useEffect(() => {
10065
+ const getChainId = async () => {
10066
+ if (provider instanceof providers.JsonRpcProvider) {
10067
+ const network = await provider.getNetwork();
10068
+ setChainId(network === null || network === void 0 ? void 0 : network.chainId);
10069
+ }
10070
+ };
10071
+ getChainId();
10072
+ }, [provider]);
10073
+ return jsxRuntime.jsx(material.ThemeProvider, {
10074
+ theme: themeHuma,
10075
+ children: jsxRuntime.jsx(reactRedux.Provider, {
10076
+ store: store,
10077
+ children: jsxRuntime.jsx(webShared.Provider, {
10078
+ ...props,
10079
+ defaultChainId: chainId,
10080
+ children: jsxRuntime.jsx(jotai.Provider, {
10081
+ children: jsxRuntime.jsx(ChainSupportProvider, {
10082
+ children: jsxRuntime.jsx(NotifiContextWrapper, {
10083
+ chainId: chainId,
10084
+ children: children
10085
+ })
10086
+ })
10087
+ })
10088
+ })
10089
+ })
10090
+ });
10091
+ }
10092
+
10093
+ /**
10094
+ * Invoice factoring pool borrow widget props
8641
10095
  * @typedef {Object} InvoiceFactoringBorrowWidgetProps
8642
10096
  * @property {InvoiceFactoringBorrowProps} InvoiceFactoringBorrowProps - Invoice factoring pool borrow props.
8643
10097
  * @property {WidgetProps} WidgetProps - Widget general props.
@@ -9024,6 +10478,119 @@ function ReceivableBackedCreditLinePaymentWidgetV2(props) {
9024
10478
  });
9025
10479
  }
9026
10480
 
10481
+ /**
10482
+ * Object representing the props passed to Solana widgets
10483
+ * @typedef {Object} SolanaWidgetProps
10484
+ */
10485
+
10486
+ function SolanaWidget(props) {
10487
+ const {
10488
+ children
10489
+ } = props;
10490
+ return jsxRuntime.jsx(material.ThemeProvider, {
10491
+ theme: themeHuma,
10492
+ children: jsxRuntime.jsx(reactRedux.Provider, {
10493
+ store: store,
10494
+ children: children
10495
+ })
10496
+ });
10497
+ }
10498
+
10499
+ /**
10500
+ * Lend pool supply widget props for Solana pools
10501
+ * @typedef {Object} SolanaLendSupplyWidgetProps
10502
+ */
10503
+
10504
+ /**
10505
+ * Lend pool supply widget for Solana pools
10506
+ *
10507
+ * @param {SolanaLendSupplyWidgetProps} props - Widget props
10508
+ */
10509
+ function SolanaLendSupplyWidget(props) {
10510
+ return jsxRuntime.jsx(SolanaWidget, {
10511
+ ...props,
10512
+ children: jsxRuntime.jsx(SolanaLendSupply, {
10513
+ ...props
10514
+ })
10515
+ });
10516
+ }
10517
+
10518
+ /**
10519
+ * Lend pool supply widget props for Solana pools
10520
+ * @typedef {Object} SolanaLendAddRedemptionWidgetProps
10521
+ */
10522
+
10523
+ /**
10524
+ * Lend pool supply widget for Solana pools
10525
+ *
10526
+ * @param {SolanaLendAddRedemptionWidgetProps} props - Widget props
10527
+ */
10528
+ function SolanaLendAddRedemptionWidget(props) {
10529
+ return jsxRuntime.jsx(SolanaWidget, {
10530
+ ...props,
10531
+ children: jsxRuntime.jsx(SolanaLendAddRedemption, {
10532
+ ...props
10533
+ })
10534
+ });
10535
+ }
10536
+
10537
+ /**
10538
+ * Lend pool supply widget props for Solana pools
10539
+ * @typedef {Object} SolanaLendCancelRedemptionWidgetProps
10540
+ */
10541
+
10542
+ /**
10543
+ * Lend pool supply widget for Solana pools
10544
+ *
10545
+ * @param {SolanaLendCancelRedemptionWidgetProps} props - Widget props
10546
+ */
10547
+ function SolanaLendCancelRedemptionWidget(props) {
10548
+ return jsxRuntime.jsx(SolanaWidget, {
10549
+ ...props,
10550
+ children: jsxRuntime.jsx(SolanaLendCancelRedemption, {
10551
+ ...props
10552
+ })
10553
+ });
10554
+ }
10555
+
10556
+ /**
10557
+ * Lend pool supply widget props for Solana pools
10558
+ * @typedef {Object} SolanaBorrowWidgetProps
10559
+ */
10560
+
10561
+ /**
10562
+ * Lend pool supply widget for Solana pools
10563
+ *
10564
+ * @param {SolanaBorrowWidgetProps} props - Widget props
10565
+ */
10566
+ function SolanaBorrowWidget(props) {
10567
+ return jsxRuntime.jsx(SolanaWidget, {
10568
+ ...props,
10569
+ children: jsxRuntime.jsx(SolanaBorrow, {
10570
+ ...props
10571
+ })
10572
+ });
10573
+ }
10574
+
10575
+ /**
10576
+ * Lend pool supply widget props for Solana pools
10577
+ * @typedef {Object} SolanaPaymentWidgetProps
10578
+ */
10579
+
10580
+ /**
10581
+ * Lend pool supply widget for Solana pools
10582
+ *
10583
+ * @param {SolanaPaymentWidgetProps} props - Widget props
10584
+ */
10585
+ function SolanaPaymentWidget(props) {
10586
+ return jsxRuntime.jsx(SolanaWidget, {
10587
+ ...props,
10588
+ children: jsxRuntime.jsx(SolanaPayment, {
10589
+ ...props
10590
+ })
10591
+ });
10592
+ }
10593
+
9027
10594
  exports.AddRedemptionWidgetV2 = AddRedemptionWidgetV2;
9028
10595
  exports.AutoPaybackWidgetV2 = AutoPaybackWidgetV2;
9029
10596
  exports.CancelRedemptionWidgetV2 = CancelRedemptionWidgetV2;
@@ -9041,6 +10608,11 @@ exports.LendWithdrawWidgetV2 = LendWithdrawWidgetV2;
9041
10608
  exports.NotifiContextWrapper = NotifiContextWrapper;
9042
10609
  exports.ReceivableBackedCreditLineBorrowWidgetV2 = ReceivableBackedCreditLineBorrowWidgetV2;
9043
10610
  exports.ReceivableBackedCreditLinePaymentWidgetV2 = ReceivableBackedCreditLinePaymentWidgetV2;
10611
+ exports.SolanaBorrowWidget = SolanaBorrowWidget;
10612
+ exports.SolanaLendAddRedemptionWidget = SolanaLendAddRedemptionWidget;
10613
+ exports.SolanaLendCancelRedemptionWidget = SolanaLendCancelRedemptionWidget;
10614
+ exports.SolanaLendSupplyWidget = SolanaLendSupplyWidget;
10615
+ exports.SolanaPaymentWidget = SolanaPaymentWidget;
9044
10616
  exports.SuperfluidFactoringWidget = SuperfluidFactoringWidget;
9045
10617
  exports.SupplyFirstLossCoverWidget = SupplyFirstLossCoverWidget;
9046
10618
  //# sourceMappingURL=index.cjs.map