@mx-cartographer/experiences 3.16.1-alpha.JB1 → 3.16.1-alpha.JB3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es.js +830 -819
- package/dist/index.es.js.map +1 -1
- package/dist/insights/settings/SettingsDrawer.d.ts +1 -1
- package/dist/insights/settings/hiddeninsights/components/HiddenInsightsDrawerWrapper.d.ts +1 -0
- package/dist/insights/settings/manageaccounts/components/ManageAccountsDrawer.d.ts +1 -0
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { jsx as t, jsxs as l, Fragment as eA } from "react/jsx-runtime";
|
|
2
|
-
import g, { useMemo as
|
|
2
|
+
import g, { useMemo as ao, useRef as Oa, useEffect as me, useState as ge, createContext as io, useContext as oo } from "react";
|
|
3
3
|
import { observer as S } from "mobx-react-lite";
|
|
4
4
|
import I from "@mui/material/Box";
|
|
5
5
|
import K from "@mui/material/Divider";
|
|
6
6
|
import nA from "@mui/material/List";
|
|
7
7
|
import ce from "@mui/material/ListSubheader";
|
|
8
|
-
import
|
|
9
|
-
import { AccountsIcon as
|
|
10
|
-
import
|
|
8
|
+
import mr from "@mui/system/Stack";
|
|
9
|
+
import { AccountsIcon as so, P as CA, Icon as M, useTokens as _A, Text as p, H2 as Wt, CategoryIcon as ne, DialogHeader as co, DialogFooter as lo, Drawer as uo, Footer as ho, DateRangePicker as pr, H3 as Yt, H1 as pe, TextField as _e, IconWeight as XA, MerchantLogo as He, CategoryIconVariants as Pa, InstitutionLogo as ve, THEMES as vr, createMXTheme as Ie } from "@kyper/mui";
|
|
10
|
+
import go from "bowser";
|
|
11
11
|
import { getUnixTime as fA } from "date-fns/getUnixTime";
|
|
12
|
-
import { intlFormat as
|
|
12
|
+
import { intlFormat as Co } from "date-fns/intlFormat";
|
|
13
13
|
import { Honeybadger as It } from "@honeybadger-io/react";
|
|
14
|
-
import
|
|
14
|
+
import yr from "numeral";
|
|
15
15
|
import cA from "@mui/material/Button";
|
|
16
16
|
import Et from "@mui/material/Tooltip";
|
|
17
17
|
import HA from "@mui/material/IconButton";
|
|
@@ -19,7 +19,7 @@ import En from "@mui/material/FormControlLabel";
|
|
|
19
19
|
import W from "@mui/material/ListItem";
|
|
20
20
|
import dA from "@mui/material/ListItemButton";
|
|
21
21
|
import tA from "@mui/material/ListItemText";
|
|
22
|
-
import
|
|
22
|
+
import fo from "@mui/material/Popover";
|
|
23
23
|
import b from "@mui/material/Stack";
|
|
24
24
|
import Mt from "@mui/material/Checkbox";
|
|
25
25
|
import { addMonths as Ae } from "date-fns/addMonths";
|
|
@@ -34,114 +34,114 @@ import { startOfToday as $ } from "date-fns/startOfToday";
|
|
|
34
34
|
import { fromUnixTime as xA } from "date-fns/fromUnixTime";
|
|
35
35
|
import gA from "@mui/material/styles/useTheme";
|
|
36
36
|
import Dt from "@mui/material/useMediaQuery";
|
|
37
|
-
import { css as JA, keyframes as
|
|
37
|
+
import { css as JA, keyframes as mo } from "@mxenabled/cssinjs";
|
|
38
38
|
import { addDays as ye } from "date-fns/addDays";
|
|
39
|
-
import { eachDayOfInterval as
|
|
40
|
-
import { eachWeekOfInterval as
|
|
39
|
+
import { eachDayOfInterval as po } from "date-fns/eachDayOfInterval";
|
|
40
|
+
import { eachWeekOfInterval as vo } from "date-fns/eachWeekOfInterval";
|
|
41
41
|
import { endOfMonth as MA } from "date-fns/endOfMonth";
|
|
42
42
|
import { format as FA } from "date-fns/format";
|
|
43
|
-
import { isSameMonth as
|
|
43
|
+
import { isSameMonth as yo } from "date-fns/isSameMonth";
|
|
44
44
|
import { startOfMonth as yA } from "date-fns/startOfMonth";
|
|
45
45
|
import { subMonths as Ce } from "date-fns/subMonths";
|
|
46
46
|
import fe from "@mui/material/Paper";
|
|
47
|
-
import
|
|
48
|
-
import
|
|
47
|
+
import Eo from "@mui/icons-material/KeyboardArrowLeftRounded";
|
|
48
|
+
import bo from "@mui/icons-material/KeyboardArrowRightRounded";
|
|
49
49
|
import { isSameDay as YA } from "date-fns/isSameDay";
|
|
50
50
|
import { isWithinInterval as $e } from "date-fns/isWithinInterval";
|
|
51
51
|
import * as VA from "d3";
|
|
52
|
-
import { selectAll as
|
|
53
|
-
import { useTheme as kA, keyframes as
|
|
54
|
-
import { ResponsiveChartContainer as
|
|
55
|
-
import { Stack as Pt, Box as dt, useTheme as Vt, Card as
|
|
52
|
+
import { selectAll as wo, interpolateString as So, arc as Lo } from "d3";
|
|
53
|
+
import { useTheme as kA, keyframes as To, ThemeProvider as tt } from "@mui/material/styles";
|
|
54
|
+
import { ResponsiveChartContainer as Io, AreaPlot as Do, LinePlot as xo, MarkPlot as Oo, BarPlot as Po, ChartsXAxis as No, ChartsYAxis as Mo, ChartsReferenceLine as _o, ChartsLegend as Ro, LineChart as Ho } from "@mui/x-charts";
|
|
55
|
+
import { Stack as Pt, Box as dt, useTheme as Vt, Card as Na, CardContent as zo, Button as Bo, List as qo, Divider as Ko } from "@mui/material";
|
|
56
56
|
import zA from "@mui/material/Card";
|
|
57
57
|
import Qe from "@mui/material/CardContent";
|
|
58
58
|
import ut from "@mui/material/Grid";
|
|
59
|
-
import { differenceInCalendarDays as
|
|
59
|
+
import { differenceInCalendarDays as ko } from "date-fns/differenceInCalendarDays";
|
|
60
60
|
import { endOfToday as Xe } from "date-fns/endOfToday";
|
|
61
|
-
import { endOfYear as
|
|
62
|
-
import { startOfYear as
|
|
61
|
+
import { endOfYear as Er } from "date-fns/endOfYear";
|
|
62
|
+
import { startOfYear as br } from "date-fns/startOfYear";
|
|
63
63
|
import { subDays as le } from "date-fns/subDays";
|
|
64
|
-
import { subYears as
|
|
65
|
-
import
|
|
64
|
+
import { subYears as wr } from "date-fns/subYears";
|
|
65
|
+
import Go from "@mui/material/ButtonGroup";
|
|
66
66
|
import jA from "@mui/material/Tab";
|
|
67
67
|
import ze from "@mui/material/Tabs";
|
|
68
68
|
import Nn from "@mui/material/ToggleButton";
|
|
69
|
-
import
|
|
70
|
-
import
|
|
71
|
-
import
|
|
69
|
+
import Ma from "@mui/material/ToggleButtonGroup";
|
|
70
|
+
import Xo from "@mui/material/Dialog";
|
|
71
|
+
import _a from "@mui/material/DialogContent";
|
|
72
72
|
import nt from "@mui/material/CardHeader";
|
|
73
|
-
import { ConnectWidget as
|
|
73
|
+
import { ConnectWidget as Fo, ConnectionsWidget as Qo } from "@mxenabled/web-widget-sdk";
|
|
74
74
|
import Mn from "@mui/material/CircularProgress";
|
|
75
|
-
import { v4 as
|
|
75
|
+
import { v4 as jo } from "uuid";
|
|
76
76
|
import _t from "@mui/material/InputAdornment";
|
|
77
|
-
import
|
|
77
|
+
import Uo from "@mui/material/Radio";
|
|
78
78
|
import De from "@mui/material/Avatar";
|
|
79
79
|
import IA from "@mui/material/ListItemAvatar";
|
|
80
80
|
import ee from "@mui/material/ListItemIcon";
|
|
81
|
-
import { makeAutoObservable as wA, runInAction as Y, reaction as
|
|
82
|
-
import { differenceInDays as
|
|
81
|
+
import { makeAutoObservable as wA, runInAction as Y, reaction as Wo, observable as Yo } from "mobx";
|
|
82
|
+
import { differenceInDays as Vo } from "date-fns/differenceInDays";
|
|
83
83
|
import Jt from "@mui/icons-material/ChevronRight";
|
|
84
|
-
import
|
|
85
|
-
import { getDate as
|
|
84
|
+
import Ra from "@mui/icons-material/ExpandMore";
|
|
85
|
+
import { getDate as Jo, fromUnixTime as Rt, startOfMonth as Zo, format as $o, differenceInMonths as As, isSameDay as es, subDays as ts, startOfToday as ns, endOfToday as rs } from "date-fns";
|
|
86
86
|
import { getMonth as Ze } from "date-fns/getMonth";
|
|
87
|
-
import { useVirtualizer as
|
|
88
|
-
import { parseISO as
|
|
87
|
+
import { useVirtualizer as Ha } from "@tanstack/react-virtual";
|
|
88
|
+
import { parseISO as za } from "date-fns/parseISO";
|
|
89
89
|
import we from "@mui/material/Skeleton";
|
|
90
90
|
import { isAfter as At } from "date-fns/isAfter";
|
|
91
|
-
import { subWeeks as
|
|
91
|
+
import { subWeeks as Sr } from "date-fns/subWeeks";
|
|
92
92
|
import { formatISO as _n } from "date-fns/formatISO";
|
|
93
93
|
import { DataGridPro as Rn } from "@mui/x-data-grid-pro";
|
|
94
94
|
import Hn from "@mui/material/MenuItem";
|
|
95
|
-
import
|
|
95
|
+
import as from "@mui/material/RadioGroup";
|
|
96
96
|
import pt from "@mui/icons-material/DeleteOutlined";
|
|
97
97
|
import zn from "@mui/material/Switch";
|
|
98
98
|
import Zt from "@mui/material/TextField";
|
|
99
99
|
import Ht from "@mui/icons-material/Cancel";
|
|
100
|
-
import
|
|
101
|
-
import
|
|
102
|
-
import
|
|
103
|
-
import
|
|
104
|
-
import
|
|
105
|
-
import
|
|
106
|
-
import { getWeeksInMonth as
|
|
100
|
+
import is from "@mui/icons-material/HighlightOff";
|
|
101
|
+
import os from "@mui/icons-material/Search";
|
|
102
|
+
import ss from "@mui/icons-material/Edit";
|
|
103
|
+
import cs from "@mui/material/FormGroup";
|
|
104
|
+
import ls from "@mui/icons-material/FlagOutlined";
|
|
105
|
+
import ds from "@mui/icons-material/ReceiptOutlined";
|
|
106
|
+
import { getWeeksInMonth as Lr } from "date-fns/getWeeksInMonth";
|
|
107
107
|
import { AdapterDateFns as $t } from "@mui/x-date-pickers/AdapterDateFnsV3";
|
|
108
108
|
import { DateCalendar as Bn } from "@mui/x-date-pickers/DateCalendar";
|
|
109
109
|
import { LocalizationProvider as qn } from "@mui/x-date-pickers/LocalizationProvider";
|
|
110
|
-
import
|
|
111
|
-
import { PickersDay as
|
|
112
|
-
import
|
|
113
|
-
import
|
|
114
|
-
import
|
|
110
|
+
import Ba from "@mui/material/Badge";
|
|
111
|
+
import { PickersDay as us } from "@mui/x-date-pickers/PickersDay";
|
|
112
|
+
import hs from "@mui/icons-material/AccessTimeFilled";
|
|
113
|
+
import gs from "@mui/icons-material/MonetizationOn";
|
|
114
|
+
import qa from "@mui/icons-material/CheckCircle";
|
|
115
115
|
import { getDate as ht } from "date-fns/getDate";
|
|
116
|
-
import { isValid as
|
|
116
|
+
import { isValid as Cs } from "date-fns/isValid";
|
|
117
117
|
import ke from "@mui/material/Unstable_Grid2";
|
|
118
|
-
import { DatePicker as
|
|
118
|
+
import { DatePicker as fs } from "@mui/x-date-pickers";
|
|
119
119
|
import Kn from "@mui/material/Collapse";
|
|
120
|
-
import
|
|
121
|
-
import
|
|
120
|
+
import ms from "@mui/material/Chip";
|
|
121
|
+
import ps from "@mui/icons-material/EditOutlined";
|
|
122
122
|
import kn from "@mui/icons-material/Error";
|
|
123
123
|
import { isToday as Gn } from "date-fns/isToday";
|
|
124
|
-
import
|
|
125
|
-
import
|
|
126
|
-
import { isYesterday as
|
|
127
|
-
import
|
|
128
|
-
import
|
|
129
|
-
import { LocalizationProvider as
|
|
130
|
-
import
|
|
131
|
-
import
|
|
132
|
-
import
|
|
133
|
-
import
|
|
134
|
-
import
|
|
135
|
-
import
|
|
136
|
-
import
|
|
124
|
+
import vs from "@mui/icons-material/CheckCircleRounded";
|
|
125
|
+
import ys from "@mui/icons-material/LanguageRounded";
|
|
126
|
+
import { isYesterday as Es } from "date-fns/isYesterday";
|
|
127
|
+
import bs from "@mui/material/FormControl";
|
|
128
|
+
import ws from "@mui/material/InputLabel";
|
|
129
|
+
import { LocalizationProvider as Ss } from "@mui/x-date-pickers-pro";
|
|
130
|
+
import Ls from "@mui/material/Select";
|
|
131
|
+
import Ka from "@mui/material/Alert";
|
|
132
|
+
import Ts from "@mui/material/AlertTitle";
|
|
133
|
+
import ka from "@mui/material/Link";
|
|
134
|
+
import Is from "@mui/material/ListItemSecondaryAction";
|
|
135
|
+
import Ds from "react-confetti";
|
|
136
|
+
import xs from "react-virtualized-auto-sizer";
|
|
137
137
|
import { useInView as Xn } from "react-intersection-observer";
|
|
138
138
|
import Sn from "@mui/material/Typography";
|
|
139
139
|
import Fn from "@mui/material/styles/ThemeProvider";
|
|
140
|
-
import
|
|
141
|
-
import
|
|
142
|
-
import
|
|
143
|
-
import Ps from "@mui/material
|
|
144
|
-
import
|
|
140
|
+
import { deepmerge as Qn } from "@mui/utils";
|
|
141
|
+
import Ga from "@mui/lab/LoadingButton";
|
|
142
|
+
import Os from "@mui/material/Snackbar";
|
|
143
|
+
import { CheckCircleRounded as Ps } from "@mui/icons-material";
|
|
144
|
+
import Ns from "@mui/material/Grow";
|
|
145
145
|
import Ms from "@mui/icons-material/ChevronLeft";
|
|
146
146
|
import _s from "@mui/material/CardActions";
|
|
147
147
|
import Rs from "@mui/material/CssBaseline";
|
|
@@ -318,18 +318,18 @@ const zs = async (A, e, n = "1.0.0", r = "Experiences") => {
|
|
|
318
318
|
day: "numeric",
|
|
319
319
|
year: "numeric"
|
|
320
320
|
}
|
|
321
|
-
}, AA = (A, e) =>
|
|
322
|
-
var U = /* @__PURE__ */ ((A) => (A[A.ANY = 0] = "ANY", A[A.CHECKING = 1] = "CHECKING", A[A.SAVINGS = 2] = "SAVINGS", A[A.LOAN = 3] = "LOAN", A[A.CREDIT_CARD = 4] = "CREDIT_CARD", A[A.INVESTMENT = 5] = "INVESTMENT", A[A.LINE_OF_CREDIT = 6] = "LINE_OF_CREDIT", A[A.MORTGAGE = 7] = "MORTGAGE", A[A.PROPERTY = 8] = "PROPERTY", A[A.CASH = 9] = "CASH", A[A.INSURANCE = 10] = "INSURANCE", A[A.PREPAID = 11] = "PREPAID", A[A.CHECKING_LINE_OF_CREDIT = 12] = "CHECKING_LINE_OF_CREDIT", A[A.DIGITAL_WALLET = 13] = "DIGITAL_WALLET", A))(U || {}), qs = /* @__PURE__ */ ((A) => (A[A.NONE = 0] = "NONE", A[A.MONEY_MARKET = 1] = "MONEY_MARKET", A[A.CERTIFICATE_OF_DEPOSIT = 2] = "CERTIFICATE_OF_DEPOSIT", A[A.AUTO = 3] = "AUTO", A[A.STUDENT = 4] = "STUDENT", A[A.SMALL_BUSINESS = 5] = "SMALL_BUSINESS", A[A.PERSONAL = 6] = "PERSONAL", A[A.PERSONAL_WITH_COLLATERAL = 7] = "PERSONAL_WITH_COLLATERAL", A[A.HOME_EQUITY = 8] = "HOME_EQUITY", A[A.PLAN_401_K = 9] = "PLAN_401_K", A[A.PLAN_403_B = 10] = "PLAN_403_B", A[A.PLAN_529 = 11] = "PLAN_529", A[A.IRA = 12] = "IRA", A[A.ROLLOVER_IRA = 13] = "ROLLOVER_IRA", A[A.ROTH_IRA = 14] = "ROTH_IRA", A[A.TAXABLE = 15] = "TAXABLE", A[A.NON_TAXABLE = 16] = "NON_TAXABLE", A[A.BROKERAGE = 17] = "BROKERAGE", A[A.TRUST = 18] = "TRUST", A[A.UNIFORM_GIFTS_TO_MINORS_ACT = 19] = "UNIFORM_GIFTS_TO_MINORS_ACT", A[A.PLAN_457 = 20] = "PLAN_457", A[A.PENSION = 21] = "PENSION", A[A.EMPLOYEE_STOCK_OWNERSHIP_PLAN = 22] = "EMPLOYEE_STOCK_OWNERSHIP_PLAN", A[A.SIMPLIFIED_EMPLOYEE_PENSION = 23] = "SIMPLIFIED_EMPLOYEE_PENSION", A[A.SIMPLE_IRA = 24] = "SIMPLE_IRA", A[A.BOAT = 25] = "BOAT", A[A.POWERSPORTS = 26] = "POWERSPORTS", A[A.RV = 27] = "RV", A[A.HELOC = 28] = "HELOC", A[A.PLAN_ROTH_401_K = 29] = "PLAN_ROTH_401_K", A[A.FIXED_ANNUITY = 30] = "FIXED_ANNUITY", A[A.VARIABLE_ANNUITY = 31] = "VARIABLE_ANNUITY", A[A.VEHICLE_INSURANCE = 32] = "VEHICLE_INSURANCE", A[A.DISABILITY = 33] = "DISABILITY", A[A.HEALTH = 34] = "HEALTH", A[A.LONG_TERM_CARE = 35] = "LONG_TERM_CARE", A[A.PROPERTY_AND_CASUALTY = 36] = "PROPERTY_AND_CASUALTY", A[A.UNIVERSAL_LIFE = 37] = "UNIVERSAL_LIFE", A[A.TERM_LIFE = 38] = "TERM_LIFE", A[A.WHOLE_LIFE = 39] = "WHOLE_LIFE", A[A.ACCIDENTAL_DEATH_AND_DISMEMBERMENT = 40] = "ACCIDENTAL_DEATH_AND_DISMEMBERMENT", A[A.VARIABLE_UNIVERSAL_LIFE = 41] = "VARIABLE_UNIVERSAL_LIFE", A[A.HSA = 42] = "HSA", A[A.TAX_FREE_SAVINGS_ACCOUNT = 43] = "TAX_FREE_SAVINGS_ACCOUNT", A[A.INDIVIDUAL = 44] = "INDIVIDUAL", A[A.REGISTERED_RETIREMENT_INCOME_FUND = 45] = "REGISTERED_RETIREMENT_INCOME_FUND", A[A.CASH_MANAGEMENT_ACCOUNT = 46] = "CASH_MANAGEMENT_ACCOUNT", A[A.EMPLOYEE_STOCK_PURCHASE_PLAN = 47] = "EMPLOYEE_STOCK_PURCHASE_PLAN", A[A.REGISTERED_EDUCATION_SAVINGS_PLAN = 48] = "REGISTERED_EDUCATION_SAVINGS_PLAN", A[A.PROFIT_SHARING_PLAN = 49] = "PROFIT_SHARING_PLAN", A[A.UNIFORM_TRANSFER_TO_MINORS_ACT = 50] = "UNIFORM_TRANSFER_TO_MINORS_ACT", A[A.PLAN_401_A = 51] = "PLAN_401_A", A[A.SARSEP_IRA = 52] = "SARSEP_IRA", A[A.FIXED_ANNUITY_TRADITIONAL_IRA = 53] = "FIXED_ANNUITY_TRADITIONAL_IRA", A[A.VARIABLE_ANNUITY_TRADITIONAL_IRA = 54] = "VARIABLE_ANNUITY_TRADITIONAL_IRA", A[A.SEPP_IRA = 55] = "SEPP_IRA", A[A.INHERITED_TRADITIONAL_IRA = 56] = "INHERITED_TRADITIONAL_IRA", A[A.FIXED_ANNUITY_ROTH_IRA = 57] = "FIXED_ANNUITY_ROTH_IRA", A[A.VARIABLE_ANNUITY_ROTH_IRA = 58] = "VARIABLE_ANNUITY_ROTH_IRA", A[A.INHERITED_ROTH_IRA = 59] = "INHERITED_ROTH_IRA", A[A.COVERDELL = 60] = "COVERDELL", A[A.ADVISORY_ACCOUNT = 61] = "ADVISORY_ACCOUNT", A[A.BROKERAGE_MARGIN = 62] = "BROKERAGE_MARGIN", A[A.CHARITABLE_GIFT_ACCOUNT = 63] = "CHARITABLE_GIFT_ACCOUNT", A[A.CHURCH_ACCOUNT = 64] = "CHURCH_ACCOUNT", A[A.CONSERVATORSHIP = 65] = "CONSERVATORSHIP", A[A.CUSTODIAL = 66] = "CUSTODIAL", A[A.DEFINED_BENEFIT_PLAN = 67] = "DEFINED_BENEFIT_PLAN", A[A.DEFINED_CONTRIBUTION_PLAN = 68] = "DEFINED_CONTRIBUTION_PLAN", A[A.EDUCATIONAL = 69] = "EDUCATIONAL", A[A.ESTATE = 70] = "ESTATE", A[A.EXECUTOR = 71] = "EXECUTOR", A[A.GROUP_RETIREMENT_SAVINGS_PLAN = 72] = "GROUP_RETIREMENT_SAVINGS_PLAN", A[A.GUARANTEED_INVESTMENT_CERTIFICATE = 73] = "GUARANTEED_INVESTMENT_CERTIFICATE", A[A.HRA = 74] = "HRA", A[A.INDEXED_ANNUITY = 75] = "INDEXED_ANNUITY", A[A.INVESTMENT_CLUB = 76] = "INVESTMENT_CLUB", A[A.IRREVOCABLE_TRUST = 77] = "IRREVOCABLE_TRUST", A[A.JOINT_TENANTS_BY_ENTIRITY = 78] = "JOINT_TENANTS_BY_ENTIRITY", A[A.JOINT_TENANTS_COMMUNITY_PROPERTY = 79] = "JOINT_TENANTS_COMMUNITY_PROPERTY", A[A.JOINT_TENANTS_IN_COMMON = 80] = "JOINT_TENANTS_IN_COMMON", A[A.JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP = 81] = "JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP", A[A.KEOUGH_PLAN = 82] = "KEOUGH_PLAN", A[A.LIFE_INCOME_FUND = 83] = "LIFE_INCOME_FUND", A[A.LIVING_TRUST = 84] = "LIVING_TRUST", A[A.LOCKED_IN_RETIREMENT_ACCOUNT = 85] = "LOCKED_IN_RETIREMENT_ACCOUNT", A[A.LOCKED_IN_RETIREMENT_INVESTMENT_FUND = 86] = "LOCKED_IN_RETIREMENT_INVESTMENT_FUND", A[A.LOCKED_IN_RETIREMENT_SAVINGS_ACCOUNT = 87] = "LOCKED_IN_RETIREMENT_SAVINGS_ACCOUNT", A[A.MONEY_PURCHASE_PLAN = 88] = "MONEY_PURCHASE_PLAN", A[A.PARTNERSHIP = 89] = "PARTNERSHIP", A[A.PLAN_409_A = 90] = "PLAN_409_A", A[A.PLAN_ROTH_403_B = 91] = "PLAN_ROTH_403_B", A[A.REGISTERED_DISABILITY_SAVINGS_PLAN = 92] = "REGISTERED_DISABILITY_SAVINGS_PLAN", A[A.REGISTERED_LOCKED_IN_SAVINGS_PLAN = 93] = "REGISTERED_LOCKED_IN_SAVINGS_PLAN", A[A.REGISTERED_PENSION_PLAN = 94] = "REGISTERED_PENSION_PLAN", A[A.REGISTERED_RETIREMENT_SAVINGS_PLAN = 95] = "REGISTERED_RETIREMENT_SAVINGS_PLAN", A[A.REVOCABLE_TRUST = 96] = "REVOCABLE_TRUST", A[A.ROTH_CONVERSION = 97] = "ROTH_CONVERSION", A[A.SOLE_PROPRIETORSHIP = 98] = "SOLE_PROPRIETORSHIP", A[A.SPOUSAL_IRA = 99] = "SPOUSAL_IRA", A[A.SPOUSAL_ROTH_IRA = 100] = "SPOUSAL_ROTH_IRA", A[A.TESTAMENTARY_TRUST = 101] = "TESTAMENTARY_TRUST", A[A.THRIFT_SAVINGS_PLAN = 102] = "THRIFT_SAVINGS_PLAN", A[A.INHERITED_ANNUITY = 103] = "INHERITED_ANNUITY", A[A.CORPORATE_ACCOUNT = 104] = "CORPORATE_ACCOUNT", A[A.LIMITED_LIABILITY_ACCOUNT = 105] = "LIMITED_LIABILITY_ACCOUNT", A[A.HSA_SAVINGS = 106] = "HSA_SAVINGS", A[A.HSA_CHECKING = 107] = "HSA_CHECKING", A))(qs || {}),
|
|
321
|
+
}, AA = (A, e) => Co(new Date(A), Object.assign(e), { locale: Re() });
|
|
322
|
+
var U = /* @__PURE__ */ ((A) => (A[A.ANY = 0] = "ANY", A[A.CHECKING = 1] = "CHECKING", A[A.SAVINGS = 2] = "SAVINGS", A[A.LOAN = 3] = "LOAN", A[A.CREDIT_CARD = 4] = "CREDIT_CARD", A[A.INVESTMENT = 5] = "INVESTMENT", A[A.LINE_OF_CREDIT = 6] = "LINE_OF_CREDIT", A[A.MORTGAGE = 7] = "MORTGAGE", A[A.PROPERTY = 8] = "PROPERTY", A[A.CASH = 9] = "CASH", A[A.INSURANCE = 10] = "INSURANCE", A[A.PREPAID = 11] = "PREPAID", A[A.CHECKING_LINE_OF_CREDIT = 12] = "CHECKING_LINE_OF_CREDIT", A[A.DIGITAL_WALLET = 13] = "DIGITAL_WALLET", A))(U || {}), qs = /* @__PURE__ */ ((A) => (A[A.NONE = 0] = "NONE", A[A.MONEY_MARKET = 1] = "MONEY_MARKET", A[A.CERTIFICATE_OF_DEPOSIT = 2] = "CERTIFICATE_OF_DEPOSIT", A[A.AUTO = 3] = "AUTO", A[A.STUDENT = 4] = "STUDENT", A[A.SMALL_BUSINESS = 5] = "SMALL_BUSINESS", A[A.PERSONAL = 6] = "PERSONAL", A[A.PERSONAL_WITH_COLLATERAL = 7] = "PERSONAL_WITH_COLLATERAL", A[A.HOME_EQUITY = 8] = "HOME_EQUITY", A[A.PLAN_401_K = 9] = "PLAN_401_K", A[A.PLAN_403_B = 10] = "PLAN_403_B", A[A.PLAN_529 = 11] = "PLAN_529", A[A.IRA = 12] = "IRA", A[A.ROLLOVER_IRA = 13] = "ROLLOVER_IRA", A[A.ROTH_IRA = 14] = "ROTH_IRA", A[A.TAXABLE = 15] = "TAXABLE", A[A.NON_TAXABLE = 16] = "NON_TAXABLE", A[A.BROKERAGE = 17] = "BROKERAGE", A[A.TRUST = 18] = "TRUST", A[A.UNIFORM_GIFTS_TO_MINORS_ACT = 19] = "UNIFORM_GIFTS_TO_MINORS_ACT", A[A.PLAN_457 = 20] = "PLAN_457", A[A.PENSION = 21] = "PENSION", A[A.EMPLOYEE_STOCK_OWNERSHIP_PLAN = 22] = "EMPLOYEE_STOCK_OWNERSHIP_PLAN", A[A.SIMPLIFIED_EMPLOYEE_PENSION = 23] = "SIMPLIFIED_EMPLOYEE_PENSION", A[A.SIMPLE_IRA = 24] = "SIMPLE_IRA", A[A.BOAT = 25] = "BOAT", A[A.POWERSPORTS = 26] = "POWERSPORTS", A[A.RV = 27] = "RV", A[A.HELOC = 28] = "HELOC", A[A.PLAN_ROTH_401_K = 29] = "PLAN_ROTH_401_K", A[A.FIXED_ANNUITY = 30] = "FIXED_ANNUITY", A[A.VARIABLE_ANNUITY = 31] = "VARIABLE_ANNUITY", A[A.VEHICLE_INSURANCE = 32] = "VEHICLE_INSURANCE", A[A.DISABILITY = 33] = "DISABILITY", A[A.HEALTH = 34] = "HEALTH", A[A.LONG_TERM_CARE = 35] = "LONG_TERM_CARE", A[A.PROPERTY_AND_CASUALTY = 36] = "PROPERTY_AND_CASUALTY", A[A.UNIVERSAL_LIFE = 37] = "UNIVERSAL_LIFE", A[A.TERM_LIFE = 38] = "TERM_LIFE", A[A.WHOLE_LIFE = 39] = "WHOLE_LIFE", A[A.ACCIDENTAL_DEATH_AND_DISMEMBERMENT = 40] = "ACCIDENTAL_DEATH_AND_DISMEMBERMENT", A[A.VARIABLE_UNIVERSAL_LIFE = 41] = "VARIABLE_UNIVERSAL_LIFE", A[A.HSA = 42] = "HSA", A[A.TAX_FREE_SAVINGS_ACCOUNT = 43] = "TAX_FREE_SAVINGS_ACCOUNT", A[A.INDIVIDUAL = 44] = "INDIVIDUAL", A[A.REGISTERED_RETIREMENT_INCOME_FUND = 45] = "REGISTERED_RETIREMENT_INCOME_FUND", A[A.CASH_MANAGEMENT_ACCOUNT = 46] = "CASH_MANAGEMENT_ACCOUNT", A[A.EMPLOYEE_STOCK_PURCHASE_PLAN = 47] = "EMPLOYEE_STOCK_PURCHASE_PLAN", A[A.REGISTERED_EDUCATION_SAVINGS_PLAN = 48] = "REGISTERED_EDUCATION_SAVINGS_PLAN", A[A.PROFIT_SHARING_PLAN = 49] = "PROFIT_SHARING_PLAN", A[A.UNIFORM_TRANSFER_TO_MINORS_ACT = 50] = "UNIFORM_TRANSFER_TO_MINORS_ACT", A[A.PLAN_401_A = 51] = "PLAN_401_A", A[A.SARSEP_IRA = 52] = "SARSEP_IRA", A[A.FIXED_ANNUITY_TRADITIONAL_IRA = 53] = "FIXED_ANNUITY_TRADITIONAL_IRA", A[A.VARIABLE_ANNUITY_TRADITIONAL_IRA = 54] = "VARIABLE_ANNUITY_TRADITIONAL_IRA", A[A.SEPP_IRA = 55] = "SEPP_IRA", A[A.INHERITED_TRADITIONAL_IRA = 56] = "INHERITED_TRADITIONAL_IRA", A[A.FIXED_ANNUITY_ROTH_IRA = 57] = "FIXED_ANNUITY_ROTH_IRA", A[A.VARIABLE_ANNUITY_ROTH_IRA = 58] = "VARIABLE_ANNUITY_ROTH_IRA", A[A.INHERITED_ROTH_IRA = 59] = "INHERITED_ROTH_IRA", A[A.COVERDELL = 60] = "COVERDELL", A[A.ADVISORY_ACCOUNT = 61] = "ADVISORY_ACCOUNT", A[A.BROKERAGE_MARGIN = 62] = "BROKERAGE_MARGIN", A[A.CHARITABLE_GIFT_ACCOUNT = 63] = "CHARITABLE_GIFT_ACCOUNT", A[A.CHURCH_ACCOUNT = 64] = "CHURCH_ACCOUNT", A[A.CONSERVATORSHIP = 65] = "CONSERVATORSHIP", A[A.CUSTODIAL = 66] = "CUSTODIAL", A[A.DEFINED_BENEFIT_PLAN = 67] = "DEFINED_BENEFIT_PLAN", A[A.DEFINED_CONTRIBUTION_PLAN = 68] = "DEFINED_CONTRIBUTION_PLAN", A[A.EDUCATIONAL = 69] = "EDUCATIONAL", A[A.ESTATE = 70] = "ESTATE", A[A.EXECUTOR = 71] = "EXECUTOR", A[A.GROUP_RETIREMENT_SAVINGS_PLAN = 72] = "GROUP_RETIREMENT_SAVINGS_PLAN", A[A.GUARANTEED_INVESTMENT_CERTIFICATE = 73] = "GUARANTEED_INVESTMENT_CERTIFICATE", A[A.HRA = 74] = "HRA", A[A.INDEXED_ANNUITY = 75] = "INDEXED_ANNUITY", A[A.INVESTMENT_CLUB = 76] = "INVESTMENT_CLUB", A[A.IRREVOCABLE_TRUST = 77] = "IRREVOCABLE_TRUST", A[A.JOINT_TENANTS_BY_ENTIRITY = 78] = "JOINT_TENANTS_BY_ENTIRITY", A[A.JOINT_TENANTS_COMMUNITY_PROPERTY = 79] = "JOINT_TENANTS_COMMUNITY_PROPERTY", A[A.JOINT_TENANTS_IN_COMMON = 80] = "JOINT_TENANTS_IN_COMMON", A[A.JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP = 81] = "JOINT_TENANTS_WITH_RIGHTS_OF_SURVIVORSHIP", A[A.KEOUGH_PLAN = 82] = "KEOUGH_PLAN", A[A.LIFE_INCOME_FUND = 83] = "LIFE_INCOME_FUND", A[A.LIVING_TRUST = 84] = "LIVING_TRUST", A[A.LOCKED_IN_RETIREMENT_ACCOUNT = 85] = "LOCKED_IN_RETIREMENT_ACCOUNT", A[A.LOCKED_IN_RETIREMENT_INVESTMENT_FUND = 86] = "LOCKED_IN_RETIREMENT_INVESTMENT_FUND", A[A.LOCKED_IN_RETIREMENT_SAVINGS_ACCOUNT = 87] = "LOCKED_IN_RETIREMENT_SAVINGS_ACCOUNT", A[A.MONEY_PURCHASE_PLAN = 88] = "MONEY_PURCHASE_PLAN", A[A.PARTNERSHIP = 89] = "PARTNERSHIP", A[A.PLAN_409_A = 90] = "PLAN_409_A", A[A.PLAN_ROTH_403_B = 91] = "PLAN_ROTH_403_B", A[A.REGISTERED_DISABILITY_SAVINGS_PLAN = 92] = "REGISTERED_DISABILITY_SAVINGS_PLAN", A[A.REGISTERED_LOCKED_IN_SAVINGS_PLAN = 93] = "REGISTERED_LOCKED_IN_SAVINGS_PLAN", A[A.REGISTERED_PENSION_PLAN = 94] = "REGISTERED_PENSION_PLAN", A[A.REGISTERED_RETIREMENT_SAVINGS_PLAN = 95] = "REGISTERED_RETIREMENT_SAVINGS_PLAN", A[A.REVOCABLE_TRUST = 96] = "REVOCABLE_TRUST", A[A.ROTH_CONVERSION = 97] = "ROTH_CONVERSION", A[A.SOLE_PROPRIETORSHIP = 98] = "SOLE_PROPRIETORSHIP", A[A.SPOUSAL_IRA = 99] = "SPOUSAL_IRA", A[A.SPOUSAL_ROTH_IRA = 100] = "SPOUSAL_ROTH_IRA", A[A.TESTAMENTARY_TRUST = 101] = "TESTAMENTARY_TRUST", A[A.THRIFT_SAVINGS_PLAN = 102] = "THRIFT_SAVINGS_PLAN", A[A.INHERITED_ANNUITY = 103] = "INHERITED_ANNUITY", A[A.CORPORATE_ACCOUNT = 104] = "CORPORATE_ACCOUNT", A[A.LIMITED_LIABILITY_ACCOUNT = 105] = "LIMITED_LIABILITY_ACCOUNT", A[A.HSA_SAVINGS = 106] = "HSA_SAVINGS", A[A.HSA_CHECKING = 107] = "HSA_CHECKING", A))(qs || {}), Xa = /* @__PURE__ */ ((A) => (A[A.REAL_ESTATE = 0] = "REAL_ESTATE", A[A.VEHICLE = 1] = "VEHICLE", A[A.ART = 2] = "ART", A[A.JEWELRY = 3] = "JEWELRY", A[A.FURNITURE = 4] = "FURNITURE", A[A.APPLIANCES = 5] = "APPLIANCES", A[A.COMPUTER = 6] = "COMPUTER", A[A.ELECTRONICS = 7] = "ELECTRONICS", A[A.SPORTS_EQUIPMENT = 8] = "SPORTS_EQUIPMENT", A[A.MISCELLANEOUS = 9] = "MISCELLANEOUS", A))(Xa || {}), KA = /* @__PURE__ */ ((A) => (A[A.CREATED = 0] = "CREATED", A[A.PREVENTED = 1] = "PREVENTED", A[A.DENIED = 2] = "DENIED", A[A.CHALLENGED = 3] = "CHALLENGED", A[A.REJECTED = 4] = "REJECTED", A[A.LOCKED = 5] = "LOCKED", A[A.CONNECTED = 6] = "CONNECTED", A[A.IMPEDED = 7] = "IMPEDED", A[A.RECONNECTED = 8] = "RECONNECTED", A[A.DEGRADED = 9] = "DEGRADED", A[A.DISCONNECTED = 10] = "DISCONNECTED", A[A.DISCONTINUED = 11] = "DISCONTINUED", A[A.CLOSED = 12] = "CLOSED", A[A.DELAYED = 13] = "DELAYED", A[A.FAILED = 14] = "FAILED", A[A.UPDATED = 15] = "UPDATED", A[A.DISABLED = 16] = "DISABLED", A[A.IMPORTED = 17] = "IMPORTED", A[A.RESUMED = 18] = "RESUMED", A[A.EXPIRED = 19] = "EXPIRED", A[A.IMPAIRED = 20] = "IMPAIRED", A[A.PENDING = 21] = "PENDING", A))(KA || {});
|
|
323
323
|
const Ks = [
|
|
324
324
|
0,
|
|
325
325
|
15,
|
|
326
326
|
18
|
|
327
327
|
/* RESUMED */
|
|
328
|
-
],
|
|
328
|
+
], Fa = [
|
|
329
329
|
3,
|
|
330
330
|
4
|
|
331
331
|
/* REJECTED */
|
|
332
|
-
],
|
|
332
|
+
], Qa = [
|
|
333
333
|
1,
|
|
334
334
|
2,
|
|
335
335
|
5,
|
|
@@ -345,7 +345,7 @@ const Ks = [
|
|
|
345
345
|
19,
|
|
346
346
|
20
|
|
347
347
|
/* IMPAIRED */
|
|
348
|
-
],
|
|
348
|
+
], ja = [...Qa, ...Fa];
|
|
349
349
|
var Ge = /* @__PURE__ */ ((A) => (A.Connected = "Connected", A.Error = "Error", A.Processing = "Processing", A.RequiresMfa = "RequiresMfa", A))(Ge || {});
|
|
350
350
|
const O7 = {
|
|
351
351
|
3: "Challenged",
|
|
@@ -364,7 +364,7 @@ const O7 = {
|
|
|
364
364
|
5: "Locked",
|
|
365
365
|
1: "Prevented",
|
|
366
366
|
4: "Rejected"
|
|
367
|
-
},
|
|
367
|
+
}, Ua = {
|
|
368
368
|
0: "Any",
|
|
369
369
|
9: "Cash",
|
|
370
370
|
1: "Checking",
|
|
@@ -379,7 +379,7 @@ const O7 = {
|
|
|
379
379
|
11: "Prepaid",
|
|
380
380
|
8: "Property",
|
|
381
381
|
2: "Savings"
|
|
382
|
-
},
|
|
382
|
+
}, Wa = {
|
|
383
383
|
0: "account_balance",
|
|
384
384
|
9: "monetization_on",
|
|
385
385
|
1: "checkbook",
|
|
@@ -419,20 +419,20 @@ const O7 = {
|
|
|
419
419
|
7: "camera_alt",
|
|
420
420
|
8: "sports_baseball",
|
|
421
421
|
9: "monetization_on"
|
|
422
|
-
},
|
|
422
|
+
}, jn = [
|
|
423
423
|
U.ANY,
|
|
424
424
|
U.CASH,
|
|
425
425
|
U.CHECKING,
|
|
426
426
|
U.DIGITAL_WALLET,
|
|
427
427
|
U.PREPAID,
|
|
428
428
|
U.SAVINGS
|
|
429
|
-
],
|
|
429
|
+
], Un = [
|
|
430
430
|
U.CHECKING_LINE_OF_CREDIT,
|
|
431
431
|
U.CREDIT_CARD,
|
|
432
432
|
U.LINE_OF_CREDIT,
|
|
433
433
|
U.LOAN,
|
|
434
434
|
U.MORTGAGE
|
|
435
|
-
],
|
|
435
|
+
], Wn = [
|
|
436
436
|
U.ANY,
|
|
437
437
|
U.CASH,
|
|
438
438
|
U.CHECKING,
|
|
@@ -564,7 +564,7 @@ const O7 = {
|
|
|
564
564
|
DENTIST: "CAT-ee48b740-c981-778b-3c02-04540dec0262",
|
|
565
565
|
BONUS: "CAT-f52f2a88-2cb6-04e4-e36a-58f7b7c6a798",
|
|
566
566
|
PET_FOOD_SUPPLIES: "CAT-fbcdb437-2533-2857-1d1a-0624c9d9e1dc"
|
|
567
|
-
},
|
|
567
|
+
}, Tr = [
|
|
568
568
|
E.CREDIT_CARD_PAYMENT,
|
|
569
569
|
E.MORTGAGE_PAYMENT,
|
|
570
570
|
E.AUTO_PAYMENT
|
|
@@ -735,7 +735,7 @@ const O7 = {
|
|
|
735
735
|
[E.TRAVEL]: "airplane_ticket",
|
|
736
736
|
[E.UNCATEGORIZED]: "category",
|
|
737
737
|
UNKNOWN: "help"
|
|
738
|
-
},
|
|
738
|
+
}, Ir = 9999999999e-2;
|
|
739
739
|
var zt = /* @__PURE__ */ ((A) => (A.CAD = "CAD", A.USD = "USD", A))(zt || {}), G = /* @__PURE__ */ ((A) => (A[A.Unknown = 0] = "Unknown", A[A.EveryWeek = 1] = "EveryWeek", A[A.EveryOtherWeek = 2] = "EveryOtherWeek", A[A.EveryMonth = 3] = "EveryMonth", A[A.EveryOtherMonth = 4] = "EveryOtherMonth", A[A.EveryQuarter = 5] = "EveryQuarter", A[A.EveryOtherQuarter = 6] = "EveryOtherQuarter", A[A.EveryYear = 7] = "EveryYear", A))(G || {});
|
|
740
740
|
const N7 = [
|
|
741
741
|
{ id: 0, copy: "frequency_unknown" },
|
|
@@ -752,18 +752,18 @@ const N7 = [
|
|
|
752
752
|
SUCCESS: "SUCCESS"
|
|
753
753
|
};
|
|
754
754
|
var Fs = /* @__PURE__ */ ((A) => (A[A.SpendingPlan = 0] = "SpendingPlan", A[A.Budgets = 1] = "Budgets", A))(Fs || {}), Qs = /* @__PURE__ */ ((A) => (A[A.RecurringExpense = 0] = "RecurringExpense", A[A.PlannedExpense = 1] = "PlannedExpense", A[A.Other = 2] = "Other", A[A.Income = 3] = "Income", A))(Qs || {});
|
|
755
|
-
const
|
|
755
|
+
const Ya = 48, Va = 4;
|
|
756
756
|
var js = /* @__PURE__ */ ((A) => (A.Small = "small", A.Medium = "medium", A.Large = "large", A))(js || {});
|
|
757
|
-
const it = 44,
|
|
757
|
+
const it = 44, Dr = (A, e) => A.find((n) => n.guid === e), Us = (A, e) => A.find((n) => n.guid === e), Ws = (A, e) => {
|
|
758
758
|
const n = A.find((r) => r.subCategories.find((a) => a.guid === e));
|
|
759
759
|
if (n)
|
|
760
760
|
return n.subCategories.find((r) => r.guid === e);
|
|
761
761
|
}, Ys = (A, e) => {
|
|
762
762
|
const n = [];
|
|
763
763
|
for (const r of e) {
|
|
764
|
-
const a =
|
|
764
|
+
const a = Dr(A, r.category_guid);
|
|
765
765
|
if (!a) continue;
|
|
766
|
-
const i = a.parent_guid ?? a.guid, o =
|
|
766
|
+
const i = a.parent_guid ?? a.guid, o = Dr(A, i);
|
|
767
767
|
if (!o) continue;
|
|
768
768
|
const s = {
|
|
769
769
|
amount: r.total,
|
|
@@ -868,9 +868,9 @@ class UA {
|
|
|
868
868
|
const X = (A, e, n) => {
|
|
869
869
|
switch (Re()) {
|
|
870
870
|
case "fr-ca":
|
|
871
|
-
return
|
|
871
|
+
return yr(A).format(`${e} $`, n);
|
|
872
872
|
default:
|
|
873
|
-
return
|
|
873
|
+
return yr(A).format(`$${e}`, n);
|
|
874
874
|
}
|
|
875
875
|
}, Zs = () => {
|
|
876
876
|
switch (Re()) {
|
|
@@ -891,42 +891,42 @@ const X = (A, e, n) => {
|
|
|
891
891
|
}) => {
|
|
892
892
|
const r = ec(e).select(A);
|
|
893
893
|
return `${A}${n[r]}`;
|
|
894
|
-
},
|
|
894
|
+
}, Yn = (A) => {
|
|
895
895
|
const e = mt(A);
|
|
896
896
|
let n = bn(A, e);
|
|
897
897
|
for (; pA(n, $()); )
|
|
898
898
|
n = Je(n, 1);
|
|
899
899
|
return n;
|
|
900
900
|
}, nc = (A) => {
|
|
901
|
-
const e =
|
|
901
|
+
const e = Yn(A);
|
|
902
902
|
return Je(e, 1);
|
|
903
|
-
},
|
|
903
|
+
}, xr = (A) => {
|
|
904
904
|
let e = wn($(), A.getDate());
|
|
905
905
|
for (; pA(e, $()); )
|
|
906
906
|
e = Ae(e, 1);
|
|
907
907
|
return e;
|
|
908
908
|
}, rc = (A) => {
|
|
909
|
-
const e =
|
|
909
|
+
const e = Yn(A);
|
|
910
910
|
return Ae(e, 1);
|
|
911
|
-
},
|
|
911
|
+
}, Ja = (A) => {
|
|
912
912
|
let e = Ke(A, 1);
|
|
913
913
|
for (; pA(e, $()); )
|
|
914
914
|
e = Ke(e, 1);
|
|
915
915
|
return e;
|
|
916
916
|
}, ac = (A) => {
|
|
917
|
-
const e =
|
|
917
|
+
const e = Ja(A);
|
|
918
918
|
return Ke(e, 1);
|
|
919
919
|
}, ic = (A) => ft(A, 1), gt = (A) => {
|
|
920
920
|
const e = xA(A);
|
|
921
921
|
return new Date(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate());
|
|
922
|
-
}, An = (A) => AA(xA(A), Z.DAY_OF_WEEK_MONTH_DAY),
|
|
922
|
+
}, An = (A) => AA(xA(A), Z.DAY_OF_WEEK_MONTH_DAY), Za = (A) => A ? AA(xA(A), Z.MONTH_YEAR) : "";
|
|
923
923
|
class oc {
|
|
924
924
|
fetchInstance;
|
|
925
925
|
constructor(e, n) {
|
|
926
926
|
this.fetchInstance = new UA(e, n);
|
|
927
927
|
}
|
|
928
928
|
initializeAnalyticsSession = async (e, n) => {
|
|
929
|
-
const r =
|
|
929
|
+
const r = go.getParser(window.navigator.userAgent), { analytics_session: a } = await this.fetchInstance.post(R.ANALYTICS_SESSION, {
|
|
930
930
|
browser_name: r.getBrowserName() || "Unknown",
|
|
931
931
|
browser_version: r.getBrowserVersion() || "0.0.0",
|
|
932
932
|
is_first_visit: !1,
|
|
@@ -994,7 +994,7 @@ class R7 {
|
|
|
994
994
|
getLocalizedCopy = async (e) => this.fetchInstance.post(R.LOCALIZED_COPY, e).then((n) => n);
|
|
995
995
|
getLocalizedContent = async (e) => this.fetchInstance.post(`${R.LOCALIZED_CONTENT}/${e}`).then((n) => n);
|
|
996
996
|
}
|
|
997
|
-
class
|
|
997
|
+
class Or {
|
|
998
998
|
fetchInstance;
|
|
999
999
|
constructor(e, n) {
|
|
1000
1000
|
this.fetchInstance = new UA(e, n);
|
|
@@ -1010,7 +1010,7 @@ class xr {
|
|
|
1010
1010
|
// A bug ticket has been filed to fix it, but should not require any changes here.
|
|
1011
1011
|
markAllAsViewed = (e) => this.fetchInstance.put(`${R.NOTIFICATIONS}/mark_all_as_viewed`, { channel: e }).finally();
|
|
1012
1012
|
}
|
|
1013
|
-
class
|
|
1013
|
+
class Pr {
|
|
1014
1014
|
fetchInstance;
|
|
1015
1015
|
constructor(e, n) {
|
|
1016
1016
|
this.fetchInstance = new UA(e, n);
|
|
@@ -1024,7 +1024,7 @@ class Or {
|
|
|
1024
1024
|
updateScheduledPayment = async (e) => this.fetchInstance.put(`${R.SCHEDULED_PAYMENTS}/${e.guid}`, e).then((n) => n.scheduled_payment);
|
|
1025
1025
|
deleteScheduledPayment = async (e) => this.fetchInstance.delete(`${R.SCHEDULED_PAYMENTS}/${e}`).then((n) => n);
|
|
1026
1026
|
}
|
|
1027
|
-
class
|
|
1027
|
+
class Nr {
|
|
1028
1028
|
fetchInstance;
|
|
1029
1029
|
constructor(e, n) {
|
|
1030
1030
|
this.fetchInstance = new UA(e, n);
|
|
@@ -1032,7 +1032,7 @@ class Pr {
|
|
|
1032
1032
|
getUserProfile = async () => this.fetchInstance.get(R.APP_DATA).then((e) => e.user_profile);
|
|
1033
1033
|
updateUserProfile = async (e) => this.fetchInstance.put(`${R.USER_PROFILES}/${e.guid}`, e).then((n) => n.user_profile);
|
|
1034
1034
|
}
|
|
1035
|
-
class
|
|
1035
|
+
class Mr {
|
|
1036
1036
|
fetchInstance;
|
|
1037
1037
|
constructor(e, n) {
|
|
1038
1038
|
this.fetchInstance = new UA(e, n);
|
|
@@ -1040,13 +1040,13 @@ class Nr {
|
|
|
1040
1040
|
requestWidgetUrl = async (e) => this.fetchInstance.post(R.WIDGET_URLS, e).then((n) => n.widget_url);
|
|
1041
1041
|
}
|
|
1042
1042
|
const Cn = (A, e) => A.reduce((n, r) => (n[r.guid] = e?.includes(r.guid), n), {}), sc = (A) => A.reduce((e, n) => {
|
|
1043
|
-
const r =
|
|
1043
|
+
const r = Ua[n.account_type], a = {
|
|
1044
1044
|
accountNumber: n.account_number,
|
|
1045
1045
|
name: n.name || n.feed_name,
|
|
1046
1046
|
guid: n.guid
|
|
1047
1047
|
};
|
|
1048
1048
|
return Object.prototype.hasOwnProperty.call(e, r) ? e[r] = e[r].concat(a) : e[r] = [a], e;
|
|
1049
|
-
}, {}),
|
|
1049
|
+
}, {}), $a = ({
|
|
1050
1050
|
accounts: A,
|
|
1051
1051
|
accountFilterButtonEl: e,
|
|
1052
1052
|
copy: n,
|
|
@@ -1060,9 +1060,9 @@ const Cn = (A, e) => A.reduce((n, r) => (n[r.guid] = e?.includes(r.guid), n), {}
|
|
|
1060
1060
|
handleClose: d,
|
|
1061
1061
|
showAccountNumbers: h
|
|
1062
1062
|
}) => {
|
|
1063
|
-
const C =
|
|
1063
|
+
const C = ao(() => sc(A), [A]), m = A.length < 1, f = !!e, y = Object.values(c).every((v) => !!v);
|
|
1064
1064
|
return /* @__PURE__ */ t(
|
|
1065
|
-
|
|
1065
|
+
fo,
|
|
1066
1066
|
{
|
|
1067
1067
|
anchorEl: e,
|
|
1068
1068
|
anchorOrigin: {
|
|
@@ -1088,7 +1088,7 @@ const Cn = (A, e) => A.reduce((n, r) => (n[r.guid] = e?.includes(r.guid), n), {}
|
|
|
1088
1088
|
maxWidth: "100%"
|
|
1089
1089
|
},
|
|
1090
1090
|
children: [
|
|
1091
|
-
/* @__PURE__ */ t(
|
|
1091
|
+
/* @__PURE__ */ t(so, { size: 32 }),
|
|
1092
1092
|
/* @__PURE__ */ t(CA, { bold: !0, mt: 12, children: n.zeroStateTitle }),
|
|
1093
1093
|
/* @__PURE__ */ t(CA, { mt: 12, children: n.zeroStateDescription }),
|
|
1094
1094
|
/* @__PURE__ */ t(cA, { onClick: o, children: n.zeroStateButton })
|
|
@@ -1245,7 +1245,7 @@ const Cn = (A, e) => A.reduce((n, r) => (n[r.guid] = e?.includes(r.guid), n), {}
|
|
|
1245
1245
|
}
|
|
1246
1246
|
);
|
|
1247
1247
|
};
|
|
1248
|
-
|
|
1248
|
+
$a.displayName = "AccountFilterOptions";
|
|
1249
1249
|
const cc = (A, e) => {
|
|
1250
1250
|
const { session: n } = e, r = Object.values(e).reduce((i, o) => n && o?.onAnalyticEvent && typeof o?.onAnalyticEvent == "function" ? [...i, o.onAnalyticEvent] : i, []), a = [...A, ...r];
|
|
1251
1251
|
return g.useMemo(() => (i) => {
|
|
@@ -1269,12 +1269,12 @@ const cc = (A, e) => {
|
|
|
1269
1269
|
isSmallTablet: Dt(gA().breakpoints.between("md", "lg")),
|
|
1270
1270
|
// Between 768 and 1200
|
|
1271
1271
|
isTablet: Dt(gA().breakpoints.between("md", "xl"))
|
|
1272
|
-
}),
|
|
1273
|
-
const e =
|
|
1272
|
+
}), Ai = (A) => {
|
|
1273
|
+
const e = Oa();
|
|
1274
1274
|
return me(() => {
|
|
1275
1275
|
e.current = A;
|
|
1276
1276
|
}, [A]), e.current;
|
|
1277
|
-
},
|
|
1277
|
+
}, ei = ({
|
|
1278
1278
|
accounts: A,
|
|
1279
1279
|
copy: e,
|
|
1280
1280
|
onFilterClick: n,
|
|
@@ -1320,7 +1320,7 @@ const cc = (A, e) => {
|
|
|
1320
1320
|
}
|
|
1321
1321
|
),
|
|
1322
1322
|
/* @__PURE__ */ t(
|
|
1323
|
-
|
|
1323
|
+
$a,
|
|
1324
1324
|
{
|
|
1325
1325
|
accountFilterButtonEl: u,
|
|
1326
1326
|
accounts: A,
|
|
@@ -1386,7 +1386,7 @@ const cc = (A, e) => {
|
|
|
1386
1386
|
"& > .kyper-text": {
|
|
1387
1387
|
marginRight: A.Spacing.XSmall
|
|
1388
1388
|
}
|
|
1389
|
-
}),
|
|
1389
|
+
}), _r = ({
|
|
1390
1390
|
ariaLabel: A,
|
|
1391
1391
|
color: e,
|
|
1392
1392
|
height: n,
|
|
@@ -1426,7 +1426,7 @@ const cc = (A, e) => {
|
|
|
1426
1426
|
s < 0 && /* @__PURE__ */ t(C, {})
|
|
1427
1427
|
] });
|
|
1428
1428
|
}, hc = (A, e, n) => {
|
|
1429
|
-
const r = `expandBar-${Math.round(n)}`, a =
|
|
1429
|
+
const r = `expandBar-${Math.round(n)}`, a = mo(r, { from: { height: 0 }, to: { height: n } });
|
|
1430
1430
|
return JA({
|
|
1431
1431
|
display: "flex",
|
|
1432
1432
|
flexDirection: "column",
|
|
@@ -1458,7 +1458,7 @@ const cc = (A, e) => {
|
|
|
1458
1458
|
width: "100%"
|
|
1459
1459
|
}
|
|
1460
1460
|
});
|
|
1461
|
-
},
|
|
1461
|
+
}, Rr = ({
|
|
1462
1462
|
ariaLabel: A,
|
|
1463
1463
|
averageLineHeight: e,
|
|
1464
1464
|
bottomHeight: n,
|
|
@@ -1476,7 +1476,7 @@ const cc = (A, e) => {
|
|
|
1476
1476
|
const m = _A(), f = gc(m, h), y = u / o * c, v = Math.abs(u) / o * n, L = s === void 0 || s === a ? "primary" : "secondary";
|
|
1477
1477
|
return /* @__PURE__ */ l("div", { className: `mx-cmn-barchart-bar-column ${f}`, children: [
|
|
1478
1478
|
/* @__PURE__ */ t("div", { style: { height: c }, children: u >= 0 && /* @__PURE__ */ t(
|
|
1479
|
-
|
|
1479
|
+
_r,
|
|
1480
1480
|
{
|
|
1481
1481
|
ariaLabel: A,
|
|
1482
1482
|
color: r,
|
|
@@ -1491,7 +1491,7 @@ const cc = (A, e) => {
|
|
|
1491
1491
|
/* @__PURE__ */ t("div", { className: "mx-cmn-zero-line" }),
|
|
1492
1492
|
e !== 0 && /* @__PURE__ */ t("div", { className: "mx-cmn-chart-average", style: { bottom: e } }),
|
|
1493
1493
|
/* @__PURE__ */ t("div", { style: { height: n }, children: u < 0 && /* @__PURE__ */ t(
|
|
1494
|
-
|
|
1494
|
+
_r,
|
|
1495
1495
|
{
|
|
1496
1496
|
ariaLabel: A,
|
|
1497
1497
|
color: r,
|
|
@@ -1536,7 +1536,7 @@ const cc = (A, e) => {
|
|
|
1536
1536
|
"& .mx-cmn-clickable": {
|
|
1537
1537
|
cursor: "pointer"
|
|
1538
1538
|
}
|
|
1539
|
-
}), Cc = (A, e) => A + e, fc = (A, e) => Math.abs(e) > A ? Math.abs(e) : A, mc = (A, e) => [...A, e.value],
|
|
1539
|
+
}), Cc = (A, e) => A + e, fc = (A, e) => Math.abs(e) > A ? Math.abs(e) : A, mc = (A, e) => [...A, e.value], Hr = (A, e, n) => {
|
|
1540
1540
|
const r = A && e ? n / 2 : n;
|
|
1541
1541
|
return A ? r : 0;
|
|
1542
1542
|
}, pc = (A, e, n, r) => A / (e < 0 ? -n : e) * r || 0, H7 = ({
|
|
@@ -1551,8 +1551,8 @@ const cc = (A, e) => {
|
|
|
1551
1551
|
selectedIndex: c,
|
|
1552
1552
|
valueFormatter: u = (d) => `${d}`
|
|
1553
1553
|
}) => {
|
|
1554
|
-
const d = _A(), h = vc(d), C = r.reduce(mc, []), m = A !== void 0 ? A : C.reduce(Cc, 0) / C.length, f = Math.max(...C), y = Math.min(...C), v = C.reduce(fc, 0), L = f >= 0, T = y < 0, w =
|
|
1555
|
-
|
|
1554
|
+
const d = _A(), h = vc(d), C = r.reduce(mc, []), m = A !== void 0 ? A : C.reduce(Cc, 0) / C.length, f = Math.max(...C), y = Math.min(...C), v = C.reduce(fc, 0), L = f >= 0, T = y < 0, w = Hr(L, T, a), D = Hr(T, L, a), O = pc(m, f, y, w || D), P = (z) => c === void 0 || z === c ? n : `${n}80`, N = () => /* @__PURE__ */ t(
|
|
1555
|
+
Rr,
|
|
1556
1556
|
{
|
|
1557
1557
|
averageLineHeight: O,
|
|
1558
1558
|
bottomHeight: D,
|
|
@@ -1568,7 +1568,7 @@ const cc = (A, e) => {
|
|
|
1568
1568
|
/* @__PURE__ */ t(N, {}),
|
|
1569
1569
|
r.map((z, k) => /* @__PURE__ */ l(g.Fragment, { children: [
|
|
1570
1570
|
/* @__PURE__ */ t(
|
|
1571
|
-
|
|
1571
|
+
Rr,
|
|
1572
1572
|
{
|
|
1573
1573
|
ariaLabel: z.ariaLabel,
|
|
1574
1574
|
averageLineHeight: O,
|
|
@@ -1603,8 +1603,8 @@ const cc = (A, e) => {
|
|
|
1603
1603
|
return /* @__PURE__ */ l("div", { className: `mx-cmn-calendar-header ${i}`, children: [
|
|
1604
1604
|
/* @__PURE__ */ t(Wt, { className: "mx-cmn-calendar-header-title", variant: "H3", children: AA(e, Z.MONTH_YEAR) }),
|
|
1605
1605
|
/* @__PURE__ */ l("div", { className: "mx-cmn-calendar-header-button-container", children: [
|
|
1606
|
-
/* @__PURE__ */ t(cA, { "aria-label": A.prevAria, onClick: r, children: /* @__PURE__ */ t(
|
|
1607
|
-
/* @__PURE__ */ t(cA, { "aria-label": A.nextAria, onClick: n, children: /* @__PURE__ */ t(
|
|
1606
|
+
/* @__PURE__ */ t(cA, { "aria-label": A.prevAria, onClick: r, children: /* @__PURE__ */ t(Eo, {}) }),
|
|
1607
|
+
/* @__PURE__ */ t(cA, { "aria-label": A.nextAria, onClick: n, children: /* @__PURE__ */ t(bo, {}) })
|
|
1608
1608
|
] })
|
|
1609
1609
|
] });
|
|
1610
1610
|
}, Ec = (A) => JA({
|
|
@@ -1703,7 +1703,7 @@ const cc = (A, e) => {
|
|
|
1703
1703
|
}
|
|
1704
1704
|
}
|
|
1705
1705
|
}), Sc = 340, Ct = 44;
|
|
1706
|
-
var
|
|
1706
|
+
var ti = /* @__PURE__ */ ((A) => (A.None = "None", A.Single = "Single", A.Range = "Range", A))(ti || {});
|
|
1707
1707
|
const Lc = ({
|
|
1708
1708
|
copy: A,
|
|
1709
1709
|
beginDate: e = void 0,
|
|
@@ -1718,9 +1718,9 @@ const Lc = ({
|
|
|
1718
1718
|
h(e), m(n), e && u(e);
|
|
1719
1719
|
}, [e, n]);
|
|
1720
1720
|
const f = g.useMemo(() => {
|
|
1721
|
-
const w =
|
|
1721
|
+
const w = vo({ start: yA(c), end: MA(c) }), D = [];
|
|
1722
1722
|
for (let O = 0; O < w.length; O++) {
|
|
1723
|
-
const P = w[O], N =
|
|
1723
|
+
const P = w[O], N = po({ start: P, end: ye(P, 6) }), z = [];
|
|
1724
1724
|
for (let k = 0; k < N.length; k++)
|
|
1725
1725
|
z.push(N[k]);
|
|
1726
1726
|
D.push(z);
|
|
@@ -1759,7 +1759,7 @@ const Lc = ({
|
|
|
1759
1759
|
beginDate: d,
|
|
1760
1760
|
date: O,
|
|
1761
1761
|
endDate: C,
|
|
1762
|
-
isInMonth:
|
|
1762
|
+
isInMonth: yo(O, c),
|
|
1763
1763
|
onClick: y
|
|
1764
1764
|
},
|
|
1765
1765
|
P
|
|
@@ -1816,7 +1816,7 @@ const Lc = ({
|
|
|
1816
1816
|
}) => {
|
|
1817
1817
|
let i = 0;
|
|
1818
1818
|
return g.useEffect(() => {
|
|
1819
|
-
|
|
1819
|
+
wo(".arc-outer").transition("roll").duration(500).attrTween("transform", () => So("rotate(0)", "rotate(360)"));
|
|
1820
1820
|
}, []), /* @__PURE__ */ l(I, { height: r, position: "relative", width: r, children: [
|
|
1821
1821
|
/* @__PURE__ */ t(I, { height: "100%", padding: r / 3.75, width: "100%", children: a }),
|
|
1822
1822
|
/* @__PURE__ */ t(
|
|
@@ -1829,7 +1829,7 @@ const Lc = ({
|
|
|
1829
1829
|
children: /* @__PURE__ */ t("g", { children: A.map((o) => {
|
|
1830
1830
|
const s = i;
|
|
1831
1831
|
i = i + 2 * Math.PI * (o.value / 100);
|
|
1832
|
-
const c = i, u =
|
|
1832
|
+
const c = i, u = Lo().cornerRadius(4)({
|
|
1833
1833
|
innerRadius: Ic,
|
|
1834
1834
|
outerRadius: Dc + (o.id === n ? xc : 0),
|
|
1835
1835
|
startAngle: s,
|
|
@@ -1938,7 +1938,7 @@ const Lc = ({
|
|
|
1938
1938
|
] })
|
|
1939
1939
|
] })
|
|
1940
1940
|
] });
|
|
1941
|
-
}, _c = S(Mc),
|
|
1941
|
+
}, _c = S(Mc), Vn = ({
|
|
1942
1942
|
baseline: A = "max",
|
|
1943
1943
|
colors: e,
|
|
1944
1944
|
datasets: n,
|
|
@@ -1967,7 +1967,7 @@ const Lc = ({
|
|
|
1967
1967
|
}));
|
|
1968
1968
|
return /* @__PURE__ */ l("div", { style: { position: "relative" }, children: [
|
|
1969
1969
|
/* @__PURE__ */ l(
|
|
1970
|
-
|
|
1970
|
+
Io,
|
|
1971
1971
|
{
|
|
1972
1972
|
height: r,
|
|
1973
1973
|
series: P,
|
|
@@ -1994,9 +1994,9 @@ const Lc = ({
|
|
|
1994
1994
|
}
|
|
1995
1995
|
],
|
|
1996
1996
|
children: [
|
|
1997
|
-
/* @__PURE__ */ t(
|
|
1997
|
+
/* @__PURE__ */ t(Do, {}),
|
|
1998
1998
|
/* @__PURE__ */ t(
|
|
1999
|
-
|
|
1999
|
+
xo,
|
|
2000
2000
|
{
|
|
2001
2001
|
slots: c && P.length < 2 ? {
|
|
2002
2002
|
line: (N) => /* @__PURE__ */ t(Nc, { ...N, lineColor: e[0] ?? f.palette.primary.main })
|
|
@@ -2004,7 +2004,7 @@ const Lc = ({
|
|
|
2004
2004
|
}
|
|
2005
2005
|
),
|
|
2006
2006
|
/* @__PURE__ */ t(
|
|
2007
|
-
|
|
2007
|
+
Oo,
|
|
2008
2008
|
{
|
|
2009
2009
|
slots: h ? {
|
|
2010
2010
|
mark: (N) => /* @__PURE__ */ t(
|
|
@@ -2021,16 +2021,16 @@ const Lc = ({
|
|
|
2021
2021
|
}
|
|
2022
2022
|
),
|
|
2023
2023
|
/* @__PURE__ */ t(
|
|
2024
|
-
|
|
2024
|
+
Po,
|
|
2025
2025
|
{
|
|
2026
2026
|
barLabel: (N) => Number(N.value) > 0 ? `$${N.value}` : null,
|
|
2027
2027
|
borderRadius: 10
|
|
2028
2028
|
}
|
|
2029
2029
|
),
|
|
2030
|
-
/* @__PURE__ */ t(Po, { disableLine: !0, disableTicks: !0 }),
|
|
2031
2030
|
/* @__PURE__ */ t(No, { disableLine: !0, disableTicks: !0 }),
|
|
2031
|
+
/* @__PURE__ */ t(Mo, { disableLine: !0, disableTicks: !0 }),
|
|
2032
2032
|
u && /* @__PURE__ */ t(
|
|
2033
|
-
|
|
2033
|
+
_o,
|
|
2034
2034
|
{
|
|
2035
2035
|
lineStyle: {
|
|
2036
2036
|
stroke: f.palette.grey[700],
|
|
@@ -2041,7 +2041,7 @@ const Lc = ({
|
|
|
2041
2041
|
}
|
|
2042
2042
|
),
|
|
2043
2043
|
!u && /* @__PURE__ */ t(
|
|
2044
|
-
|
|
2044
|
+
Ro,
|
|
2045
2045
|
{
|
|
2046
2046
|
position: { horizontal: "left", vertical: "top" },
|
|
2047
2047
|
slotProps: {
|
|
@@ -2081,8 +2081,8 @@ const Lc = ({
|
|
|
2081
2081
|
},
|
|
2082
2082
|
children: A
|
|
2083
2083
|
}
|
|
2084
|
-
),
|
|
2085
|
-
|
|
2084
|
+
), ni = g.createContext(null), ri = ({ children: A, availableHeight: e, availableWidth: n }) => /* @__PURE__ */ t(
|
|
2085
|
+
ni.Provider,
|
|
2086
2086
|
{
|
|
2087
2087
|
value: {
|
|
2088
2088
|
availableHeight: e,
|
|
@@ -2096,12 +2096,12 @@ const Lc = ({
|
|
|
2096
2096
|
if (!e)
|
|
2097
2097
|
throw new Error(`${A}() must be used within the GlobalDataContext`);
|
|
2098
2098
|
return e;
|
|
2099
|
-
}, OA = () => BA("useAccountStore").globalStore.accountStore, qA = () => BA("useBudgetsStore").globalStore.budgetsStore,
|
|
2100
|
-
const e = g.useContext(
|
|
2099
|
+
}, OA = () => BA("useAccountStore").globalStore.accountStore, qA = () => BA("useBudgetsStore").globalStore.budgetsStore, Jn = () => BA("useCashflowStore").globalStore.cashflowStore, PA = () => BA("useCategoryStore").globalStore.categoryStore, ai = () => BA("useConnectStore").globalStore.connectStore, Rc = () => BA("useDebtsStore").globalStore.debtsStore, en = () => BA("useGlobalStore").globalStore, mA = () => BA("useGlobalUiStore").globalStore.globalUiStore, x = () => BA("globalCopyStore").globalStore.copyStore.copy, B7 = () => BA("useGoalStore").globalStore.goalStore, Hc = () => BA("useMerchantStore").globalStore.merchantStore, zc = () => BA("useNetWorthStore").globalStore.netWorthStore, ii = () => BA("useNotificationStore").globalStore.notificationStore, RA = () => BA("useRecurringActivityStore").globalStore.recurringActivityStore, uA = () => BA("useTransactionStore").globalStore.transactionStore, tn = () => BA("useUserStore").globalStore.userStore, V = () => ({ onEvent: BA().onEvent }), q7 = () => ({ onPageView: BA().onPageView }), Bc = (A = "useWidgetContainerContext") => {
|
|
2100
|
+
const e = g.useContext(ni);
|
|
2101
2101
|
if (!e)
|
|
2102
2102
|
throw new Error(`${A}() must be used within the WidgetContainerContext`);
|
|
2103
2103
|
return e;
|
|
2104
|
-
}, bt = () => Bc(),
|
|
2104
|
+
}, bt = () => Bc(), oi = ({ categoryGuid: A, topLevelCategoryGuid: e }) => {
|
|
2105
2105
|
const { categories: n } = x(), r = Fe[A];
|
|
2106
2106
|
return /* @__PURE__ */ l(b, { alignItems: "center", direction: "column", gap: "8", justifyContent: "center", mb: 4, children: [
|
|
2107
2107
|
/* @__PURE__ */ t(
|
|
@@ -2134,7 +2134,7 @@ const Lc = ({
|
|
|
2134
2134
|
cursorPosition: r,
|
|
2135
2135
|
chartContainerRef: a
|
|
2136
2136
|
}) => {
|
|
2137
|
-
const { common: i } = x(), o = kA(), s =
|
|
2137
|
+
const { common: i } = x(), o = kA(), s = Oa(null), [c, u] = ge({ x: r.x, y: r.y });
|
|
2138
2138
|
if (me(() => {
|
|
2139
2139
|
(() => {
|
|
2140
2140
|
const C = s.current, m = a.current;
|
|
@@ -2158,7 +2158,7 @@ const Lc = ({
|
|
|
2158
2158
|
},
|
|
2159
2159
|
children: /* @__PURE__ */ l(Qe, { children: [
|
|
2160
2160
|
/* @__PURE__ */ l(I, { alignItems: "center", display: "flex", flexDirection: "column", children: [
|
|
2161
|
-
/* @__PURE__ */ t(
|
|
2161
|
+
/* @__PURE__ */ t(oi, { categoryGuid: A, topLevelCategoryGuid: e }),
|
|
2162
2162
|
/* @__PURE__ */ t(p, { variant: "Small", children: i.six_month_total }),
|
|
2163
2163
|
/* @__PURE__ */ t(vA, { amount: d, bold: !0, formatString: "0,0", variant: "body2" })
|
|
2164
2164
|
] }),
|
|
@@ -2188,8 +2188,8 @@ const Lc = ({
|
|
|
2188
2188
|
xData: a
|
|
2189
2189
|
}) => {
|
|
2190
2190
|
const i = Vt(), o = r.data[n], s = a[n];
|
|
2191
|
-
return o === void 0 || !s ? null : /* @__PURE__ */ t(
|
|
2192
|
-
/* @__PURE__ */ t(
|
|
2191
|
+
return o === void 0 || !s ? null : /* @__PURE__ */ t(Na, { sx: { pt: 4, px: 8 }, children: /* @__PURE__ */ t(zo, { children: /* @__PURE__ */ l(dt, { alignItems: "center", display: "flex", flexDirection: "column", children: [
|
|
2192
|
+
/* @__PURE__ */ t(oi, { categoryGuid: A, topLevelCategoryGuid: e }),
|
|
2193
2193
|
/* @__PURE__ */ t(p, { color: i.palette.text.secondary, variant: "Small", children: AA(s, Z.MONTH_SHORT_YEAR) }),
|
|
2194
2194
|
/* @__PURE__ */ t(vA, { amount: String(o), bold: !0, formatString: "0,0", variant: "Body" })
|
|
2195
2195
|
] }) }) });
|
|
@@ -2323,7 +2323,7 @@ const Lc = ({
|
|
|
2323
2323
|
sx: { width: "100%", position: "relative" },
|
|
2324
2324
|
children: [
|
|
2325
2325
|
/* @__PURE__ */ t(
|
|
2326
|
-
|
|
2326
|
+
Ho,
|
|
2327
2327
|
{
|
|
2328
2328
|
height: o || 400,
|
|
2329
2329
|
margin: { bottom: 50 },
|
|
@@ -2489,7 +2489,7 @@ const Lc = ({
|
|
|
2489
2489
|
c && c(), a();
|
|
2490
2490
|
};
|
|
2491
2491
|
return /* @__PURE__ */ t("div", { className: `mx-cmn-dialog ${A}`, children: /* @__PURE__ */ l(
|
|
2492
|
-
|
|
2492
|
+
Xo,
|
|
2493
2493
|
{
|
|
2494
2494
|
onClose: a,
|
|
2495
2495
|
open: r,
|
|
@@ -2502,16 +2502,16 @@ const Lc = ({
|
|
|
2502
2502
|
...C,
|
|
2503
2503
|
children: [
|
|
2504
2504
|
/* @__PURE__ */ t(
|
|
2505
|
-
|
|
2505
|
+
co,
|
|
2506
2506
|
{
|
|
2507
2507
|
copy: { title: e.title, close_aria: e.close_aria },
|
|
2508
2508
|
onClose: a,
|
|
2509
2509
|
style: { boxSizing: "border-box" }
|
|
2510
2510
|
}
|
|
2511
2511
|
),
|
|
2512
|
-
/* @__PURE__ */ t(
|
|
2512
|
+
/* @__PURE__ */ t(_a, { sx: { lineHeight: 1.5 }, children: h }),
|
|
2513
2513
|
/* @__PURE__ */ t(
|
|
2514
|
-
|
|
2514
|
+
lo,
|
|
2515
2515
|
{
|
|
2516
2516
|
isPrimaryDisabled: n,
|
|
2517
2517
|
onPrimaryAction: m,
|
|
@@ -2584,7 +2584,7 @@ const Lc = ({
|
|
|
2584
2584
|
title: f,
|
|
2585
2585
|
...y
|
|
2586
2586
|
}) => /* @__PURE__ */ t(
|
|
2587
|
-
|
|
2587
|
+
uo,
|
|
2588
2588
|
{
|
|
2589
2589
|
id: n,
|
|
2590
2590
|
isOpen: r,
|
|
@@ -2612,7 +2612,7 @@ const Lc = ({
|
|
|
2612
2612
|
),
|
|
2613
2613
|
/* @__PURE__ */ t(I, { height: "100%", overflow: "auto", children: e }),
|
|
2614
2614
|
o && /* @__PURE__ */ t(
|
|
2615
|
-
|
|
2615
|
+
ho,
|
|
2616
2616
|
{
|
|
2617
2617
|
isPrimaryDisabled: a,
|
|
2618
2618
|
onPrimaryAction: o,
|
|
@@ -2625,7 +2625,7 @@ const Lc = ({
|
|
|
2625
2625
|
)
|
|
2626
2626
|
] })
|
|
2627
2627
|
}
|
|
2628
|
-
),
|
|
2628
|
+
), zr = ({
|
|
2629
2629
|
calendarActions: A,
|
|
2630
2630
|
color: e = "primary",
|
|
2631
2631
|
copy: n,
|
|
@@ -2661,9 +2661,9 @@ const Lc = ({
|
|
|
2661
2661
|
if (m === n.dateRangePickerCopy.dateRangeThisMonth)
|
|
2662
2662
|
J[0] = hA ? Ce(sA, 1) : Ae(sA, 1), J[1] = MA(hA ? Ce(EA, 1) : Ae(EA, 1));
|
|
2663
2663
|
else if (m === n.dateRangePickerCopy.dateRangeYTD || m === n.dateRangePickerCopy.dateRangeLastYear)
|
|
2664
|
-
J[0] = hA ? br(
|
|
2664
|
+
J[0] = hA ? wr(br(sA), 1) : ft(br(sA), 1), J[1] = hA ? wr(Er(sA), 1) : ft(Er(sA), 1);
|
|
2665
2665
|
else {
|
|
2666
|
-
const SA =
|
|
2666
|
+
const SA = ko(EA, sA);
|
|
2667
2667
|
J[0] = q === "previous" ? le(sA, SA) : ye(sA, SA), J[1] = q === "previous" ? le(EA, SA) : ye(EA, SA);
|
|
2668
2668
|
}
|
|
2669
2669
|
C(J), A.onRangeChanged(J);
|
|
@@ -2711,7 +2711,7 @@ const Lc = ({
|
|
|
2711
2711
|
/* @__PURE__ */ t(p, { bold: !0, children: AA(y[1], Z.MONTH_DAY_YEAR) })
|
|
2712
2712
|
] }),
|
|
2713
2713
|
o !== "readonly" && o !== "timeframebuttons" && o !== "timeframetabs" && /* @__PURE__ */ l(
|
|
2714
|
-
|
|
2714
|
+
Go,
|
|
2715
2715
|
{
|
|
2716
2716
|
color: e,
|
|
2717
2717
|
sx: {
|
|
@@ -2765,7 +2765,7 @@ const Lc = ({
|
|
|
2765
2765
|
}
|
|
2766
2766
|
),
|
|
2767
2767
|
o === "timeframebuttons" && /* @__PURE__ */ t(
|
|
2768
|
-
|
|
2768
|
+
Ma,
|
|
2769
2769
|
{
|
|
2770
2770
|
color: e,
|
|
2771
2771
|
exclusive: !0,
|
|
@@ -2838,7 +2838,7 @@ const Lc = ({
|
|
|
2838
2838
|
primaryText: n.dateRangeEditApply,
|
|
2839
2839
|
title: n.dateRangeEditTitle,
|
|
2840
2840
|
children: /* @__PURE__ */ t(
|
|
2841
|
-
|
|
2841
|
+
pr,
|
|
2842
2842
|
{
|
|
2843
2843
|
copy: n.dateRangePickerCopy,
|
|
2844
2844
|
dateRange: y,
|
|
@@ -2865,7 +2865,7 @@ const Lc = ({
|
|
|
2865
2865
|
}
|
|
2866
2866
|
},
|
|
2867
2867
|
children: /* @__PURE__ */ t(
|
|
2868
|
-
|
|
2868
|
+
pr,
|
|
2869
2869
|
{
|
|
2870
2870
|
copy: n.dateRangePickerCopy,
|
|
2871
2871
|
dateRange: y,
|
|
@@ -2887,8 +2887,8 @@ const Lc = ({
|
|
|
2887
2887
|
}, K7 = ({
|
|
2888
2888
|
hasGap: A = !1,
|
|
2889
2889
|
segments: e,
|
|
2890
|
-
size: n =
|
|
2891
|
-
strokeWidth: r =
|
|
2890
|
+
size: n = Ya,
|
|
2891
|
+
strokeWidth: r = Va,
|
|
2892
2892
|
children: a
|
|
2893
2893
|
}) => {
|
|
2894
2894
|
const i = _A(), o = Qc(i, n), s = (n - r) / 2, c = n / 2;
|
|
@@ -2936,11 +2936,11 @@ const Lc = ({
|
|
|
2936
2936
|
top: "50%",
|
|
2937
2937
|
transform: "translate(-50%, -50%)"
|
|
2938
2938
|
}
|
|
2939
|
-
}),
|
|
2939
|
+
}), si = ({
|
|
2940
2940
|
color: A = "",
|
|
2941
2941
|
percent: e = 0,
|
|
2942
|
-
size: n =
|
|
2943
|
-
strokeWidth: r =
|
|
2942
|
+
size: n = Ya,
|
|
2943
|
+
strokeWidth: r = Va,
|
|
2944
2944
|
children: a
|
|
2945
2945
|
}) => {
|
|
2946
2946
|
const i = gA(), o = (n - r) / 2, s = -90, c = e > 100 ? 100 : e, u = 2 * Math.PI * o * (1 - c / 100), d = n / 2;
|
|
@@ -3003,7 +3003,7 @@ const Lc = ({
|
|
|
3003
3003
|
}, e);
|
|
3004
3004
|
};
|
|
3005
3005
|
}, [A, e]);
|
|
3006
|
-
function
|
|
3006
|
+
function ci(A = 100) {
|
|
3007
3007
|
const [e, n] = g.useState({
|
|
3008
3008
|
width: 0,
|
|
3009
3009
|
height: 0
|
|
@@ -3036,7 +3036,7 @@ const je = ({
|
|
|
3036
3036
|
sx: i = {},
|
|
3037
3037
|
title: o = ""
|
|
3038
3038
|
}) => {
|
|
3039
|
-
const [s, { height: c, width: u }] =
|
|
3039
|
+
const [s, { height: c, width: u }] = ci();
|
|
3040
3040
|
return /* @__PURE__ */ l(zA, { className: A, sx: { borderRadius: "8px", ...i }, children: [
|
|
3041
3041
|
/* @__PURE__ */ t(
|
|
3042
3042
|
nt,
|
|
@@ -3055,7 +3055,7 @@ const je = ({
|
|
|
3055
3055
|
title: o ? /* @__PURE__ */ t(Yt, { sx: { pb: 4 }, children: o }) : null
|
|
3056
3056
|
}
|
|
3057
3057
|
),
|
|
3058
|
-
/* @__PURE__ */ t(Qe, { ref: s, sx: { p: 0 }, children: /* @__PURE__ */ t(
|
|
3058
|
+
/* @__PURE__ */ t(Qe, { ref: s, sx: { p: 0 }, children: /* @__PURE__ */ t(ri, { availableHeight: c, availableWidth: u, children: e }) })
|
|
3059
3059
|
] });
|
|
3060
3060
|
}, Uc = ({
|
|
3061
3061
|
accountOptions: A,
|
|
@@ -3071,7 +3071,7 @@ const je = ({
|
|
|
3071
3071
|
sx: d = {},
|
|
3072
3072
|
title: h = ""
|
|
3073
3073
|
}) => {
|
|
3074
|
-
const [C, { height: m, width: f }] =
|
|
3074
|
+
const [C, { height: m, width: f }] = ci(), { onEvent: y } = V(), { isDesktop: v, isMobile: L, isTablet: T } = GA(), { displayedDateRange: w, selectedAccountGuids: D, setSelectedAccountGuids: O } = mA(), { common: P } = x(), N = () => {
|
|
3075
3075
|
c && (c(), y(j.WIDGET_BACK_CLICK));
|
|
3076
3076
|
}, z = {
|
|
3077
3077
|
accountFilterOptionsCopy: {
|
|
@@ -3128,7 +3128,7 @@ const je = ({
|
|
|
3128
3128
|
{
|
|
3129
3129
|
action: /* @__PURE__ */ l(b, { alignItems: "center", flexDirection: "row", children: [
|
|
3130
3130
|
v && n && /* @__PURE__ */ t(I, { sx: { flexGrow: 1 }, children: /* @__PURE__ */ t(
|
|
3131
|
-
|
|
3131
|
+
zr,
|
|
3132
3132
|
{
|
|
3133
3133
|
calendarActions: n,
|
|
3134
3134
|
copy: k,
|
|
@@ -3138,7 +3138,7 @@ const je = ({
|
|
|
3138
3138
|
}
|
|
3139
3139
|
) }),
|
|
3140
3140
|
A && /* @__PURE__ */ t(
|
|
3141
|
-
|
|
3141
|
+
ei,
|
|
3142
3142
|
{
|
|
3143
3143
|
accounts: A,
|
|
3144
3144
|
copy: z,
|
|
@@ -3201,7 +3201,7 @@ const je = ({
|
|
|
3201
3201
|
n && (L || T) && /* @__PURE__ */ l(b, { gap: 24, justifyContent: "center", sx: { mt: 16 }, children: [
|
|
3202
3202
|
/* @__PURE__ */ t(K, {}),
|
|
3203
3203
|
/* @__PURE__ */ t(
|
|
3204
|
-
|
|
3204
|
+
zr,
|
|
3205
3205
|
{
|
|
3206
3206
|
calendarActions: n,
|
|
3207
3207
|
copy: k,
|
|
@@ -3211,7 +3211,7 @@ const je = ({
|
|
|
3211
3211
|
}
|
|
3212
3212
|
)
|
|
3213
3213
|
] }),
|
|
3214
|
-
/* @__PURE__ */ t(Qe, { ref: C, sx: { p: 0 }, children: /* @__PURE__ */ t(
|
|
3214
|
+
/* @__PURE__ */ t(Qe, { ref: C, sx: { p: 0 }, children: /* @__PURE__ */ t(ri, { availableHeight: m, availableWidth: f, children: r }) })
|
|
3215
3215
|
]
|
|
3216
3216
|
}
|
|
3217
3217
|
);
|
|
@@ -3242,19 +3242,19 @@ const je = ({
|
|
|
3242
3242
|
);
|
|
3243
3243
|
}, kt = S(Wc);
|
|
3244
3244
|
var Ne = /* @__PURE__ */ ((A) => (A.Loading = "loading", A.Error = "error", A))(Ne || {}), WA = /* @__PURE__ */ ((A) => (A.Currency = "currency", A.Date = "date", A.Input = "input", A.Select = "select", A))(WA || {});
|
|
3245
|
-
const
|
|
3245
|
+
const Br = "connect_widget", qr = "connections_widget", Yc = ({
|
|
3246
3246
|
loadWidgetProps: A,
|
|
3247
3247
|
onClose: e,
|
|
3248
3248
|
showConnectWidget: n,
|
|
3249
3249
|
title: r
|
|
3250
3250
|
}) => {
|
|
3251
3251
|
let a;
|
|
3252
|
-
const { refreshAccounts: i } = OA(), { loadWidget: o } =
|
|
3252
|
+
const { refreshAccounts: i } = OA(), { loadWidget: o } = ai(), { connect: s } = x(), [c, u] = g.useState(!1), [d, h] = g.useState(!1), {
|
|
3253
3253
|
palette: { mode: C }
|
|
3254
3254
|
} = gA();
|
|
3255
3255
|
return g.useEffect(() => (n ? (u(!0), o({ mode: C, ...A }).then((m) => {
|
|
3256
|
-
a = new
|
|
3257
|
-
container: `#${
|
|
3256
|
+
a = new Fo({
|
|
3257
|
+
container: `#${Br}`,
|
|
3258
3258
|
style: {
|
|
3259
3259
|
height: "calc(100% - 62px)",
|
|
3260
3260
|
maxWidth: "450px",
|
|
@@ -3280,7 +3280,7 @@ const zr = "connect_widget", Br = "connections_widget", Yc = ({
|
|
|
3280
3280
|
e(), i();
|
|
3281
3281
|
},
|
|
3282
3282
|
title: r,
|
|
3283
|
-
children: /* @__PURE__ */ l("div", { id:
|
|
3283
|
+
children: /* @__PURE__ */ l("div", { id: Br, children: [
|
|
3284
3284
|
d && /* @__PURE__ */ t(kt, { status: Ne.Error }),
|
|
3285
3285
|
c && /* @__PURE__ */ t(kt, { status: Ne.Loading })
|
|
3286
3286
|
] })
|
|
@@ -3302,7 +3302,7 @@ const zr = "connect_widget", Br = "connections_widget", Yc = ({
|
|
|
3302
3302
|
}) => {
|
|
3303
3303
|
const [C, m] = g.useState(""), { common: f } = x(), y = a || f.currency_input, v = _A(), L = Vc(v), T = /^[0-9]*$/, w = /^(\d)*(\,)?([0-9]{1,2})?$/, D = /^(\d)*(\.)?([0-9]{1,2})?$/;
|
|
3304
3304
|
let O;
|
|
3305
|
-
const P = g.useRef(
|
|
3305
|
+
const P = g.useRef(jo());
|
|
3306
3306
|
if (A)
|
|
3307
3307
|
switch (Zs()) {
|
|
3308
3308
|
case zt.CAD:
|
|
@@ -3323,10 +3323,10 @@ const zr = "connect_widget", Br = "connections_widget", Yc = ({
|
|
|
3323
3323
|
y.error_amount_must_be_equal_to,
|
|
3324
3324
|
X(c, "0")
|
|
3325
3325
|
)
|
|
3326
|
-
), d?.(!1)) : Number(z) >
|
|
3326
|
+
), d?.(!1)) : Number(z) > Ir ? (m(
|
|
3327
3327
|
H(
|
|
3328
3328
|
y.error_amount_must_be_less_than_or_equal_to,
|
|
3329
|
-
X(
|
|
3329
|
+
X(Ir, A ? "0,0.00" : "0,0", Math.floor)
|
|
3330
3330
|
)
|
|
3331
3331
|
), d?.(!1)) : z.toString().match(O) ? i() ? (m(""), d?.(!0)) : (m(o), d?.(!1)) : (m(y.error_amount_is_invalid), d?.(!1)), u(z.toString());
|
|
3332
3332
|
};
|
|
@@ -3429,7 +3429,7 @@ const zr = "connect_widget", Br = "connections_widget", Yc = ({
|
|
|
3429
3429
|
value: a
|
|
3430
3430
|
}
|
|
3431
3431
|
) });
|
|
3432
|
-
}, an = S(Jc),
|
|
3432
|
+
}, an = S(Jc), Kr = ({
|
|
3433
3433
|
checked: A = !1,
|
|
3434
3434
|
label: e,
|
|
3435
3435
|
sx: n = {},
|
|
@@ -3453,7 +3453,7 @@ const zr = "connect_widget", Br = "connections_widget", Yc = ({
|
|
|
3453
3453
|
En,
|
|
3454
3454
|
{
|
|
3455
3455
|
control: /* @__PURE__ */ t(
|
|
3456
|
-
|
|
3456
|
+
Uo,
|
|
3457
3457
|
{
|
|
3458
3458
|
disableRipple: !0,
|
|
3459
3459
|
sx: { "&.Mui-checked": { color: i.palette.action.active } }
|
|
@@ -3617,7 +3617,7 @@ class Al {
|
|
|
3617
3617
|
});
|
|
3618
3618
|
};
|
|
3619
3619
|
}
|
|
3620
|
-
class
|
|
3620
|
+
class kr {
|
|
3621
3621
|
fetchInstance;
|
|
3622
3622
|
constructor(e, n) {
|
|
3623
3623
|
this.fetchInstance = new UA(e, n);
|
|
@@ -3633,7 +3633,7 @@ class Kr {
|
|
|
3633
3633
|
getBudgets = async () => this.fetchInstance.get(R.BUDGETS).then((e) => e.budgets).catch((e) => e);
|
|
3634
3634
|
updateBudget = async (e) => this.fetchInstance.put(`${R.BUDGETS}/${e.guid}`, e).then((n) => n.budget).catch((n) => n);
|
|
3635
3635
|
}
|
|
3636
|
-
const
|
|
3636
|
+
const Gr = (A, e) => !A && !e ? 0 : !A && e ? 101 : e / A * 100, Xr = (A, e) => {
|
|
3637
3637
|
const n = {
|
|
3638
3638
|
background: e.palette.success.main,
|
|
3639
3639
|
description: A <= 100 ? e.palette.text.secondary : e.palette.error.main,
|
|
@@ -3652,10 +3652,10 @@ const kr = (A, e) => !A && !e ? 0 : !A && e ? 101 : e / A * 100, Gr = (A, e) =>
|
|
|
3652
3652
|
for (const i of A) {
|
|
3653
3653
|
const o = Us(e, i.category_guid);
|
|
3654
3654
|
if (!o) continue;
|
|
3655
|
-
const s = o.totalAmount, c =
|
|
3655
|
+
const s = o.totalAmount, c = Gr(i.amount, s), u = i.amount - s;
|
|
3656
3656
|
a.push({
|
|
3657
3657
|
...i,
|
|
3658
|
-
budgetColors:
|
|
3658
|
+
budgetColors: Xr(c, r),
|
|
3659
3659
|
category: o,
|
|
3660
3660
|
description: H(
|
|
3661
3661
|
u < 0 ? n.budget_remaining_over : n.budget_remaining_left,
|
|
@@ -3671,10 +3671,10 @@ const kr = (A, e) => !A && !e ? 0 : !A && e ? 101 : e / A * 100, Gr = (A, e) =>
|
|
|
3671
3671
|
if (!o) continue;
|
|
3672
3672
|
const s = o.currentAmount, c = a.find((h) => h.category_guid === o.parent_guid);
|
|
3673
3673
|
if (!c) continue;
|
|
3674
|
-
const u = i.amount - s, d =
|
|
3674
|
+
const u = i.amount - s, d = Gr(i.amount, s);
|
|
3675
3675
|
c && c.subBudgets.push({
|
|
3676
3676
|
...i,
|
|
3677
|
-
budgetColors:
|
|
3677
|
+
budgetColors: Xr(d, r),
|
|
3678
3678
|
category: o,
|
|
3679
3679
|
description: H(
|
|
3680
3680
|
u < 0 ? n.budget_remaining_over : n.budget_remaining_left,
|
|
@@ -3692,7 +3692,7 @@ const kr = (A, e) => !A && !e ? 0 : !A && e ? 101 : e / A * 100, Gr = (A, e) =>
|
|
|
3692
3692
|
return Tn(r.subBudgets, e);
|
|
3693
3693
|
};
|
|
3694
3694
|
class rl {
|
|
3695
|
-
api = new
|
|
3695
|
+
api = new kr("/", "");
|
|
3696
3696
|
categoryApi = new Bt("/", "");
|
|
3697
3697
|
globalStore;
|
|
3698
3698
|
dateRange = { start: yA($()), end: MA($()) };
|
|
@@ -3705,7 +3705,7 @@ class rl {
|
|
|
3705
3705
|
this.globalStore = e, wA(this);
|
|
3706
3706
|
}
|
|
3707
3707
|
initialize = async (e, n) => {
|
|
3708
|
-
this.api = new
|
|
3708
|
+
this.api = new kr(e, n), this.categoryApi = new Bt(e, n), Wo(
|
|
3709
3709
|
() => this.detailedBudgets,
|
|
3710
3710
|
(r) => {
|
|
3711
3711
|
if (r) {
|
|
@@ -3812,7 +3812,7 @@ class rl {
|
|
|
3812
3812
|
const at = () => {
|
|
3813
3813
|
if (!g.useContext(rt))
|
|
3814
3814
|
throw new Error("useCashflowUiStore() must be used within the GlobalDataContext");
|
|
3815
|
-
return
|
|
3815
|
+
return Jn().uiStore;
|
|
3816
3816
|
}, al = ({ remaining: A }) => {
|
|
3817
3817
|
const { cashflow: e } = x();
|
|
3818
3818
|
return /* @__PURE__ */ l(eA, { children: [
|
|
@@ -3830,7 +3830,7 @@ const at = () => {
|
|
|
3830
3830
|
/* @__PURE__ */ t(p, { bold: !0, sx: { flexGrow: 1, fontSize: 12 }, children: e.remaining_cash }),
|
|
3831
3831
|
/* @__PURE__ */ t(vA, { amount: A, bold: !0, sx: { fontSize: 12 } })
|
|
3832
3832
|
] });
|
|
3833
|
-
},
|
|
3833
|
+
}, Zn = S(al), il = ({ onAddIncomeClick: A }) => {
|
|
3834
3834
|
const e = gA(), { availableWidth: n } = bt(), { cashAccounts: r, cashBalance: a } = OA(), { selectedAccountGuids: i } = mA(), { cashflow: o } = x(), { userProfile: s } = tn(), {
|
|
3835
3835
|
daysUntilNextIncome: c,
|
|
3836
3836
|
expensesTilNextIncome: u,
|
|
@@ -3924,7 +3924,7 @@ const at = () => {
|
|
|
3924
3924
|
justifyContent: "space-between",
|
|
3925
3925
|
px: 16,
|
|
3926
3926
|
sx: { borderBottomLeftRadius: 4, borderBottomRightRadius: 4 },
|
|
3927
|
-
children: /* @__PURE__ */ t(
|
|
3927
|
+
children: /* @__PURE__ */ t(Zn, { remaining: T })
|
|
3928
3928
|
}
|
|
3929
3929
|
),
|
|
3930
3930
|
/* @__PURE__ */ t(K, {}),
|
|
@@ -3970,7 +3970,7 @@ const at = () => {
|
|
|
3970
3970
|
}
|
|
3971
3971
|
);
|
|
3972
3972
|
}, G7 = S(sl);
|
|
3973
|
-
class
|
|
3973
|
+
class Fr {
|
|
3974
3974
|
fetchInstance;
|
|
3975
3975
|
constructor(e, n) {
|
|
3976
3976
|
this.fetchInstance = new UA(e, n);
|
|
@@ -4107,7 +4107,7 @@ const cl = [
|
|
|
4107
4107
|
ON_TRANSACTION_UNHIDE_CANCEL_CLICK: "onTransactionUnHideCancelClick",
|
|
4108
4108
|
ON_TRANSACTION_UNSPLIT: "onTransactionUnsplit",
|
|
4109
4109
|
ON_TRANSACTION_UNSPLIT_CANCEL: "onTransactionUnsplitCancel"
|
|
4110
|
-
},
|
|
4110
|
+
}, li = {
|
|
4111
4111
|
ASC: "ASC",
|
|
4112
4112
|
DESC: "DESC",
|
|
4113
4113
|
DIRECTION: {
|
|
@@ -4142,7 +4142,7 @@ const cl = [
|
|
|
4142
4142
|
accountIsHidden: c?.is_hidden,
|
|
4143
4143
|
category: u?.name || "Uncategorized",
|
|
4144
4144
|
isIncome: s.top_level_category_guid === E.INCOME,
|
|
4145
|
-
isPending: s.feed_status ===
|
|
4145
|
+
isPending: s.feed_status === $n.PENDING,
|
|
4146
4146
|
number: c?.account_number || "",
|
|
4147
4147
|
payee: s.description,
|
|
4148
4148
|
tags: d
|
|
@@ -4185,7 +4185,7 @@ const cl = [
|
|
|
4185
4185
|
TRANSACTION: "Transaction",
|
|
4186
4186
|
TRANSACTIONS_LIST: "Transactions List",
|
|
4187
4187
|
UNHIDE_TRANSACTION: "Unhide Transaction"
|
|
4188
|
-
},
|
|
4188
|
+
}, Qr = {
|
|
4189
4189
|
// splits
|
|
4190
4190
|
[B.ON_TRANSACTION_SPLIT_CLICK]: {
|
|
4191
4191
|
action: aA.SELECT,
|
|
@@ -4399,7 +4399,7 @@ const cl = [
|
|
|
4399
4399
|
category: iA.TRANSACTIONS_WIDGET,
|
|
4400
4400
|
label: oA.DELETE_TRANSACTION
|
|
4401
4401
|
}
|
|
4402
|
-
}, ul = async (A, e) => !e || !
|
|
4402
|
+
}, ul = async (A, e) => !e || !Qr[A] ? null : e.sendAnalyticEvent(Qr[A]), In = {
|
|
4403
4403
|
FLAG: "flag",
|
|
4404
4404
|
DATE: "date",
|
|
4405
4405
|
PAYEE: "payee",
|
|
@@ -4432,13 +4432,13 @@ const cl = [
|
|
|
4432
4432
|
}, fl = (A, e, n) => [...A].sort((r, a) => {
|
|
4433
4433
|
const i = e, o = (r[i] || "") > (a[i] || "");
|
|
4434
4434
|
let s = o ? -1 : 1, c = o ? 1 : -1;
|
|
4435
|
-
return (e === In.DATE || e === In.AMOUNT) && (s = o ? 1 : -1, c = o ? -1 : 1), n ===
|
|
4435
|
+
return (e === In.DATE || e === In.AMOUNT) && (s = o ? 1 : -1, c = o ? -1 : 1), n === li.ASC ? s : c;
|
|
4436
4436
|
}), re = (A, e) => {
|
|
4437
4437
|
const n = A.toLowerCase().split(" "), r = e?.toString().toLowerCase() ?? "";
|
|
4438
4438
|
return n.every((a) => r.indexOf(a) > -1);
|
|
4439
4439
|
};
|
|
4440
|
-
var LA = /* @__PURE__ */ ((A) => (A[A.Expense = 0] = "Expense", A[A.Income = 1] = "Income", A))(LA || {}), DA = /* @__PURE__ */ ((A) => (A[A.Paid = 0] = "Paid", A[A.Missed = 1] = "Missed", A[A.Upcoming = 2] = "Upcoming", A))(DA || {}), ml = /* @__PURE__ */ ((A) => (A[A.UNKNOWN = 0] = "UNKNOWN", A[A.CORRECT = 1] = "CORRECT", A[A.INCORRECT = 2] = "INCORRECT", A))(ml || {}), pl = /* @__PURE__ */ ((A) => (A.Missed = "Missed", A.Paid = "Paid", A.Upcoming = "Upcoming expense", A.Income = "Income", A))(pl || {}), vl = /* @__PURE__ */ ((A) => (A[A.Unknown = 0] = "Unknown", A[A.Subscription = 1] = "Subscription", A[A.Bill = 2] = "Bill", A))(vl || {}), QA = /* @__PURE__ */ ((A) => (A[A.CREDIT = 1] = "CREDIT", A[A.DEBIT = 2] = "DEBIT", A))(QA || {}),
|
|
4441
|
-
const
|
|
4440
|
+
var LA = /* @__PURE__ */ ((A) => (A[A.Expense = 0] = "Expense", A[A.Income = 1] = "Income", A))(LA || {}), DA = /* @__PURE__ */ ((A) => (A[A.Paid = 0] = "Paid", A[A.Missed = 1] = "Missed", A[A.Upcoming = 2] = "Upcoming", A))(DA || {}), ml = /* @__PURE__ */ ((A) => (A[A.UNKNOWN = 0] = "UNKNOWN", A[A.CORRECT = 1] = "CORRECT", A[A.INCORRECT = 2] = "INCORRECT", A))(ml || {}), pl = /* @__PURE__ */ ((A) => (A.Missed = "Missed", A.Paid = "Paid", A.Upcoming = "Upcoming expense", A.Income = "Income", A))(pl || {}), vl = /* @__PURE__ */ ((A) => (A[A.Unknown = 0] = "Unknown", A[A.Subscription = 1] = "Subscription", A[A.Bill = 2] = "Bill", A))(vl || {}), QA = /* @__PURE__ */ ((A) => (A[A.CREDIT = 1] = "CREDIT", A[A.DEBIT = 2] = "DEBIT", A))(QA || {}), $n = /* @__PURE__ */ ((A) => (A[A.POSTED = 1] = "POSTED", A[A.PENDING = 2] = "PENDING", A))($n || {}), yl = /* @__PURE__ */ ((A) => (A.Desktop = "Desktop", A.Mobile = "Mobile", A))(yl || {});
|
|
4441
|
+
const di = {
|
|
4442
4442
|
account_guid: "",
|
|
4443
4443
|
amount: 0,
|
|
4444
4444
|
currency_code: "",
|
|
@@ -4446,7 +4446,7 @@ const li = {
|
|
|
4446
4446
|
description: "",
|
|
4447
4447
|
duplicate: !1,
|
|
4448
4448
|
feed_description: "",
|
|
4449
|
-
feed_status:
|
|
4449
|
+
feed_status: $n.POSTED,
|
|
4450
4450
|
feed_transaction_date: 0,
|
|
4451
4451
|
has_been_split: !1,
|
|
4452
4452
|
has_been_viewed: !1,
|
|
@@ -4477,7 +4477,7 @@ let El = class {
|
|
|
4477
4477
|
shouldDisableDrawerScroll = !1;
|
|
4478
4478
|
searchValue = "";
|
|
4479
4479
|
selectedAccountGuids = [];
|
|
4480
|
-
manualTransaction =
|
|
4480
|
+
manualTransaction = di;
|
|
4481
4481
|
isAmountValid = !1;
|
|
4482
4482
|
showInsights = !1;
|
|
4483
4483
|
constructor() {
|
|
@@ -4506,7 +4506,7 @@ let El = class {
|
|
|
4506
4506
|
};
|
|
4507
4507
|
};
|
|
4508
4508
|
class bl {
|
|
4509
|
-
api = new
|
|
4509
|
+
api = new Fr("/", "");
|
|
4510
4510
|
beatApi = new et("/", "");
|
|
4511
4511
|
globalStore;
|
|
4512
4512
|
uiStore;
|
|
@@ -4519,13 +4519,13 @@ class bl {
|
|
|
4519
4519
|
cachedStartDate = le($(), 90);
|
|
4520
4520
|
onAnalyticEvent = ul;
|
|
4521
4521
|
sortColumn = In.DATE;
|
|
4522
|
-
sortDirection =
|
|
4522
|
+
sortDirection = li.DESC;
|
|
4523
4523
|
filter = {};
|
|
4524
4524
|
constructor(e) {
|
|
4525
4525
|
this.globalStore = e, this.uiStore = new El(), wA(this);
|
|
4526
4526
|
}
|
|
4527
4527
|
initialize = async (e, n) => {
|
|
4528
|
-
this.api = new
|
|
4528
|
+
this.api = new Fr(e, n), this.beatApi = new et(e, n), Promise.all([
|
|
4529
4529
|
this.loadAssociatedBeats(yA(/* @__PURE__ */ new Date())),
|
|
4530
4530
|
this.loadTags(),
|
|
4531
4531
|
this.loadTaggings(),
|
|
@@ -4702,7 +4702,7 @@ const ZA = () => {
|
|
|
4702
4702
|
if (!g.useContext(rt))
|
|
4703
4703
|
throw new Error("useTransactionsUiStore() must be used within the GlobalDataContext");
|
|
4704
4704
|
return uA().uiStore;
|
|
4705
|
-
},
|
|
4705
|
+
}, ui = (A, e) => {
|
|
4706
4706
|
const n = Sl(wl(A, e)), r = encodeURIComponent(n), a = document.createElement("a");
|
|
4707
4707
|
a.href = `data:attachment/csv;charset=utf-8,${r}`, a.download = "transactions.csv", document.body.appendChild(a), a.click(), document.body.removeChild(a);
|
|
4708
4708
|
}, wl = (A, e) => A.map((n) => ({
|
|
@@ -4767,23 +4767,23 @@ const ZA = () => {
|
|
|
4767
4767
|
]
|
|
4768
4768
|
}
|
|
4769
4769
|
);
|
|
4770
|
-
},
|
|
4770
|
+
}, Ar = S(Il), er = ({
|
|
4771
4771
|
bgcolor: A = "background.default",
|
|
4772
4772
|
children: e
|
|
4773
4773
|
}) => /* @__PURE__ */ t(I, { display: "inline-block", pb: 4, pl: 24, pt: 4, sx: { bgcolor: A, width: "100%" }, children: /* @__PURE__ */ t(p, { bold: !0, variant: "XSmall", children: e }) }), Dl = ({ showIcon: A = !0, showSubtitle: e = !0 }) => {
|
|
4774
4774
|
const n = _A(), { transactions: r } = x();
|
|
4775
4775
|
return /* @__PURE__ */ l(b, { alignItems: "center", gap: n.Spacing.Small, height: "auto", mt: n.Spacing.Large, children: [
|
|
4776
|
-
A && /* @__PURE__ */ t(
|
|
4776
|
+
A && /* @__PURE__ */ t(ds, { color: "secondary", sx: { fontSize: 32 } }),
|
|
4777
4777
|
/* @__PURE__ */ t(p, { bold: !0, color: "secondary", variant: "Small", children: r.zero_state_no_transactions }),
|
|
4778
4778
|
e && /* @__PURE__ */ t(p, { color: "secondary", variant: "XSmall", children: r.zero_state_there_are_no_transactions })
|
|
4779
4779
|
] });
|
|
4780
|
-
}, xl = S(Dl),
|
|
4780
|
+
}, xl = S(Dl), jr = (A, e) => {
|
|
4781
4781
|
const n = xA(e[A].date), r = xA(e[A - 1]?.date);
|
|
4782
4782
|
return !YA(n, r);
|
|
4783
4783
|
}, Ol = (A, e) => {
|
|
4784
4784
|
const n = xA(e[A].date), r = xA(e[A + 1]?.date);
|
|
4785
4785
|
return YA(n, r);
|
|
4786
|
-
},
|
|
4786
|
+
}, Ur = 65, Wr = 34, Pl = ({
|
|
4787
4787
|
bgcolor: A,
|
|
4788
4788
|
height: e = "calc(100dvh - 36px)",
|
|
4789
4789
|
loader: n = /* @__PURE__ */ t(te, { label: "Loading", size: 40 }),
|
|
@@ -4803,10 +4803,10 @@ const ZA = () => {
|
|
|
4803
4803
|
account_guid: L?.account_guid,
|
|
4804
4804
|
transaction_guid: v
|
|
4805
4805
|
}), r?.(v);
|
|
4806
|
-
}, f = g.useRef(null), y =
|
|
4806
|
+
}, f = g.useRef(null), y = Ha({
|
|
4807
4807
|
count: u.length,
|
|
4808
4808
|
getScrollElement: () => f.current,
|
|
4809
|
-
estimateSize: (v) =>
|
|
4809
|
+
estimateSize: (v) => Ur + (jr(v, u) ? Wr : 0),
|
|
4810
4810
|
overscan: 5
|
|
4811
4811
|
});
|
|
4812
4812
|
return g.useEffect(() => y.measure(), [u]), g.useEffect(() => d(a), [a]), /* @__PURE__ */ t(nA, { children: /* @__PURE__ */ t(I, { height: e, overflow: "auto", ref: f, width: o, children: /* @__PURE__ */ l(
|
|
@@ -4822,7 +4822,7 @@ const ZA = () => {
|
|
|
4822
4822
|
(c || i) && n,
|
|
4823
4823
|
!c && !i && y.getVirtualItems().length === 0 && s,
|
|
4824
4824
|
!c && !i && y.getVirtualItems().length > 0 && y.getVirtualItems().map((v) => {
|
|
4825
|
-
const L = u[v.index], T =
|
|
4825
|
+
const L = u[v.index], T = jr(v.index, u), w = Ol(v.index, u), D = Ur + (T ? Wr : 0);
|
|
4826
4826
|
return /* @__PURE__ */ l(
|
|
4827
4827
|
I,
|
|
4828
4828
|
{
|
|
@@ -4833,8 +4833,8 @@ const ZA = () => {
|
|
|
4833
4833
|
width: "100%"
|
|
4834
4834
|
},
|
|
4835
4835
|
children: [
|
|
4836
|
-
T && /* @__PURE__ */ t(
|
|
4837
|
-
/* @__PURE__ */ t(
|
|
4836
|
+
T && /* @__PURE__ */ t(er, { bgcolor: A, children: An(L.date) }),
|
|
4837
|
+
/* @__PURE__ */ t(Ar, { onClick: m, transaction: L }),
|
|
4838
4838
|
/* @__PURE__ */ t(K, { sx: { ml: w ? 24 : 0 } })
|
|
4839
4839
|
]
|
|
4840
4840
|
},
|
|
@@ -5050,7 +5050,7 @@ const Gl = ({
|
|
|
5050
5050
|
onPrimaryAction: () => {
|
|
5051
5051
|
c(!1), n(i);
|
|
5052
5052
|
},
|
|
5053
|
-
children: /* @__PURE__ */ t(
|
|
5053
|
+
children: /* @__PURE__ */ t(_a, { children: h ? /* @__PURE__ */ t(p, { children: d }) : /* @__PURE__ */ t(
|
|
5054
5054
|
_e,
|
|
5055
5055
|
{
|
|
5056
5056
|
"aria-label": a === "edit" ? s.edit_subcategory_aria : s.add_subcategory_aria,
|
|
@@ -5063,7 +5063,7 @@ const Gl = ({
|
|
|
5063
5063
|
) })
|
|
5064
5064
|
}
|
|
5065
5065
|
);
|
|
5066
|
-
},
|
|
5066
|
+
}, tr = S(Gl), Xl = ({ parentCategory: A }) => {
|
|
5067
5067
|
const [e, n] = g.useState(!1), { addCategory: r } = PA(), { categories: a } = x(), { onEvent: i } = V(), { setShouldDisableDrawerScroll: o } = Be(), s = async (d) => {
|
|
5068
5068
|
await r(d.trim(), A.guid), i(oe.ON_SUBCATEGORY_ADDED), n(!1);
|
|
5069
5069
|
}, c = async () => {
|
|
@@ -5080,7 +5080,7 @@ const Gl = ({
|
|
|
5080
5080
|
}
|
|
5081
5081
|
) }),
|
|
5082
5082
|
e && /* @__PURE__ */ t(
|
|
5083
|
-
|
|
5083
|
+
tr,
|
|
5084
5084
|
{
|
|
5085
5085
|
isOpen: e,
|
|
5086
5086
|
onClose: u,
|
|
@@ -5100,7 +5100,7 @@ const Gl = ({
|
|
|
5100
5100
|
A(!1), a(oe.ON_SUBCATEGORY_EDIT_CANCEL_CLICK);
|
|
5101
5101
|
};
|
|
5102
5102
|
return /* @__PURE__ */ t(
|
|
5103
|
-
|
|
5103
|
+
tr,
|
|
5104
5104
|
{
|
|
5105
5105
|
categoryName: e.name,
|
|
5106
5106
|
isOpen: n,
|
|
@@ -5121,7 +5121,7 @@ const Gl = ({
|
|
|
5121
5121
|
a(oe.ON_SUBCATEGORY_DELETED), await i(r.guid), n(!1);
|
|
5122
5122
|
};
|
|
5123
5123
|
return /* @__PURE__ */ t(
|
|
5124
|
-
|
|
5124
|
+
tr,
|
|
5125
5125
|
{
|
|
5126
5126
|
categoryName: A.name,
|
|
5127
5127
|
isOpen: e,
|
|
@@ -5165,8 +5165,8 @@ const Gl = ({
|
|
|
5165
5165
|
primaryTypographyProps: { fontWeight: "normal", variant: "Body" }
|
|
5166
5166
|
}
|
|
5167
5167
|
),
|
|
5168
|
-
o && v && /* @__PURE__ */ t(
|
|
5169
|
-
!L && /* @__PURE__ */ t(
|
|
5168
|
+
o && v && /* @__PURE__ */ t(qa, { fontSize: "small" }),
|
|
5169
|
+
!L && /* @__PURE__ */ t(ms, { label: c })
|
|
5170
5170
|
]
|
|
5171
5171
|
}
|
|
5172
5172
|
),
|
|
@@ -5178,7 +5178,7 @@ const Gl = ({
|
|
|
5178
5178
|
onClick: () => {
|
|
5179
5179
|
C(!0), i(!0), d(oe.ON_SUBCATEGORY_EDIT_CLICK);
|
|
5180
5180
|
},
|
|
5181
|
-
children: /* @__PURE__ */ t(
|
|
5181
|
+
children: /* @__PURE__ */ t(ps, { color: "secondary" })
|
|
5182
5182
|
}
|
|
5183
5183
|
),
|
|
5184
5184
|
/* @__PURE__ */ t(
|
|
@@ -5262,7 +5262,7 @@ const Gl = ({
|
|
|
5262
5262
|
primaryTypographyProps: { fontWeight: "normal", variant: "Body" }
|
|
5263
5263
|
}
|
|
5264
5264
|
),
|
|
5265
|
-
/* @__PURE__ */ t(ee, { children: o || r ? /* @__PURE__ */ t(
|
|
5265
|
+
/* @__PURE__ */ t(ee, { children: o || r ? /* @__PURE__ */ t(Ra, {}) : /* @__PURE__ */ t(Jt, {}) })
|
|
5266
5266
|
]
|
|
5267
5267
|
},
|
|
5268
5268
|
A.guid
|
|
@@ -5270,7 +5270,7 @@ const Gl = ({
|
|
|
5270
5270
|
/* @__PURE__ */ t(K, { sx: { ml: 58 } }),
|
|
5271
5271
|
/* @__PURE__ */ t(Zl, { categories: e, parentCategory: A })
|
|
5272
5272
|
] });
|
|
5273
|
-
},
|
|
5273
|
+
}, hi = S($l), Ad = () => {
|
|
5274
5274
|
const { categories: A } = PA(), { searchValue: e } = Be(), { categories: n } = x(), a = ((i, o = "") => i.reduce((s, c) => {
|
|
5275
5275
|
if (c.parent_guid === null) {
|
|
5276
5276
|
const d = [
|
|
@@ -5289,7 +5289,7 @@ const Gl = ({
|
|
|
5289
5289
|
return s;
|
|
5290
5290
|
}, []))(A, e);
|
|
5291
5291
|
return /* @__PURE__ */ t(fe, { className: "mx-cat-category-list", sx: { boxShadow: "none" }, children: /* @__PURE__ */ t(nA, { children: a.map((i) => /* @__PURE__ */ t(
|
|
5292
|
-
|
|
5292
|
+
hi,
|
|
5293
5293
|
{
|
|
5294
5294
|
category: i.category,
|
|
5295
5295
|
subCategories: i.children
|
|
@@ -5355,22 +5355,22 @@ const Gl = ({
|
|
|
5355
5355
|
children: /* @__PURE__ */ t(rd, { ...a })
|
|
5356
5356
|
}
|
|
5357
5357
|
);
|
|
5358
|
-
},
|
|
5359
|
-
(r) =>
|
|
5358
|
+
}, nr = S(ad), id = 3, Yr = 12, od = (A, e, n) => A.filter((r) => !r.parent_guid).map(
|
|
5359
|
+
(r) => gi(
|
|
5360
5360
|
r,
|
|
5361
5361
|
e,
|
|
5362
5362
|
n,
|
|
5363
5363
|
A.filter((a) => a.parent_guid === r.guid)
|
|
5364
5364
|
)
|
|
5365
|
-
),
|
|
5366
|
-
const a = A.guid, i = A.parent_guid || a, o = a === i, s = e.find((C) => C.category_guid === a)?.total || 0, c =
|
|
5365
|
+
), gi = (A, e, n, r = []) => {
|
|
5366
|
+
const a = A.guid, i = A.parent_guid || a, o = a === i, s = e.find((C) => C.category_guid === a)?.total || 0, c = Jr(
|
|
5367
5367
|
n.filter((C) => C.category_guid === a)
|
|
5368
|
-
), u =
|
|
5368
|
+
), u = Jr(
|
|
5369
5369
|
n.filter(
|
|
5370
5370
|
(C) => C.category_guid === a || C.top_level_category_guid === a
|
|
5371
5371
|
)
|
|
5372
5372
|
), d = r.map(
|
|
5373
|
-
(C) =>
|
|
5373
|
+
(C) => gi(C, e, n)
|
|
5374
5374
|
), h = d.reduce(
|
|
5375
5375
|
(C, m) => C + m.currentAmount,
|
|
5376
5376
|
s
|
|
@@ -5378,17 +5378,17 @@ const Gl = ({
|
|
|
5378
5378
|
return {
|
|
5379
5379
|
...A,
|
|
5380
5380
|
currentAmount: s,
|
|
5381
|
-
averageAmount:
|
|
5381
|
+
averageAmount: Vr(c),
|
|
5382
5382
|
color: Pe[i],
|
|
5383
5383
|
icon: Xs[i],
|
|
5384
5384
|
isTransfer: i === E.TRANSFER,
|
|
5385
5385
|
monthlyAmounts: c,
|
|
5386
5386
|
subCategories: d,
|
|
5387
5387
|
totalAmount: o ? h : 0,
|
|
5388
|
-
totalAverageAmount:
|
|
5388
|
+
totalAverageAmount: Vr(u),
|
|
5389
5389
|
totalMonthlyAmounts: o ? u : []
|
|
5390
5390
|
};
|
|
5391
|
-
},
|
|
5391
|
+
}, Vr = (A, e = id) => {
|
|
5392
5392
|
const n = e > history.length ? history.length : e;
|
|
5393
5393
|
return Math.ceil(
|
|
5394
5394
|
Math.max(
|
|
@@ -5396,10 +5396,10 @@ const Gl = ({
|
|
|
5396
5396
|
A.slice(-n).reduce((r, a) => r + a.amount, 0) / n
|
|
5397
5397
|
)
|
|
5398
5398
|
);
|
|
5399
|
-
},
|
|
5399
|
+
}, Jr = (A) => {
|
|
5400
5400
|
const e = [], n = $();
|
|
5401
|
-
for (let r = 0; r <=
|
|
5402
|
-
const a = yA(Ce(n,
|
|
5401
|
+
for (let r = 0; r <= Yr; r++) {
|
|
5402
|
+
const a = yA(Ce(n, Yr - r)), o = A.filter(
|
|
5403
5403
|
(s) => s.year_month === Number(FA(a, "yyyyMM"))
|
|
5404
5404
|
).reduce((s, c) => s + c.total, 0);
|
|
5405
5405
|
e.push({
|
|
@@ -5530,7 +5530,7 @@ class cd {
|
|
|
5530
5530
|
}
|
|
5531
5531
|
};
|
|
5532
5532
|
}
|
|
5533
|
-
const
|
|
5533
|
+
const Ci = ({ transaction: A }) => {
|
|
5534
5534
|
const { addOrUpdateTransactionRule: e, updateTransaction: n } = uA(), { categories: r } = PA(), { onEvent: a } = V(), { setShouldDisableDrawerScroll: i, updateManualTransaction: o } = ZA(), { transactions: s } = x(), [c, u] = g.useState(!1), [d, h] = g.useState(""), C = async (v) => {
|
|
5535
5535
|
await n({ ...A, category_guid: d }), v && await e(d, A), h(""), a(j.TRANSACTION_DETAILS_CLICK_CATEGORY, {
|
|
5536
5536
|
transaction_guid: A.guid
|
|
@@ -5567,7 +5567,7 @@ const gi = ({ transaction: A }) => {
|
|
|
5567
5567
|
categoryGuid: A.top_level_category_guid,
|
|
5568
5568
|
size: 24,
|
|
5569
5569
|
sx: { color: "text.primary" },
|
|
5570
|
-
variant:
|
|
5570
|
+
variant: Pa.Transparent
|
|
5571
5571
|
}
|
|
5572
5572
|
) }) }),
|
|
5573
5573
|
/* @__PURE__ */ t(
|
|
@@ -5583,7 +5583,7 @@ const gi = ({ transaction: A }) => {
|
|
|
5583
5583
|
}
|
|
5584
5584
|
) }),
|
|
5585
5585
|
/* @__PURE__ */ t(
|
|
5586
|
-
|
|
5586
|
+
nr,
|
|
5587
5587
|
{
|
|
5588
5588
|
initialSelected: A.category_guid,
|
|
5589
5589
|
onClose: f,
|
|
@@ -5615,7 +5615,7 @@ const gi = ({ transaction: A }) => {
|
|
|
5615
5615
|
}
|
|
5616
5616
|
)
|
|
5617
5617
|
] });
|
|
5618
|
-
},
|
|
5618
|
+
}, fi = ({ transaction: A }) => {
|
|
5619
5619
|
const e = _A(), { onEvent: n } = V(), { updateTransaction: r } = uA(), { updateManualTransaction: a } = ZA(), { common: i, transactions: o } = x(), [s, c] = g.useState(!1), [u, d] = g.useState(A.date), h = (m) => {
|
|
5620
5620
|
d(fA(m));
|
|
5621
5621
|
}, C = async () => {
|
|
@@ -5666,7 +5666,7 @@ const gi = ({ transaction: A }) => {
|
|
|
5666
5666
|
today: i.date_range_picker.today
|
|
5667
5667
|
},
|
|
5668
5668
|
onDateSelected: h,
|
|
5669
|
-
selectionType:
|
|
5669
|
+
selectionType: ti.Single
|
|
5670
5670
|
}
|
|
5671
5671
|
) })
|
|
5672
5672
|
}
|
|
@@ -5822,7 +5822,7 @@ const gi = ({ transaction: A }) => {
|
|
|
5822
5822
|
}
|
|
5823
5823
|
)
|
|
5824
5824
|
] });
|
|
5825
|
-
}, Cd = S(gd),
|
|
5825
|
+
}, Cd = S(gd), mi = ({ transaction: A }) => {
|
|
5826
5826
|
const { amount: e, description: n, isIncome: r, merchant_guid: a, payee: i, top_level_category_guid: o } = A;
|
|
5827
5827
|
return /* @__PURE__ */ l(b, { className: "mx-txn-amount-header", direction: "row", gap: 12, px: 16, py: 24, children: [
|
|
5828
5828
|
/* @__PURE__ */ t(
|
|
@@ -5883,7 +5883,7 @@ const gi = ({ transaction: A }) => {
|
|
|
5883
5883
|
onPrimaryAction: d,
|
|
5884
5884
|
title: i.memo_title,
|
|
5885
5885
|
children: [
|
|
5886
|
-
/* @__PURE__ */ t(
|
|
5886
|
+
/* @__PURE__ */ t(mi, { transaction: A }),
|
|
5887
5887
|
/* @__PURE__ */ t(
|
|
5888
5888
|
Zt,
|
|
5889
5889
|
{
|
|
@@ -5902,7 +5902,7 @@ const gi = ({ transaction: A }) => {
|
|
|
5902
5902
|
}
|
|
5903
5903
|
)
|
|
5904
5904
|
] });
|
|
5905
|
-
},
|
|
5905
|
+
}, pi = S(fd), md = ({
|
|
5906
5906
|
index: A,
|
|
5907
5907
|
onDeleteRow: e,
|
|
5908
5908
|
onCategoryChanged: n,
|
|
@@ -5989,7 +5989,7 @@ const gi = ({ transaction: A }) => {
|
|
|
5989
5989
|
] }) })
|
|
5990
5990
|
] }),
|
|
5991
5991
|
/* @__PURE__ */ t(
|
|
5992
|
-
|
|
5992
|
+
nr,
|
|
5993
5993
|
{
|
|
5994
5994
|
initialSelected: a.category_guid,
|
|
5995
5995
|
onClose: () => h(!1),
|
|
@@ -6139,7 +6139,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6139
6139
|
secondaryText: a.cancel_button,
|
|
6140
6140
|
title: i.split_transaction_title,
|
|
6141
6141
|
children: [
|
|
6142
|
-
/* @__PURE__ */ t(
|
|
6142
|
+
/* @__PURE__ */ t(mi, { transaction: A }),
|
|
6143
6143
|
/* @__PURE__ */ t(
|
|
6144
6144
|
yd,
|
|
6145
6145
|
{
|
|
@@ -6244,14 +6244,14 @@ const gi = ({ transaction: A }) => {
|
|
|
6244
6244
|
{
|
|
6245
6245
|
"aria-label": r.tags_cancel_search || "Search",
|
|
6246
6246
|
onClick: () => A(""),
|
|
6247
|
-
children: /* @__PURE__ */ t(
|
|
6247
|
+
children: /* @__PURE__ */ t(is, {})
|
|
6248
6248
|
}
|
|
6249
6249
|
);
|
|
6250
6250
|
return /* @__PURE__ */ t(I, { className: "mx-txn-tag-manager-search", px: a.Spacing.Large, py: a.Spacing.Medium, children: /* @__PURE__ */ t(
|
|
6251
6251
|
_e,
|
|
6252
6252
|
{
|
|
6253
6253
|
InputProps: {
|
|
6254
|
-
startAdornment: /* @__PURE__ */ t(_t, { position: "start", children: /* @__PURE__ */ t(
|
|
6254
|
+
startAdornment: /* @__PURE__ */ t(_t, { position: "start", children: /* @__PURE__ */ t(os, { color: "disabled" }) }),
|
|
6255
6255
|
endAdornment: /* @__PURE__ */ t(_t, { position: "end", sx: { padding: 0 }, children: e ? i : null })
|
|
6256
6256
|
},
|
|
6257
6257
|
"aria-label": n.search_aria,
|
|
@@ -6289,7 +6289,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6289
6289
|
"aria-label": `Edit ${n.name} tag`,
|
|
6290
6290
|
color: "secondary",
|
|
6291
6291
|
onClick: T,
|
|
6292
|
-
children: /* @__PURE__ */ t(
|
|
6292
|
+
children: /* @__PURE__ */ t(ss, { color: "secondary" })
|
|
6293
6293
|
}
|
|
6294
6294
|
),
|
|
6295
6295
|
/* @__PURE__ */ t(
|
|
@@ -6429,7 +6429,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6429
6429
|
}
|
|
6430
6430
|
)
|
|
6431
6431
|
] });
|
|
6432
|
-
},
|
|
6432
|
+
}, vi = S(Pd), Nd = ({ transaction: A }) => {
|
|
6433
6433
|
const { updateTransaction: e } = uA(), { common: n, transactions: r } = x(), { onEvent: a } = V(), [i, o] = g.useState(!1), [s, c] = g.useState(""), u = g.useRef(null);
|
|
6434
6434
|
g.useEffect(() => {
|
|
6435
6435
|
i && (c(A.description), u?.current?.focus());
|
|
@@ -6439,7 +6439,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6439
6439
|
transaction_guid: A.guid
|
|
6440
6440
|
}), await e({ ...A, description: s }), o(!1);
|
|
6441
6441
|
};
|
|
6442
|
-
return /* @__PURE__ */ t(I, { className: "mx-txn-transaction-description", children: i ? /* @__PURE__ */ l(
|
|
6442
|
+
return /* @__PURE__ */ t(I, { className: "mx-txn-transaction-description", children: i ? /* @__PURE__ */ l(cs, { row: !0, children: [
|
|
6443
6443
|
/* @__PURE__ */ t(
|
|
6444
6444
|
Zt,
|
|
6445
6445
|
{
|
|
@@ -6509,7 +6509,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6509
6509
|
}
|
|
6510
6510
|
},
|
|
6511
6511
|
value: "flagged",
|
|
6512
|
-
children: /* @__PURE__ */ t(
|
|
6512
|
+
children: /* @__PURE__ */ t(ls, { color: "inherit" })
|
|
6513
6513
|
}
|
|
6514
6514
|
) });
|
|
6515
6515
|
}, Rd = S(_d), Hd = ({
|
|
@@ -6555,10 +6555,10 @@ const gi = ({ transaction: A }) => {
|
|
|
6555
6555
|
)
|
|
6556
6556
|
] }),
|
|
6557
6557
|
/* @__PURE__ */ t(fe, { square: !0, sx: { boxShadow: "none" }, children: /* @__PURE__ */ t(nA, { children: e.map((o, s) => /* @__PURE__ */ l(g.Fragment, { children: [
|
|
6558
|
-
o === ct.Category && /* @__PURE__ */ t(
|
|
6559
|
-
o === ct.Date && /* @__PURE__ */ t(
|
|
6560
|
-
o === ct.Memo && /* @__PURE__ */ t(
|
|
6561
|
-
o === ct.Tags && /* @__PURE__ */ t(
|
|
6558
|
+
o === ct.Category && /* @__PURE__ */ t(Ci, { transaction: n }),
|
|
6559
|
+
o === ct.Date && /* @__PURE__ */ t(fi, { transaction: n }),
|
|
6560
|
+
o === ct.Memo && /* @__PURE__ */ t(pi, { transaction: n }),
|
|
6561
|
+
o === ct.Tags && /* @__PURE__ */ t(vi, { transaction: n }),
|
|
6562
6562
|
/* @__PURE__ */ t(K, { variant: s < e.length - 1 ? "inset" : "fullWidth" })
|
|
6563
6563
|
] }, o)) }) }),
|
|
6564
6564
|
/* @__PURE__ */ t(p, { bold: !0, mb: 8, ml: 26, mt: 16, variant: "Body", children: "Actions" }),
|
|
@@ -6633,9 +6633,9 @@ const gi = ({ transaction: A }) => {
|
|
|
6633
6633
|
sx: { bgcolor: "background.paper" }
|
|
6634
6634
|
}
|
|
6635
6635
|
),
|
|
6636
|
-
/* @__PURE__ */ t(
|
|
6636
|
+
/* @__PURE__ */ t(as, { name: "TransactionType", onChange: m, row: !0, children: /* @__PURE__ */ l(b, { alignItems: "center", direction: "row", children: [
|
|
6637
6637
|
/* @__PURE__ */ t(
|
|
6638
|
-
|
|
6638
|
+
Kr,
|
|
6639
6639
|
{
|
|
6640
6640
|
checked: r.transaction_type === QA.CREDIT,
|
|
6641
6641
|
label: n.manual_transaction_credit_button_label,
|
|
@@ -6645,7 +6645,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6645
6645
|
}
|
|
6646
6646
|
),
|
|
6647
6647
|
/* @__PURE__ */ t(
|
|
6648
|
-
|
|
6648
|
+
Kr,
|
|
6649
6649
|
{
|
|
6650
6650
|
checked: r.transaction_type === QA.DEBIT,
|
|
6651
6651
|
label: n.manual_transaction_debit_button_label,
|
|
@@ -6671,7 +6671,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6671
6671
|
_e,
|
|
6672
6672
|
{
|
|
6673
6673
|
InputLabelProps: { shrink: !0 },
|
|
6674
|
-
SelectProps: { defaultValue: -1, IconComponent:
|
|
6674
|
+
SelectProps: { defaultValue: -1, IconComponent: Ra },
|
|
6675
6675
|
label: n.manual_transaction_select_an_account,
|
|
6676
6676
|
onChange: (v) => y(v.target.value),
|
|
6677
6677
|
placeholder: n.manual_transaction_select,
|
|
@@ -6683,10 +6683,10 @@ const gi = ({ transaction: A }) => {
|
|
|
6683
6683
|
] }),
|
|
6684
6684
|
/* @__PURE__ */ t(K, { light: !0 }),
|
|
6685
6685
|
/* @__PURE__ */ l(I, { bgcolor: "background.paper", children: [
|
|
6686
|
-
/* @__PURE__ */ t(gi, { transaction: r }),
|
|
6687
6686
|
/* @__PURE__ */ t(Ci, { transaction: r }),
|
|
6688
|
-
/* @__PURE__ */ t(
|
|
6689
|
-
/* @__PURE__ */ t(pi, { transaction: r })
|
|
6687
|
+
/* @__PURE__ */ t(fi, { transaction: r }),
|
|
6688
|
+
/* @__PURE__ */ t(pi, { transaction: r }),
|
|
6689
|
+
/* @__PURE__ */ t(vi, { transaction: r })
|
|
6690
6690
|
] })
|
|
6691
6691
|
] });
|
|
6692
6692
|
}, Kd = S(qd), kd = ({ onClose: A, transaction: e }) => {
|
|
@@ -6698,7 +6698,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6698
6698
|
};
|
|
6699
6699
|
return /* @__PURE__ */ l(I, { className: "mx-txn-edit-category-action", children: [
|
|
6700
6700
|
/* @__PURE__ */ t(
|
|
6701
|
-
|
|
6701
|
+
nr,
|
|
6702
6702
|
{
|
|
6703
6703
|
initialSelected: e.category_guid,
|
|
6704
6704
|
onClose: A,
|
|
@@ -6730,7 +6730,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6730
6730
|
}
|
|
6731
6731
|
)
|
|
6732
6732
|
] });
|
|
6733
|
-
}, Gd = S(kd),
|
|
6733
|
+
}, Gd = S(kd), Zr = 120, Xd = ({
|
|
6734
6734
|
onBackClick: A,
|
|
6735
6735
|
height: e = "100dvh",
|
|
6736
6736
|
showInsights: n = !1,
|
|
@@ -6762,10 +6762,10 @@ const gi = ({ transaction: A }) => {
|
|
|
6762
6762
|
g.useEffect(() => {
|
|
6763
6763
|
J(a);
|
|
6764
6764
|
}, [a]), g.useEffect(() => {
|
|
6765
|
-
const NA = yA($()),
|
|
6766
|
-
q(NA,
|
|
6767
|
-
dateRange: { start: NA, end:
|
|
6768
|
-
accounts: Q.map((
|
|
6765
|
+
const NA = yA($()), fr = MA($());
|
|
6766
|
+
q(NA, fr), v({
|
|
6767
|
+
dateRange: { start: NA, end: fr },
|
|
6768
|
+
accounts: Q.map((ro) => ro.guid)
|
|
6769
6769
|
}), bA(!0), N(j.TRANSACTIONS_VIEW);
|
|
6770
6770
|
}, []), g.useEffect(() => {
|
|
6771
6771
|
rA && (v({
|
|
@@ -6781,27 +6781,27 @@ const gi = ({ transaction: A }) => {
|
|
|
6781
6781
|
[a]
|
|
6782
6782
|
), se = hA ? T.find((NA) => NA.guid === hA) : void 0, Tt = c && !!s.payee && !!s.account_guid && !!s.category_guid, gn = (NA) => {
|
|
6783
6783
|
q(NA[0], NA[1]);
|
|
6784
|
-
},
|
|
6784
|
+
}, Zi = (NA) => {
|
|
6785
6785
|
d(NA), v({
|
|
6786
6786
|
...f,
|
|
6787
6787
|
searchTerm: NA
|
|
6788
6788
|
}), N(j.TRANSACTIONS_CLICK_SEARCH, { search_term: NA });
|
|
6789
|
-
}, Zi = () => {
|
|
6790
|
-
di(T, L), N(j.TRANSACTIONS_CLICK_EXPORT);
|
|
6791
6789
|
}, $i = () => {
|
|
6790
|
+
ui(T, L), N(j.TRANSACTIONS_CLICK_EXPORT);
|
|
6791
|
+
}, Ao = () => {
|
|
6792
6792
|
$A.length > 0 ? (C({
|
|
6793
|
-
...
|
|
6793
|
+
...di,
|
|
6794
6794
|
date: fA($()),
|
|
6795
6795
|
user_guid: P?.user_guid || ""
|
|
6796
6796
|
}), EA(
|
|
6797
6797
|
"addTransaction"
|
|
6798
6798
|
/* AddTransaction */
|
|
6799
6799
|
), N(j.TRANSACTIONS_CLICK_ADD)) : (he(!0), N(j.TRANSACTIONS_ADD_MANUAL_ACCOUNT_MODAL));
|
|
6800
|
-
},
|
|
6800
|
+
}, eo = async () => {
|
|
6801
6801
|
Tt && await m(s), EA("");
|
|
6802
|
-
}, eo = () => {
|
|
6803
|
-
he(!1), _(!0);
|
|
6804
6802
|
}, to = () => {
|
|
6803
|
+
he(!1), _(!0);
|
|
6804
|
+
}, no = () => {
|
|
6805
6805
|
_(!1), i();
|
|
6806
6806
|
};
|
|
6807
6807
|
return !k || !rA ? /* @__PURE__ */ t(te, {}) : /* @__PURE__ */ l(
|
|
@@ -6812,12 +6812,12 @@ const gi = ({ transaction: A }) => {
|
|
|
6812
6812
|
{
|
|
6813
6813
|
iconName: "open_in_new",
|
|
6814
6814
|
label: O.export_csv_btn,
|
|
6815
|
-
onClick:
|
|
6815
|
+
onClick: $i
|
|
6816
6816
|
},
|
|
6817
6817
|
{
|
|
6818
6818
|
iconName: "add",
|
|
6819
6819
|
label: O.add_transaction_btn,
|
|
6820
|
-
onClick:
|
|
6820
|
+
onClick: Ao
|
|
6821
6821
|
}
|
|
6822
6822
|
],
|
|
6823
6823
|
calendarActions: {
|
|
@@ -6831,7 +6831,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6831
6831
|
/* @__PURE__ */ t(I, { mt: 16, children: /* @__PURE__ */ t(
|
|
6832
6832
|
an,
|
|
6833
6833
|
{
|
|
6834
|
-
onChange:
|
|
6834
|
+
onChange: Zi,
|
|
6835
6835
|
placeholder: O.action_bar_search_placeholder,
|
|
6836
6836
|
searchValue: u
|
|
6837
6837
|
}
|
|
@@ -6846,7 +6846,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6846
6846
|
children: /* @__PURE__ */ t(
|
|
6847
6847
|
kl,
|
|
6848
6848
|
{
|
|
6849
|
-
height: `calc(${e} - ${
|
|
6849
|
+
height: `calc(${e} - ${Zr}px)`,
|
|
6850
6850
|
onCategoryClick: (NA) => {
|
|
6851
6851
|
SA(NA), EA(
|
|
6852
6852
|
"category"
|
|
@@ -6873,7 +6873,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6873
6873
|
children: /* @__PURE__ */ t(
|
|
6874
6874
|
Ue,
|
|
6875
6875
|
{
|
|
6876
|
-
height: `calc(${e} - ${
|
|
6876
|
+
height: `calc(${e} - ${Zr}px)`,
|
|
6877
6877
|
onClick: (NA) => {
|
|
6878
6878
|
SA(NA), EA(
|
|
6879
6879
|
"transaction"
|
|
@@ -6913,7 +6913,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6913
6913
|
isOpen: sA === "addTransaction",
|
|
6914
6914
|
isPrimaryDisabled: !Tt,
|
|
6915
6915
|
onClose: () => EA(""),
|
|
6916
|
-
onPrimaryAction:
|
|
6916
|
+
onPrimaryAction: eo,
|
|
6917
6917
|
title: O.add_transaction_title,
|
|
6918
6918
|
children: /* @__PURE__ */ t(Kd, {})
|
|
6919
6919
|
}
|
|
@@ -6926,13 +6926,13 @@ const gi = ({ transaction: A }) => {
|
|
|
6926
6926
|
onClose: () => {
|
|
6927
6927
|
he(!1);
|
|
6928
6928
|
},
|
|
6929
|
-
onPrimaryAction:
|
|
6929
|
+
onPrimaryAction: to
|
|
6930
6930
|
}
|
|
6931
6931
|
),
|
|
6932
6932
|
/* @__PURE__ */ t(
|
|
6933
6933
|
nn,
|
|
6934
6934
|
{
|
|
6935
|
-
onClose:
|
|
6935
|
+
onClose: no,
|
|
6936
6936
|
showConnectWidget: qe,
|
|
6937
6937
|
title: O.add_manual_account
|
|
6938
6938
|
}
|
|
@@ -6940,7 +6940,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6940
6940
|
]
|
|
6941
6941
|
}
|
|
6942
6942
|
);
|
|
6943
|
-
}, Q7 = S(Xd),
|
|
6943
|
+
}, Q7 = S(Xd), yi = (A, e) => {
|
|
6944
6944
|
const n = {
|
|
6945
6945
|
...e,
|
|
6946
6946
|
repeat_day: null,
|
|
@@ -6967,7 +6967,7 @@ const gi = ({ transaction: A }) => {
|
|
|
6967
6967
|
break;
|
|
6968
6968
|
}
|
|
6969
6969
|
return n;
|
|
6970
|
-
},
|
|
6970
|
+
}, Ei = (A, e) => ({
|
|
6971
6971
|
...e,
|
|
6972
6972
|
occurs_on: _n(A.expectedDate, { representation: "date" }),
|
|
6973
6973
|
recurrence_type: A.recurrenceType
|
|
@@ -6984,10 +6984,10 @@ const gi = ({ transaction: A }) => {
|
|
|
6984
6984
|
const y = { ...A, recurrenceType: f };
|
|
6985
6985
|
if (A.activityType === LA.Expense) {
|
|
6986
6986
|
const v = r.find((L) => L.guid === A.scheduledPaymentGuid);
|
|
6987
|
-
v && await i(
|
|
6987
|
+
v && await i(Ei(y, v));
|
|
6988
6988
|
} else {
|
|
6989
6989
|
const v = n.find((L) => L.guid === A.sequenceGuid);
|
|
6990
|
-
v && await a(
|
|
6990
|
+
v && await a(yi(y, v));
|
|
6991
6991
|
}
|
|
6992
6992
|
c(!1);
|
|
6993
6993
|
}, C = () => {
|
|
@@ -7049,10 +7049,10 @@ const gi = ({ transaction: A }) => {
|
|
|
7049
7049
|
const f = { ...A, expectedDate: u };
|
|
7050
7050
|
if (A.activityType === LA.Expense) {
|
|
7051
7051
|
const y = r.find((v) => v.guid === A.scheduledPaymentGuid);
|
|
7052
|
-
y && await i(
|
|
7052
|
+
y && await i(Ei(f, y));
|
|
7053
7053
|
} else {
|
|
7054
7054
|
const y = n.find((v) => v.guid === A.sequenceGuid);
|
|
7055
|
-
y && await a(
|
|
7055
|
+
y && await a(yi(f, y));
|
|
7056
7056
|
}
|
|
7057
7057
|
c(!1);
|
|
7058
7058
|
};
|
|
@@ -7202,8 +7202,8 @@ const gi = ({ transaction: A }) => {
|
|
|
7202
7202
|
gridRow: 1,
|
|
7203
7203
|
gridColumn: 1,
|
|
7204
7204
|
zIndex: 2
|
|
7205
|
-
}, cn = (A) => A ? { margin: "0 0 -6px -4px" } : void 0,
|
|
7206
|
-
let r = e &&
|
|
7205
|
+
}, cn = (A) => A ? { margin: "0 0 -6px -4px" } : void 0, rr = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(Me, { size: e, sx: { ...cn(A) }, children: /* @__PURE__ */ t(hs, { color: "primary", sx: { fontSize: e, ...sn } }) }), ar = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(Me, { size: e, sx: { ...cn(A) }, children: /* @__PURE__ */ t(gs, { sx: { color: "categories.income", fontSize: e, ...sn } }) }), ir = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(Me, { size: e, sx: { ...cn(A) }, children: /* @__PURE__ */ t(Ht, { color: "error", sx: { fontSize: e, ...sn } }) }), or = ({ isOffset: A = !1, size: e = 16 }) => /* @__PURE__ */ t(Me, { size: e, sx: { ...cn(A) }, children: /* @__PURE__ */ t(qa, { color: "success", sx: { fontSize: e, ...sn } }) }), $r = ({ copy: A, date: e, type: n }) => {
|
|
7206
|
+
let r = e && Cs(e) ? H(A.monthly_ordinal, FA(e, "do")) : A.monthly;
|
|
7207
7207
|
switch (n) {
|
|
7208
7208
|
case G.EveryQuarter:
|
|
7209
7209
|
r = e ? H(A.quarterly_ordinal, FA(e, "do")) : A.quarterly;
|
|
@@ -7247,14 +7247,14 @@ const gi = ({ transaction: A }) => {
|
|
|
7247
7247
|
}
|
|
7248
7248
|
}, Jd = (A) => {
|
|
7249
7249
|
if (A.activityType === LA.Income)
|
|
7250
|
-
return /* @__PURE__ */ t(
|
|
7250
|
+
return /* @__PURE__ */ t(ar, {});
|
|
7251
7251
|
switch (A.activityStatus) {
|
|
7252
7252
|
case DA.Missed:
|
|
7253
|
-
return /* @__PURE__ */ t(ar, {});
|
|
7254
|
-
case DA.Paid:
|
|
7255
7253
|
return /* @__PURE__ */ t(ir, {});
|
|
7254
|
+
case DA.Paid:
|
|
7255
|
+
return /* @__PURE__ */ t(or, {});
|
|
7256
7256
|
default:
|
|
7257
|
-
return /* @__PURE__ */ t(
|
|
7257
|
+
return /* @__PURE__ */ t(rr, {});
|
|
7258
7258
|
}
|
|
7259
7259
|
}, Zd = ({
|
|
7260
7260
|
activity: A,
|
|
@@ -7265,7 +7265,7 @@ const gi = ({ transaction: A }) => {
|
|
|
7265
7265
|
}) => {
|
|
7266
7266
|
const { recurring: a } = x(), [i, o] = g.useState(""), s = A.activityType === LA.Income, c = A.activityStatus === DA.Paid, u = A.activityStatus === DA.Missed, d = A.activityStatus === DA.Upcoming;
|
|
7267
7267
|
let h = a.paid?.toLowerCase();
|
|
7268
|
-
return u ? h = a.missed?.toLowerCase() : d && (h =
|
|
7268
|
+
return u ? h = a.missed?.toLowerCase() : d && (h = $r(r ? {
|
|
7269
7269
|
copy: a,
|
|
7270
7270
|
date: A.expectedDate,
|
|
7271
7271
|
type: A.recurrenceType
|
|
@@ -7332,7 +7332,7 @@ const gi = ({ transaction: A }) => {
|
|
|
7332
7332
|
}
|
|
7333
7333
|
)
|
|
7334
7334
|
] });
|
|
7335
|
-
}, Qt = S(Zd),
|
|
7335
|
+
}, Qt = S(Zd), bi = (A, e, n) => {
|
|
7336
7336
|
const r = {
|
|
7337
7337
|
account_guid: A.account_guid,
|
|
7338
7338
|
amount: A.amount,
|
|
@@ -7366,7 +7366,7 @@ const gi = ({ transaction: A }) => {
|
|
|
7366
7366
|
break;
|
|
7367
7367
|
}
|
|
7368
7368
|
return r;
|
|
7369
|
-
},
|
|
7369
|
+
}, wi = (A, e) => ({
|
|
7370
7370
|
amount: e.amount,
|
|
7371
7371
|
cashflow_sequence_guid: A.guid,
|
|
7372
7372
|
category_guid: e.category_guid,
|
|
@@ -7423,7 +7423,7 @@ const gi = ({ transaction: A }) => {
|
|
|
7423
7423
|
),
|
|
7424
7424
|
/* @__PURE__ */ t(Ue, { bgcolor: A, height: "auto", onClick: r, showLoader: !1 })
|
|
7425
7425
|
] });
|
|
7426
|
-
},
|
|
7426
|
+
}, Si = S(Au), eu = ({
|
|
7427
7427
|
bgcolor: A = "background.default",
|
|
7428
7428
|
frequency: e,
|
|
7429
7429
|
isIncome: n,
|
|
@@ -7443,25 +7443,25 @@ const gi = ({ transaction: A }) => {
|
|
|
7443
7443
|
];
|
|
7444
7444
|
g.useEffect(() => {
|
|
7445
7445
|
const d = xA(o.date);
|
|
7446
|
-
i(
|
|
7446
|
+
i(xr(d)), a(G.EveryMonth);
|
|
7447
7447
|
}, [o]);
|
|
7448
7448
|
const u = (d) => {
|
|
7449
7449
|
const h = xA(o.date);
|
|
7450
7450
|
switch (Number(d.target.value)) {
|
|
7451
7451
|
case G.EveryWeek:
|
|
7452
|
-
i(
|
|
7452
|
+
i(Yn(h));
|
|
7453
7453
|
break;
|
|
7454
7454
|
case G.EveryOtherWeek:
|
|
7455
7455
|
i(nc(h));
|
|
7456
7456
|
break;
|
|
7457
7457
|
case G.EveryMonth:
|
|
7458
|
-
i(
|
|
7458
|
+
i(xr(h));
|
|
7459
7459
|
break;
|
|
7460
7460
|
case G.EveryOtherMonth:
|
|
7461
7461
|
i(rc(h));
|
|
7462
7462
|
break;
|
|
7463
7463
|
case G.EveryQuarter:
|
|
7464
|
-
i(
|
|
7464
|
+
i(Ja(h));
|
|
7465
7465
|
break;
|
|
7466
7466
|
case G.EveryOtherQuarter:
|
|
7467
7467
|
i(ac(h));
|
|
@@ -7474,8 +7474,8 @@ const gi = ({ transaction: A }) => {
|
|
|
7474
7474
|
};
|
|
7475
7475
|
return /* @__PURE__ */ l(b, { bgcolor: A, gap: 24, height: "100%", children: [
|
|
7476
7476
|
/* @__PURE__ */ l(b, { children: [
|
|
7477
|
-
/* @__PURE__ */ t(
|
|
7478
|
-
/* @__PURE__ */ t(
|
|
7477
|
+
/* @__PURE__ */ t(er, { bgcolor: A, children: An(o.date) }),
|
|
7478
|
+
/* @__PURE__ */ t(Ar, { transaction: o })
|
|
7479
7479
|
] }),
|
|
7480
7480
|
/* @__PURE__ */ t(p, { bold: !0, sx: { mx: 24 }, variant: "Body", children: n ? s.income_schedule : s.expense_schedule }),
|
|
7481
7481
|
/* @__PURE__ */ t(
|
|
@@ -7496,7 +7496,7 @@ const gi = ({ transaction: A }) => {
|
|
|
7496
7496
|
}
|
|
7497
7497
|
),
|
|
7498
7498
|
/* @__PURE__ */ t(qn, { dateAdapter: $t, children: /* @__PURE__ */ t(
|
|
7499
|
-
|
|
7499
|
+
fs,
|
|
7500
7500
|
{
|
|
7501
7501
|
disablePast: !0,
|
|
7502
7502
|
label: n ? s.income_date_label : s.expense_date_label,
|
|
@@ -7506,7 +7506,7 @@ const gi = ({ transaction: A }) => {
|
|
|
7506
7506
|
}
|
|
7507
7507
|
) })
|
|
7508
7508
|
] });
|
|
7509
|
-
},
|
|
7509
|
+
}, Li = S(eu), Dn = (A) => A.top_level_category_guid !== E.INCOME && A.transaction_type === QA.DEBIT, tu = (A, e) => Dn(A) ? A.payee?.toLowerCase().includes(e.toLowerCase()) || A.description.toLowerCase().includes(e.toLowerCase()) || A.feed_description.toLowerCase().includes(e.toLowerCase()) : !1, vt = (A) => A.top_level_category_guid === E.INCOME || A.top_level_category_guid === E.TRANSFER && A.transaction_type === QA.CREDIT, Ti = (A, e) => vt(A) ? A.payee?.toLowerCase().includes(e.toLowerCase()) || A.description?.toLowerCase().includes(e.toLowerCase()) || A.feed_description?.toLowerCase().includes(e.toLowerCase()) : !1, nu = ({
|
|
7510
7510
|
isIncome: A = !1,
|
|
7511
7511
|
label: e,
|
|
7512
7512
|
onAddActivity: n = () => null
|
|
@@ -7522,9 +7522,9 @@ const gi = ({ transaction: A }) => {
|
|
|
7522
7522
|
return;
|
|
7523
7523
|
}
|
|
7524
7524
|
if (A) {
|
|
7525
|
-
const P =
|
|
7525
|
+
const P = bi(T, f, v), N = await i(P);
|
|
7526
7526
|
if (N) {
|
|
7527
|
-
const z =
|
|
7527
|
+
const z = wi(N, T);
|
|
7528
7528
|
await a(z);
|
|
7529
7529
|
}
|
|
7530
7530
|
} else {
|
|
@@ -7552,13 +7552,13 @@ const gi = ({ transaction: A }) => {
|
|
|
7552
7552
|
onClose: () => h(!1),
|
|
7553
7553
|
title: e,
|
|
7554
7554
|
children: /* @__PURE__ */ t(
|
|
7555
|
-
|
|
7555
|
+
Si,
|
|
7556
7556
|
{
|
|
7557
7557
|
description: A ? r.add_income_description : r.add_expense_description,
|
|
7558
7558
|
onSearch: (P) => {
|
|
7559
7559
|
c({
|
|
7560
7560
|
...s,
|
|
7561
|
-
custom: (N) => A ? P ?
|
|
7561
|
+
custom: (N) => A ? P ? Ti(N, P) : vt(N) : P ? tu(N, P) : Dn(N)
|
|
7562
7562
|
});
|
|
7563
7563
|
},
|
|
7564
7564
|
onSelected: (P) => m(P)
|
|
@@ -7575,7 +7575,7 @@ const gi = ({ transaction: A }) => {
|
|
|
7575
7575
|
onPrimaryAction: D,
|
|
7576
7576
|
title: A ? r.income_details : r.expense_details,
|
|
7577
7577
|
children: T && /* @__PURE__ */ t(
|
|
7578
|
-
|
|
7578
|
+
Li,
|
|
7579
7579
|
{
|
|
7580
7580
|
frequency: f,
|
|
7581
7581
|
isIncome: A,
|
|
@@ -7588,14 +7588,14 @@ const gi = ({ transaction: A }) => {
|
|
|
7588
7588
|
}
|
|
7589
7589
|
)
|
|
7590
7590
|
] });
|
|
7591
|
-
},
|
|
7591
|
+
}, Ii = S(nu), ru = (A, e, n) => e.map((r) => {
|
|
7592
7592
|
const a = n.find((o) => o.scheduled_payment_guid === r.guid), i = A.find((o) => o.guid === a?.account_guid);
|
|
7593
7593
|
return {
|
|
7594
7594
|
activityStatus: DA.Upcoming,
|
|
7595
7595
|
activityType: LA.Expense,
|
|
7596
7596
|
amount: r.amount,
|
|
7597
7597
|
categoryGuid: a?.category_guid,
|
|
7598
|
-
expectedDate:
|
|
7598
|
+
expectedDate: za(r.occurs_on),
|
|
7599
7599
|
name: r.description,
|
|
7600
7600
|
institution: i?.user_name,
|
|
7601
7601
|
institutionGuid: i?.institution_guid,
|
|
@@ -7617,7 +7617,7 @@ const gi = ({ transaction: A }) => {
|
|
|
7617
7617
|
/* @__PURE__ */ t(Qt, { activity: c, onActivityClick: o, showOrdinal: !0 }),
|
|
7618
7618
|
/* @__PURE__ */ t(K, { variant: u < i.length - 1 ? "inset" : "fullWidth" })
|
|
7619
7619
|
] }, c.scheduledPaymentGuid)),
|
|
7620
|
-
/* @__PURE__ */ t(
|
|
7620
|
+
/* @__PURE__ */ t(Ii, { label: A.add_expense, onAddActivity: s })
|
|
7621
7621
|
] });
|
|
7622
7622
|
}, iu = S(au), xn = (A) => {
|
|
7623
7623
|
let e = A.user_name || A.feed_name || "";
|
|
@@ -7682,7 +7682,7 @@ const gi = ({ transaction: A }) => {
|
|
|
7682
7682
|
}, su = (A, e, n) => {
|
|
7683
7683
|
const r = [], a = n.find((m) => m.scheduled_payment_guid === e.guid);
|
|
7684
7684
|
if (!a) return [];
|
|
7685
|
-
const i = A.find((m) => m.guid === a?.account_guid), o =
|
|
7685
|
+
const i = A.find((m) => m.guid === a?.account_guid), o = za(e.occurs_on), s = {
|
|
7686
7686
|
accountGuid: i?.guid,
|
|
7687
7687
|
activityStatus: DA.Upcoming,
|
|
7688
7688
|
activityType: LA.Expense,
|
|
@@ -7718,11 +7718,11 @@ const gi = ({ transaction: A }) => {
|
|
|
7718
7718
|
for (r.push({
|
|
7719
7719
|
...s,
|
|
7720
7720
|
expectedDate: o
|
|
7721
|
-
}), C =
|
|
7721
|
+
}), C = Sr(o, 2); At(C, d); )
|
|
7722
7722
|
r.push({
|
|
7723
7723
|
...s,
|
|
7724
7724
|
expectedDate: C
|
|
7725
|
-
}), C =
|
|
7725
|
+
}), C = Sr(C, 2);
|
|
7726
7726
|
for (C = Je(o, 2); pA(C, h); )
|
|
7727
7727
|
r.push({
|
|
7728
7728
|
...s,
|
|
@@ -7818,9 +7818,9 @@ const gi = ({ transaction: A }) => {
|
|
|
7818
7818
|
/* @__PURE__ */ t(Qt, { activity: d, onActivityClick: c, showOrdinal: !0 }),
|
|
7819
7819
|
/* @__PURE__ */ t(K, { variant: h < s.length - 1 ? "inset" : "fullWidth" })
|
|
7820
7820
|
] }, d.sequenceGuid)),
|
|
7821
|
-
/* @__PURE__ */ t(
|
|
7821
|
+
/* @__PURE__ */ t(Ii, { isIncome: !0, label: A.add_income, onAddActivity: u })
|
|
7822
7822
|
] });
|
|
7823
|
-
},
|
|
7823
|
+
}, sr = S(lu), du = () => {
|
|
7824
7824
|
const [A, e] = g.useState(0), { onEvent: n } = V(), { recurring: r } = x();
|
|
7825
7825
|
return /* @__PURE__ */ l(I, { bgcolor: "background.default", height: "100%", children: [
|
|
7826
7826
|
/* @__PURE__ */ l(
|
|
@@ -7841,9 +7841,9 @@ const gi = ({ transaction: A }) => {
|
|
|
7841
7841
|
}
|
|
7842
7842
|
),
|
|
7843
7843
|
A === 0 && /* @__PURE__ */ t(iu, {}),
|
|
7844
|
-
A === 1 && /* @__PURE__ */ t(
|
|
7844
|
+
A === 1 && /* @__PURE__ */ t(sr, {})
|
|
7845
7845
|
] });
|
|
7846
|
-
},
|
|
7846
|
+
}, Di = S(du), st = (A, e) => A + e.amount, fn = (A) => A.activityType === LA.Income && $e(A.expectedDate, {
|
|
7847
7847
|
start: yA($()),
|
|
7848
7848
|
end: MA($())
|
|
7849
7849
|
}), xt = (A) => A.activityType === LA.Expense && $e(A.expectedDate, {
|
|
@@ -7869,13 +7869,13 @@ const gi = ({ transaction: A }) => {
|
|
|
7869
7869
|
(f) => f.activityType === LA.Expense && f.activityStatus === DA.Paid
|
|
7870
7870
|
), C = c.some((f) => f.activityType === LA.Income), m = (u ? 1 : 0) + (d ? 1 : 0) + (h ? 1 : 0) + (C ? 1 : 0);
|
|
7871
7871
|
return /* @__PURE__ */ t(
|
|
7872
|
-
|
|
7872
|
+
Ba,
|
|
7873
7873
|
{
|
|
7874
7874
|
badgeContent: c.length > 0 && /* @__PURE__ */ l(eA, { children: [
|
|
7875
|
-
d && /* @__PURE__ */ t(
|
|
7876
|
-
h && /* @__PURE__ */ t(
|
|
7877
|
-
u && /* @__PURE__ */ t(
|
|
7878
|
-
C && /* @__PURE__ */ t(
|
|
7875
|
+
d && /* @__PURE__ */ t(ir, { isOffset: !0 }),
|
|
7876
|
+
h && /* @__PURE__ */ t(or, { isOffset: !0 }),
|
|
7877
|
+
u && /* @__PURE__ */ t(rr, { isOffset: !0 }),
|
|
7878
|
+
C && /* @__PURE__ */ t(ar, { isOffset: !0 })
|
|
7879
7879
|
] }),
|
|
7880
7880
|
overlap: "circular",
|
|
7881
7881
|
sx: {
|
|
@@ -7886,7 +7886,7 @@ const gi = ({ transaction: A }) => {
|
|
|
7886
7886
|
}
|
|
7887
7887
|
},
|
|
7888
7888
|
children: /* @__PURE__ */ t(
|
|
7889
|
-
|
|
7889
|
+
us,
|
|
7890
7890
|
{
|
|
7891
7891
|
"aria-label": `
|
|
7892
7892
|
${h && r.paid},
|
|
@@ -7923,18 +7923,18 @@ const gi = ({ transaction: A }) => {
|
|
|
7923
7923
|
justifyContent: "center",
|
|
7924
7924
|
mt: 12,
|
|
7925
7925
|
children: [
|
|
7926
|
-
/* @__PURE__ */ t(Ot, { icon:
|
|
7927
|
-
/* @__PURE__ */ t(Ot, { icon:
|
|
7928
|
-
/* @__PURE__ */ t(Ot, { icon:
|
|
7929
|
-
/* @__PURE__ */ t(Ot, { icon:
|
|
7926
|
+
/* @__PURE__ */ t(Ot, { icon: rr, label: A.expense }),
|
|
7927
|
+
/* @__PURE__ */ t(Ot, { icon: ar, label: A.income }),
|
|
7928
|
+
/* @__PURE__ */ t(Ot, { icon: ir, label: A.missed }),
|
|
7929
|
+
/* @__PURE__ */ t(Ot, { icon: or, label: A.paid })
|
|
7930
7930
|
]
|
|
7931
7931
|
}
|
|
7932
7932
|
);
|
|
7933
|
-
}, Cu = S(gu),
|
|
7933
|
+
}, Cu = S(gu), Aa = 58, fu = () => {
|
|
7934
7934
|
const A = gA(), { onEvent: e } = V(), { selectedDay: n } = RA(), [r, a] = g.useState(
|
|
7935
|
-
|
|
7935
|
+
Lr(/* @__PURE__ */ new Date()) * it + Aa
|
|
7936
7936
|
), i = (s) => {
|
|
7937
|
-
a(
|
|
7937
|
+
a(Lr(s) * it + Aa), e(j.RECURRING_ACTIVITY_CLICK_CALENDAR_RIGHT);
|
|
7938
7938
|
}, o = /* @__PURE__ */ t(
|
|
7939
7939
|
Bn,
|
|
7940
7940
|
{
|
|
@@ -7986,7 +7986,7 @@ const gi = ({ transaction: A }) => {
|
|
|
7986
7986
|
!n && o,
|
|
7987
7987
|
/* @__PURE__ */ t(Cu, {})
|
|
7988
7988
|
] }) });
|
|
7989
|
-
},
|
|
7989
|
+
}, xi = S(fu), mu = (A) => A.reduce((e, n) => {
|
|
7990
7990
|
const r = n.expectedDate.toISOString().split("T")[0], a = e.find(
|
|
7991
7991
|
(i) => i.expectedDate.toString() === n.expectedDate.toString()
|
|
7992
7992
|
);
|
|
@@ -8079,7 +8079,7 @@ const gi = ({ transaction: A }) => {
|
|
|
8079
8079
|
] }),
|
|
8080
8080
|
/* @__PURE__ */ t(Kt, { data: c })
|
|
8081
8081
|
] });
|
|
8082
|
-
},
|
|
8082
|
+
}, ea = S(vu), yu = () => {
|
|
8083
8083
|
const { recurring: A } = x(), { isSmallTablet: e } = GA(), {
|
|
8084
8084
|
activities: n,
|
|
8085
8085
|
missedActivities: r,
|
|
@@ -8102,7 +8102,7 @@ const gi = ({ transaction: A }) => {
|
|
|
8102
8102
|
return /* @__PURE__ */ l(ke, { container: !0, pt: 16, px: 24, spacing: 24, children: [
|
|
8103
8103
|
/* @__PURE__ */ t(ke, { md: !0, sm: 12, children: /* @__PURE__ */ l(b, { gap: 24, children: [
|
|
8104
8104
|
/* @__PURE__ */ t(
|
|
8105
|
-
|
|
8105
|
+
ea,
|
|
8106
8106
|
{
|
|
8107
8107
|
expected: y,
|
|
8108
8108
|
missed: L,
|
|
@@ -8112,7 +8112,7 @@ const gi = ({ transaction: A }) => {
|
|
|
8112
8112
|
}
|
|
8113
8113
|
),
|
|
8114
8114
|
/* @__PURE__ */ t(
|
|
8115
|
-
|
|
8115
|
+
ea,
|
|
8116
8116
|
{
|
|
8117
8117
|
expected: w,
|
|
8118
8118
|
paid: D,
|
|
@@ -8154,7 +8154,7 @@ const gi = ({ transaction: A }) => {
|
|
|
8154
8154
|
] })
|
|
8155
8155
|
] }) }),
|
|
8156
8156
|
!e && /* @__PURE__ */ t(ke, { sx: { minWidth: 450 }, xs: "auto", children: /* @__PURE__ */ l(b, { gap: 35, children: [
|
|
8157
|
-
/* @__PURE__ */ t(
|
|
8157
|
+
/* @__PURE__ */ t(xi, {}),
|
|
8158
8158
|
/* @__PURE__ */ t(
|
|
8159
8159
|
lt,
|
|
8160
8160
|
{
|
|
@@ -8211,7 +8211,7 @@ const gi = ({ transaction: A }) => {
|
|
|
8211
8211
|
onClose: () => h(!1),
|
|
8212
8212
|
shouldShowHeaderBorders: !1,
|
|
8213
8213
|
title: r.settings,
|
|
8214
|
-
children: /* @__PURE__ */ t(
|
|
8214
|
+
children: /* @__PURE__ */ t(Di, {})
|
|
8215
8215
|
}
|
|
8216
8216
|
)
|
|
8217
8217
|
]
|
|
@@ -8225,7 +8225,7 @@ const gi = ({ transaction: A }) => {
|
|
|
8225
8225
|
[e, i]
|
|
8226
8226
|
), { availableWidth: s } = bt(), c = s < 750;
|
|
8227
8227
|
return /* @__PURE__ */ l(b, { flexDirection: c ? "column" : "row", width: "100%", children: [
|
|
8228
|
-
/* @__PURE__ */ t(
|
|
8228
|
+
/* @__PURE__ */ t(xi, {}),
|
|
8229
8229
|
!c && /* @__PURE__ */ t(K, { flexItem: !0, orientation: "vertical", sx: { my: 16, ml: 16 } }),
|
|
8230
8230
|
/* @__PURE__ */ t(
|
|
8231
8231
|
lt,
|
|
@@ -8263,8 +8263,8 @@ const gi = ({ transaction: A }) => {
|
|
|
8263
8263
|
}, U7 = S(Lu);
|
|
8264
8264
|
class Tu {
|
|
8265
8265
|
globalStore;
|
|
8266
|
-
api = new
|
|
8267
|
-
cashflowApi = new
|
|
8266
|
+
api = new Pr("/", "");
|
|
8267
|
+
cashflowApi = new ia("/", "");
|
|
8268
8268
|
cashflowSequences = [];
|
|
8269
8269
|
cashflowEvents = [];
|
|
8270
8270
|
projectedEvents = [];
|
|
@@ -8276,7 +8276,7 @@ class Tu {
|
|
|
8276
8276
|
this.globalStore = e, wA(this);
|
|
8277
8277
|
}
|
|
8278
8278
|
initialize = async (e, n) => {
|
|
8279
|
-
this.api = new
|
|
8279
|
+
this.api = new Pr(e, n), this.cashflowApi = new ia(e, n), this.loadActivity();
|
|
8280
8280
|
};
|
|
8281
8281
|
get activities() {
|
|
8282
8282
|
return this.isLoading ? [] : ou(
|
|
@@ -8467,7 +8467,7 @@ const Iu = {
|
|
|
8467
8467
|
gridRow: 1,
|
|
8468
8468
|
gridColumn: 1,
|
|
8469
8469
|
zIndex: 2
|
|
8470
|
-
}, Du = ({ size: A = 20 }) => /* @__PURE__ */ t(Me, { size: A, children: /* @__PURE__ */ t(kn, { color: "error", sx: { fontSize: A, ...Iu } }) }),
|
|
8470
|
+
}, Du = ({ size: A = 20 }) => /* @__PURE__ */ t(Me, { size: A, children: /* @__PURE__ */ t(kn, { color: "error", sx: { fontSize: A, ...Iu } }) }), cr = (A) => A && (A.account_type === U.CREDIT_CARD || A.account_type === U.LOAN || A.account_type === U.MORTGAGE || A.account_type === U.LINE_OF_CREDIT || A.account_type === U.CHECKING_LINE_OF_CREDIT), xu = (A) => A.is_manual || !A.guid, Ou = (A) => A.account_type === U.LINE_OF_CREDIT || A.account_type === U.CREDIT_CARD || A.account_type === U.CHECKING_LINE_OF_CREDIT, Pu = (A) => A.account_type === U.SAVINGS || A.account_type === U.CHECKING || A.account_type === U.LINE_OF_CREDIT || A.account_type === U.CREDIT_CARD || A.account_type === U.LOAN || A.account_type === U.MORTGAGE, Nu = (A) => A.account_type === U.LOAN || A.account_type === U.MORTGAGE, Mu = (A, e) => {
|
|
8471
8471
|
const n = [
|
|
8472
8472
|
{
|
|
8473
8473
|
event: "account_details_click_account_name",
|
|
@@ -8490,7 +8490,7 @@ const Iu = {
|
|
|
8490
8490
|
const r = Object.keys(U).filter((a) => Number(a)).map((a) => ({
|
|
8491
8491
|
label: e.account_types[a],
|
|
8492
8492
|
value: Number(a),
|
|
8493
|
-
icon: /* @__PURE__ */ t(M, { name:
|
|
8493
|
+
icon: /* @__PURE__ */ t(M, { name: Wa[a] })
|
|
8494
8494
|
}));
|
|
8495
8495
|
n.push({
|
|
8496
8496
|
label: e.account_type,
|
|
@@ -8502,7 +8502,7 @@ const Iu = {
|
|
|
8502
8502
|
});
|
|
8503
8503
|
}
|
|
8504
8504
|
if (A.account_type === U.PROPERTY) {
|
|
8505
|
-
const r = Object.keys(
|
|
8505
|
+
const r = Object.keys(Xa).filter((a) => Number(a)).map((a) => ({
|
|
8506
8506
|
label: e.property_types[a],
|
|
8507
8507
|
value: Number(a),
|
|
8508
8508
|
icon: /* @__PURE__ */ t(M, { name: Gs[a] })
|
|
@@ -8528,7 +8528,7 @@ const Iu = {
|
|
|
8528
8528
|
valueFormatter: (i) => Ln(i) ? Ac(i / 100) : i
|
|
8529
8529
|
});
|
|
8530
8530
|
}
|
|
8531
|
-
return
|
|
8531
|
+
return cr(A) && (n.push({
|
|
8532
8532
|
label: e.minimum_payment,
|
|
8533
8533
|
name: "minimum_payment",
|
|
8534
8534
|
placeholder: H(e.enter_value, e.minimum_payment),
|
|
@@ -8565,7 +8565,7 @@ const Iu = {
|
|
|
8565
8565
|
type: WA.Currency,
|
|
8566
8566
|
valueFormatter: (r) => X(r, "0,0.00")
|
|
8567
8567
|
}), n;
|
|
8568
|
-
},
|
|
8568
|
+
}, Oi = (A, e) => {
|
|
8569
8569
|
let n = "", r = null, a = null, i = null, o = !1;
|
|
8570
8570
|
switch (A.account_type) {
|
|
8571
8571
|
case 1:
|
|
@@ -8596,7 +8596,7 @@ const Iu = {
|
|
|
8596
8596
|
listItemProps: n,
|
|
8597
8597
|
shouldShowConnectionStatus: r = !1
|
|
8598
8598
|
}) => {
|
|
8599
|
-
const { accounts: a } = x(), { firstSubtitle: i, firstValue: o, secondSubtitle: s, secondValue: c } =
|
|
8599
|
+
const { accounts: a } = x(), { firstSubtitle: i, firstValue: o, secondSubtitle: s, secondValue: c } = Oi(
|
|
8600
8600
|
A,
|
|
8601
8601
|
a
|
|
8602
8602
|
);
|
|
@@ -8604,7 +8604,7 @@ const Iu = {
|
|
|
8604
8604
|
(A.connectionStatus === Ge.Error || A.connectionStatus === Ge.RequiresMfa) && (u = /* @__PURE__ */ t(Du, { size: 16 }));
|
|
8605
8605
|
const d = /* @__PURE__ */ l(eA, { children: [
|
|
8606
8606
|
/* @__PURE__ */ t(IA, { children: /* @__PURE__ */ t(
|
|
8607
|
-
|
|
8607
|
+
Ba,
|
|
8608
8608
|
{
|
|
8609
8609
|
badgeContent: r ? u : void 0,
|
|
8610
8610
|
sx: {
|
|
@@ -8652,7 +8652,7 @@ const Iu = {
|
|
|
8652
8652
|
borderBottomRightRadius: "3px",
|
|
8653
8653
|
minHeight: "auto"
|
|
8654
8654
|
},
|
|
8655
|
-
children: /* @__PURE__ */ t(
|
|
8655
|
+
children: /* @__PURE__ */ t(Zn, { remaining: A })
|
|
8656
8656
|
}
|
|
8657
8657
|
);
|
|
8658
8658
|
var yt = /* @__PURE__ */ ((A) => (A.EXPENSE = "expense", A.INCOME = "income", A))(yt || {});
|
|
@@ -8673,7 +8673,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
8673
8673
|
)
|
|
8674
8674
|
] }),
|
|
8675
8675
|
/* @__PURE__ */ t(K, {})
|
|
8676
|
-
] }),
|
|
8676
|
+
] }), ta = S(Hu), zu = ({ total: A, type: e }) => {
|
|
8677
8677
|
const { cashflow: n } = x();
|
|
8678
8678
|
return /* @__PURE__ */ l(eA, { children: [
|
|
8679
8679
|
/* @__PURE__ */ l(
|
|
@@ -8699,7 +8699,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
8699
8699
|
),
|
|
8700
8700
|
/* @__PURE__ */ t(K, {})
|
|
8701
8701
|
] });
|
|
8702
|
-
},
|
|
8702
|
+
}, na = S(zu), ra = (A, e) => (n) => n.accountGuid === A.guid && (Gn(n.expectedDate) || At(n.expectedDate, e.start)) && pA(n.expectedDate, e.end), Bu = () => {
|
|
8703
8703
|
const { cashflow: A } = x(), { upcomingExpenses: e, upcomingIncome: n } = RA(), { dateRange: r, selectedCashAccounts: a } = at();
|
|
8704
8704
|
return /* @__PURE__ */ l(b, { children: [
|
|
8705
8705
|
/* @__PURE__ */ l(b, { flexDirection: "row", justifyContent: "space-between", children: [
|
|
@@ -8712,8 +8712,8 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
8712
8712
|
] })
|
|
8713
8713
|
] }),
|
|
8714
8714
|
/* @__PURE__ */ t(b, { children: a.map((i) => {
|
|
8715
|
-
const o = n.filter(
|
|
8716
|
-
|
|
8715
|
+
const o = n.filter(ra(i, r)).sort((d, h) => fA(d.expectedDate) - fA(h.expectedDate)), s = e.filter(
|
|
8716
|
+
ra(i, r)
|
|
8717
8717
|
), c = o.reduce(
|
|
8718
8718
|
(d, h) => d + h.amount,
|
|
8719
8719
|
0
|
|
@@ -8746,17 +8746,17 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
8746
8746
|
o.length > 0 && /* @__PURE__ */ t(W, { children: /* @__PURE__ */ t(
|
|
8747
8747
|
nA,
|
|
8748
8748
|
{
|
|
8749
|
-
subheader: /* @__PURE__ */ t(
|
|
8749
|
+
subheader: /* @__PURE__ */ t(na, { total: c, type: yt.INCOME }),
|
|
8750
8750
|
sx: { width: "100%" },
|
|
8751
|
-
children: o.map((d) => /* @__PURE__ */ t(
|
|
8751
|
+
children: o.map((d) => /* @__PURE__ */ t(ta, { activity: d }, d.sequenceGuid))
|
|
8752
8752
|
}
|
|
8753
8753
|
) }),
|
|
8754
8754
|
s.length > 0 && /* @__PURE__ */ t(W, { children: /* @__PURE__ */ t(
|
|
8755
8755
|
nA,
|
|
8756
8756
|
{
|
|
8757
|
-
subheader: /* @__PURE__ */ t(
|
|
8757
|
+
subheader: /* @__PURE__ */ t(na, { total: u, type: yt.EXPENSE }),
|
|
8758
8758
|
sx: { width: "100%" },
|
|
8759
|
-
children: s.map((d) => /* @__PURE__ */ t(
|
|
8759
|
+
children: s.map((d) => /* @__PURE__ */ t(ta, { activity: d }, d.scheduledPaymentGuid))
|
|
8760
8760
|
}
|
|
8761
8761
|
) }),
|
|
8762
8762
|
/* @__PURE__ */ t(
|
|
@@ -8962,7 +8962,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
8962
8962
|
px: 16,
|
|
8963
8963
|
py: 12,
|
|
8964
8964
|
sx: { borderBottomLeftRadius: "4px", borderBottomRightRadius: "4px" },
|
|
8965
|
-
children: /* @__PURE__ */ t(
|
|
8965
|
+
children: /* @__PURE__ */ t(Zn, { remaining: u.remaining })
|
|
8966
8966
|
}
|
|
8967
8967
|
)
|
|
8968
8968
|
] }) })
|
|
@@ -9038,12 +9038,12 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9038
9038
|
e && /* @__PURE__ */ t(vA, { amount: A, component: "h2", symbol: a, variant: "Small" })
|
|
9039
9039
|
]
|
|
9040
9040
|
}
|
|
9041
|
-
),
|
|
9041
|
+
), aa = (A, e) => (n) => n.accountGuid && A.includes(n.accountGuid) && (Gn(n.expectedDate) || At(n.expectedDate, e.start)) && pA(n.expectedDate, e.end), Fu = () => {
|
|
9042
9042
|
const [A, e] = g.useState(!1), { availableWidth: n } = bt(), { cashflow: r } = x(), { upcomingExpenses: a, upcomingIncome: i } = RA(), { selectedAccountGuids: o } = mA(), { dateRange: s, selectedCashAccounts: c } = at(), { userProfile: u } = tn(), d = g.useMemo(
|
|
9043
|
-
() => a.filter(
|
|
9043
|
+
() => a.filter(aa(o, s)),
|
|
9044
9044
|
[s, o, a]
|
|
9045
9045
|
), h = g.useMemo(
|
|
9046
|
-
() => i.filter(
|
|
9046
|
+
() => i.filter(aa(o, s)),
|
|
9047
9047
|
[s, o, i]
|
|
9048
9048
|
), C = g.useMemo(
|
|
9049
9049
|
() => c.reduce((T, w) => T + (w?.balance || 0), 0),
|
|
@@ -9150,12 +9150,12 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9150
9150
|
onClose: () => e(!1),
|
|
9151
9151
|
shouldShowHeaderBorders: !1,
|
|
9152
9152
|
title: r.manage_income,
|
|
9153
|
-
children: /* @__PURE__ */ t(
|
|
9153
|
+
children: /* @__PURE__ */ t(sr, {})
|
|
9154
9154
|
}
|
|
9155
9155
|
)
|
|
9156
9156
|
] });
|
|
9157
9157
|
}, Qu = S(Fu), ju = ({ handleNextStep: A }) => {
|
|
9158
|
-
const { completeOnboarding: e } =
|
|
9158
|
+
const { completeOnboarding: e } = Jn(), { cashflow: n } = x(), r = gA();
|
|
9159
9159
|
return /* @__PURE__ */ l(b, { children: [
|
|
9160
9160
|
/* @__PURE__ */ t(pe, { pb: 12, children: n.welcome_title }),
|
|
9161
9161
|
/* @__PURE__ */ t(
|
|
@@ -9231,7 +9231,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9231
9231
|
/* @__PURE__ */ t(pe, { pb: 12, children: A.loading_title }),
|
|
9232
9232
|
/* @__PURE__ */ t(CA, { children: A.loading_description })
|
|
9233
9233
|
] });
|
|
9234
|
-
}, Vu = S(Yu), Ju = "data:image/png;base64,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", Zu = Lo`
|
|
9234
|
+
}, Vu = S(Yu), Ju = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAakAAAHiCAYAAABSszP0AACU5ElEQVR4Ae2dCZwb5Xn/n/fVsdpb62Ot9YFlY/Caywsh2EkIXnLZCaE2aRPT0NQmbQNJkwJtQtq0KaZHkhZSoG0SSJNgJ4HE7T9gl5DgXKwDaWwgeB0grLksn7vra7W3znn/7zPSeLW7OmakGWlG+3z5DNJKo/HomPf3Psf7PAwIwmIODgi/dt8HoN73uMCnJPHP4kgChLX7Lg9ERuMQCfohwhiLAEEQVQMDgjAIik69B3xcAT8KjRQMv0iLD4OknwFT72uPVQL5ww4zBhFFiAjjEOEgwknFHXHJxzWBk2oWXtLCwkAQhG0hkSKmgSLU6IJApgC5mBIQAnyVFB6rQEETUsRQzITi6tOELOCHPrLMCKKykEjNUIQQvpOjUnDiENCEiIMSlL8IH4oRECpojakixkQYBUy6KfsUDuHWBtYHBEFYDonUDAAF6fQwBBNCuucUCKAYVaNFVG44gz4ULxkVCwkF+sjyIgjzIZGqMlCQ+sIQkK6rAEAyCAoLkCCVDxIugjAXEimHoyYxAASBJwKKwttJkOwHChdjSogzd8iVhL4WStYgCN2QSDkMFKVaDu2q244p7RQ/ch5q5iGIEJPWlgcgRKJFELkhkbI5aoJDGNoT0lqiWFJ1gpaW/KL7XC5Xz+xGCJF7kCAmIJGyIb0DIgiQkBtLb8TMQlpZ3NXDXRCiLEJipkMiZQMmWUvkwiMy0FyDaGXNaWI9QBAzDBKpCoHC1D8EHUJJtkv3ToCEiSgErtkCJkJccfXM9UMPuQWJmQCDp8QLUE0IqJfvCre4vP+qvO2Wtzvh7awLKkymMJEbjygVxkUPCRZR7aBIXQvVCoNW+f+lUqRWyfsBef9ZcMGd8BYWgjJBwkSUA02wWltYNxBEFVHdIjUVBu+QgvVhee+r0rK6EywEkx8Yh9UglCC58ohyoZZxEqJHAVd3W0v5JmMEYRUzS6Qm+EP5zt8iraqrzbSqtKw8xvhqEiai0mDSBedKj0dx76G1WIRTmakihSyV24eBw03wtuJdJOTOI5yBCLmkdUXuQMJpzGSRSsWsBNwuhWqjUaFCq8nFE+2K4B1kNRFOQUtp94Kri6wrwgnMbJFCNKFyw9pCrj9tPVMSkh1kNRHOh6wrwv6QSCECLpafxAfh7ezSrE+rlcUTqynWRFQjauwKeBfVESTsCImUhoA/lZ/GPilUW7SH0KXHpdUkGKMqEMSMgIPoJlcgYSdIpDQ41EuhuhvicFFvBxZxTXaSS4+YqaBYURo7YQfcQKRQYHQugxcubIQH5R/7qWIUMZNRgMm4q9LRO5AIeVyuPVQ3kKgUJFKSdzcoSztq4aJEko1+8yS8Rz60HwiCAPQmxJNKsG8gqcatKMmCKDczVqT8bvBc5VPOXV4L59dgrT9JjVvEWj3s5EOnYfENs+EQEAShgn3MkqBskGLVSWJFlJMZGZNCy+lNPrjMzcEz9blfDbMlePvwuWIXEASRFS0jkMSKsJoZZUlpbj3NcsrGeT448dNBuAQIgsgJWVZEuZgRInVFbXLemga2Kp84abR6xOjpOJsNBEHA4JjiOzHMmkcjOZdgLAZIrty5Lxn+6YvKTpjBuBPu0L03Ujak2VS1SKE4XVHHLvK7WKuR1yUFcCCIGQoK089ehlW9gyJ4ZgSCqt2kj1thBpPkcfj4tliIMehSkp477yfBMoWqFKlFHqhf36SsNipOBDHT6T4kFv/0d7BhPC78QBQDtubZzHh88ye+E9/y1Y94LG0JNBNgcJvohyrBIyX3Yul8OHduYbdePn7UD/W3LYOyrLivdUPY44JISx30LfZD6OKAQlmFREX4Ybey+vnDYi0QpiGtqq1f/WPvjUAUTdVk961vguUrvMrF2TL2jPLvvez9B1aKf4MyMBQFX+gMBAbGmP/wIFs+Fgd/sw/6rlqi7J7fBFSahigLT78qlv/iZeV6IMyHwb1f+2PvbUAUhePdfUaSIvQwmmDeOheMQploqoHIJW0QSvn9RTeK1r6jrP3Rl/imtkboedd5ym7cBwjCQn79mlgHhDUIuPXm78R33v8RTxcQhnFsggDGnW6apVz1nkb2DrMECjksLZlzvNAHFQIFac25ovvP36Lc53GJ6Hee5ze9dhICQBAW8bPfiZUUg7IWJsQdQBSFI0XqQ03KxTc0K++d64YFYDI9Y7Dw8np7VJu4doXouu5CZduu1/jGn77KVwFBWMALR8VqIKxFQOetD4ogEIZxlEiha++2ucq6831wkRmxp2wcjMLCa/wiBDYB41IfuUx54I0z0PHDHr4GCMJEBiPgG44IstTLQMwV7wTCMI4QKayz90d+uAxde/UMWsAiXh5nrRfVwauX1dsrYQFdgH/YoWw7Ngjtuw9idWqCMIfeM+TmKxuCLKlisL1IofX0Zy3Ke4NeZTlYzFND4uIPzRa2LO+CQnXtCmV7zwm26vgQ0MBCmMJ4TKFmnoStsa1IofVkRWJELrCwbLCGHbdz9XN0/b3lHGXXEwf4eiAIE2htog68hL2xpUi9vV5ZeLNfWW9FYkQ2TsRZ/f5ROO+OBWI32BxMV6/zQviFPr4YCKJEFsziYbeL0RKHMqBw3gWEYWwlUpr1tKYe3m5VYkQ2dpyB1dfPhqftFovKBS70ffYIdAJBmMCCZkFdd60nTOukisM2IqXFnsplPWk8fJKtXtUAv/v8AnvGorKhVaIga4owg4sWcupEbTGMwQ4giqLiIpWZuVeO2JPGqMI8KFAX1sGhry+xv5tvKpcvVHa/ehragSBK5E1BFlo0m/pBWUgIq6IDURQVFakVPmgpV+ZeJphq/kAfvHd1A7ziRIFCgrOg76TaRoEgSucDb+K7aj2URGEFCQWuo7YdxVMxkcKCsL/fpKwrt/X0g9Pssl8NwYVfCYrvfnmx2AMORavnh7X+gCBKpNkHkQ+vgm0kVKYSFgq7+r9u9JKVWgIu+OiWslox6N770xbl6sVesQzKAArT6xE25/EBdln3KJx7jR/2PbxMPL7MByPgcF47zRZ6XWxkXoMYBIIokaZaFnnbeWzviSFgo1HmlxYATYCKhUGXUDzvvf9GFwlUiWCrjoehXAgFzvewJQ1lsJ4Gk1B/OgEtCjBXe41444OzxP4/movVxqsHLJPU5IPwVUGFAt+EqWB33mcOQvvJIZh3ZtzeZZOicQiPxiqfmctk7Ekklf01ULP13hvJIjULNwj4CZSBD82GVbOB4Y+9LBXGl3rE4AW1EL6sQdCPhSAM0lzHI+++EBxjBTDOnwg0M8e674ncuOEqthUsRAjh6wsnr5c/I+wAXDVdgAmCsA9CUdadGIz75za5uxijxcnVhKWJEydGRKA/rNwsBSoIhCXUcCUKBEFAUuGrcbwZGKCiudWEZSLVNyhWKwllswAqhmoVA+MQqPPycSAIQgXHmygom08NCVpDWCVYIlLHB+Pr0PwWgrKDrGQsBv7FLQq5UAkiAxSqeFK5vneA+jdVA24wETSzI5DcAAoLAmEp2K7DwyGirZciCGIqvLN/IOFv9bueoDiVczHNkkKBQjOb4k/l4bVTfPEiP1BhUILIgwKsg+JUzsYUkUL/b5QpN1P8qXy80A+dF85TDgBBEHnR4lSYyAWE4yhZpHoHRCf6fyn+VD5++QZfObsOQlo1dIIg8oNClYwrN2NCFxCOoiSRwgQJaVB3AlFW0IrCnlJAEIQhMKGLEiqcBYMiyFigGwSirDz2MuuUQWDx/nYSKYIoFhdX9rQ2e54AwvYYtqQwAHlikBIkKsEzR/nyw2G2kgSKIEoDF/72DiQ244QbCFtjSKS0DD5FAAUgy8xrJyGw7xh0Xnehsg0IgjABFqTMP/uj292HmTFKXLmeMvjKD7aJ/79DsO7aFcp2SpYgCHORg2C4BvjWlhaqXG5HdIlU74AIMkYZfJXgJ6+w1a+eZqvQgiKBIghrQKHiHv791gZWli4NhH4KitTRAdHhAmUDEGUFradnj0Cnvw763rVM2U2VJQjCWhiDCHfzrSRU9iKvSOGaAkzZBKIsYCv47mN8+WunoQP/vnyhsvuStupq1EgQdicJfMfCFkYddW0Cg78Wm7M98bdrlMAlrXwVEJZzahwC4TEIjCfA39YEPctmKQdInAiicpBQ2Qc3KBCc+uAHL4KVQT/3D8WAsBgvF9E5taxv9SJlL8WcCMIeYIhDepJ81O238kxz92GZI6oiQRAEgShdbS2eLiAqxiSRIoEiCIKYCglVJTkrUiRQBEEQuSChqhSqSJFAEQRBFIKEqhIwEiiCIAi9kFCVG04CRRAEoRfeiQUOgCgbprWPJwiCmAlgejoJVfkgkSIIgjAICtWpIdEOhOWQSBEEQRRBQlE2YHcIICyFRIogCKIIsCuEklA2Uz8qayGRIgiCKBIUKmwES0JlHSRSBEEQJYCNYEmorINEiiAIokRQqGJqY1hBjWFNxg0EQRRF/7ETvm/f9Z2Vh3oOBc6cHPBHxqM+X21NpLbeF3lz5+U9b7/27YcufPMFVNl+hqAICJwIJ7H/3g4gTIP1DiS3AEEQunnp2d/5v/b5+9f8du+LBdfKXLLqou6P/+PNu0msZg4uruxpbfY8AYQpkEgRhAG++vf3dzzyXzvWxiIxQ26dd2zo7Nry4N/vBmKGQOWTzILcfQShk7+/8c7Orh2710AR/GJHVyfeklDNFHjnqSHRN6eJ9QBREpQ4QRA6uP/vH1hZrEBpoFDddeuXVwExI6DFvuZAIkUQBcAY1GPf+VEnmMBj2x5f98vHn6aBawagLvaNK9dTanppkEgRRAEwSWI4PGzaQCOtsrVAzAi01HQgioZEiiDygFaUniw+Ixx941iQrKmZg5qaPhhfB0RRkEgRRB6eeuypxWABv/h/v1gOxIwhqfDVfYNiNRCGIZEiiDy8/vJBSyyeI68fIUtqhiEUZR0lUhiHRIog8nDsjWOWDCp9R07QYDUDoUQK45BIEQRBlAlMpIhAcgMQuiGRIgiCKCssSIkU+iGRIog8zJrbYknNveZZTVTLbwaDiRTUfl4fJFIEkYdFy8/pBwtYsHRBHxAzGqxIQfGpwlDtPmLGgq02nvvZs/N+t68n0PN8T1BLZtAW7jb6Gy2zdq7d/P79QMxosCJFOj61FYickEgRM47Htz2+uOuHT7Xve7q7I181czOrTGSycOmC0FXXXEmWFAFafIpae+SGRIqYMaA4PfTv3+/Eig9QQf72/r/ZCQSRBuNTvQOip62FhYCYBokUUfWgW+/uW/9tzd6fPVPxFf/YV4oaIBJTYaBsEELczxiLADEJEimiqsEaef/yybs2WuW6MwJ26aV+UkQ2cP1U/5Aan/o+EJOg7D6iakH33j/86T9tsoNAoQX1n0/8O7n5iJwIhbVTfb/pkCVFVCUP3fvw8gfu/EbFWyRgksT1n9q4+/c2vz8EBFEIoXQOyPhUSwsjl3AaEimi6sD2Gg/+y7crWnoGXXvvuf49+0mcCCNQWvp0yN1HVBUoULd/6G825UstLwfHD/cFSKCI4mBBcvtNQCJFVBVmd9EtllO9pwJbbvyHNUAQxZBy+1E1CiCRIqqI+//+gZVmd9EthV/s6OqkDrxEMWS4/WY8JFJE1fDYd37UCTZDCudaIIiiILcfQiJFVAVoRdnBzTcVrG6BqfBAEMVAbj8SKaI6kG4127j5poJ1AoEgioDcfiRSRBWAGX2VrseXDyxki6WZgCCKggVPDAjbTsKshkSKcDxPPfaUrd1pmA6PLUGAIIpEYco6IcSMnOiQSBGO59mu52zvTiOXH1EK6PY7OZTohBkIiRTheAZODdo+sHym/zSteSFKIt3SIwgzDBIpwvHgwtlC+6xonQ9NvlqoFFrXX4IoBS7dfjDDIJEiTCMCfDFuUCIxxueNMb5cz76YNKFnv02Xvx12br4NFjbPgkpgx/R4wnkoAgIzbe0UFZglTGMYYAP2xRkGHpY/rFAjKLvlraFqzuMAwWEBm5h8XR3AgUL7nz5xpmAwGYVp1TnnwoLmFvjOH94Mj7zwLDz64m/g6OAZIAjHIZROIUT3TGmQSCJFmEYDKDuTwPxRxpbHBXQMAA+2gLKtkFDF5OyQM4jgftIhF1IY7HApSj+wwv9m+GS4oEhdd9HlqkAhePupK9+jbj979UV4+cRxeLm/F4aj4/K5WdBU45OuwTZ4RIrY3sOvA0HYjYwkiidgBkAiRZgGCgz2GG2QszwUnlHOV7lFYYEaBL7JxSA0Syjb8bF6oezXI1B6QCvqU1e+O+tz7zrvInXLxhXnLIP1W++Bocj4pMcxrvUBKXrIz159iawxoiKkkyh62lpYCKocikkRluBl0NcilLydaBPSNYgCJQUp0iSUXWAyKFDo3isGtLg++bbp4oZxrc+98/fU7Rc3/43qRiSIypDshBkAiRRhOdJ95xthfNXUxwdQoCR6XIJGWdG6QBUozc1XDJsvfzt8KkOo3i2trqnHyyZkBFEeWHAmpKSTSBGWM6qwjjEB66TVdLa/0ijwlZhkUcvELrMF6gMXXw47b7xVFZTfnhqAUlDjV2khap/XNu35xgqmtReLImMaCQX8uAHhaBgoVV/Xj2JShOU0MrEnDmx5jMFqBWAvFxAZA+jEDL4GEN1gMrgmCvnuy2/AzT/9NXxu1SVyu3jSPhdu3aHevrS58DWOQrXpzVdlfa7nxHGwOzHgi2Xsrz3JICCD7gE5OfCdjfkJHOigz8dgjw9kLJBwFDjR6x2Id7a1eLqgSiFLiigLtaDsxqykEWlBnbWiQOwGC3g5LRxPH+1Xbx96OZWlNyRSI/NTx/rh0NCouv32pD5LC7P+cMvk6OAA/MfTPwE7gtaS/JzXhAX/7KiAzXGQEwQBQVWgpiAfC4wL2CD3vQkIx8EYX13Ndf1IpIiygJl/TFpQCTmjjwJ0WGVFIT39KZE6p6k+fdug3v48knIcXDKn+DiVBgrhR773NTg2WJo70QpQnIaA3yKtp85sopQLFKvRDJcs4Qxw8tcXTlTtAl9y9xFlw8MBU9PVi8kDYIlAIb+TAjIUHVfdfChQVy2cBz0JDj+PuuG62jg013jh/ne/BQajMbhkrjHBGopGYNtzT9nSgsJ0/nHgG6VLtehYk5xEdEj/nyUWLmEdaWtqTzUu8CWRKhMPvcQXP9gNq8fi4JtbB+HzW6CvYz703XChcghmCF5pTcUgJVJeoRwway1UNl6W1hSmh//RiqXq358b9MKwMvG89rgR0L1nW+tJYatjjJXcqh4FDrMxMW4IhGOo5gW+JFJl4GM/ZJ2PvQpn3SgH5Rj3zDEZ2H8R4NM/4bCkBUJBP/Rdcx70dC5W+hc0VOcAIYWpX/Mwu0zO6JvKz1996ewapmNJDo+Oe2CBS4FisbNAjQjWGWfMNDcdZv3hOjcgHAUu8B0YEHtaWpil11a5IZGymC/8NLHyF7+OrMHoSKS5DpKe6R+5FK0gbk8eRCsjJVpvWwA971wGoXVLlH6wMTjrxqKyOJPDv1m6vFFKkCaDj2NcSsjX+HIMgjE5QMb5RJFaPB4ey2ia+iMvPAefvPLd0FRTK0WKwRXehBQpAcWCJZRsK1DAzI0jMV6j2lSE44ilFvjugCqCRMpikk+90bLklxODmyJFamRuE4zNaZK3zapwTUUTLbS0/DU8fP4cCH3oQui2k2swIuMfY4yvlTGM4KQn0jrAgGOB2K76qWnNUnQYTLYUUehGBV+FCRUKnxJPUY/HwSVFzSdgT73ONGmMST0qhQqrn1/hTcIVsybKGw3Go/DFl5+FTyxbCefUNeo5nGqZ2Q1LBApSLj95M2Pc0NWEAqxDWlNd1WRNVZ1IYeptFPjKOEBQpHzr4RoG3V6ozAD/+X84v+tznz5Q8+zesBqL4fEENB0/o25IvK4GRqVoDc2fBUNt09tIhKPgl67BDtz+aXdKsD7+ZthTKQsLSxlx1bqB8LC87wWx2yNEnydtGSXlYwnBAhHGVo0CbBgD3tkolO2a5YRuvkx7Jl27byOmpMvnQrVC7HUz0ae5A/F4UcaxYG07Hi8iA8SzhfKAnnPd+txTcN3Fl6vWFHJ4bBhufu7n6u3Hz71Et0AhKHp2wiqBIpxPtVlTVSVSGDxG3/zZtFuRclpgxtK4nNnXC2Wbm0PZZxhfuHv5rq9/9XD/E4+fXDM8lJhkKXjGpAodOqluaGUNzW/RJVhoYX34Yui6Zply6LK28rwnVVAY3ygFqruZKbvngnKf+sTkBIgwMBFqBLFnRM7qxuVAOsT4TQkQO6emnMuBtmOMsfWYjt4Iyja1QO30ZIpwrVBC8nbXsGCrBeiP16F77j+f/qlaZw9BUfrRVcUt0NeEzg7g4lw5CbNMoHByB8V7RokKU23WVFWsk0LraRj4esxuyrUuBF0Yw4zfMp6lhlw5+Ngnzun+p7uWb7vwksacqddoZaFYnfPrA3DBY8/Cwt+8BvWnhrLui4L11edgwzXf57es/2++/vle60vcjEj3Ht7WYmaeDlCUsC4fuurGgK2PZMSaMI6FAsWxEK0mUAXAyhVNBtdWoTWF8alqAZMacOEtWIgioGoXhs4UYlVUfNbxIpUWqE3q+g4dRBRYV6kFixdc0BC+9ysX7LzvgQvvW7DQF8q3ryZYS375Eix/4nlVsLzS6soGWlYoVm/dyjdhqjtYhF+67VBQjGR+YcJDi6JsQ2tpWMD1OEtXJwzSdYeP4TGLqd2nxrGkW1fPvn/9o+2w7bmnoRqQk6w1payD0oPVxyesB62paqlC4WiR0gRKXlQBI6/DlfiVXFmPYrX1eyu33fqZJdsam9wFB2jNJXi+FKslT70ELYdOZN0Pky0+/RPYvOKr/JZ/fGryAM6GoiX/YLXGhFMfjxUoVIqvw4aImAGYTNWO8+PWmEegUITwuHib7XksWosxKt+82bqE6p9/vhOuvv8LqmX1zJHX1UW5uVDkc4mhAXk7EYeyQ98oaX2ulDFBXZOxUlCmJsMQjqRaqlA4OiY1Il18RgVKA4VKDt2D9cya0jx6uOb3WkNyu0/Gqzr+76mBlceORoKFXlN/ckjdWl8+qiZcnFixCGJ1NZP20VyBD7/AOzFu9fm3K/tn/W9obXxhQ2ioc4HhIqKnZEzJI6CnGZRJlQjQksHq5pgNMVco/4KPjTG+HMVoahYeuvPkkB+Sg2wQ/8aKE1PT0Cdl+QkpfDiFShVAnZYpiK6/CLBV7obadtAJxqi+8PP/nfRYky8dvkwk4Oer36ne5zL+VHfeBeqtnYiqv1nroQW91UG1VKFwrCWF2U1JAN0DVDbiwNZiMgBUGIxXaZZVITegxlTrqql3+kxfEyt0Ax7tT7bXHBgwPAvHbD4pGAFcrzT1OQ7KIMaUfMpEoVjpTlUtnDNo4U6xgmozRM47Ja6F/85pwW8aT1dHr0FRYrADb/HfxmNiIkbmazxC7JcXYkkW4lAkom7DUqQQ36Kl0NhxBbibS6/vZyZoRZXTDTcuKhO7JcyjWmr6OdKSSqckl+yuwyQLrHXmZsoDdpg1pi2r0O9+N+L/+lcOr3npt8O6REWzrjCd/cSKhTCwuHXS8+gGXMovgs3Dp4J/8szw8mVXNOpKfEBijM/DD0qNQ03J+ELrSArPpIy8WUzZHgbWGQOGFbg3zpIxLO25GgF9I5BazCsFqEd7HN22A4xvgpQFtv3sc9q/J2C3FK/g1OSKOhC4n2lu2yFpPfnTbT7sRrmsKA15fa1WeKqtChCOpRqsKceJFGY3RZh0MZkEzk5HFb62keVvdV5OtAQLKVa7v/vNo6t7ekaXT01dzwZaVwt+87rqChxYPBfCUqwyXYFbXXNg66/g+mtPQtfXr1F0FRGNpy3NbBUkcuEH0TUsB7dxxtZio0PNTchT1lhE3oYzBQ8fx7YdXhB9uZIysmX/5UvgaGpIwIK2KKxYNgILAhFolH83NyTOPn+yV8DJN5bDBQ0b1b+PyhiU32bWk0a5rSgEJ3BjCl/TwJRdQDiWDGuqCxyK40TKiuwmDEbL4/bVCmUv2AgUqy98uR0LRj5hJG6FYoVChVtYitXUuNVjr0DnikO8Q4tX5TuW9lkbnVFnNjpES0h7XF3MmyFQWuxDXUNVRMFZJRoNQTrOhcL0gff2w7uuPAXtUpyaMkRpKkNDDL7/rSS8b9kKqOENYGeiZUiWyAb2oJJxx0g96JvQEPaEAcffTxc4FEfFpKzMbooq0Jkrk8wOaHGrO79w3gO41qqmJmW+N3kYtDdNjO5T/9biVlNT2LV4VSlrrNQMPOkOVF2CWZCy2I0zucz1UVMZVljHSex9lGPigRl+uKYqZ5bfkf7dqy4dhO/etx+ee/xX8LlPvgZXdITzChTS1CTAWz8MpyKvgp1Bz0Els+0wwWhIum2p1bxzSXXvFUFwKI6xpPAiiTLr/PLo3hhR+PomGVMBG/PWt8/qkxu6JneidfXR06fWLvQI3/FxAV99RYE/WsqhvZHBL/oE/OvLChwbS5ktWlWL08va1E2zrHCN1Q2P8uC/rVO2v3epscrXmOgg0uKSrVZfDSiH5Ewc0gNc1rJUgrNmKWR+75RUdEykGAK+PsHTA7TgakZgC6Tcsix+2Nd84p9X/slbdrd/7LLihGbpMgVeDz0NC+ouBbsSBVZScpAZYILSMOPtbgHd0tuwuxJVW4hSURf3bgUH4hiRKsciRrwYseRMper8GeX2pVDjcXn7YCAanF/L4J9Wus4+944AgzfP4dDoZvB3+xXYeTRV1Xr2a71q3cDMBAu0qj73c77+vUv11cTTwDiSDMgKRRG1Wq0+wbivwYDbFC0tlkWgBtKtzL1M7PYwNiBn9EGMZbGYFKe+21f5Bh9bDUqkJMv33GVJeHz/j+GqeZ8Cu5LgbLldShShF0OKVYd0v4S8Anqwkohbxio5o+QK+8OCaE21tbAQOAxHiBSmiSfK5JfHkjMyIH8f2BzPsRG/t2dgNY/kTqhAgUI+ewGHJ/sVGIqnX5uRYHHwqgtVq6pvBALo9jNSB1CNI4nUQias1Ydp55hCXsdgfylZYWhB4W0LUx5QF/vKf2PumW+GfYOPtHtHu24pVZw0FiySwu0ZltbmPttaU8IGSySmgu7HCMYB0xXq02vZMGsz53fO021apDUckpZYyCPs3YKmGnHxBFrlIXAYjohJYZo4lAm01ipV388I8QUN4RO3rrxvaN3ibfFFDd2KL3flikY5Mtx+gWva4yhWGK9qffmI+vc5vzi8pm7/qaLLKuE6KLSMxgRfDkWC6ei44Ffqaw8KVN2Zby6ee6B9U9PRj232Dj+x2iyB0lh5aRJeDtuzmWkiVZnDEaVt1PPEBdg5NhQ29FRIFVs3osDNgwLjkNaV8CKmowjuyFJJtrekKpF+i0kUNbw0a6BcjHXMCeGG9+u6TwVrXzq90nUyEpxqYa1fiFaVS8aqFHjujLRW4hM+JLSosBnjRdGTHXAEOhqe6u2LXDRrz/Blcw5Ak/6qC56M9hpQJJgg4UqGYd6pu33N4f/e5Iq+GgQLWXFREr7/zFPy89gMTZ42sBNqLK+IjEcnoC79ELA5zngXZQ+WB6emo9tepMq9iBFRF/kKvsppF082wfIcGTnrJkWhWr8wZVEdGBLSzQXQMyygd0zA+YnDoBnWfCQWqNvTt6Huuf6Ib/ksOHlFIALzCk/AoumFvzgAjWFGXlqskum/8b6apaeo5ZPUv7XEC+35ptNfCbb1/R1IoSpLwgBm+a1YOQg/6/kSfGCx7b28VQdmD3LOI3Zb/lGtODEd3dYiVQkrSsPpK+41wfLveGPQ1zMwrSrD8iYmt1SCRU4Swtf80mnATWnw3qRZV6Kp5uxngu65IekejSXl55VOE8d1PZlrezBONbVloNTIzZP+htTfivdCmJMsb/LYFW9NwPdefx72nnwQVs29EeyCmkU3A/o6YWcCOXU6ZKS6PlEcWjq6kxIobB2TqoQVpaFZU+BwwhuWdo2sWbBdafSWNABo1tW8r790y+zvHliPiRuY0HJK8JsiJq0xc0WSkPifAVDGy+s2r6kR8IEPxeDl+LdUobKCc5coEVf8sKE3hjE5BjMjc07GndcCUSac1WvKtpZUJa0ojWqpXzbylkAPbigsnpMRv7t3NMBjSXWhlPfgcEe+DMFpSOvKc3SkY/Z3DnTULWiIwMq5vjMXzYFSaDg8BIFfHYe6g2fg9Sefh+ifz4PaZeVdBYBuPxSqR/77W9Dz2o/hCmlRrWh+L5jFyvYTvuajH19zZsnjhsoMuUHsnQlt4uW1HnTS8g9nw4KYQOGUen6sdyC5BWwIZv/YofmadEFUfWBXugQ7s7kE9RJrroGRRY3Q97YF8r5X12vQapr7mz6Y9eJp8A5OVMJ4vetH0PTW/4O5G34CleLll1yw99duYGNtamr6HN8y+MT39sGpkTgUy5Pb96o1BAfO+cEDUf8G3VYtulMHQV0zVvUVHzwc9jQIqhVYHpSuthZPFzgAW1pSdrCiNGZCNWh0CUorq9v/w9B610A0CAZBkZmF24unVLE6c/EcyGVdodU09zf90HBkRArV9NJFLrcXhp65pKIiteLCpLodO3IYjh45CsdOSqeb502gFnoqgs0fPKYKFNLU/9drT/o3bNP7WlwoWy+U7WPANzklHb1Ykgq0y8g+iVRZYEFwCLaMSVUyFjWVaolNFQLXXZ286aJtI6vm7cy35qoQDUeG4ZwfHYQLHvgtLHz8ICinYhAfTkLLM/1w7sM9sOz7B6D51XBWgUK8jU1qTGr8tcovocHFvqvemoBr1sdl3AqKAquwYz1BDUypx7VfBg6hVnuvS7U8qepyRNS2vpykKlCAA7CdSNnJitJQrSkbF581k5GrF3YPfPBcdYEwlABaV3NeOgWXfWs/XPqt38LirsPQeHS44Ou426Pejr3u/HWeaEF9577pRebrT97VCQZBoWpk1S9UCRKqspGuQGF7bCdSlWpLkA+0pqJSPGGGgFbV6RuW7zz9keX3lWJVabijCd371khLCrGDJVUMWrsQrMqOFlS2auzFWFMIZvu1MOU+Dwha/EqUDFagAAdgq5iU2paAVa4tQT5i0l9ey2BGLThEsTpw66WhhhdOdSz4+ZGwoSzAIsGYFIIihW4/XmuPUOB379NnWGqxp0KgNTU26090x6YyaWCiK6KI0DhTaxyS5UEUBVagcMKaKVuJFFY6B5syk1NkBy6eA56LZ92HWYA1r4VXsYR19b/ctXVn7w8+ewm0XPUM2AG94qMXzZqSQlXU78nHIeSWcaphwTdBFQmVu8rdmXaD8SSWSQqBjbGNuw+tqIQNXX2ZRGRsCmYwmAX46p9eHBm8cLZl5o3HN1ErcPQF43Vq47Ure8AhFBObygQH9GZQ26tUxcDOgCpOlB2RWjMFNsY+IsXtXxEZramZkkCRi6i/Bo5eu7QP41WlJldkw5NhSUWPzdNdfUJxtYQHgj944PR5z29P1pwXAgeA1pQ3vKOkVhyYoo4JFdVQmYKTFVV20OV3Mgy2TqCwjUjZKe08FzMlHT0fXiH21oDYn5lcYbZYaUKlKI2R2Jm2goNv0jO/byD4w23RptQi2dE5f+mYxIKGgf8qOSEHLSqsTAEOxwPiABBlJwlJW3uwbBGTiiiqheIIv3pCqAsOZ0x2lUvO1OV7PjvDbWZiT+bzwwuamsdvaNhde2xkd+1vT7f7DoRXFZtgEfe44UygIZJ835v21iz2h7zXXB5Sjh5aDWcO5qzrdmrOLTA4/9499aCcPcex2R8L1Q58t9sz9ivbZy95Rro6XPHDu5Oec0qyhOpA7BkCtsrJC349TISAKDuMsYCdyyTZQqTizDnp3dLlF5hJCRRNqTI1WasA4JoWrF5eB3yHe0EDWld7ht67eE++vlZnX1vjlhZPLQzPqYNoQ02of74/nJjt7Q82iu5617lnL5bw7L8YrzvzraznNjbro7uOz793rUe6YesBJi1IGm/5o/0VFakxeWnFpaOiOZZ3NyYivvoT/7xyaMEDJVlC6PZjAvoE2DM7thDy/EOUNFEZMlx+prvvzcAWIqU47MKKMWj3CpiRhTBPAr8FYwezUxUQspLZ1yr2+vDq0TGx1hVNQFIKU6TJC9FGrypSGn4PdC/1KvshS1+K8dqVcuuA2vGJ6wfjT4OLvrE97d7LamWhNVV/6t9CVjdNzAkKVFyfN71mZDcOECW76+RAH1Yc2tpDupH3V2uDRyeQdvnZUqQqHpOyY4WJQiQU6JgpCRQDwNefAH4HFMnQ4ubx00v9cGLFHMDbUWk5ZQqUrmM0bTh7HwXr9WV7w1r8KR9yn8pedC59ilHs4t4qIlzLhC0HyJmC5vIDG1JxkYoJe2eWZAP9/gnB58EMB4vu1gB0uYXSn2sfJSEK9p9XCsRRRupTy+dijev2HDxvXyhWcx7oYXTOJ8oeiI8FPhGJBW4FETtH+ikU3a/zDT5S8nWAbhtwIF5mzxn8TCLVWh5KyjS1ioqKFK6NSoLzRAoZd0A2otVgHKQZlN2+PB1VFcYKlmZNiPyW9GhDJ4zO/niX0V5MmIxQ7nR0xXe+L7LkHki63wTg0S9S6QSKkkRGTp5sOcgUogaU/UBUHGHTdaqVFSkHrI3KBQ4IM8Hl18yUXX5Q7oMiiSuFB05FKfw5nl7wn0UNZEnvuWVdIMpHU0aB69Qb0pKq0/06TKCoGf5p0da5miHrwMoTbmlFUcKEPeBMsaXBUFGRsmMxWb2gyy8muPGSCA4DXXreEgaRpI6BU7p8g7meq5ez7FZQ7iz2HBK+i8srUtEQuPueBjF7VI7Ahau+Z1JsBQpsjBhN1fFzHLVV3lDUSWi1/MBmVEyk1GKywpnpshpR4VyR1UsEIDhaZAV46cbzJfRYUtLdl3BoPGUqKFKe1x4G7nsFjBKtf3tRMbRRxtc60YrCrtdkRdmNRBBsRuVEysGuPo2Z4PIblwIlbYINUATDSf3f8XDC2RMWDT5yGDyHvgtQp789SZythnD7c1uHFv7XHjBAurX8poQzJ0thikXZD8647Vx+FRMpJ2b1TWWmuPyKZTSu/zseSlhTborHQuW1MHBtVKu+hfvxM344/q0PwfFv/xmwljdtYFy/NSTde8uHgN/iVG+ED8RusqLsh/w92S4VvSKLeXEG6NSsvqnEpTvMN6XaASHdhEnwy2C+7hl+XAb+8TU+V/6Bq0Eou9ScOZ0LPz2R7iCUEaVlISSbOsFzcmvufcZ9MPDLKyC8e5W8XwOssRfEcMTvq/etHx9X8vaYwmon4wCdimKOONV51NJXKnJSAWVaDEzromyM3apPVMSSipfB1efhqc1l8Sr2ZBVYhFZwKma8N9jJGF9baB9so54v5T0Tz+gef7krTiRaNkCyPrc2j722GA7f/Wdw5omrVIFC5sxfBr4XwiAtqWCNL7tFieKErr1RAZvNtJ7w+tCulXLho87CtiZhswpAFbGksMstWAiXF15jqsErztBhOAaWobr8ZlAtP5eAPs6ltZNnxn0iwlYbsaI0ovJ3cTrGOmZ7zZllN/XdXvYmmonZ6+X/Bqc9jq69/u9dq3Yc1qhpbIJ5F14qb5sh0ROG2FsD4HLBOu6CQ0oyJcRnLScbuvW8LoBaOYIMxdTMML2QFWVz7JaKXhl3n0OLYOZiJtXym8WU7fkEaiDBlw8noWhxGIgzNZW6VKFCK8ozWv4Cs0pNEFennkW4/TD4/Bo4/f3zz1pOyOxzl8OspRPhTPfBYWDS3ymkv7PGy9cPjsMTdhUnBMWpNj161Mvbkbi+15EVZX8wFf3EiAi0NjBbNKEsu0hJKyrglLYceklgfKBKi2N6QBwSOt4cppCfkC6+sUTp3YtRqOKCNfvdyv5CMSr5A+7Gc5z6uP/o5oqtG1KFSpKQsanIsgch8sZxKVA/Vh/LtJ6m4nn+pGpNSbdfgHukW89CD0ApZAqUdHfDmP5ERrKiHIK05INgk07JZRepOLAgVBlaKjoufIUqowFwUMk+sGCiw7jg88blD3o8AR1m9jIaSUDnWJJ3yBhUqN4DPfI2XO+aXiNwFig7pz7W1PvXKytW/TzN6Mp9kKxLGXK17wvAyDeehFmtiydZT1PxdJ+GxAr5jlq80OCRg388JQL5wJhSgzfl0i5H0kOmQMmJCYwY+HfJinIOQkmiy8/QkgirKLtIJThbDg5tJ5APTEX3Vcm6D8y+HGJ8VVy6muRXhYuus1u+LLXJGBVIIbEC/Hc7oqkNhpXs0X1sUSFPIyxPIdQglP21Z77RCRWCJcKqu08TKPWxRh8s/NT14Hv2TN7XunrHoO5bPTD2UTk+SKFqkuIzEM3zb8k3jftot0MWC9VUgRqmWFTVglXRwSaUPbvP6VUmchGvgjgbVgE5KfimE4J/NqJAp5zFBxVhf9csniOea0TIGE7427ew5EDFzpmPZp+nJC9uBV2vD0dVoeIDMTU9vMaVe18UiNG0q42nhYpb5HYuUaDIinIYWlwKbEBZRSqiVKdAIU5PRR9lfPkZwW9KpicROAAlkpO3pGJsYMpEUaYfS9FfJHwSeA7ZjoePB07cCZXENZrdWEguaYSE3PSQKVRalmouYsmJpAWrhAqtZE2goknjAoVQa3jnkY5LVZyyilSC6a/OUOOauDCcgNpjyoH105AhwTqGk3B9EtPp5YA3Ll1MozK6FolN3jIfR2EoBApHNJZ6zVh0+rHwsbH08fS4qfDf1M4h2/HqT24FbywElYSP5fZoRT6wBHQfJy1UtdKHl8+aQqwUqvoMaw4FChf8GhUoag3vWIJgA8oqUkmmr98NXmB17skuBicQZ84qkYQZeTLOs3gowdajmODAH0ukxCXv65IpYUCBQVHTrCIlbX3FEynRwC2ezD+oaa/RxCqRyDhe2lrShA6fz3du55yprBWFuPKIlOKvgch7zwG9oFDVf/VF8J8eK7ivVUKlTR40gSoGL4MeIJyHUIJgA8oqUnrjUXhhaAsEnSRUctB3VNO5UzG+qn8cNuPgP1VMMBjvljNoj9y87tR915RfC35PscR0qygany4mPH08PJZ2vKmDqCp+8Yzjpa2lbOeG56IdD88xMLJVmrIhqDSYOJHL5YfE3joPolcvAN3HiyShZVsPNBwZKrivFUI1nki594oVKAQXgAPhODAudXBAVNw7VLbhP2JwLRGm3uIFhz55TaTG9a/HqAiqCOt8j64sxUTl6yOiwmnsOPh7PdMFSUNJx4NiOuq8oZh4cghS5vHwWHrch5ow4camHC8wsg3sAiZP5CuNFH3HfPW25sljoAcUqkUPH4Dj71sCgxfPybuvKlTyFlPYuUlZf/EiY4eE86lPufwqmpVZNpFKYr0+gxcKXhwoVA3pwC3OpiM6BrNKgT19MC6V6X9HMeIevlgOGAHcpIj5WYHFzEJRZ54RObD0iSSE4kmlXz5muk8/yaHd7Tp7nliSp+DMG5/naaFAaymZTA2AmqWD4oGHcKUtL6bjeD7vhPhpx9PQrCZMc88lnA2jXepmF9CSisOmvPugUCXb6qD2kTdUEdLD/B8dBFc0AWcuz2+wTxUqL7f3dUPYGJ6ouHeobCJVbNHCzAsOU3KV9GN2JQF8ca0HmuVA3i4H1nZWRHUNrDiAty78zFyw2i29sihccvAOJRPQnUhMX9Rq+DwV8EshCbhcUDSuPMJhlEzxM8qsAftYUQjXmbyRWOGH0T+/EOq+eUCNP+lh3s+PSKFKwsm35XcZatcNLvattEClGzIeAsJxCMGDUGHKJlKihHgNXnDjLGVNoViNgP2ECmf8eG5y22DFWhUULgy9SFFZ7anhYSUBXdFo8YuHxxmfp1SBG6cmHoJZ4a1gJ/iofu8IJlOgUPl+dBg8+07pes2cp4+rt3qEyg4k0IMgqJ2NExE2yFgui0hhvT5RYgdbLR6FQoUFLVVXkw0qV2SIk2ULKaf9m/KH43LDhlo375TuwG4pVnuNxrJGYxAYs3mMTw9zztjLikKwhTwmUGBxWT1gUdnxDyyBZKAOfD8+rOs1eoUqG57BGDS+eqag29AspNXeoXDYXY1lw6odOxSbLYtICRdvBhNm7ZlCpQWEKylUmNRRTnGaCooVc0Gnr453lGpZOZXQb34AffEmsBvnnHcU6uYYm4Ri5l/iAr9u918xQuU7MQ4LH3kVIq21ZRMpXEM4LviqelB2A+E84qoXrLpFKm5ipQlNqHzpwHyyAi4NXNzY4rO+oaJeMi2ryLiyTU+SBWci6pZvgOGPLz3DldZukAkIY5bheNz+6fSv/PZ5uPeLtWDHJs9/6XoRrv/IRWAUzf1X84vj4P114XEBhQotI8z8ywWXMSxf/6i0nsIw67lUOLP/nfrXa5lBXMDqhHT5uTkt6nUcFU6eKItIJVM+adNAoYomy9bqehJoPTV5wZagWNXW8pukcHdFI8refPvWe9k43vpB2e5NZyOeAH5HDUA3jyv7u8P8FrA5z+y278T8+LHjUCzo/ou8bxEk22pVsSpkVTW/kIplZQpV3eEhVZRw8wxOvF7xuaXlNR+Gzys91ICTNJyw6XEbozU1wvjGJqZsI7efs6h08kR53H0WLHItt0Bh7Gm2DwqWqLEBPuzuWuPjfilUu6AIGj0QdjMIJ2xeXPbgi8+DXXn+uX1QKvFL56g1/3yPHFSbIuYDhaqmfwxOXjkfZktrqe7w9P3DF82B/nctAqWm9Mseu/JibFhbYqBTqALDCr+pXijbyKJyDpVOnrC84gS2fSimzxDGeeziTsPzmFfnCIE6C2YBolXFeHE/ML9X2Dq+FRkdht6Dr4Bd6T3WC2aA7j9s3aGnSoXvxBgseuS1rAIVba2DU1cuME2gMBaLApU0uHYR09FHGd8UA74YCEdQ6coTlotUrAgrSuuPg1ulhQr//bl19hFMI2Dauq+WbypGqJb4xR75PdjWLXPwJftaUcjw8LC6mQUu/h35q0tU0SqGGilgy+7fD4u/1wPzfn5YdQdirMoomkAhSVFcs0VVqARsHhF8rcLMa5RJWEejq3IxastFKgnGm2dh9QK8fjSxqpRAOFmgNDBOVYxQYVhkXq19ewCFbOzq0zDLmtJAgUKhMlL7bypoZWHyxOLvHYDl9z4Pc7/TA427DoMnNASuAiaRtk4RKVagMokDrEb3Hy4sB8LWxJNVLFKCsWYoAkyOwA2FqtFb/jTvahAoDVWoavhGljFrrQHlUD2DHe481tJ50prC1u1gQ+zs6tN45YA154hW1ah0ASaKsKrizTVq4sTpy+fB2KJGqAkNQ92efpi17QAsQ9F6Ons9wcxCz2YIlAZaVcOM3zIKfA0QtqWScSnTEie4iy8WHIJS9gJswsUXkQEpvyupLug1/KPWRArTzcvRHluDVZFAaaiuPx/fOD6uqKtfsb6gWygFg9cXzFJ2vnSa+2RgPAg2ovfgq2B3XnlZitR6sARMqDj5keVQ++Rx8L+or1IFgpl+c391HCIyRnVGCtXwdUvBHU2Ap28Mksfk5ps+JEztyjtiwXUowwKd+COltVT2xMWUillSJYsU9/BVUpw6MHNHe0xkDO4erIQt7TU55qeCrOn0cb2MxVMFS2vKKFR+G8TCrECOAUEpVGsiEWW3nLmuHAXY4AflPm+OhnS4j3AJ9qZWZdvLp1nnqSizxWwXrShMnLA7IyMjYCXu2TXQe80SGDunURWezFTzbCTlRYT71h8ZUZMssGAtEm33Q2R5C5x41znTrq1S28YbAYXKw3jIK618IGyFIy0p1XJywQZhoIAqDvxaK2ojYqP1simHUGmFbKsV7pIDgYeHIEt/oFZQ7sz8Ww55cvLBoAFE94rZoms4LroPDvI1gzHogAqByRxDfYdRVO2/2LjHWmuvJt2yBNt3oPgsfOQ1VXxygYVpseJE3zsWqX9jfKrptTDU9KS2xl1H1PVTWMEi3pxaDKilmFstUBrjAjZ4GdwHhK3QMvyWtLCyLx0wLlIyrsE8fI0Up9VQJBhfQne6FnfSA67DUPsJpZMpBi24YFzp+Fe14/bKyUVM7C3YR2MKuH7qkjnKzlgSdp2OQGA4zgKKYNMCI1EBHUqRa6zkdxCWg9S0Cq1YIaPRI/pm+6Dv57/5xSpwgEiZnTiRDWzDgZ4JjDUdvPFCaHmuX10nlc2qwn3wcbSg8P7gxbPh5McuBK98zNd9CjyHhtX1VkJeWL3XLFVfM5ZuYInuelEGVzvGqDA9nawp+5HO8LO3SKHJJ917G4GZM0CgRYXCMJoofAGI9EwORcSd0czNzAunqQIJGpVATaTwslVjU6ypdMWJruYccQFMF07IybjbDZG2egi1gQhBllIih8Z5MF5kxpZ0DYcX1+aOS4wwvmowEil6glROtDT0xsZGsAoMIWW6zwdknAk3FBu/3OqOTHaLYtIEVp3ADD+19p/cxjvmwGjnAjhd6wVv/xjEmifP1KJlLj2GFryXWnvYjkot7tctUqpAefkmYOaeKK67cHN9LjxNqLS09BoTm7nVVbmbbyryvfqVpNjlzVPnzyXEAanaNZoOycEqMMz5pjoBOxogdzHbYhZvayQLXAhxAYEzJ086Zm3NmfAw+Oob1bisFeBEL1soCl2AuPFoAuoPj0DDKwNqggXGrtCKOvSH7epaqdkvnYLa7tSWfOeishWdzYeRDtdE+eCQsK9IWSVQGkbaXGtCZXa3UbvW47MKtEaba9jy8XGxJ9c+zUw+V4Spmixh3Qv6vgvtE3rF/unnGr954VVoap0PLQayxTG5yKdz+oiTNfTa5vqasMIExplwO3XlfNV6QrHChb1ocYXXp7L7MA090VzcQmGzKWWSQ1iHAu6KiFTB+Z3VAnX2RNLxID1hEsXkNvJoQVVjNl8+MBA+qkAQE2By7TPG+PJxgx2VE0WWwdLA1ybyCNWxQ87yAo0ZrDqBtWRlvE+diOmlVqegoQWF2YCv3XyJWscP41ct//sGJAJ1MLRhCYyc3wJ2gETKpiiVSUPPL1IyBlEOgdJAoagrW6/gCWaaFYWgyJ+SA6LLA5059xGweszgIsuxROnxSulWzPl7O/zCC7ZcXJyLE736kydQoLRMVvQq6I0FGXUlZorV0FXFV6+wCux4D4T9qFAJq7w/b+7ha8slUBqYVltbRqHCf2+mWVGZ4NopZuKPL5JkJYvUqJLbuntp/357TPd1olekMgUKQa+C3oLG3iILH6NYRRZbl9RRLPL3WLEGe0Ru0BUvhCi7UOUWKTdbLVhl1sOgSFkVaJ5KJSw3u1FTw1eBSUQFWwwlIi2IYK7nxkZHLQucYBZeY5O5g/aojgW92QTKiHWP8VlWRRMtF4mUbTk5Wv4Mv6xSINS25GwtVJB6T3kuPB+JFDCXeZORmAldmPEYueJSR44ctswvfn77edDYYK5IFbKkShUoDXcViZRP5G/YSVQOrthEpNQ4VIXBRIpai/s3ocU2E9ZFFQLXTXETSvEPJPhyM4LeeIwxhc/L9lxkfNwyd8N5y8+DtgXmauBonsQJswQK8Vp8rZQLKbbdbqCGiHZFSULl3X3MzVeWOw6VC5/Fbj+fgy9ss1f/uz2Fm9BJN0xEClqYCSVrkTg54LaDSQzEsid0DA4OWvbbnL9gvhSpNjCTXO4+MwUK8ZbJPW4x4VoqMGtrklBhS0otIshzZ3tVAivdcR4TRQrT4hMGhSOupMo94WbktfhvhWP6S0rpQQpQQYHxyljBXFDuq2fT23dEkuCPKOa5DeVnE4xkyfIbHhq27CI5v/18aDC5OkQ2S8psgULczrekIo1M2UZWlL0RlRYp5mYddrGiNNCSsqJtO2fmWWkoGlhLENOGjYgNipRWvzCh6HuN9m/h7VjCvJI12MoDSuBUzPx+QFOP+dKLL1r62zwPY1KNDWA2J3qPn72vpDsBaJghUIjDY1KReiCBcgKcV9Ddl06WMH2gMQMrUtLNdCOOxFODD7rgjAqVETIFCsHEErd578M3xwVb5WzWcNDabCvq7HHlMYeSE27Ig6+9bplIqZl9cmubPx+shGf0KjNLoLTjOnQpRRgFyksZfY5AuvorZ0lxr3lpyGaDF6DZ1pSZItWQUbHCKqHKJlDNJve98jKllgvjCymPR61LtDkVhQ1app+MR1mWfo6ZfUhDkwWW1PHJ4y9+Z6115i8ir3FepmoYXXwkUM5BT9kys8kcqk0LeluB2dlLLhNFSqs9aJVQlUOgkP4kX49Vxo28pi/COhULqyPjsU+k3X7Hjx6zbCEvZvYh8+ebmziRCyuySp1kSMnLuaeZKw+Qi89ZVCwmZaeMvlyg5WOm9WO2D98qoSqXQCFJOUtKGpgpoUCNJK13EcvY2+q+KF9j5UJezOxDrGirkRmTshKnZPhJy6mriSnbi7HaicpT7qoTKQcBL76BYTnBbLy4zgSDQlixUDizmnsyI0bV5C1OFMspUEYpl0BpjCSgc5y5LRvUMLMPMTsFvZw4IcPPB2JnLYhuIBxLKKxOZMs2weACGxgy+3c5RWpMLP9i1SJeMy0qLSEDsZNAyRjU2nIKlEY0YuFC3nRMCjG7NFK5sHuGnypQjATK6dR7yhuXcnOPdPU5BByotXbZZhzLKrJZVNiC2+hMFxMy1B5bUB6BWlwLPePjE4sppzY9xEy7MzFYl1AqM6kZ01EHrxjQisp082FppOEhYy028nGiz/o28ggv0FuqknhB7CKBqg6ScSi7u8/WCRNTwQSKcrezLoZMocIU+mKyE7Vj4JhjtkBhtY2AL//sW2t6iOKEFSDiJtTlK4XTfdYkgU1dG4WlkY4fL08cyWwwLGW3y0PGkvfUi9zNNbOCbYIYb4b0+j2RjpkzAWFs5SF/lhFFUfqB4lplR4ZdyixSNk+YmIrbpNliMZaNUXjaRVeK1WbELZlILxQ1ErfLrFqBrdtjIpVJJ92MvlgSAvJYAaylx3jlA/NjI+ZZN5ksXHYeDGQUeprTZm5c6mRveSwpBOO2SRMrkZhAWG/BWGzAKbicCHF1MhTMdomL9IYwuaMUrT75d4gloUdJKoeAsJxy1+9z3MoKdQGr3OI2dGlkw+pK7lpyxWhCrR5eKoH0lsJlbumoUrFKpM7reBPWCjyLq9aZMSnEbgWT5bUaKpRmrmYXu6BDGOwCjYhUPD0g3LCauXhY+sa7RELZD0TV4MhGFVhlodQsP7SkwOH1zqLyPfSP6y+p5GSsEihkTmCy5VTXYP6C3nJht6oTMqwayvWcajm5YINp3hw8jjwe47yTxMo6yl1k1rEiVSpmV4TAOnpo1WCyg9X0j6Y2dFei2xOtHe4yNotGkU4kUreqCyUji1ALwHvcxhY94zESydQxFWUiMxHBY3Ke+u6KOdeBM9YkTSCt55wPI+MTfzfNMbc0Uu+x8rn7bNd6BivmTz0nGW9iXr6xGMtJF5pYuXiHElV2Mlow7GicKVImXIhJE0VqLDE5tlMOoUIS6Qi5ahXGU6KVT1hQROIYs0rmjumpmYhi4vg46Hnd+YUF//1YPH0eOUDBkr7s1DkXca59x60Z6BctO3+SmCK1DrakKhE25Oms20i2jA3Ga1L5qSnQPcc9fCOUZzYexN54XIEnkgnlABCOxJEipc32lRKEJm5RCpSWeWiVUKFrbySe47m0CGRaQxpTLZupsIx1XZmoVbvx34tPHFPbV5lihWUj1/dUyrmayZx5E64+7VwzHzOD4WHrrMCpuMqsUloGqvYdTm0fk8CYkQDV7SZcrIO72XooJ9KqUlxwPWO8S8SpV5UZCDu6+3AQUkM4FroScHBHV5DefwOtqVgpIpUeCM1wj9SlP0XtArVSqDBJgkkrpKF2Yv2VNuBrZFpDucD37XanLJqpnwF+LslkypLJFAslM7UqCzhI4SDpcU8XnlLPNTZmTUxq6fLzoN43+VxnzzY3cWJ42Lp42lSsTtTJJFOgkGzfo5xUdUjX+l6XhwXLLlCZcOhkHg4kVM6joEhpFRPw99eoc0HpcDpTCndt0FHpGd0EY+mZul9ndTYzLkYUKrOqq5dDqFAkhjNmqmqmoyu1qe60tNstlxWSKSL5Ztxq/Mid2g+FJa7FrnIcF4/lSmcC5vpepp5rNhHMd66xcWuskSXLz592zq3znVsaqVyJE1MFCq37WBbvBC5fiLr4pga3DZa6SKGS1twgS9KiYidRUKQ0dwwO6CPpOnSFBELLvNNjpcTSAoUY6RtlhgWEa4rMbAFitVCNJ3MP6qqwuCaSKaa64bTv0SiqAKUnGlrPrMxjMjA+YcgUQb3netKiIq1TM/s06hsbs3bVLYZyJk6UQ6P0CpS2b53HPmsxpTW3Vv6Q++TvjdqDOARdHmytXxKa87niIcWAxxtND+hGqzKYIVJmtl/XQKHKFFsUKrM+s4jO89UGeVVg0psZn1e2Y5Zq0Vp1rnoJnn9+1sfrGpy5Vsrqz86VXqDO0wvqB6O5BQrJFDOb4AMP3yh/d2Xvi0QUhy7bBQeSxnSJH7SSMJutrsSUCxQodAviD73WbU33XT3ngCJidkPFbBYVXtylvsfByITVOdOwwhrBzL6xHEV1Zs8LmGq9YVzKijYg5cTFJjwpWhggXzyxxmU7gUqBKepuvgooPuUIdA+bmomPgXuc0eNvr9hBVxModB9hLb5KCJSGFSKFZAoVJnn4zPg3RPmy3uyGFYt5MYsv1+c52/QMv/KJlBVFZrGXG3pUmOZRKSBQnFX2ui4Ih9Xy9PfTGirjMEiW1X1rKGGVZ8ykcPCNFJHGLdI/cBwccGZWrjVFuRiNWzfwo1DVe/TF8fRgr5Js5cWKCuiLlp2X87lah7r7ECuy0GszBGo4Vjgj07ZW1AQ+lzdVp5KwN4bnOigsOPji4K5m5IGx1u4Yg0qmU78bdWT+WQ0KFLovrRJLn5mJGdKL3iS3QG3q76PjqS9Q+7svklpHtbAO4NgQwIv9UDUMDZovUg1t50Pv4MTfl0rjaVa9/FzHAJYGzbWkRobk+ZtbyKKsoDDhNaJ3UmeFd8JsBIN2Kby7BFVStzVFTbpqMlx0own9lgjGs2LJ6dlBlWYkBlXHrFqoKiKj5ouUv3WyEPkyJioNJrvmRgws6LWjS1dkuOgL4QArSsOnxqYIW1O0Z0BLdvAZ+EGiXxtfY4ZAmXkdq1mGVZaQgO4ZT4Vba5jJwAlzU9B99Y3QtmQisw8/r6aMNXoNjZUpjYRC0D9WegHlSuJ1gBV1llRbEMIAjLvKanmWNIwVk5VX6zZnlmV2YHgoVn1JCfObgMhB25LJ8aiWKZbn/AXmuvv0NFFEgdJ+h6fGza0vWU4cNjkKUjq6MRQFnCNSlcRsQVHERKUMp+Bl+RsRtjq3TuokwifMTz9HSyqTBRmC7pOfqb+5vIkTmkBp1HuKrx5RSSPMkda7iy8HwraQSGWAi26d0Jpeo1XO/2blKSOFcalqiE2Nj5qffr7kosvO3m+tn/iccLkAJqIsXVS+0khTBQoTippKSCoSFbTAHBKLmgzPaPRJ2A7HilTCogtxIFJdbr+L5jk/NmVF0kQgOBGPap878Th+9yOJ1O9r/nzz0vHU7L4smC1Qlf7tupz4W2P2KdtETEfXTwqti3EbLdIRwrrZIsYBzjgkITWhY3EvJgScOxscTcSCCuhaTAo/m9qMrD50lZ2K6i9BpZdsldDNFigkUWmRcqIlJUik7ExBkRJioqlfxCauMKsvRBRlJ8SncF3UCR2CutjvbKEy25LCeBRu+Jksm5V7v7YF1nmBrBAoJOngrECziBkfpyhxwgDlrtJRUKQYmyjxM2aTmE2iDBciDiBOS6SYCk4qUMhi8vNa2gxdc2qEI2uVhU1OP0crShMonPCEY9knPm0mZvgND01YUlYJFOLk1PVc4HvCJSKj8cIChHFlp8WWifzocvfh4ryzQpWovEshUaYLEQcSKcyOLemP3xMKVSQOXZGIsnvFbNG1oEHsdDNn1Ssz25J60yXnnbWg8LcUjmf/TZm5oHckXdYJJwxWCRRSjSKlpAtB45YvLV9rGeIqkPVKOAvdX6UvvSZK6CguaSX475bjQuQMQrVC2SZHlQfiCWdaIBpyAA5p95c2ie6L5ijbmr3gmMZvEZOz+85ZpC8hYr4FzQ9x8GxJZ2Q2eMwVKCReYQuiUvPXTIEyXCvTYZO2SuMqs7sP7aOQ3IJ6dkaRQpGIpWM2ejv1momVVhQKk0uIQ3Vc7OFYzyst4fGo6MJbj5s5qSBlJJYQh+QVOG0NSKMHwpfMUXYOx2H3yXEWHBhnK8cVCMgJiC198wMmr5M6v/18Xfs1WFS1vE6Kk5ubX5kBrbRKLwA2ml2Ik95Siy+XJFApqHafjXGLpDjAXCyo9wU4+xsWxjr1mglXxE6vHEyTjC2Wp+CXp1JsdDuCAUA5WISkIPX5mHJAFSZ8L1kuNBQqJSFC3hq+ntk8ZRXDLPGIsj2Z5PPkn2dFSnpq/aPAV9YI5YCPQR+KVaNHdENTqp32cBT8UQV88rs1JFbhCAsOxdnyuJDfh4lCJ62OvuYa6EmMhtsBzFvL4lt0nq79GpqsWw1tRemgmA3iMGrihs73hslY6MIrZbKrCRR+nvXuIsciQZaUEZLltqRELLqS+WoMfbsoVFrDM/yRlKuauZAjoCsRXVmn/qE+hDOgUAJYQP7pU6TC4MZUpUkF0bh8TY2Qe8gX4KNc3spJbNgFIvVBJ9XBD7eOQpNAtOISCQY1Mkjn9tizWQ5+RmPDUfxc1jJw+YF7gCVi6wQoMjzFfFFeE/AKpV2IxLTZI36vRoZlKUzw+mCNbzRhzWJIaRkETo5DYGTUvIkutoWv02khWeHus5K4qlKVLZxn1JLSKr00eFMLqY2gFaxGgSqli4GIx4JCUTaB7WERDDMz1T3JIowzecvD8kMcBMar1hqUI61rlxzZl8vf9mq9L8rs1JtMr9Upy0rzJHbSdIWmPjxVLqQg4Wx+I953cdZXC7Ar1aYx9WxJYBBX/lTkf363dP/ZxapC6wlnsSlLRn6nEoXxoLxZo4Brv3zffYKpltU6aYWGQLgOQAkcHXOtDA3xDigDZlacCJ6nz4pCnNRJF79/r6LsRA91VH7vcWAr5d2y/zYTQr8LD8MHuBsmY6FQoSVkxMLEReo4DpW8WF1hOK44YpCXwtQslCTWR/GLhBJkLOmTn3cgJVzoCWIhxri8vlm/VcLl8pTXPepm3BWSLr8+6fLDAUe3q0Zrt6Hdtxw0yZOsS55v4V05+M+eEpMzDz5d2EolHpO2iXT/cQ/rqGSsSsj3F0+IvYmY2CME3ygY8zOWer8MeLN663b1MoUdEgqkRgXm6mMoVEVydJQvDw1BWQQKiVgjUnih5f29ty1wjiWViIvd+DtHg8IDIiR/GV0RBYJxzldK4QhCmQQLBQqFyqNzTPClC05jyx/0yqCXxGdQqEokJK+HnnKGLEqF8clvWj11oUixEtKjoSxWkoo0OAQWzg3LMSAkP+AeKS2HwCRG42UWKfX/MhYjhWqvFCpDg20563QpSXkRgr2Qlks4ibGquOj21HC0qoJWWlazJrs0IuqAoEBfPJlK7KgDZbe0nmpypVhJv39EXv8hFyiDUCQYtzoyBOugTJhdXHb2vHmqOKGw4+QCExj86USGbGBpJD0VzCuJGoOMiWnZmj4Zb/WBEsJRTM6pAnHBghjLTaYSpcxPkpGDohxQcNIblYOD7j5NaD1hOaXh1JIPVejK1XpeTjT3O7FIxjSk1STHnhB6mlha5KXFFVBAWluK0ind+3Js4j3S0uqRwnWgFCtrSQsre3ZfiqTYI39YK21axyrEksK2KdOqWI0rO/G+x8s6XC62klvQp6bODRFFilI0ouxOJiGkAL8lc2z14axQ5E5/9DLomw3KNiiBN4b5mkQZy8iYXVx28dKluO4tiJanFKlVMg7i89ugQ3QpoBVVaB/87r1MyPcur3NIiZYUKz8HvhbSVpbqMkolvuQWsHS6tkuAtMYhwhXRz5kI16QSkFIDn3oM1d2oWwi1zDwMIWgl2MoiVAKtzupEWtZ9Mi6Nv/c9TFpailCC8g0vF0p8g7TGuqVodZtpYVnFxM8AramEspN5uN0CiBElLs8LnAHOaOMguuXM0M/dLCgFa3EpFpacVYalMPXIuF9fIqYcqHSraznTDUIZMXsh78VLl+70yyAsfo7xuNjF3Gw9upkw8J4tcI+lkexsSeWyogqBoiVv+hgHtHjU32YjU7axjDVD0ko/+5uVlubk2bP2WfGJE8k4qaI9M5pQYUKE1SLFBHQzZYZk9knLiaMlBdADXNmlKEo7sCRaWH4pZl16ratyl0RCJv8MFNVU3230x2Ul0hzf5cQfkmpdpQUL/8bGatK6CnA3b5YXox9FSxo9WmYhGkAhRQ4QqijJTU4Y+vEYmaI0AGr6e0S+cFe2f/OMjEnJX5FvVonWUi7OjEMgUeZinGYWl53bOrevdd7cs78lHNxlDG95OA7tGAdxZ4mFqHGpZ8GuRGLj1nzXyDRhMgJ6Zlyqy8+QWzEz1m01yYRiuxBCWUDBcqEVBd0yjhKQ0fVV0rrq5NK6EsK1X1pZOb93oWVFl5Hpc5WE6JJB9WbByxcYz4kCXXZ28xkBxQZddMmMCqAJF8fJgCpS8SR0i5iyP98xpBckyPOt6ZAClbQwQD6mpBIxyomZlpS3xjdtphgZV/YC5+25XtNg4ww/aQnuTtp1Aid/7xhH5i621uAryxPrxrFlplhReUi7BHcKpvgVSK4BEd/ERGGxKidZDWp0r3EPh4oKlfwRibhS0Nc+k8G4AOdqHCE7Qom6MB01qUSNZN4PJfnigRh0Tn1cxjH8s+uhrEQHzHO1LVy4QFcdRnT7aQOlWWul2kxec6UkoUtagnvAxrCEak3hYvIg2An0VNDYMgkUJOnymyRWIKQbkLknTZwFuGxgSaVR40BejhUYdK+fMg0SKF3MYsr2fMXS6hn01IPSY3hpmKKwuKKusZoEpul6y7yGOTpmniV1yaWX5gwSR2Jil6+WrcFEioV1E4/b0ZKSFvkeTJ4BB6BOeN0yzm2fhKyIkpCxNyCykSlWQoqVSEalG9D9BLDUusrKx6SmIN1Pu+S0MlrGGFVEitNOKVI9QEyjTsai5I9I5BKmQinoemnyQGgoAd0RpfIu3/ER82JSi4PBaRdYLYdQLSh3YrfDWESEPDV8Y2aSi1mlkcxaGIwWlFMECkGXmpJUtqtCZYO+TTi+kJuvMJpYKSzRriiJdYwr7dKy2u2ugAuw8LxYxqgURXTLHxkG5a3rAgfQI2ddjkmSGAW+Rikx/qMmTqQFRcabpCBMt14mka4rOAy5YygFn9dJc620muJqp4+KDixnTFwntXJN56q8kodFSsch7HJliNQcc9x0vLYBBqJQEkxAyJt0noeBJaFPAbGLu9l6qCTSQ0MTYGNIK0p+Xu6eZDLeySC+KZYYCwGUt4OCLucNCoe0qh4QLtYhf2i4/iEI5hFSXXsKhJxkgidT60xKE4PJFk8QbAaWJyyhJJopmFVlf8n552MlhIKWodorLWOpmavWHAuouXW+ulC1FDBO5tQlXZgAJYSIMA9HoSr7xEdJiJ3VkoRVCVwuT5dQlG5Ixj579MTpxQtbZ98GZcJQhEH9oeHmgoDLxVcJHFiL8zVjqvshNU1VOLNMPgfRnwRWssVC5OdErzk9J1vbirOIin2dFbiFOABODqYoqrekr6wxqtRyDnTxhYAoCXQBupn70mgi+ddH+84cdAl2dVtbSwgspqgwuGq+J1MVFtJ18gLMxefhD08wdZY0MXiLlGkoFNEPisBMtJBThSmTOhB7hgRbLqx1gc54Rk2KSS0xUFg2kxO95rgbW9tK+5nIa6yvlktLoML9okpFjVEllG0uN18jrx2rY54hJUExKLPANZqtrQ04a7z16PGBUJKLJw8fH7jtnPktO8BCSs7VSv8AwtIUzPD18jvUG6G6CXdCFcJxUS1THhgXrCPJ2TysPj4eh/ZKx3CqjdFhc0RqwdLzIZIw/DKIFfGabLil29Dov9/ggW4cGKQHY7Ceq16HqkAVKhwXOBxgbr7WdKsqbT05LYRgdzIz+xbOb7m3t3dgB0ihOtY/sHLBvJY7wSLs2RTJQdQynN2mRo+TcR5UbNrd1omc6jMvaQITIEZjYJjDR805B+FtNPTvy0lQuM0jB1r8aZVe6dueSPefnMT2mBjrDqkFYyn2ZAmCTc7sQ1efFKqrk0w8KuNUfqviVCRSJhEBvphzLDyNy4yMN3/LBq5LUhs1pgcpke7dJUw4NgbhGZvo+2PWOZt5bDPTzxcty98y3srPY06gTa3ybcWxq4GzsW4MHXDWzlILgNE/WmjCh2GDPoxvy3CCWoePLCfr4JCY5jZNx6QuPdp7auvR/tMPxsf4bUuWtJjqXnW0SGEBzJLqi5nIEMDmuimXVEL6/uIJdfGl7kHJ7ZrYeI4ZNB4Lj51MH18POEB6sCVC+ti5+udg1SbtuElF/7Fxka8rR/07BIUVj2fk8xgzqSRSNoHSPg+3GyYJyFSwaXWpzJvfBvW1kx8r9HmgOxlmGGroQBF7RCJVSQMTtJjAjtscrSw1fiU/tx4RV/YLLI6bEWsicbIeBdw5x9qFbXM2H+k9vcVTK548eHDgajOFqqIipbrGOLZ4L+6CTDAIjAJfX68oO8spViiOUc5X1kP+NSvujEEbByMUFm0WrVlDOINHMcKB0uvR19GUa5Uf5FbjnRAsPLYmLJoVpoqdKzUg6zm2K+Nc1EE0njrfdNffs8fGc8D9cJB362hSh68x+nmIuDmW1Jx5bUV/HqdNcDnWZ1nIW+jzYOAskRoSfGMDV3ZyE5OiMEErfRdrRqoiha1q5E0PiVL5EQrkTbVd1DZ7ixQq8NSCqUJVEZFCcRpnfJW8JgNNQtkOReJj0BMRsH6E8ZvqhLIt3X7AclAQRwUEB4F31Mt/F//GZoJYIVwO5ljhXB1kM1HXHBn8tLO596YeO1OwjJDN5TTVolAFy6AloeecET2fx0mTMuuWrTgPGuvy75Pr8zCD2YGAKkAaOj+P4Angd/hBuc9bZCka7MyLjQ+hDMi3Ex5W+E3a9QBE1RHR8TvMEKpH5Z9XgwmUPSSLzdaGgd8kbzulyJRcINMNYq8cW3xjwDfhsaFM4JoVrDgxyvgmtKywmWA8AqEx+U2OjsuZ5aiMqUT1u+M0cHCPSutlZAxgeCx1LDymtuHf+BweW687TgMHykg0ddyRKcfFTfv38JwVA8fGc47FJx9j6jkX83mMmZTZFzw/ezxKz+dx7HDpBW49vsZpn8fwWHG/D6MMCn5LJOUusxS3UCZdD0BUFZhlqrcjLwqVjBHuxxgVmEBZRQrTtVFM8MeM6z68oByCEvGCUFPfNaEq1wWCWX1MnazmvjBxAMKBaCRjQDrr0snY8PFoxiAfjeWP2eBz+BpNsCLRiRhS5nHxb0yh1gZiPD7+nS/xAl+jnnN60EbxUd2JWc4Zn9P2jcRgkrWQDaOfR98xcyyp2YG2oj8PM5JU8N/Pdtx8nweuJSy1mCdaUdLC7xkXsGFY8PVWXhvoxSh0PRDOxehvcdH82bfKgYodPXH6HiiRaSKFrjiF6U+jRpeCnh/kiGCdEWDrRTpjp0ZaQGACeHHw9AeIx5YXSMH6YDHgiwdR0EqovYeBbRRavJ++MNfLWEpWf7ySMSDhwIiDeuaGj0d1DPK5jh1LH3t0ynHxbxyQCw3EuVAtjViGBTflnPG5eBHH1vt5jJhkSc1ZeH7Rn8fYSOnJG3MC8/M+n+3zSMSge+4UVx/+bo1aRVh0GMUDa0MaEQ/8d6QrXXdFlanXg3TBbyw0jhgZZ3IeQ45X5bAUZzpT08/1EPe5bpUv7Dzad/pWKIFpIoVxlVGFG2pUNsz4LflmaqMKWx2HyZXUPUyEwCRwtqjdlxdIMCqy/2jxBz0i+FoZT9qMwuYucaaqlqnJ+HfldIPKJJmIGQKxvOMyKAUz0uDr6o1XUudTEifSv9sNboPeBxQPd3pCiOKB1+qo9Gjk2h+vYZzAjafc8YaKsWZeD1J3A/nGEbwWZQxrI5QAijaGDtwmeGSI/BRKmsjGkpaWsEth10k77JYjvQOdUCTTQtfCxZvlD7VjFHi4UPYagi6FqIBweqYWrAWYVCID40QxNrk7p7xwQm4T+5K4pTUVz5gZRxVYPSXjVz2PcZCzu7T1VFNEJV/VypSbFhiu4aInJibem3zcX1vpiqxVhBldebFFRinfiRnJEwsXtRk+B6/8LWmTvlGm/m4D0mvQVcx1o5bwArZK82LEAKuRs+ap13dC8HljDNbJ37i/nsFWMIgLRF9mMrg6JuQYR/B6lJZUEMW3gSm7wCDomZEeYez/1e0GStSwGo+ruKQ0XEd19MTAdUwRT/b2DlxaTK2/aSIVU1LWACY2eBgP6YkbyR/nfkVaSqrbS1op2uN4UaAwTN3fK8R+Mxc2pGZSE6OJPA9fVLqqatLpvXhBYLxKTCwODBcbD5Mz0U3yjfnlB9ddK6QrRc5UteN60qnNhDmYUXFi5eWXQV0JInWmv7RzwPTzOS1FVVLvGAHersV58LYGlP3FHEi1pgR0y0F9tfYYXt9SUAY1Gw+rv48qsAF/yziJLOb6QNf7+JTHco0jSWBqkhOe07h0JclrSbf7X1pP6xPplPRaoOao5UApIWNzYWtL99HjA3cmucBECsMZf9NjUhmlScYEXK/Hhy3N/FC2x/EHn63nUmrGZR7Z1mbE0vEdPP8pAgUeXlxPGbzY5cWk1iLEiwRT34GwDDPq9gXPOx8qSSlV1DOvH5d0vZViMWD23dTHpAt+LV4fSexBFkv9e/i4OoksArw+eJZzxMSNqfGnBFerSqhIz0en3liZ9Jis1lqumO2RIbKjFpZtYCWN2VjrTx4nXEwixSSRwiSITFHRm4iALj+9iw9xP7PXM6WDtpP+/bh8I2hNjcTBL6aUV/GK4hufZb5XPK6ggrKWYFZh2VJbbYyWGBerbzCns29NiY3msl2j+NvF60MVqAx3ObqxoViyTBhxTBkXfJX2NwqSdCkGIeM89Iwz2r7a/WLFlDCGEOYYFTEvuxEUtsFofMqNQdKzf2WpRoyW1aR9cmBksNZzPKNk+/fHcmRxSZdE53jVVu2sDsxokYGutpJFarg0kSq2RchUzPjNZrtGpi51QCEbFsUnNIgcFc3RAhpk6c7TRscZkf2YMra2Sm6WZfa5BPTVcWU3r4LWQqXg4uaIFCZSSIG6kTHx4MGDA5fqrUjhzpzR5ELPPnpRrQ8Tj5f338qRZqyU6d83yvBYHBrrKPMCGTUhs88MgSi1n1W2kkjFUK7frFXXp57jGn2PmExiZfsSFE5pAUbqZ3rcS3Gb5vla1NbSdeT46Z1un8C09C16XlNV5sTw8BA4mS/99z741FefVsUqk+88/Av53sZgJmFGtQlTRKrE88hV7YJwBoKROx885oZnErV8C+Pslt7egaCe/auiVcevfr4LFs5tAhzbV7zpLWcfx8H+5SMD8Ivu49BzNAzHTo/CO1fOh7/eeCnYkWdeOQHHTo3Bpi8/Cf/xibfBgtn1cOz4afjiXf8DQ0Pj8Oc3XwMzBTMsqdb586HS1DeYY0kRFSHsM5B1WK2UmjQxFXT7Gcn2czcK5T5wKK++8rvA0KnD6zd/4H2h0yPKLrUOmlDgkT2Hgo8+d3Tl86+fCg5NsUq+/fNX4Z8/tNKW77m1qXa9FKlgz5Ew3PClX0S2fvKt2++97/+pbQq+sfWJyOYPvGVbYK7fNP9431DE9/jTBxY/+8vngt0vHmq//c+v2fmB964KgQ14+blnMdC+GkpgVn39dvn7LvoCO3DgAMZCSoqfzm6o2yrPYRAIx0GFchHzii5kgtl+R/vOrMckCnQB5tvX7dQvYu+vf7n8khVL186+ZN32U0NKCB/74qMvrHxkz+HVfeHxrIVml7Q2hv7zTy7fadf3/JbzZu/f98bpIN4/MTju+/C9T633HTqjilI0mvD9w92PLP/6XR8tyT/+0FMHF+/+3Yngi4fDwYMnhoMwLD+Knn3qczt+9Ny8D12zqqQsMrMYCg9AqVxxxZtDbl5C0DsZh1K5YPn5VA2BcCxmJU1kQwh2JyZRyLtL8u3nSHdfb+9xn8/rbqlrWfjAWAwiOPDe/b+/W5dLnPz1nvDffuCinX901bkhsDGf/4NLun+8r3elKh6S8GjMDy2L5Z1xgIGT8JPuI6s/9sBe6B8c89fXuCNvOb819Kn3Lj+Q75jHzoz6vvnkG8t/I63K34bC7ZF4crKPvVEaC4GF0qw6CvsOnsaF3IZX/1vB6dOnSypQ6vXWRObOay3J6hw4fbqkeERjYyPNxAlHw5k7BBaBFpS0pkJHe09tXtg2Z2uu/RwpUm1t8yNy24PZex++7+m1T77Yl9MtdPVF8/bc9ZHLdi+YVe+INFK09G7496c3hUfjqUHaJb+iZRfJaGMCom6377HnjnRq+z75Yv/qr+46EH7oL9627bKls9UBEUWp66UT8x5//mj7y0eHgrmEexKLzlO3cAkFd80mMj5ekkBIgSp5BhgeCJd0Dk1+P4kU4WhcSWt79KWsKY7W1NZc+zg2cQIH4w9++emNmtUxFZ+HR257/4qdf/G+FcUvTKwAKDYP/cWV2+78f79d88yrpycKgbonf1X3fPACuPWdS+Dqf9vjv+Hff7Xp/Zct3POrAyfbewfGAtOsJQcSjURLeg8LFy4oSwPMfMyaNYtEinAs2J6jRWcPqWLRY005VqTe/8WuTfncezjQa9aFU3Dt6l6sBFsHH3/x9OJXjmcXX43gnFSr2eDsWuh65bT/u0+9sQ5KpEYKO9iESDRSkki1traW/N0fO3q0GUpgzpw5JFKEc+G8LBO9tDV1B+SwphwpUujiyyVQAb+v75sff8t2pwmU+79/3e7+zi83HpbuvYfmLIJBln8J23Vfew46FjZB91Hz1oYtCzSGwCYMDw2X5Hpsv/DCiltSgbY2EinCyYSgDKStqTtyZfo5bjHvf/z4wPJcMSi0oJwmUOi2/NgDe9ec938n1/5LQwuck0zAF4ZO6XqtmQKFrLlg3gGwAf39fSW7K69YvbofSmRocKgWSmDhOYtIpAjHwl3lESkVwbYxJu7I9pTjLKnvPR3KmSThJBcfZiRicsOvD5zq0GJIX2qYBW+LReDD48PwI189PF5TD+UCBR6zC8EGvNpzoOKZfcjY6GgNlECz3x8FgnAgZlQ+N0LcBzs8Mbjn4MEB/9Safo4SqeffOO3PlShx7eWLuqYKFFopLxwON7/aO+Kf1eCdNmitWNCkLrIsh7DhuTyy9+jiX79yIpgpTFP58+ZW+OXpI/CVwRPw9NzFBd1+ZoBJJijwYBNKzaozI7PPDK5cc5UtzoMgDMN4CMqIWnz2+Olt2Wr6OUqkHn7qYHuu525+97KzZfvRSvnKE690Gs10a673hms9rkit1x2pq3FF6n2uyLzmOlXAFs6pC7fUeSOa2GkCN5WXjw01nxmJ+QbGYr6jp8b8uKbpwPHh4CCuedIBxqTur2uGz44MwMdHw6p1ZSUoUF/7s1W2skAHBwdLsmDMyuw7depU0RYdrZEiHE4Iyg3jO7K5/BwlUsfDkazZVpiVhoMsWiub//PX6188Em6HIkAhma48p6HcfK3eDzePDaob3rfKmkIX3z2bLt++7tLKp2tnMjI8XJIldcmll1a8ygOtkSKcTFnjUWnSCRQPTk2gcFTixGg0nnPwwoSKd/3Dz28qVqDsBIoSWlPNiiLjU9ZUdsdFzj/7+3c9YDeBQvqO95YUk/L7/eNgAgNniq96UVvrm9E9iAjnguujyhmPykQIIcMOSmfmY1XRqiMaV3xfeOSF68M6XWpOAC0o5H0Rc1t0YP3Cuz5y6baHb3n7LrtW4RgbGy3JkjIjs69UFi06h+JRhCNhUN541GR4F2NsTeYjjnL3nTevsf+ZV8vvfqsEaE097a2FK2Pjalo6xqqKBeNO775k/t6b33NetxOyH0up2ze3dW6fGZl9SClVL2iNFOFUWCXiUWlUl1//mUczs/wcJVK3XXth9w/2Hl4TkZYTzAC+V9uoitQ10RH4Wp2xcRuTQC5b0tLzvkvnH7B7Yd2plFK3r9nEWFApVS9ojRThVDwVFClEUcROj0/ZAOkKFI4SqQWzaiP/eP3K7f/8yIvrzxZgrWIe99XDVwZBClVEilTu/dBS8tfXhFcsbAq1L/T3vf/S+YecVnEjk1IsGLu42YLnLqUeUoQDESGr6/UVgoPoAu5Cl99W/Ntxi3nRKpDbfU/sOxb4+H/t3VTNVhW6/F7weOFtsel5ABhbWnfZ/G6nC1I2BgeHip6ALFt+vmnxqFJKM1140UVkSREOxBWCCuMCV1dSTKSiO7bA7LNvnJk3E9x+v5JxqYtHB8/GpZzSG6sUYrHiLanFwWDFxYHWSBEOJgQVpq2tJSTjUn4tLuVYkXr4qYOdMAN4wZ1a13pxIgqx2Q2OLJ5rhFLr9plV5aGU86A1UoQTwdTzQAsLgQ1gArpcddAp7+5wpEihq6+a0s3zoWX1LfO5wnf+zdXbnNK8sVhKqduHmX1gEqdOnipapKiPFOFEKpt6PhlFEYc4F0G870iR+tlve4MwQzjs8qi3nz+3sTte5QKFlFK3z8zMvlJax1MfKcKJuFxgmwaxjIluYGryhDMX8+4/NLAYZgiDnANrikdgrTcEM4BS6vaZmdlXiliambxBEOUAq57PaWK2ESlMngAQHXjfkSI1Gp0Z66SQVcvHQnV/eK/P+/LNJXfedQLHjx5rgSKxiziYVZaJIMoFE9w2AoVEfBAGAUG870iROnN6YEbEo5At7x3rZnVhYGPHAjADKKWHk5mZfaVYdHYoy0QQRrCTqw/B1h3yJowZfo4UqejI2IywpPz13nD7OfNn1IBXSnsMM/s3lVKJ3ayyTARRLmY3Vj71fBoMwj4fOE+kjvUO+CJDgzNCpDCD8Tvd85tFYFkoseQPdsMMYHy8uAmImZl9SLGt480+D4KwGg68mzFmu4kVExBKAAQdl933Qs9hP4yNwEzhjkf61r3t73/zwIILqj+zDym2bl+zyWuTinU7emuoRQfhLOzm6tNICjHIQQk6zpJ69Y3+ZhieORm+aE195jv71sAMQcaCinL3rVixIgQ2wKyuwARRDuyW1ZeJtKScVwUdeeHA0QBE5WQ1KQ1Bg+0rsKTQ21cEurEVPP69dG6dWgQU270fPjnmPx4eaw6dGAsMjEb8dipg++SLfasfeupgzw1vX1LxjrNWE43EirKk2i+80FRxKDY21traSmukCMdgt6y+SciYlFRRv+NE6uChE6kst1O9APMWGXkpoEB9/aZVumI7WNXi2ddPB368r3flwRPDQagwX3nilU4pUtugyim2bp9090XBBgQWLKDq54RjUAC6wcYIAc4TqaO9p1MiNXDKsEhdtKhJd6YctlXH7fN/cEn382+c9j/+/LFgJQUL/11pTS2uZmvqpRdfLMp68XprImZm9iHFto63Q4FbgtCDnWr15cNRIvX8bw/6w0NjqcEDkycMuvyubG8taiDDgq5y6660YFW7NXXwtdeLEoa581ptEwda3t5OIkU4AjvV6suHo0Tq8V/snyiHhAIVPgkwu03Xa2s8PGJG9fBMwcK/v/vL14PdB8MBLZ6Fj50ZjZ4dbFkyLk9zwA/YEyqRADWehgI7PpIS2CUrABr1jc0zwZoqBrskK6BFR2ukCKfgBegCB+Aokfrlr3vaJz0wFNYtUvNb6i0ZyFJNGHMvhPuHe3es/NpT+zZkfRJFq2efPLkgwIIloIfHnz/aXq0idezo0WYoAiuSFYrJMrSTRUcQ+eAM+lr8zBFWv2NS0HER74sHjkwWKYxL6eSic/whqABLF80pHEg/HoL1C5JdmH1YaNd9BwfaoUrpO95blLvP7My+YqmtpTVShDNggu8BuyPAz0CEHCNS39q+e/m0B9Hlp3PNlJGkCTP5o9+/MuRvqit4kgv8NeGX711/37VvWpg3+7Ca+2iNjY0WldlnRa28YlrHm1mFnSCsxGODDryFEAzUa9AxIvXwI7/qzPrEwEnQQ7FJE2bwt7es31lonx//Yr9alv7rN6/uevxvrr4vl1Wlx9pyKmNjxqtN2CkORC06CCeAZZBaWuzv6uOMLRbgcoYl9Y8yrnM2q28qpwprj1lJE8WC1tTffOr3tvu8npyD6cHDJ4IPPfIrNTEkda4s637nz28KQZVSTNq3FXGgYlvHU4sOwgnYfW1UJswFYduLFKad57SiEOny88XH8s6krUqaMMJf/Mnanh9845YH8rn+7r7/8XXH+gd8H7t/T2cut94df3BJ1RaajUaML+S1IrOv2Nbx1KKDsDu4NqrNAWuj0gTjo2BvSwoF6oZPfnVTTitK8uHr3rrr3avP35vvOJVKmpjKZZcsCT/0n5/Ylkuo+k4MBjbdvm39Y785mrVW3xXnze6upEVoNZFoxLA4WJHZV2zreEo/J+yOdPV1gXPwL1nSYl9L6qFHfr04n0DhQP/gv33sgS/fccOeqy6YG8p3rEolTWQDhepn2z/3wEXLF2atmfWSmJM1ew9jUdVsRV377vfcUkyywq4f7+oEk9n6jW8WVdD3Ux+7eT0QhE3BYrJOSJhAjh4d6JBmXwjv206k0HpacdVnbvn0P3x3cy6BWrK4NYQWybp3rFRdPbhWySfjTtn2vfbyRV1/8b4VtiqiuKCtJfLT7X+z/dr3XDpZdOYtlAG07JP4ezZdvr1arSiMARUjUFZRbLuQM2fOVG3mJeF8sJisExImEMWTDIokqOtBbSdSv3v1uD+fe+/qt12w5/923rENLRLtsX/8wQsrI3Fl2sCCAqW3oGwl+Pq//mnXWaFCccpRixDfB9YRhCql2BgQUlPjJRcbQejAKRUmEKYwaUkJNcHDMRUnMDPuo3941a7P3/aBaZkpDz91sHPqY3YXKA0Uqn9fvqvvnp8eWh+p8U0brJfUi5AT3kcpYAyosanp7KSjYTSR1yIZqXef3XdeYJ7p4t0ya3Z4cHBI/Te8McXnzTIBQmLSeo95Jyx4WsxL2BcRcooVhXDGViYZU+uUOkKkMP6E7r1M60kjWyacUwRKY9A/vybSODx9IBw4CQeffTH44Y+fWPvw1/58F1QpV65Z0ye3+/A+f2J/0PuVJzbl2z/y2GfvAwv5j6/ff3ZdW80tWzeyN/qzxgnF/Ja+6AMfq/r2KYTz8bhc9q8wkYEA6PAocBvet30KeqC1ue9n//O5B7IJFFYk/+lve1dlPuY0gTp2ZtSXzRJUC9CGUqG0J3/9u9Uf+8y3ZkR33tMDozVHY0nAbSgpoNLsPz7of2k8Dto54aYhAi1UYYKwPZh2btfuu9no7R0I4m1bW0sIb21vSX3z7j/bvmBeS1Y3yv0/fU3GopJnLRBM0Xaaa+wT33hm7VRL0CdikUjPPp9agDbNT365f/Wx/oG9uT6LauGO3a8FfvRC9pqMi2pc6i1/2xc3veWt5/b8/vVXHLj0Tdb2b3r/rw4Fcj75m/7Vi3/2WuDCixeE3nbV+aGNH15N1ekJ2+GwtHOI82QHS/L92t+2t6SyWVAaTT7XpG6s85rrHONzRf7jx68sf+bV0x2ZjwX8vr6n/3X9fde+4+JJYhuNJnyf2fJw1VtTB18/mVMUjkST6nbo4Mng9x/as+6D1/77LRs3/Mf6fb8JWZJVp+e4eC4/+t/uzr/99H9vvmjpZz977bu/vPFf/umxlVadE0EYAa2o1hbmmAoTiAvYesbYDu1vx9Tuy8Zt117YnZl6/uLhcBAcxM9eODYp1oEC9cO/uXrbgln1EUyowEzGzOfR7Ycp+lDFnDk9Yuj9/eaZgx0oVp+6+dumC/iBHmNV2SORuO/ll461/9dXn9yA5/ROafGRYBEVhTug2vkUhGCdroxMREeL1IJZtZG2jJJH2BQQYzzgEMYiibPn+mbpqtx31/sfQIHSHrvr7z68e2q9v0/+3beresFof99gAIrgx9KaQVE4dmzAtO//he7DRZ2LBlpZmmChxbf94T2LgSDKBFpRNQo4JhaFpBfxhrV4FOJokUI+sXbZJLfYnf/z4ipwCHOba1X35NUXzdvzv7dfPa1SOi76/f1r3zzp/WUWoq02fvLjF0oWhT/+0P0bwSR6jw8W1YQxG2jxoUvwTRf83S1oXZkppgSRDWwP76S0cxW30imSYtKY53iRuvqi+X2ZLr9nXzvlmKaAn752xd4PXxnc9fAtb8+ZXn7352/YE2j1T8oi+8rWn3VCFfLG6ydKFgUUqo/e8PW1YAKHQqdLEs1sDIbH/Ghd/d67v3yTFS5KgtBw0uLdszC2CRjfkfmQ40UKXX6XBFvOmrR94fHAQ08ddISlgWWOvrzp8oI+47+66b2TRAytqR8/ud/0AbTS/O7FY6a8p18+2bPajDhQZDxmmbWDYoUuSs2yAoIwEaf0jMpETT0X4F/U1tKV+XhJKeixaNQXjcenXchjY5GcM+Lo+HjeweOCc2f73rF6mXq/vtYLrx54veBs8yOXNvuW1k+ka8cGTna+ekAJgQPhLnfEM6UO4VWXL4Yb/2B136Gjp84O4l6WWH78WF+zy+POmZLudbsibq9nUgZkjccT8dbUlCWNfXhkehJEvt/GodDJIJjE3V94bP2WL7wvBCVQbHzMCJpl9fxzoeCXvvwHe+bMa1S/r3J+T0T14UQrKiGUW6VITQt7sN6B5JZCL0Yx6us7sTweV3zxWNSfTCR9SUXxKUpykkAp8jF8PNsxkvEkZThZiMvjyjlr8rjdk57j3BVx8ZQQ+urq+lAUZ89uOVTf0KB75iUFcvnoyGggFo3544m4X1GET94vaVA/HArD6GgMzKC+3gPnBFugWMbkeRwKlXciOre1HubMrc/6HOdMipZXdfv6fL4+l8sVmT2n5cCs2bNoQTExCbSi5rWwHeAwjvadOegS7OrMpAlEl0iVExTEeBbrrBhwbVEiHitrgNrt8UZqatymzYCNCIedGM1iRY2O5C4cnJATn0QyUQM6iMUStUJRdO1rNTU+r+7vx+1yR93Sus36XJbfjYesKaIIfMDvdZqr72jvqc0yFrVpYWDW1VOfs13FCbwozbow6xuAqBDZxNWpgksQTsGJsSgVKVAgWNY6mI5PnCAIgiBSODEWla7VF1zY1rI12/MkUgRBEFWAiyt7nGhFKVy5Q1pRd+Z6nkSKIAjC4WB1CY/idlwJJLSisAxSLisKIZEiCIJwOAIUR8aiCllRCIkUQRCEg0Erqq3F0wUOQ48VhZBIEQRBOBin9YvSULi4p5AVhTiifTxBEAQxHSf2i0JwXZQQ0CGtqOsK7UuWFEEQhENxqhUFjN+B1SX07EqWFEEQhAPBhbtOtKKO9Q/cIQC62gKTyx/lgkSKIAjCgTh14W5SiM16rSiE3H0EQRAOw6kLd5NMPInJElOLyOaDRIogCMJBOHXh7tG+gXuEInYWSjmfCrn7CIIgHAQmSziyyjmIDYkovxQMQiJFEAThEJyYcq7GoZhQs/kWLmkxLK7k7iMIgnAINcC3goM4eHDAr8ahQNxnJA6VCYkUQRCEA3BisoS3TjwohNi2MDD7XigSEimCIAibg26+uU3uLnAQ6nooRQwuapu9BUqAYlIEQRA2B5MlGGOmdCwvB6pACbEhHuG610PlgkSKIAjCxjitskRaoDbHx9mlS4pIlJgKiRRBEIRNQTefkypLaAJVbCZfNigmRRAEYVOctCYqU6CKzeTLBllSBEEQNsRJbr6zMSjp4jPLgtIgkSIIgrAZTnHz4Toobx3cIwUqKAXq6iUmCxRCIkUQBGEznODmS1eSeFRJit2L5s8uOYsvFxSTIgiCsBFOcPMd6R3oTFeS2CYF6lawELKkCIIgbIIT3HzHTwzcoijiViHYjYvaZnWBxZBIEQRB2AQ7u/nS7r0HpUCBWWug9OB+/hj4gSAIgqgY8xohsqiJ77Grmw+tp6S0nrBQbCl1+IqB+f9eDABBEARRERIKuCNx9TYh/+yWPr9uaVLthC+xLqgwmvWE913SvWfm+ie9sGsfxOAXQRAEUSl+eRD2DkYgAgICcgtKkVoubzFItVXe3yYFKwRlJJ1afosAaT0JcWe5radMKLuPIAiighwagEOqQCEM+uSojK3ht8ltpxSqDZCEJ+F2cQeUARQnXJjrqRMHFUVh8TG2pJIChVDiBEEQRIUYGINTv+2DUNYnGWBiAgqVXxWrz4jN4IKrrbCqMi0nAWyHS2GXtrXNCoENIEuKIAiiAsSSEHmhH14vuCOKFZNixeCAtKp+DZ8WnWASmZaT9C4GUZwWzmupSOwpFyRSBEEQFeA3R+Gls24+faAbcLsUq0el+28TlAAuxj3ad+bJSW49m4mTBrn7CIIgygzGoU6NwQgYBa0qIeNVAr4k3X/74S79KesoTJzDmnQyhHwd2xkfg+uWLJll6/JLJFIEQRBlJG8cSg+pWNUuKVSPwl+LnDEqdOW5akAKk7IGGNuMwqQoYrcb+KV2tJhyQSJFEARRJnTHoQoTkmIVkDEqXMOkFndV1zQBdAJTVkolk7ciyAC6hOC7XQo4Spgycfs4+IAgCIKwFEWaPj0nWU+dK+Grqy9u3G1tYM3+WuGvkeN2Y41ofvqQq+OLvxrZ955lMSlQIgQg3XiC7wcONy5sbXFMy/l8sFseiY8DQRAEYSlJRUSEUKBYEtIKiysQGY2xcFywyHBEDPacdsFIjM8b+Ad+KVQp7jcG3XuAIAiCsAxMlCgpDpWfTWpa+t2VL6NkBZSCThAEYSElJ0oUBuv9laUiRSUgkSIIgrAITJR47hgcAGvB47fDFlGVHS1IpAiCICwABWrPYdgfSajVza0kIi2pCIxAB1QhJFIEQRAWUERFiVLAwrQkUgRBEERhXjsFrxdVUaJ4+kDASqhCSKQIgiBMBDP5Xj4JR6G8DMqtBaoQEimCIAiTOD4ExyzO5MtHM1QhJFIEQRAmMByF8G+OwWtAmAqJFEEQRImkM/leAsJ0SKQIgiBKoIyp5rlRICD/vx+qEKqCThAEUSSaQJUx1Tw7XI1HhaAKIUuKIAiiCJIKJGwhUCmC0uTogiqERIogCMIgKFDPHLGJQAnAckgR+AKritYcUyGRIgiCMAgKVJkX6+aGwWIpVF1QpVBMiiAIwgA9J+GAbQQKEdAJLqjaflIcV0cDQRAEURAUqFdPQR/YByyFtAO+xEJQpbi11dGLW6TJSBAEQWTFdgKVikVVtRWFqDEpFCqyqAiCILJjQwsKWSOF6r5qtqKQs4kTJFQEQRDTsaVAYRwKuZttgSpnUuIEuf4IgiAmsKVAKbBamheL5XY1zACmZfeRUBEEQdjYgtIEqsrdfBpZU9BRqBJJSJw7B84FgiCIGQQu1N1/HF46NgxhsA8+wBgU3s4ggUJyrpP63Uk4GheQaJ8Ly4EgCGIGoFWSsNU6KCbHYAXWyXvb4C52K8ww8i7mRVN3LAqRlfPhQhenhb8EQVQvWCz2N0fhJZsIlE9tB8+gXQpUSN6/Du5mXTADccsPwZ9vh2Py6xo/AqGLW6Gdk1ARBFGFKNKC2tcLoaFY4THRQuZJQfKrwiRU994T8u9/manipMHgdnFQ7861LvB5PeqHRxAEURXE4hAZT1a4UKxQ418huR2S93dAA3TDFmanmFjFYEZ2HhgQ/igomwVUbKZBEARhGpxBX2sz38oYs0O7DSILhkQKOSiEr2ZQ2cyE2gmSIAjCkXAQ3a1+1xMkUPbGsEhpHB8U65iirAaCIAjHoXS1tXi6gLA9RYsU0jsgOuWX3QkEQRAOgXH+RKCZ7QHCEZQkUkjfoFgtFGUdEARB2BjGICIE/35by8xZCFsNlCxSyIkREVDiyvWUUEEQhB2RA124BvjWlhbKmHMapogUQpl/BEHYEx7yAewggXImpokUgpl/tUOwQbr/2oEgCKLCuLiyp7XZ8wQQjsVUkdKghAqCICoNJUhUB5aIFHJ8SLTzpLKO3H8EQZQTjD9xD/9+awOzWyddoggsEymE4lQEQZQXij9VG5aKFKJWqBiCTlr4SxCElVD8qTqxXKQ0aD0VQRBWgOuf3JzvmNPEeoCoOsomUgi5/wiCMBMsEOsV/Pvk3qteyipSCLn/CIIwA3LvzQzKLlIaJwZEh8KUdUJQfyqCIPSD2XsC+A4qbzQzqJhIIeT+IwjCGJS9N9OoqEhp0OJfgiDygckRwHgXLc6dedhCpBCyqgiCyA5ZTzMZ24gUQkkVBEFMhnfJ2FMXEDMWW4mUhnT/BRkoG8iqIoiZCaaWMzffQaWNCFuKFEJWFUHMVMh6IiawrUhpUKyKIGYKFHsipmN7kdKgDECCqE4oc4/Ih2NECkGrKgKwQYpVEAiCqALIeiLywyf99WlxK/y1CIIePiM64LPiFl37flpaQbeLe2CLKOyyu11skMd+MNux8YcsfdVbXcB34KpzfOw/fs2X//gABEAHuC9uevZ9Qh7zw9/na48NFa6Igfuu/zZf/+kf81VgMs8fA7/e42rn8Y+/4CsL7Yvv66H9fLGe90cQZpO6fvlWvJ5JoIh8TBYpN+yAJDyoS6juYt1y3xYpKncU3PduGQRVYBBGYV/BY/8r2wFC/oYVuFcVqyy0trDuGvkD58C7P/UW5cB39vGV//hz1gEFwH1f6BVtegb9dcuhr8Erou/6Br8JhaLQvvMaxOBD+2Ddx3bwNWAily2A8DnNyiAKZqF9tfP46h7YUOg8FjRB5I1TouXy/+SfNfucCSIXqmsPeNc8P7+fyhoRepju7kMRScIdUoRuBD18RmyWR1kpxeW2gvt+WmyR+24CF1wNXyrwA03tiwLYDfVy/y3ZZ1voAhxnyvU3/YBdD5yJr29QdkMBPvYI6zSy71MhtvKhjco2FIx8+6JQfnUvW3/tBdCl59hGQCvpy0/zNVs/qOxEgcm376d/xFY/1M3W6jmPf/8/aL/nab7+LedA98PXK7uAICyDXHuEccyJSaHrD+AWKSa35RKTs6BLkcl9jQqVC67Ltz8WrP3Qw2JLYx1rNluoUHwe3s/W6BEqFJOP7+SbLglAz84/VnaCiaBF99kn+Np/WafsKnQeRsQHz/m2H/GNUvz6tukQQYIwAhWEJUqBF9wDY0SFQNefC+6U7rzCrsK72b3SlXebtNaeTItbvn23SNffnfJeh7p/nmOjC7Drz/kGeextKZdCfr7+AdG1qFHocqN9/p2i+55rlO03bOebCsW/0OX2gxuUB145DUEUCtDJu77JNxZyK6IwoUB98jG+vtC+f/FW6PnaemXbvl5ox2Pniz3hOT/0IWWb3Cfw/m18U6FjE4Qe8DpknD8RaHHdSwJFFEthSwqtGS5n7f8qxaUQKVfhg1KwbixoJaUE6kF5Bneqcaj8+25W9wUI6bHA0AUYA+hUQCkYp/ruPgj+6ABfftf7lN2FLAjN4vjwJWI3CheYyO99m6//bR+0o7C8V4pGvn1RRFCo/vNaZWchiwr3veG/+SafGyI/3KRsy/cetX3lxAD0WI0EkQ0UJyH4noAf9jDGyConSkKfuy8lVEKKyZ0F9zUiVLivIi0kgPsKimBK1HBfHDivU623ArRuEY/ee62y++ql+S0DI/EebSB/+xLoNjvuhC7In7zGVv3Jm8SuQiKIltHm/+Hr//JKZbceUdMrPrjvnzzCN0bi4COhIoyCyUxegC6KOxFmwaRQdEox6Sq4pxGhulX4waMK1W0GhGprwWNr+wopOkyKYCELLC2Yn74K7vyrKyGYb30VDs6P97CgHgvJaqF6rIetueFSeOLu9yp7C+2P7sq3LIYQZi7m28+I+KAAfvBhvnFgDPwkVIQ+eEj+r4vceoTZMDWRgUOzLvFJZfItNiBU9wBaSYWsnpSYPCqPvcOAUAXl/rcVtMC0YwPceOJzUqZA6SxUYgkHaT0WlV5R08Csu3eeK0KFLB9NqPRmCeL+TbVsvJCo4fvCmJNeK8mIC5KYqZA4EdbC1UQGAYfUxbaFuIttlQP+fl373ivNfUxjd+mYhaO1FZexJlxLpWdfLvdlMj4lpAgWWqeF+2NmoIxptX4RVmIQN3MxcDY+sYOv1ZPEYDQudXyINWPmX6EFxZjUcUOH2PXY76BTzxom3H9oXNTqWRu171PKA+fNgdAHHuI3FUoC+d8/Vna+Z5nY+9Ef8Jv0rEMjZhIoTqnFuCRQhJVMxKQw5oNrmOrgzoJp5Kn40B1QL11uWyrke05ZaugmxPPeUtAC01yQDLq1fTFtPZtlhRYHCtXNq5S9ZlsQmpX0iVViZyGRM7qGyej6L73nYdSyI6oZspyI8jI5ccKI+BhJkLAKTXiwnh+De3UtKP4rca8854FMUUOxSjBYzYQyybLAeM+KuaJfj8WkCdsd71R2F3KjaYP+1Uthj9lrmNDiefkkm6dX1PSKDwnVTIfEiagMuSpO6M/OMypUWJPvX9h9uvb9K7FBilB3wWOj8HDAWn9bdVXKyJEEgs0W5U1nZoKF3niPtq/e6hRaVYgL50FPIfExkkaOaGn1ZguVlRU1CLtC4kRUluwp6MaF6h5dmXyIsTJKRqpT3Kre3q1jPVdq/y3phJFp5zF1nZURNxqKz+M9bJWRMkqBRuj75geU7YVSw42sYTKSVm9EfKysqEHYA1znxBnv9iiwh1LJiUqTe52UEfGZcLvdqWf9kmVllIySEsz1Mg6X1b2piZWQltWfPcI2GCmj9MhLbNUX1io7C8W0tEEfrSSz1zDh/nc/xVfpsajQ+vr8T/lGPeJDZZSqE1qES9iR/It5jaSRI5+RbjcGXQXXLyFGRBDdflw9D12LeA2REsx78lmNQgjfyTC0/+WPlVuPDepzo6kD+eN84yfeAk/oWcOk10qycg2TEfHJdEEWsgIJu8NDLoDuuX7oIXEi7Ia+ihOpZIN9Uny2FdzXDmWUjGLgPK78D9E5FIcvfuv3C5dR0gZyPWWUMoXq365RtheywKxaw2REfKiMknNJd8MNCenSo3gTYWcY3C4ezeXumoQR8bFDGSWjGDyPgc9CWHMF5lscbKQ6hbbvuHTn6REfI2nkCFph/cPg01vvj8ooVR/k0iOcBorUQTkYhQu1wlAxIj7FlFHSE9MyUkZJI2WFdaiLkQsdO6m6Fe804lY8PiTauYAOoShZq54bESqtKkTfMASsWMNkVRklrCN4dBACeqxAoryQ1UQ4GZZRZgh093jSKz5GMvlS+2P1ix1qJ998GCmjpB0XEzX0L/q9R57HtoLngXxadMrPA0tFbcNEizhAMNcCYRSfNy+CHj1C9fEdfO2zR6HDijVMRsooaeKjx0pCAfy/w9Dxq5uV+yiZwg7wEOPQM68JuslqIpxKKiY1Ud/Or0uojIiPkUoWiN74V0pMtHPWYwVuVc9D71qqEuNwuOaKS+ttqjsQY0n4oetJ38ZB/8k3YLUVa5iMpNXjeew7Du16rCQ87pql7OANHcohIMqO5s6Td0NkNRHVwETixITLDV1jhbPojKSRGy2jtEWei95ySynxWS/vXV3wnLVOv2iB6Y3DeeW+X9Dh+stjYaI70JWEdsGUdiHAh4P+yychqGdhrhEryegaJqNllLCNyF+9HXYUchXqKdBLmIe2rimpQA8JE1FtTM/uS1VvwKD5dTrdbvfobslhVRmlCfHZXNDyMdCSvqjzKOAK1QTrj7eLm/ce07foVxOqKxZCt9lrmNACOzLMmo3U+9PbRoSwDhImYqaQPQXdyKBvdRklI/2uUudcuH3HhFCFTF8kbKyixhZ/LdxipIzSklkQ+p8PK9vNXMOEhWz3HOaLzS6jRJgLCRMxE8m9Tmpi0C+cbJASnzt0xXpw3wQEdSUlIAYHfd3nbLAlfTrBZJPORA3DFTU+fRXcePtV4FMU6RLMkdKuVUWXwhZ2ShklolTU2nnqRsJEzETyL+Y1MuhbibH412ZILfotfM6YmcfU5At9LemNr/+6R1ccbkpFDS1LMKnGByd3E9bceVasYdJ6aOlZ60Q1/KxBSxeXd0OUlUcQeipOGBn0rcRI/EsTH6aupcpvgaWyDx9VW9LricMZseyMVtRICeaWqS5WzBR0cWhPCAhiOxGjZZSsWsNktDo7kQuylggiF6l1UvpKEuEC2h26XHraa/TV+8NB329JGaXUoN9dMJNvckv6wnE4I5adyRU1sI5g7zAEH+mGjk/+EL7orwG/HvHR1jD983vg+3rSw62oTkFo8JCcdPRhbCnghz6ylggiN0wOuAOgJ317YiAPy8H5ap1llMyvTlHMoK+nosZkodIbh7vHQINI/VmQeitqpPetcUFg85uUB7a8k0v3kBLANPdsuxspo2SkOzEJVW7S65b6cFGtUKCPRIkgjMEMZ/LpHfQRY0J1a7q/k94ySkFdlpqRihoTi5o7DAiVPsE0UlHeSEWN1HGfTJ+z+h2eGBEBiENAYFyLQSCz43AxZZT0dCfWKmrM5Bp+KEgK8LCbSdedFKRR6b5bQv2YCKIkUjEpo5l8xsoo6Rcfo2WU9GKkosbklvTmChVirKLGk+nWJ3oyG1MVNXKcsyZc8rsIvOu/lOt/2883WVFGCa2veY1i8OvXiS6oYrQEB45JNyRIBGEZE4kTRoRqYvaur4wSZq+5YI3uMkp64z1GmBAfv7Rkri64/8Sgf13B1iBGuxMbszC3qiKvt0KGwRT8lfNh666PwgNysPXLGEmAgeLPlgJvpDpFNcFQhDjvQzFS5EYuO4IoL5Oz+4xk8hVTRgkH0DqTYzhGSVkyi3WdB55zvXTd6BFLow0ijcbssPSTXherfqHKmRCDlldCAT8XcpOiJQdo/3v+S1l38Xw+r5qqTaAIKYxH5DfR5+borsO/IRxNQh9ZRgRReaanoBvN5NPKKDE56JtpcWhutHo5MG8xebAwMugbxVhhWv2u0NQ5b9JdqT5VUaNwMV2jCTFpDg4Iv08Kl3CBD4VMWhg+tMA4l7d4n+Hjik+ehy9XIocVqG44IcVGCg+TtyK1Bk4VI5fcEi6ISDEKj8YhQiJEEPYn+zopI+nbiJGSREaz875k0boRI4N+Mce2op2JkXOeqKjRXVB8jCbEFAkKG97We8CXjE8WLhQ7dzK/mCVhcjJGJONvEhyCmGngwIUNET8j9qn3C4ED6GfknPl2cYeuY6MVUWnwHDAFX885Gz/2Ft3HxUnBX6qiomffzXI7qOs7wVggvj89+0983/qOTRAEUQbyV5woJpOPSXdepatTGMHKihpG3HnGjosVNdBKus7A+jbQmdmoPyGGIAjCYnjeZ3GQ4oCZcGHpa3my4Az7btXVd6McELcYsk62CD9UilRL+UvlOaNV9SCYCX4eAg5ZcNwuQIFCl+ztYlPeffE7jMn3p+c7vFe6zOLy+xawW903FZ8kCIKoGLygmOAgF1eFqlvXwFXMoD8CmwsOthopt5S57jm0RlzynBl0qu5NM0Uz9Xncp34Weo+LFlihCQGec2oCUXhCMFl89uX9DnHfu9lmaX1h0dgn5bE3AEEQRIXg6kz/dnFP3r1w4LqLXXd24EJ3Uz6MDvpocSiwRJf4oGgq8shmC5VmNWIdwVHYZ2pcJvV53CmP+6Cu4yZgq5oFWWhCMGHpbtYlVCnxwazDwuLzZXar/G3cJze01iofPyQIYgaDg6Hemf5EgkRhy6eY5Au94oPWhhUJD0YTCFKf3T7dn8dnxJO6BfAz4t6CE4KJ4+4z8Nlp3+GtBvY1/7MmCIIoQComZWSmfzfbImfXd8ptK3xO50wfrRN9Ma0tcqY/qGtAROsrCfsLWoFGMRLDQeIQUt8ffh56XKeYeo9NH/Vwl2rNbNAVd0q58zp0uVgnvsN7Cp5zat/bDMcZCYIgTMfITP9WA+4wzBrDmb6R1Gm94pOyZB41PfkCzxlLEqVSuPOLsWbJWGVxGLEwcTHx7To/DyNWUir1fYCEiiCIymLUJaUXI4M+YkR0Uuf8qCXre3DQTw3O+WM4E0JceaFKiY/R9W2FJwWpCcGA6dmKBEEQhsAB16qsLr2DvlGsElfEWAxnq7qv3oEcY05WxOFS53zQkFDpiUtmxhkruXSAIAjCMowM+kYoj1DdYWBffW43dKXpd+fpd4UaEaqUO0/oEh8rP2eCIAhbYFXWWMrt9qglC1FTZZSMCZVet5tVcTitjJKezwOtOr1llAiCIGxDagDVW4duswE3061gVQznM2oCgfkuS60enh5BmRAqI+ns+sTHSBwudVx9QoX7UA0/giBsAtcVO/ky26F7AW0cdoCRMkoKXKdWpzA7lRzTtxXoMORSxPMtdM5fVtuRYLr35oIxHEzfxjJRAEFdn0dqKcBtMAqFxSeVzn6bWlFe33Gv1lVGSatkgVUd9ZwzQRCEhXC1KoSe2Elqvcwh3SV49JZR0gZ9bNdupHSQHlLrrvyGLDX9g36qosaofI/5zhnLIgn1/fl1fR7aWio952F0X71llHDff2VLdJVRIgiCsBCuLlwVcqY/qmumv1XXAtqpZZQKud0mZu+dqhVhJimh0mcFTgz69+ge9PWUUUoVhL06XXO+cFkpo+cRl9ao2WWUUue9WV30SxAEUSFSwyYmG7gAG/Wt19lQDwfDO6DekoaInemirOaiNRfkcF/B95dqWYFu0DtNbYUxsW9Qnsvmgt17tfPQ08kYwTgcg66CHZK1lhxMumad0lKFIAgincigL2CeCtzrXQtkLJPPqhTnVNLDQd3uK73JF0YqakysM7Jy0a++OFxqTRctzCUIwrZMb3qYagJ4C2DAv5AVYQStISLAVmmB3ZbXArOy+V5KoLDJ4b0FLRkArRV8uKAVmNp3qzzuekDXXr7PLmUxoluzw6Jmi/rb16cs3ZAl1itBEIQlpCwZ84PleEyMx+i1kFLrdsw/j1T7+k7d+xvdV8/+qTJRnYaObQSrjksQBFFG/j8PBBCz3Jop0AAAAABJRU5ErkJggg==", Zu = To`
|
|
9235
9235
|
from {
|
|
9236
9236
|
transform: rotate(0deg);
|
|
9237
9237
|
}
|
|
@@ -9239,7 +9239,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9239
9239
|
transform: rotate(360deg);
|
|
9240
9240
|
}
|
|
9241
9241
|
`, $u = () => {
|
|
9242
|
-
const { addCashflowEvent: A, addCashflowSequence: e, cashflowSequences: n } = RA(), { cashflow: r, common: a } = x(), { completeOnboarding: i } =
|
|
9242
|
+
const { addCashflowEvent: A, addCashflowSequence: e, cashflowSequences: n } = RA(), { cashflow: r, common: a } = x(), { completeOnboarding: i } = Jn(), { isDirty: o } = at(), { isMobile: s } = GA(), { setDisplayedDate: c } = mA(), { filter: u, setFilter: d, transactions: h } = uA(), C = gA(), [m, f] = ge(!0), [y, v] = g.useState(G.EveryMonth), [L, T] = ge(!1), [w, D] = g.useState(null), [O, P] = ge(1), [N, z] = ge([]), [k, F] = ge(""), Q = g.useMemo(
|
|
9243
9243
|
() => h.find((hA) => hA.guid === k),
|
|
9244
9244
|
[k]
|
|
9245
9245
|
), q = !!n.length, J = async () => {
|
|
@@ -9252,13 +9252,13 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9252
9252
|
if (!(N.length < 1)) {
|
|
9253
9253
|
T(!0);
|
|
9254
9254
|
for (let hA = 0; hA < N.length; hA++) {
|
|
9255
|
-
const SA = N[hA], ue =
|
|
9255
|
+
const SA = N[hA], ue = bi(
|
|
9256
9256
|
SA,
|
|
9257
9257
|
SA.frequency,
|
|
9258
9258
|
SA.nextDate
|
|
9259
9259
|
), he = await e(ue);
|
|
9260
9260
|
if (he) {
|
|
9261
|
-
const qe =
|
|
9261
|
+
const qe = wi(he, SA);
|
|
9262
9262
|
await A(qe);
|
|
9263
9263
|
}
|
|
9264
9264
|
}
|
|
@@ -9308,10 +9308,10 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9308
9308
|
/* @__PURE__ */ t(CA, { mb: 24, children: r.add_income_description }),
|
|
9309
9309
|
N.length > 0 && !Q && /* @__PURE__ */ l(eA, { children: [
|
|
9310
9310
|
/* @__PURE__ */ t(nA, { children: N.map((hA, SA) => /* @__PURE__ */ l(g.Fragment, { children: [
|
|
9311
|
-
/* @__PURE__ */ t(
|
|
9311
|
+
/* @__PURE__ */ t(er, { bgcolor: "background.paper", children: An(
|
|
9312
9312
|
fA(hA.nextDate || hA.date)
|
|
9313
9313
|
) }),
|
|
9314
|
-
/* @__PURE__ */ t(
|
|
9314
|
+
/* @__PURE__ */ t(Ar, { transaction: hA }),
|
|
9315
9315
|
SA !== N.length - 1 && /* @__PURE__ */ t(K, {})
|
|
9316
9316
|
] }, hA.guid)) }),
|
|
9317
9317
|
/* @__PURE__ */ l(b, { alignItems: "center", direction: "row", children: [
|
|
@@ -9327,12 +9327,12 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9327
9327
|
] })
|
|
9328
9328
|
] }),
|
|
9329
9329
|
EA && /* @__PURE__ */ t(
|
|
9330
|
-
|
|
9330
|
+
Si,
|
|
9331
9331
|
{
|
|
9332
9332
|
bgcolor: "background.paper",
|
|
9333
9333
|
onSearch: (hA) => d({
|
|
9334
9334
|
...u,
|
|
9335
|
-
custom: (SA) => hA ?
|
|
9335
|
+
custom: (SA) => hA ? Ti(SA, hA) : vt(SA)
|
|
9336
9336
|
}),
|
|
9337
9337
|
onSelected: (hA) => {
|
|
9338
9338
|
F(hA), f(!1);
|
|
@@ -9342,7 +9342,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9342
9342
|
!q && o && /* @__PURE__ */ t(CA, { color: "error", mt: 16, children: r.confirm_error }),
|
|
9343
9343
|
Q && /* @__PURE__ */ l(eA, { children: [
|
|
9344
9344
|
/* @__PURE__ */ t(
|
|
9345
|
-
|
|
9345
|
+
Li,
|
|
9346
9346
|
{
|
|
9347
9347
|
bgcolor: "background.paper",
|
|
9348
9348
|
frequency: y,
|
|
@@ -9457,7 +9457,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9457
9457
|
onClose: () => y(!1),
|
|
9458
9458
|
shouldShowHeaderBorders: !1,
|
|
9459
9459
|
title: m.cashflow_settings,
|
|
9460
|
-
children: /* @__PURE__ */ t(
|
|
9460
|
+
children: /* @__PURE__ */ t(Di, {})
|
|
9461
9461
|
}
|
|
9462
9462
|
)
|
|
9463
9463
|
]
|
|
@@ -9472,7 +9472,7 @@ const Hu = ({ activity: A }) => /* @__PURE__ */ l(eA, { children: [
|
|
|
9472
9472
|
}
|
|
9473
9473
|
);
|
|
9474
9474
|
}, W7 = S(eh);
|
|
9475
|
-
class
|
|
9475
|
+
class ia {
|
|
9476
9476
|
fetchInstance;
|
|
9477
9477
|
constructor(e, n) {
|
|
9478
9478
|
this.fetchInstance = new UA(e, n);
|
|
@@ -9503,7 +9503,7 @@ let th = class {
|
|
|
9503
9503
|
}
|
|
9504
9504
|
// Returns the number of days until the next income activity or 0 if there is no income activity
|
|
9505
9505
|
get daysUntilNextIncome() {
|
|
9506
|
-
return this.nextIncome ? Math.abs(
|
|
9506
|
+
return this.nextIncome ? Math.abs(Vo($(), this.nextIncome.expectedDate)) : 0;
|
|
9507
9507
|
}
|
|
9508
9508
|
// Returns the expenses (Activities) until the next income activity or the end of the month
|
|
9509
9509
|
// if there is no income activity
|
|
@@ -9535,13 +9535,13 @@ class nh {
|
|
|
9535
9535
|
};
|
|
9536
9536
|
}
|
|
9537
9537
|
class rh {
|
|
9538
|
-
widgetApi = new
|
|
9538
|
+
widgetApi = new Mr("/", "");
|
|
9539
9539
|
globalStore;
|
|
9540
9540
|
constructor(e) {
|
|
9541
9541
|
this.globalStore = e, wA(this);
|
|
9542
9542
|
}
|
|
9543
9543
|
initialize = async (e, n) => {
|
|
9544
|
-
this.widgetApi = new
|
|
9544
|
+
this.widgetApi = new Mr(e, n);
|
|
9545
9545
|
};
|
|
9546
9546
|
loadWidget = async ({ widget: e = "connect_widget", mode: n = "light", ...r }) => await this.widgetApi.requestWidgetUrl({
|
|
9547
9547
|
widget_url: { widget_type: e, color_scheme: n, ...r }
|
|
@@ -9557,12 +9557,12 @@ const V7 = S(ah);
|
|
|
9557
9557
|
function ih(A, e) {
|
|
9558
9558
|
const n = e.map((i) => {
|
|
9559
9559
|
const o = A.find((s) => s.guid === i.account_guid);
|
|
9560
|
-
return o ?
|
|
9561
|
-
}).filter((i) => i !== null), r = A.filter((i) => !n.some((o) => o?.account.guid === i.guid)).map((i) =>
|
|
9560
|
+
return o ? oa(o, i) : null;
|
|
9561
|
+
}).filter((i) => i !== null), r = A.filter((i) => !n.some((o) => o?.account.guid === i.guid)).map((i) => oa(i));
|
|
9562
9562
|
return [...n, ...r].filter((i) => i?.account ? i.account.account_type === U.CHECKING_LINE_OF_CREDIT ? Number(i.account.balance) < 0 : !0 : !1);
|
|
9563
9563
|
}
|
|
9564
|
-
function
|
|
9565
|
-
const n = e?.payment_due_at ?
|
|
9564
|
+
function oa(A, e) {
|
|
9565
|
+
const n = e?.payment_due_at ? Jo(Rt(e.payment_due_at)) : 1, r = Zo(/* @__PURE__ */ new Date()).setDate(n);
|
|
9566
9566
|
return {
|
|
9567
9567
|
account: A,
|
|
9568
9568
|
goal: e,
|
|
@@ -9635,7 +9635,7 @@ class ch {
|
|
|
9635
9635
|
}
|
|
9636
9636
|
}
|
|
9637
9637
|
const J7 = () => /* @__PURE__ */ t("div", { children: "Goals" });
|
|
9638
|
-
class
|
|
9638
|
+
class sa {
|
|
9639
9639
|
fetchInstance;
|
|
9640
9640
|
constructor(e, n) {
|
|
9641
9641
|
this.fetchInstance = new UA(e, n);
|
|
@@ -9647,14 +9647,14 @@ class oa {
|
|
|
9647
9647
|
updateGoal = async (e, n) => this.fetchInstance.put(`${R.GOALS}/${n}`, e).then((r) => r);
|
|
9648
9648
|
}
|
|
9649
9649
|
class lh {
|
|
9650
|
-
api = new
|
|
9650
|
+
api = new sa("/", "");
|
|
9651
9651
|
globalStore;
|
|
9652
9652
|
goals = [];
|
|
9653
9653
|
constructor(e) {
|
|
9654
9654
|
this.globalStore = e, wA(this);
|
|
9655
9655
|
}
|
|
9656
9656
|
initialize = async (e, n) => {
|
|
9657
|
-
this.api = new
|
|
9657
|
+
this.api = new sa(e, n), await this.loadGoals();
|
|
9658
9658
|
};
|
|
9659
9659
|
loadGoals = async () => {
|
|
9660
9660
|
try {
|
|
@@ -9667,7 +9667,7 @@ class lh {
|
|
|
9667
9667
|
}
|
|
9668
9668
|
};
|
|
9669
9669
|
}
|
|
9670
|
-
const dh = /^[ a-zA-ZÀ-ÿ0-9]+$/, uh = 50,
|
|
9670
|
+
const dh = /^[ a-zA-ZÀ-ÿ0-9]+$/, uh = 50, ca = 65, hh = ({
|
|
9671
9671
|
height: A = "calc(100dvh - 120px)",
|
|
9672
9672
|
onSelect: e
|
|
9673
9673
|
}) => {
|
|
@@ -9679,10 +9679,10 @@ const dh = /^[ a-zA-ZÀ-ÿ0-9]+$/, uh = 50, sa = 65, hh = ({
|
|
|
9679
9679
|
e(C);
|
|
9680
9680
|
}, u = async (C) => {
|
|
9681
9681
|
(!C || dh.test(C)) && C.length <= uh && (s(C), await a(C));
|
|
9682
|
-
}, d = g.useRef(null), h =
|
|
9682
|
+
}, d = g.useRef(null), h = Ha({
|
|
9683
9683
|
count: r.length,
|
|
9684
9684
|
getScrollElement: () => d.current,
|
|
9685
|
-
estimateSize: () =>
|
|
9685
|
+
estimateSize: () => ca,
|
|
9686
9686
|
overscan: 5
|
|
9687
9687
|
});
|
|
9688
9688
|
return g.useEffect(() => h.measure(), [r]), /* @__PURE__ */ l(b, { className: "mx-mrt-lookup", children: [
|
|
@@ -9704,7 +9704,7 @@ const dh = /^[ a-zA-ZÀ-ÿ0-9]+$/, uh = 50, sa = 65, hh = ({
|
|
|
9704
9704
|
return /* @__PURE__ */ l(
|
|
9705
9705
|
I,
|
|
9706
9706
|
{
|
|
9707
|
-
height:
|
|
9707
|
+
height: ca,
|
|
9708
9708
|
position: "absolute",
|
|
9709
9709
|
sx: { transform: `translateY(${C.start}px)` },
|
|
9710
9710
|
width: "100%",
|
|
@@ -9724,7 +9724,7 @@ const dh = /^[ a-zA-ZÀ-ÿ0-9]+$/, uh = 50, sa = 65, hh = ({
|
|
|
9724
9724
|
] }) }) })
|
|
9725
9725
|
] });
|
|
9726
9726
|
}, Z7 = S(hh);
|
|
9727
|
-
class
|
|
9727
|
+
class la {
|
|
9728
9728
|
fetchInstance;
|
|
9729
9729
|
constructor(e, n) {
|
|
9730
9730
|
this.fetchInstance = new UA(e, n);
|
|
@@ -9736,7 +9736,7 @@ class ca {
|
|
|
9736
9736
|
getMerchantByGuid = async (e) => this.fetchInstance.get(`${R.MERCHANTS}/${e}`).then((n) => n.merchant);
|
|
9737
9737
|
}
|
|
9738
9738
|
class gh {
|
|
9739
|
-
api = new
|
|
9739
|
+
api = new la("/", "");
|
|
9740
9740
|
merchant = null;
|
|
9741
9741
|
merchants = [];
|
|
9742
9742
|
isLoading = !1;
|
|
@@ -9744,7 +9744,7 @@ class gh {
|
|
|
9744
9744
|
wA(this);
|
|
9745
9745
|
}
|
|
9746
9746
|
initialize = async (e, n) => {
|
|
9747
|
-
this.api = new
|
|
9747
|
+
this.api = new la(e, n);
|
|
9748
9748
|
};
|
|
9749
9749
|
loadMerchants = async (e = "") => {
|
|
9750
9750
|
this.isLoading = !0;
|
|
@@ -9758,13 +9758,13 @@ class gh {
|
|
|
9758
9758
|
Y(() => this.merchant = n);
|
|
9759
9759
|
};
|
|
9760
9760
|
}
|
|
9761
|
-
const
|
|
9761
|
+
const Pi = 13, Ch = (A, e) => A.filter((n) => {
|
|
9762
9762
|
const { is_closed: r, is_deleted: a, is_hidden: i, is_manual: o } = n;
|
|
9763
9763
|
return r || a || i ? !1 : o || !n.guid ? !0 : e.some((s) => A.some((c) => s.guid === c.member_guid));
|
|
9764
|
-
}), fh = (A, e) => [...A, ...e],
|
|
9764
|
+
}), fh = (A, e) => [...A, ...e], da = (A) => {
|
|
9765
9765
|
if (A && A.length > 0)
|
|
9766
9766
|
return A[A.length - 1];
|
|
9767
|
-
}, mh = (A, e) => A.year_month - e.year_month, ph = () => Array.from({ length:
|
|
9767
|
+
}, mh = (A, e) => A.year_month - e.year_month, ph = () => Array.from({ length: Pi }, (A, e) => Math.floor(yA(Ce(/* @__PURE__ */ new Date(), e)).getTime() / 1e3)).sort(), vh = (A, e, n) => !A.length || !e.length ? [] : ph().reduceRight((a, i) => {
|
|
9768
9768
|
const o = e.filter(
|
|
9769
9769
|
({ year_month: d }) => d === parseInt(FA(xA(i), "yyyyMM"))
|
|
9770
9770
|
), s = A.map((d) => {
|
|
@@ -9779,7 +9779,7 @@ const Oi = 13, Ch = (A, e) => A.filter((n) => {
|
|
|
9779
9779
|
if (!h && a.length === 0)
|
|
9780
9780
|
return {
|
|
9781
9781
|
...C,
|
|
9782
|
-
value:
|
|
9782
|
+
value: cr(d) ? -(d.balance ?? 0) : d.balance ?? 0
|
|
9783
9783
|
};
|
|
9784
9784
|
if (!h) {
|
|
9785
9785
|
const m = a[0].accounts.find((f) => f.guid === d.guid);
|
|
@@ -9808,7 +9808,7 @@ const Oi = 13, Ch = (A, e) => A.filter((n) => {
|
|
|
9808
9808
|
},
|
|
9809
9809
|
...a
|
|
9810
9810
|
];
|
|
9811
|
-
}, []).slice(
|
|
9811
|
+
}, []).slice(Pi - n), yh = (A) => {
|
|
9812
9812
|
const e = [], n = [];
|
|
9813
9813
|
let r = 0, a = 0;
|
|
9814
9814
|
return A?.accounts.forEach((i) => {
|
|
@@ -9818,7 +9818,7 @@ const Oi = 13, Ch = (A, e) => A.filter((n) => {
|
|
|
9818
9818
|
const e = [], n = [];
|
|
9819
9819
|
let r = 0, a = 0;
|
|
9820
9820
|
return A.forEach((i) => {
|
|
9821
|
-
if (
|
|
9821
|
+
if (cr(i)) {
|
|
9822
9822
|
const o = i.balance ?? 0;
|
|
9823
9823
|
n.push({ accountName: i.name, accountType: i.account_type, balance: o }), a += o;
|
|
9824
9824
|
} else {
|
|
@@ -9826,14 +9826,14 @@ const Oi = 13, Ch = (A, e) => A.filter((n) => {
|
|
|
9826
9826
|
e.push({ accountName: i.name, accountType: i.account_type, balance: o }), r += o;
|
|
9827
9827
|
}
|
|
9828
9828
|
}), { assets: e, liabilities: n, totalAssets: r, totalLiabilities: a };
|
|
9829
|
-
},
|
|
9829
|
+
}, ua = (A) => {
|
|
9830
9830
|
const e = A.reduce((n, r) => {
|
|
9831
9831
|
const a = r.accountType;
|
|
9832
9832
|
return n[a] || (n[a] = []), n[a].push(r), n;
|
|
9833
9833
|
}, {});
|
|
9834
9834
|
return Object.entries(e).map(([n, r]) => ({
|
|
9835
|
-
icon: ks[+n] ||
|
|
9836
|
-
name:
|
|
9835
|
+
icon: ks[+n] || Wa[+n],
|
|
9836
|
+
name: Ua[+n],
|
|
9837
9837
|
accounts: r
|
|
9838
9838
|
}));
|
|
9839
9839
|
};
|
|
@@ -9863,7 +9863,7 @@ class bh {
|
|
|
9863
9863
|
};
|
|
9864
9864
|
loadChartData = async (e) => {
|
|
9865
9865
|
try {
|
|
9866
|
-
const { accounts: n, monthlyAccountBalances: r } = this.netWorthData, a = await vh(n, r, e), i =
|
|
9866
|
+
const { accounts: n, monthlyAccountBalances: r } = this.netWorthData, a = await vh(n, r, e), i = da(a);
|
|
9867
9867
|
Y(() => {
|
|
9868
9868
|
this.netWorthChartData = a, this.selectedData = i;
|
|
9869
9869
|
});
|
|
@@ -9879,7 +9879,7 @@ class bh {
|
|
|
9879
9879
|
this.netWorthData.accounts
|
|
9880
9880
|
);
|
|
9881
9881
|
return {
|
|
9882
|
-
netWorth:
|
|
9882
|
+
netWorth: da(this.netWorthChartData),
|
|
9883
9883
|
assets: e,
|
|
9884
9884
|
liabilities: n,
|
|
9885
9885
|
totalAssets: r,
|
|
@@ -9914,7 +9914,7 @@ const wh = ({
|
|
|
9914
9914
|
stroke: s.palette.success.main
|
|
9915
9915
|
});
|
|
9916
9916
|
return /* @__PURE__ */ t(
|
|
9917
|
-
|
|
9917
|
+
Vn,
|
|
9918
9918
|
{
|
|
9919
9919
|
baseline: "min",
|
|
9920
9920
|
colors: [s.palette.success.main],
|
|
@@ -9961,7 +9961,7 @@ const wh = ({
|
|
|
9961
9961
|
tA,
|
|
9962
9962
|
{
|
|
9963
9963
|
primary: /* @__PURE__ */ l(b, { direction: "row", justifyContent: "space-between", sx: { fontWeight: 400 }, children: [
|
|
9964
|
-
/* @__PURE__ */ t(p, { variant: "Body", children:
|
|
9964
|
+
/* @__PURE__ */ t(p, { variant: "Body", children: Za(A.x) }),
|
|
9965
9965
|
/* @__PURE__ */ t(vA, { amount: A.y, sx: { color: "inherit" }, variant: "Body" })
|
|
9966
9966
|
] })
|
|
9967
9967
|
}
|
|
@@ -10010,7 +10010,7 @@ const wh = ({
|
|
|
10010
10010
|
d.x
|
|
10011
10011
|
))
|
|
10012
10012
|
] }),
|
|
10013
|
-
/* @__PURE__ */ t(
|
|
10013
|
+
/* @__PURE__ */ t(Bo, { onClick: () => r(), sx: { marginTop: 16 }, variant: "outlined", children: c.view_assets_and_liabilities })
|
|
10014
10014
|
] });
|
|
10015
10015
|
}, Dh = S(Ih), xh = ({
|
|
10016
10016
|
currencyLabel: A,
|
|
@@ -10034,12 +10034,12 @@ const wh = ({
|
|
|
10034
10034
|
/* @__PURE__ */ t(vA, { amount: r.change, color: o, variant: e }),
|
|
10035
10035
|
/* @__PURE__ */ t(p, { variant: "Small", children: A })
|
|
10036
10036
|
] });
|
|
10037
|
-
},
|
|
10038
|
-
const n = kA(), r = A || e, a = { this_month: "this month", net_worth: "Net Worth" }, i =
|
|
10037
|
+
}, lr = S(xh), Oh = ({ hoveredData: A, selectedData: e }) => {
|
|
10038
|
+
const n = kA(), r = A || e, a = { this_month: "this month", net_worth: "Net Worth" }, i = $o(Rt(r.x), "MMMM");
|
|
10039
10039
|
return /* @__PURE__ */ l(b, { alignItems: "center", direction: "column", m: 24, children: [
|
|
10040
10040
|
/* @__PURE__ */ t(p, { color: n.palette.secondary.main, variant: "Small", children: `${i} ${a.net_worth}` }),
|
|
10041
10041
|
/* @__PURE__ */ t(vA, { amount: r.y, variant: "H2" }),
|
|
10042
|
-
/* @__PURE__ */ t(
|
|
10042
|
+
/* @__PURE__ */ t(lr, { currencyLabel: a.this_month, netWorth: r, theme: n })
|
|
10043
10043
|
] });
|
|
10044
10044
|
}, Ph = S(Oh), Nh = ({ accounts: A, name: e, icon: n }) => {
|
|
10045
10045
|
const [r, a] = g.useState(!1);
|
|
@@ -10069,7 +10069,7 @@ const wh = ({
|
|
|
10069
10069
|
o < A.length - 1 ? /* @__PURE__ */ t(K, { variant: "inset" }) : /* @__PURE__ */ t(K, {})
|
|
10070
10070
|
] }, i.accountName)) })
|
|
10071
10071
|
] });
|
|
10072
|
-
},
|
|
10072
|
+
}, ha = ({ groupedAccounts: A }) => /* @__PURE__ */ t(eA, { children: A.map(({ accounts: e, icon: n, name: r }) => /* @__PURE__ */ t(Nh, { accounts: e, icon: n, name: r }, r)) }), Mh = ({
|
|
10073
10073
|
netWorth: A,
|
|
10074
10074
|
assets: e,
|
|
10075
10075
|
liabilities: n,
|
|
@@ -10099,7 +10099,7 @@ const wh = ({
|
|
|
10099
10099
|
/* @__PURE__ */ t(p, { variant: "Body", children: i.current_net_worth }),
|
|
10100
10100
|
/* @__PURE__ */ t(vA, { amount: A?.y ?? 0, variant: "H1" }),
|
|
10101
10101
|
A && /* @__PURE__ */ t(
|
|
10102
|
-
|
|
10102
|
+
lr,
|
|
10103
10103
|
{
|
|
10104
10104
|
currencyLabel: i.this_month,
|
|
10105
10105
|
iconSize: 20,
|
|
@@ -10120,7 +10120,7 @@ const wh = ({
|
|
|
10120
10120
|
] })
|
|
10121
10121
|
}
|
|
10122
10122
|
) }),
|
|
10123
|
-
/* @__PURE__ */ t(
|
|
10123
|
+
/* @__PURE__ */ t(ha, { groupedAccounts: ua(e) }),
|
|
10124
10124
|
/* @__PURE__ */ t(ce, { sx: { mb: 8, mt: 12, mx: 8 }, children: /* @__PURE__ */ t(
|
|
10125
10125
|
tA,
|
|
10126
10126
|
{
|
|
@@ -10130,7 +10130,7 @@ const wh = ({
|
|
|
10130
10130
|
] })
|
|
10131
10131
|
}
|
|
10132
10132
|
) }),
|
|
10133
|
-
/* @__PURE__ */ t(
|
|
10133
|
+
/* @__PURE__ */ t(ha, { groupedAccounts: ua(n) })
|
|
10134
10134
|
] })
|
|
10135
10135
|
] });
|
|
10136
10136
|
}, _h = S(Mh), Rh = ({
|
|
@@ -10147,9 +10147,9 @@ const wh = ({
|
|
|
10147
10147
|
}, o = gA();
|
|
10148
10148
|
return /* @__PURE__ */ l(eA, { children: [
|
|
10149
10149
|
/* @__PURE__ */ l(b, { alignItems: "center", justifyContent: "space-between", mb: 8, pt: 24, children: [
|
|
10150
|
-
/* @__PURE__ */ t(p, { variant: "Small", children:
|
|
10150
|
+
/* @__PURE__ */ t(p, { variant: "Small", children: Za(A?.x) }),
|
|
10151
10151
|
/* @__PURE__ */ t(p, { variant: "Body", children: i.total_change }),
|
|
10152
|
-
A && /* @__PURE__ */ t(
|
|
10152
|
+
A && /* @__PURE__ */ t(lr, { currencyVariant: "H1", iconSize: 32, netWorth: A, theme: o })
|
|
10153
10153
|
] }),
|
|
10154
10154
|
/* @__PURE__ */ l(nA, { children: [
|
|
10155
10155
|
/* @__PURE__ */ t(ce, { sx: { mb: 8, mt: 12, mx: 8 }, children: /* @__PURE__ */ t(
|
|
@@ -10245,7 +10245,7 @@ const wh = ({
|
|
|
10245
10245
|
D(!0);
|
|
10246
10246
|
}, F = async (q) => {
|
|
10247
10247
|
const J = q[0], sA = q[1];
|
|
10248
|
-
J && sA && v(
|
|
10248
|
+
J && sA && v(As(sA, J));
|
|
10249
10249
|
}, Q = {
|
|
10250
10250
|
chartData: s,
|
|
10251
10251
|
hoveredData: a,
|
|
@@ -10325,15 +10325,15 @@ function zh(A) {
|
|
|
10325
10325
|
});
|
|
10326
10326
|
}
|
|
10327
10327
|
class Bh {
|
|
10328
|
-
api = new
|
|
10328
|
+
api = new Or("/", "");
|
|
10329
10329
|
isLoading = !0;
|
|
10330
10330
|
notifications = [];
|
|
10331
10331
|
recentNotifications = [];
|
|
10332
10332
|
constructor() {
|
|
10333
|
-
wA(this, { notifications:
|
|
10333
|
+
wA(this, { notifications: Yo });
|
|
10334
10334
|
}
|
|
10335
10335
|
initialize = async (e, n) => {
|
|
10336
|
-
this.api = new
|
|
10336
|
+
this.api = new Or(e, n), await this.loadNotifications();
|
|
10337
10337
|
};
|
|
10338
10338
|
get newNotifications() {
|
|
10339
10339
|
return this.recentNotifications.filter((e) => !e.has_been_viewed);
|
|
@@ -10358,7 +10358,7 @@ class Bh {
|
|
|
10358
10358
|
}
|
|
10359
10359
|
const qh = (A, e) => {
|
|
10360
10360
|
const n = Rt(e[A].delivered_at), r = Rt(e[A - 1]?.delivered_at);
|
|
10361
|
-
return !
|
|
10361
|
+
return !es(n, r);
|
|
10362
10362
|
}, Kh = ({ notification: A }) => {
|
|
10363
10363
|
const { accounts: e } = OA(), { budgets: n } = qA(), { accounts: r } = x(), a = e.find((c) => c.guid === A.entity_guid), i = n.find((c) => c.guid === A.entity_guid), o = A.entity_guid.includes("GOL"), s = {
|
|
10364
10364
|
badge: {
|
|
@@ -10378,7 +10378,7 @@ const qh = (A, e) => {
|
|
|
10378
10378
|
}
|
|
10379
10379
|
) }) : /* @__PURE__ */ t("div", { style: s.badge, children: /* @__PURE__ */ t(ne, { categoryGuid: i?.category_guid, size: 36 }) });
|
|
10380
10380
|
}, kh = S(Kh), Gh = ({ notification: A, onClick: e }) => {
|
|
10381
|
-
const { updateNotification: n } =
|
|
10381
|
+
const { updateNotification: n } = ii(), r = Vt(), a = {
|
|
10382
10382
|
card: {
|
|
10383
10383
|
alignItems: "center",
|
|
10384
10384
|
borderRadius: 2,
|
|
@@ -10404,7 +10404,7 @@ const qh = (A, e) => {
|
|
|
10404
10404
|
width: 8
|
|
10405
10405
|
}
|
|
10406
10406
|
};
|
|
10407
|
-
return /* @__PURE__ */ l(
|
|
10407
|
+
return /* @__PURE__ */ l(Na, { onClick: () => {
|
|
10408
10408
|
e(A), n({ ...A, has_been_viewed: !0 }).finally();
|
|
10409
10409
|
}, sx: a.card, children: [
|
|
10410
10410
|
A.has_been_viewed ? null : /* @__PURE__ */ t("div", { "data-testid": "new-message-dot", style: a.dot }),
|
|
@@ -10412,12 +10412,12 @@ const qh = (A, e) => {
|
|
|
10412
10412
|
/* @__PURE__ */ t(p, { bold: !A.has_been_viewed, variant: "Small", children: A.content })
|
|
10413
10413
|
] });
|
|
10414
10414
|
}, Xh = ({ date: A }) => /* @__PURE__ */ t(I, { sx: { display: "flex", justifyContent: "center", mt: 12, py: 8 }, children: /* @__PURE__ */ t(p, { bold: !0, variant: "Small", children: An(A) }) }), Fh = ({ onClick: A }) => {
|
|
10415
|
-
const { isLoading: e, recentNotifications: n, markAllAsViewed: r } =
|
|
10415
|
+
const { isLoading: e, recentNotifications: n, markAllAsViewed: r } = ii(), { notifications: a } = x(), i = (o) => {
|
|
10416
10416
|
A?.(o);
|
|
10417
10417
|
};
|
|
10418
10418
|
return me(() => () => {
|
|
10419
10419
|
r().finally();
|
|
10420
|
-
}, []), /* @__PURE__ */ l(
|
|
10420
|
+
}, []), /* @__PURE__ */ l(qo, { sx: { p: 16 }, children: [
|
|
10421
10421
|
e && /* @__PURE__ */ t(te, { label: a?.loading, size: 40 }),
|
|
10422
10422
|
!e && n.length === 0 && /* @__PURE__ */ t(dt, { sx: { p: 16 }, children: /* @__PURE__ */ t(p, { fontStyle: "italic", sx: { textAlign: "center" }, children: a.no_notifications }) }),
|
|
10423
10423
|
!e && n.slice().sort((o, s) => s.delivered_at - o.delivered_at).map((o, s) => {
|
|
@@ -10425,7 +10425,7 @@ const qh = (A, e) => {
|
|
|
10425
10425
|
return /* @__PURE__ */ l(dt, { sx: { mb: 12 }, children: [
|
|
10426
10426
|
c && /* @__PURE__ */ l(dt, { sx: { mb: 12 }, children: [
|
|
10427
10427
|
/* @__PURE__ */ t(Xh, { date: o.delivered_at }),
|
|
10428
|
-
/* @__PURE__ */ t(
|
|
10428
|
+
/* @__PURE__ */ t(Ko, {})
|
|
10429
10429
|
] }),
|
|
10430
10430
|
/* @__PURE__ */ t(Gh, { notification: o, onClick: i })
|
|
10431
10431
|
] }, o.guid);
|
|
@@ -10433,13 +10433,13 @@ const qh = (A, e) => {
|
|
|
10433
10433
|
] });
|
|
10434
10434
|
}, ef = S(Fh);
|
|
10435
10435
|
class Qh {
|
|
10436
|
-
api = new
|
|
10436
|
+
api = new Nr("/", "");
|
|
10437
10437
|
userProfile = null;
|
|
10438
10438
|
constructor() {
|
|
10439
10439
|
wA(this);
|
|
10440
10440
|
}
|
|
10441
10441
|
initialize = async (e, n) => {
|
|
10442
|
-
this.api = new
|
|
10442
|
+
this.api = new Nr(e, n), await this.loadUserProfile();
|
|
10443
10443
|
};
|
|
10444
10444
|
loadUserProfile = async () => {
|
|
10445
10445
|
try {
|
|
@@ -10636,7 +10636,7 @@ const pn = ({
|
|
|
10636
10636
|
}
|
|
10637
10637
|
)
|
|
10638
10638
|
] });
|
|
10639
|
-
}, Wh = S(Uh),
|
|
10639
|
+
}, Wh = S(Uh), Ni = (A, e) => {
|
|
10640
10640
|
const { connection_messages: n } = e;
|
|
10641
10641
|
switch (A.connection_status) {
|
|
10642
10642
|
case KA.CHALLENGED:
|
|
@@ -10775,7 +10775,7 @@ const pn = ({
|
|
|
10775
10775
|
const r = () => {
|
|
10776
10776
|
const a = A.successfully_aggregated_at ? xA(A.successfully_aggregated_at) : void 0, i = a && AA(a, Z.TIME_STAMP_HOUR_MINUTE);
|
|
10777
10777
|
if (i)
|
|
10778
|
-
return Gn(a) ? H(e.last_updated_at, e.today, i) :
|
|
10778
|
+
return Gn(a) ? H(e.last_updated_at, e.today, i) : Es(a) ? H(e.last_updated_at, e.yesterday, i) : H(
|
|
10779
10779
|
e.last_updated_at,
|
|
10780
10780
|
AA(a, Z.MONTH_DAY_YEAR),
|
|
10781
10781
|
i
|
|
@@ -10797,7 +10797,7 @@ const pn = ({
|
|
|
10797
10797
|
}, Yh = () => {
|
|
10798
10798
|
const [A, e] = g.useState(!1), {
|
|
10799
10799
|
palette: { mode: n }
|
|
10800
|
-
} = gA(), { selectedMember: r } = de(), { accounts: a, connect: i } = x(), o =
|
|
10800
|
+
} = gA(), { selectedMember: r } = de(), { accounts: a, connect: i } = x(), o = Ni(r, i), s = ja.includes(r.connection_status) ? {
|
|
10801
10801
|
color: "error.main",
|
|
10802
10802
|
ctaCopy: o.cta ?? "",
|
|
10803
10803
|
icon: /* @__PURE__ */ t(kn, { sx: { ...vn } }),
|
|
@@ -10805,7 +10805,7 @@ const pn = ({
|
|
|
10805
10805
|
secondaryMessage: `${o.title}.`
|
|
10806
10806
|
} : {
|
|
10807
10807
|
color: "success.main",
|
|
10808
|
-
icon: /* @__PURE__ */ t(
|
|
10808
|
+
icon: /* @__PURE__ */ t(vs, { sx: { ...vn } }),
|
|
10809
10809
|
mainMessage: o.statusName,
|
|
10810
10810
|
secondaryMessage: o.title
|
|
10811
10811
|
};
|
|
@@ -10836,16 +10836,16 @@ const pn = ({
|
|
|
10836
10836
|
Me,
|
|
10837
10837
|
{
|
|
10838
10838
|
backingSx: {
|
|
10839
|
-
backgroundColor: n ===
|
|
10839
|
+
backgroundColor: n === vr.LIGHT ? "grey.300" : "grey.700",
|
|
10840
10840
|
borderRadius: 1
|
|
10841
10841
|
},
|
|
10842
10842
|
size: 32,
|
|
10843
10843
|
children: /* @__PURE__ */ t(
|
|
10844
|
-
|
|
10844
|
+
ys,
|
|
10845
10845
|
{
|
|
10846
10846
|
sx: {
|
|
10847
10847
|
...vn,
|
|
10848
|
-
color: n ===
|
|
10848
|
+
color: n === vr.LIGHT ? "grey.900" : "common.white"
|
|
10849
10849
|
}
|
|
10850
10850
|
}
|
|
10851
10851
|
)
|
|
@@ -10872,10 +10872,10 @@ const pn = ({
|
|
|
10872
10872
|
}, m = () => {
|
|
10873
10873
|
switch (A.type) {
|
|
10874
10874
|
case WA.Select:
|
|
10875
|
-
return /* @__PURE__ */ l(
|
|
10876
|
-
/* @__PURE__ */ t(
|
|
10875
|
+
return /* @__PURE__ */ l(bs, { fullWidth: !0, children: [
|
|
10876
|
+
/* @__PURE__ */ t(ws, { id: `${A.label}-select-label`, children: A.label }),
|
|
10877
10877
|
/* @__PURE__ */ t(
|
|
10878
|
-
|
|
10878
|
+
Ls,
|
|
10879
10879
|
{
|
|
10880
10880
|
id: `${A.label}-select`,
|
|
10881
10881
|
inputProps: {
|
|
@@ -10905,7 +10905,7 @@ const pn = ({
|
|
|
10905
10905
|
}
|
|
10906
10906
|
);
|
|
10907
10907
|
case WA.Date:
|
|
10908
|
-
return /* @__PURE__ */ t(
|
|
10908
|
+
return /* @__PURE__ */ t(Ss, { dateAdapter: $t, children: /* @__PURE__ */ t(
|
|
10909
10909
|
Bn,
|
|
10910
10910
|
{
|
|
10911
10911
|
maxDate: Ae(/* @__PURE__ */ new Date(), 1),
|
|
@@ -11002,11 +11002,11 @@ const pn = ({
|
|
|
11002
11002
|
/* @__PURE__ */ t(Wh, {})
|
|
11003
11003
|
] });
|
|
11004
11004
|
}, t1 = S(e1), n1 = ({ setTabValue: A }) => {
|
|
11005
|
-
const [e, n] = g.useState(!1), { selectedMember: r } = de(), { accounts: a, connect: i } = x(), o = r.connection_status &&
|
|
11005
|
+
const [e, n] = g.useState(!1), { selectedMember: r } = de(), { accounts: a, connect: i } = x(), o = r.connection_status && ja.includes(r.connection_status);
|
|
11006
11006
|
if (g.useEffect(() => {
|
|
11007
11007
|
o && A(1);
|
|
11008
11008
|
}, [o]), !o) return;
|
|
11009
|
-
const s =
|
|
11009
|
+
const s = Ni(r, i);
|
|
11010
11010
|
return /* @__PURE__ */ l(eA, { children: [
|
|
11011
11011
|
/* @__PURE__ */ t(
|
|
11012
11012
|
fe,
|
|
@@ -11017,7 +11017,7 @@ const pn = ({
|
|
|
11017
11017
|
mx: 24
|
|
11018
11018
|
},
|
|
11019
11019
|
children: /* @__PURE__ */ l(
|
|
11020
|
-
|
|
11020
|
+
Ka,
|
|
11021
11021
|
{
|
|
11022
11022
|
icon: /* @__PURE__ */ t(kn, {}),
|
|
11023
11023
|
severity: "error",
|
|
@@ -11032,10 +11032,10 @@ const pn = ({
|
|
|
11032
11032
|
}
|
|
11033
11033
|
},
|
|
11034
11034
|
children: [
|
|
11035
|
-
s.title && /* @__PURE__ */ t(
|
|
11035
|
+
s.title && /* @__PURE__ */ t(Ts, { sx: { fontWeight: 600, marginTop: 2 }, variant: "Body", children: s.title }),
|
|
11036
11036
|
/* @__PURE__ */ t(p, { component: "p", sx: { whiteSpace: "wrap" }, variant: "ParagraphSmall", children: s.main }),
|
|
11037
11037
|
s.cta && /* @__PURE__ */ t(
|
|
11038
|
-
|
|
11038
|
+
ka,
|
|
11039
11039
|
{
|
|
11040
11040
|
onClick: () => n(!0),
|
|
11041
11041
|
sx: { fontSize: 15, fontWeight: 600, ml: 0 },
|
|
@@ -11061,7 +11061,7 @@ const pn = ({
|
|
|
11061
11061
|
const [A, e] = g.useState(""), { onEvent: n } = V(), { selectedAccount: r } = de(), { accounts: a } = x(), { setFilter: i, sortedTransactions: o } = uA(), s = g.useMemo(() => o.find((c) => c.guid === A), [A]);
|
|
11062
11062
|
return g.useEffect(() => {
|
|
11063
11063
|
i({
|
|
11064
|
-
dateRange: { start:
|
|
11064
|
+
dateRange: { start: ts(ns(), 90), end: rs() },
|
|
11065
11065
|
accounts: [r.guid]
|
|
11066
11066
|
});
|
|
11067
11067
|
}, [r]), g.useEffect(() => n(j.ACCOUNT_DETAILS_VIEW_TRANSACTIONS), []), /* @__PURE__ */ l(eA, { children: [
|
|
@@ -11112,7 +11112,7 @@ const pn = ({
|
|
|
11112
11112
|
/* @__PURE__ */ t(Gt, { index: 0, name: "transaction-details", value: A, children: /* @__PURE__ */ t(i1, {}) }),
|
|
11113
11113
|
/* @__PURE__ */ t(Gt, { index: 1, name: "account-details", value: A, children: /* @__PURE__ */ t(t1, {}) })
|
|
11114
11114
|
] });
|
|
11115
|
-
}, s1 = S(o1), dn = (A) => A.top_level_category_guid === E.INCOME || A.category_guid === E.INCOME, c1 = (A) => !dn(A) && !
|
|
11115
|
+
}, s1 = S(o1), dn = (A) => A.top_level_category_guid === E.INCOME || A.category_guid === E.INCOME, c1 = (A) => !dn(A) && !_i(A), Mi = (A) => Tr.includes(A.top_level_category_guid) || Tr.includes(A.category_guid), _i = (A) => A.top_level_category_guid === E.TRANSFER || A.category_guid === E.TRANSFER, l1 = (A) => !dn(A) && !Mi(A) && !_i(A), d1 = (A) => A.filter((e) => e.category_guid === e.top_level_category_guid), dr = (A, e) => {
|
|
11116
11116
|
const n = [];
|
|
11117
11117
|
let r = yA(Ce(/* @__PURE__ */ new Date(), 5));
|
|
11118
11118
|
const a = /* @__PURE__ */ new Date();
|
|
@@ -11124,26 +11124,26 @@ const pn = ({
|
|
|
11124
11124
|
return n;
|
|
11125
11125
|
}, u1 = (A, e) => {
|
|
11126
11126
|
const n = A.filter(dn);
|
|
11127
|
-
return
|
|
11127
|
+
return dr(n).map((r) => ({ ...r, y: Math.abs(r.y) }));
|
|
11128
11128
|
}, h1 = (A, e) => {
|
|
11129
|
-
const n = A.filter(
|
|
11130
|
-
return
|
|
11129
|
+
const n = A.filter(Mi);
|
|
11130
|
+
return dr(n).map((r) => ({ ...r, y: Math.abs(r.y) }));
|
|
11131
11131
|
}, g1 = (A, e) => {
|
|
11132
11132
|
const n = A.filter(l1);
|
|
11133
|
-
return
|
|
11133
|
+
return dr(n);
|
|
11134
11134
|
}, C1 = (A, e) => {
|
|
11135
|
-
const n =
|
|
11135
|
+
const n = jn.includes(e) ? u1(A) : [], r = Un.includes(e) ? h1(A) : [], a = Wn.includes(e) ? g1(A) : [];
|
|
11136
11136
|
return [n, r, a].filter((i) => i.length > 0);
|
|
11137
11137
|
}, f1 = (A, e, n) => {
|
|
11138
11138
|
const [r, a] = A, i = r, o = a ?? r, s = [];
|
|
11139
|
-
if (i && o &&
|
|
11139
|
+
if (i && o && jn.includes(e)) {
|
|
11140
11140
|
const c = X(i[i.length - 1].y, "0,0");
|
|
11141
11141
|
s.push(`${n.income_label} ${c}`);
|
|
11142
|
-
} else if (
|
|
11142
|
+
} else if (Un.includes(e)) {
|
|
11143
11143
|
const c = X(i[i.length - 1].y, "0,0");
|
|
11144
11144
|
s.push(`${n.payments_label} ${c}`);
|
|
11145
11145
|
}
|
|
11146
|
-
if (o &&
|
|
11146
|
+
if (o && Wn.includes(e)) {
|
|
11147
11147
|
const c = X(o[o.length - 1].y, "0,0");
|
|
11148
11148
|
s.push(`${n.spending_label} ${c}`);
|
|
11149
11149
|
}
|
|
@@ -11151,7 +11151,7 @@ const pn = ({
|
|
|
11151
11151
|
}, m1 = () => {
|
|
11152
11152
|
const A = kA(), { selectedAccount: e } = de(), { monthlyCategoryTotals: n } = PA(), { trends: r } = x(), a = [A.palette.chart?.chart1, A.palette.chart?.chart2], i = C1(n, e.account_type), o = f1(i, e.account_type, r), s = [U.LOAN, U.MORTGAGE].includes(e.account_type);
|
|
11153
11153
|
return /* @__PURE__ */ t("div", { "data-testid": "TrendsChart", children: /* @__PURE__ */ t(
|
|
11154
|
-
|
|
11154
|
+
Vn,
|
|
11155
11155
|
{
|
|
11156
11156
|
colors: a,
|
|
11157
11157
|
datasets: i,
|
|
@@ -11190,12 +11190,12 @@ const pn = ({
|
|
|
11190
11190
|
}
|
|
11191
11191
|
);
|
|
11192
11192
|
}, y1 = S(v1), E1 = () => {
|
|
11193
|
-
const { institutions: A } = OA(), { selectedAccount: e } = de(), { accounts: n } = x(), { firstSubtitle: r, firstValue: a, hasAvailableBalance: i, secondSubtitle: o, secondValue: s } =
|
|
11193
|
+
const { institutions: A } = OA(), { selectedAccount: e } = de(), { accounts: n } = x(), { firstSubtitle: r, firstValue: a, hasAvailableBalance: i, secondSubtitle: o, secondValue: s } = Oi(e, n), c = A.find(
|
|
11194
11194
|
(d) => d.guid === e?.institution_guid
|
|
11195
11195
|
), u = [
|
|
11196
|
-
...Qn,
|
|
11197
11196
|
...jn,
|
|
11198
|
-
...Un
|
|
11197
|
+
...Un,
|
|
11198
|
+
...Wn
|
|
11199
11199
|
].includes(e.account_type);
|
|
11200
11200
|
return /* @__PURE__ */ l(b, { p: 24, children: [
|
|
11201
11201
|
/* @__PURE__ */ l(b, { gap: 12, children: [
|
|
@@ -11246,7 +11246,7 @@ const pn = ({
|
|
|
11246
11246
|
{
|
|
11247
11247
|
"aria-label": n.account_type_accounts[h[0].account_type],
|
|
11248
11248
|
subheader: /* @__PURE__ */ t(ce, { component: "h2", sx: { backgroundColor: "transparent", px: 24 }, children: /* @__PURE__ */ l(
|
|
11249
|
-
|
|
11249
|
+
mr,
|
|
11250
11250
|
{
|
|
11251
11251
|
component: "span",
|
|
11252
11252
|
direction: "row",
|
|
@@ -11257,7 +11257,7 @@ const pn = ({
|
|
|
11257
11257
|
]
|
|
11258
11258
|
}
|
|
11259
11259
|
) }),
|
|
11260
|
-
children: /* @__PURE__ */ t(
|
|
11260
|
+
children: /* @__PURE__ */ t(mr, { children: h.map((f) => {
|
|
11261
11261
|
const y = r.indexOf(f) === r.length - 1, v = h.indexOf(f) === h.length - 1;
|
|
11262
11262
|
return /* @__PURE__ */ l(g.Fragment, { children: [
|
|
11263
11263
|
/* @__PURE__ */ t(
|
|
@@ -11303,10 +11303,10 @@ const pn = ({
|
|
|
11303
11303
|
title: n
|
|
11304
11304
|
}) => {
|
|
11305
11305
|
let r;
|
|
11306
|
-
const { refreshAccounts: a } = OA(), { loadWidget: i } =
|
|
11306
|
+
const { refreshAccounts: a } = OA(), { loadWidget: i } = ai(), { connect: o } = x(), s = kA(), [c, u] = g.useState(!1), [d, h] = g.useState(!1);
|
|
11307
11307
|
return g.useEffect(() => (e ? (u(!0), i({ widget: "connections_widget", mode: s.palette.mode }).then((C) => {
|
|
11308
|
-
r = new
|
|
11309
|
-
container: `#${
|
|
11308
|
+
r = new Qo({
|
|
11309
|
+
container: `#${qr}`,
|
|
11310
11310
|
style: {
|
|
11311
11311
|
height: "calc(100% - 62px)",
|
|
11312
11312
|
width: "100%",
|
|
@@ -11331,7 +11331,7 @@ const pn = ({
|
|
|
11331
11331
|
A(), a();
|
|
11332
11332
|
},
|
|
11333
11333
|
title: n,
|
|
11334
|
-
children: /* @__PURE__ */ l("div", { id:
|
|
11334
|
+
children: /* @__PURE__ */ l("div", { id: qr, children: [
|
|
11335
11335
|
d && /* @__PURE__ */ t(kt, { status: Ne.Error }),
|
|
11336
11336
|
c && /* @__PURE__ */ t(kt, { status: Ne.Loading })
|
|
11337
11337
|
] })
|
|
@@ -11899,7 +11899,7 @@ const pn = ({
|
|
|
11899
11899
|
)
|
|
11900
11900
|
] });
|
|
11901
11901
|
}, af = S(M1);
|
|
11902
|
-
class
|
|
11902
|
+
class ga {
|
|
11903
11903
|
fetchInstance;
|
|
11904
11904
|
constructor(e, n) {
|
|
11905
11905
|
this.fetchInstance = new UA(e, n);
|
|
@@ -11926,7 +11926,7 @@ class _1 {
|
|
|
11926
11926
|
setSelectedMember = (e) => this.selectedMember = e;
|
|
11927
11927
|
}
|
|
11928
11928
|
class R1 {
|
|
11929
|
-
api = new
|
|
11929
|
+
api = new ga("/", "");
|
|
11930
11930
|
globalStore;
|
|
11931
11931
|
accounts = [];
|
|
11932
11932
|
institutions = [];
|
|
@@ -11936,7 +11936,7 @@ class R1 {
|
|
|
11936
11936
|
this.globalStore = e, this.uiStore = new _1(), wA(this);
|
|
11937
11937
|
}
|
|
11938
11938
|
initialize = async (e, n) => {
|
|
11939
|
-
this.api = new
|
|
11939
|
+
this.api = new ga(e, n), await Promise.all([this.loadAccounts(), this.loadInstitutions()]);
|
|
11940
11940
|
};
|
|
11941
11941
|
get cashAccounts() {
|
|
11942
11942
|
return this.accounts.filter(
|
|
@@ -11970,7 +11970,7 @@ class R1 {
|
|
|
11970
11970
|
if (a > -1) {
|
|
11971
11971
|
let i = Ge.Connected;
|
|
11972
11972
|
const o = this.members[a];
|
|
11973
|
-
|
|
11973
|
+
Qa.includes(o.connection_status) ? i = Ge.Error : Ks.includes(o.connection_status) ? i = Ge.Processing : Fa.includes(o.connection_status) && (i = Ge.RequiresMfa), n.push({
|
|
11974
11974
|
...r,
|
|
11975
11975
|
memberName: o.name,
|
|
11976
11976
|
connectionStatus: i
|
|
@@ -12057,7 +12057,7 @@ class R1 {
|
|
|
12057
12057
|
}
|
|
12058
12058
|
};
|
|
12059
12059
|
}
|
|
12060
|
-
const
|
|
12060
|
+
const Ca = 5, H1 = 100, z1 = 25, B1 = (A) => {
|
|
12061
12061
|
const e = (a) => {
|
|
12062
12062
|
a.active || A.alphaTarget(0.3).restart(), a.subject.fx = a.subject.x, a.subject.fy = a.subject.y;
|
|
12063
12063
|
}, n = (a) => {
|
|
@@ -12069,7 +12069,7 @@ const ga = 5, H1 = 100, z1 = 25, B1 = (A) => {
|
|
|
12069
12069
|
}, q1 = (A, e) => {
|
|
12070
12070
|
let n = A.transaction_total / A.amount;
|
|
12071
12071
|
n < 0 ? n = 0 : n > 1 && (n = 1);
|
|
12072
|
-
const r = n * 2 * Math.PI, a = VA.interpolate(0, r), i = VA.arc().cornerRadius(5).innerRadius(e.radius -
|
|
12072
|
+
const r = n * 2 * Math.PI, a = VA.interpolate(0, r), i = VA.arc().cornerRadius(5).innerRadius(e.radius - Ca * 2).outerRadius(e.radius - Ca).startAngle(0).endAngle(0);
|
|
12073
12073
|
return (o) => (i.endAngle(a(o)), i(e) || "");
|
|
12074
12074
|
}, K1 = (A) => {
|
|
12075
12075
|
VA.selectAll(".node").call(B1(A));
|
|
@@ -12086,7 +12086,7 @@ const ga = 5, H1 = 100, z1 = 25, B1 = (A) => {
|
|
|
12086
12086
|
VA.forceCollide().radius((e) => e.radius + 2).strength(1).iterations(500)
|
|
12087
12087
|
).on("tick", () => {
|
|
12088
12088
|
VA.selectAll(".node").data(A).attr("transform", (e) => `translate(${e.x},${e.y})`);
|
|
12089
|
-
}),
|
|
12089
|
+
}), fa = 5, F1 = 2e3, Q1 = ({ bubble: A, budget: e }) => {
|
|
12090
12090
|
const n = gA(), {
|
|
12091
12091
|
guid: r,
|
|
12092
12092
|
budgetColors: { mercury: a }
|
|
@@ -12094,7 +12094,7 @@ const ga = 5, H1 = 100, z1 = 25, B1 = (A) => {
|
|
|
12094
12094
|
g.useEffect(() => {
|
|
12095
12095
|
VA.select(`.${o}`).selectAll(".status").remove(), VA.select(`.${o}`).append("path").transition().duration(F1).delay(0).attr("class", "status").attr("style", `fill: ${a}; fill-opacity: 1;`).attrTween("d", () => q1(e, A));
|
|
12096
12096
|
}, [A, e]);
|
|
12097
|
-
const s = VA.arc().innerRadius((c) => c - 2 *
|
|
12097
|
+
const s = VA.arc().innerRadius((c) => c - 2 * fa).outerRadius((c) => c - fa).startAngle(0).endAngle(2 * Math.PI);
|
|
12098
12098
|
return /* @__PURE__ */ t("g", { className: o, children: /* @__PURE__ */ t(
|
|
12099
12099
|
"path",
|
|
12100
12100
|
{
|
|
@@ -12102,7 +12102,7 @@ const ga = 5, H1 = 100, z1 = 25, B1 = (A) => {
|
|
|
12102
12102
|
style: { fill: n.palette.common.white, fillOpacity: 0.35 }
|
|
12103
12103
|
}
|
|
12104
12104
|
) });
|
|
12105
|
-
}, Ye = 75,
|
|
12105
|
+
}, Ye = 75, ma = 50, j1 = S(
|
|
12106
12106
|
({ bubble: A, isDraggable: e, onClick: n = () => {
|
|
12107
12107
|
} }) => {
|
|
12108
12108
|
const { detailedBudgets: r } = qA(), a = r.find((y) => y.guid === A.budget_guid);
|
|
@@ -12156,7 +12156,7 @@ const ga = 5, H1 = 100, z1 = 25, B1 = (A) => {
|
|
|
12156
12156
|
children: c
|
|
12157
12157
|
}
|
|
12158
12158
|
),
|
|
12159
|
-
h >
|
|
12159
|
+
h > ma && /* @__PURE__ */ t(
|
|
12160
12160
|
p,
|
|
12161
12161
|
{
|
|
12162
12162
|
bold: !0,
|
|
@@ -12168,7 +12168,7 @@ const ga = 5, H1 = 100, z1 = 25, B1 = (A) => {
|
|
|
12168
12168
|
children: h <= Ye ? d.split(" ")[0] : d
|
|
12169
12169
|
}
|
|
12170
12170
|
),
|
|
12171
|
-
h <= Ye && h >
|
|
12171
|
+
h <= Ye && h > ma && /* @__PURE__ */ t(
|
|
12172
12172
|
p,
|
|
12173
12173
|
{
|
|
12174
12174
|
component: "text",
|
|
@@ -12239,7 +12239,7 @@ const U1 = ({
|
|
|
12239
12239
|
/* @__PURE__ */ t(p, { bold: !0, variant: "Paragraph", children: A.zero_state_title }),
|
|
12240
12240
|
/* @__PURE__ */ t(p, { sx: { whiteSpace: "wrap" }, variant: "Paragraph", children: A.zero_state_description })
|
|
12241
12241
|
] });
|
|
12242
|
-
},
|
|
12242
|
+
}, Ri = S(
|
|
12243
12243
|
({ height: A, isDraggable: e = !1, shouldShowZeroState: n, unavailableWidth: r = 24 }) => {
|
|
12244
12244
|
const { onEvent: a } = V(), { setSelectedBudget: i } = qA(), { isInitialized: o } = mA(), { availableWidth: s } = bt(), c = g.useMemo(() => s - r, [s]);
|
|
12245
12245
|
return /* @__PURE__ */ t(I, { ml: n ? 0 : 24, children: n || !o ? /* @__PURE__ */ t(Y1, {}) : /* @__PURE__ */ t(
|
|
@@ -12268,7 +12268,7 @@ const U1 = ({
|
|
|
12268
12268
|
title: i.budgets_title,
|
|
12269
12269
|
...A,
|
|
12270
12270
|
children: /* @__PURE__ */ l(b, { height: 450, mt: 32, children: [
|
|
12271
|
-
/* @__PURE__ */ t(
|
|
12271
|
+
/* @__PURE__ */ t(Ri, { height: 370, shouldShowZeroState: s }),
|
|
12272
12272
|
!s && /* @__PURE__ */ l(I, { ml: 16, children: [
|
|
12273
12273
|
/* @__PURE__ */ t(p, { bold: !0, color: o < 0 ? "error.main" : "success.main", children: X(Math.abs(o), "0,0") }),
|
|
12274
12274
|
/* @__PURE__ */ t(p, { children: o < 0 ? i.overspent_in_budgets : i.left_in_budgets })
|
|
@@ -12287,7 +12287,7 @@ const U1 = ({
|
|
|
12287
12287
|
transaction_total: u
|
|
12288
12288
|
} = A;
|
|
12289
12289
|
return /* @__PURE__ */ t(W, { children: /* @__PURE__ */ l(dA, { onClick: () => e?.(A), children: [
|
|
12290
|
-
/* @__PURE__ */ t(IA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ t(
|
|
12290
|
+
/* @__PURE__ */ t(IA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ t(si, { color: r, percent: s, size: 40, children: /* @__PURE__ */ t(ne, { categoryGuid: i, variant: "basic" }) }) }),
|
|
12291
12291
|
/* @__PURE__ */ t(
|
|
12292
12292
|
tA,
|
|
12293
12293
|
{
|
|
@@ -12397,7 +12397,7 @@ const U1 = ({
|
|
|
12397
12397
|
title: i.manage_income,
|
|
12398
12398
|
children: /* @__PURE__ */ l(b, { gap: 4, children: [
|
|
12399
12399
|
/* @__PURE__ */ t(p, { bold: !0, sx: { mt: 12, mx: 24 }, variant: "Small", children: r.income_title }),
|
|
12400
|
-
/* @__PURE__ */ t(
|
|
12400
|
+
/* @__PURE__ */ t(sr, {})
|
|
12401
12401
|
] })
|
|
12402
12402
|
}
|
|
12403
12403
|
)
|
|
@@ -12508,7 +12508,7 @@ const U1 = ({
|
|
|
12508
12508
|
secondary: X(A.totalAmount, "0,0")
|
|
12509
12509
|
}
|
|
12510
12510
|
),
|
|
12511
|
-
/* @__PURE__ */ t(
|
|
12511
|
+
/* @__PURE__ */ t(Is, { children: /* @__PURE__ */ t(M, { name: "add", size: 20 }) })
|
|
12512
12512
|
] }) }, A.guid),
|
|
12513
12513
|
/* @__PURE__ */ t(
|
|
12514
12514
|
TA,
|
|
@@ -12539,7 +12539,7 @@ const U1 = ({
|
|
|
12539
12539
|
)) }) }),
|
|
12540
12540
|
/* @__PURE__ */ t(tg, {})
|
|
12541
12541
|
] });
|
|
12542
|
-
}),
|
|
12542
|
+
}), Hi = ({ budget: A }) => {
|
|
12543
12543
|
const {
|
|
12544
12544
|
amount: e,
|
|
12545
12545
|
budgetColors: { background: n },
|
|
@@ -12575,7 +12575,7 @@ const U1 = ({
|
|
|
12575
12575
|
transaction_total: i
|
|
12576
12576
|
} = A, { setSelectedSubBudget: o } = qA();
|
|
12577
12577
|
return /* @__PURE__ */ t(W, { children: /* @__PURE__ */ l(dA, { onClick: () => o(A), children: [
|
|
12578
|
-
/* @__PURE__ */ t(IA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ t(
|
|
12578
|
+
/* @__PURE__ */ t(IA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ t(si, { color: n, percent: a, size: 40, children: /* @__PURE__ */ t(ne, { categoryGuid: r.parent_guid, variant: "basic" }) }) }),
|
|
12579
12579
|
/* @__PURE__ */ t(
|
|
12580
12580
|
tA,
|
|
12581
12581
|
{
|
|
@@ -12616,7 +12616,7 @@ const U1 = ({
|
|
|
12616
12616
|
isOpen: s,
|
|
12617
12617
|
onClose: () => c(!1),
|
|
12618
12618
|
title: n.add_sub_budget_title,
|
|
12619
|
-
children: /* @__PURE__ */ t(nA, { children: /* @__PURE__ */ t(
|
|
12619
|
+
children: /* @__PURE__ */ t(nA, { children: /* @__PURE__ */ t(hi, { category: A, subCategories: A.subCategories }) })
|
|
12620
12620
|
}
|
|
12621
12621
|
),
|
|
12622
12622
|
/* @__PURE__ */ t(
|
|
@@ -12680,7 +12680,7 @@ const U1 = ({
|
|
|
12680
12680
|
secondaryText: r.details_delete_button,
|
|
12681
12681
|
title: r.details_title,
|
|
12682
12682
|
children: o && /* @__PURE__ */ l(b, { gap: 24, children: [
|
|
12683
|
-
/* @__PURE__ */ t(
|
|
12683
|
+
/* @__PURE__ */ t(Hi, { budget: o }),
|
|
12684
12684
|
/* @__PURE__ */ t(Ue, { height: "100%" })
|
|
12685
12685
|
] })
|
|
12686
12686
|
}
|
|
@@ -12727,10 +12727,10 @@ const U1 = ({
|
|
|
12727
12727
|
), h = (m, f) => {
|
|
12728
12728
|
s(f);
|
|
12729
12729
|
}, C = () => {
|
|
12730
|
-
|
|
12730
|
+
ui(a, i);
|
|
12731
12731
|
};
|
|
12732
12732
|
return /* @__PURE__ */ l(b, { gap: 24, children: [
|
|
12733
|
-
/* @__PURE__ */ t(
|
|
12733
|
+
/* @__PURE__ */ t(Hi, { budget: A }),
|
|
12734
12734
|
/* @__PURE__ */ l(b, { children: [
|
|
12735
12735
|
/* @__PURE__ */ l(
|
|
12736
12736
|
ze,
|
|
@@ -12849,7 +12849,7 @@ const U1 = ({
|
|
|
12849
12849
|
}
|
|
12850
12850
|
)
|
|
12851
12851
|
] });
|
|
12852
|
-
}),
|
|
12852
|
+
}), pa = 480, sf = S(({ onBackClick: A, sx: e }) => {
|
|
12853
12853
|
const n = gA(), { onEvent: r } = V(), { accounts: a } = OA(), { budgets: i, common: o } = x(), { isInitialized: s, selectedAccounts: c, setDisplayedDate: u, setSelectedAccounts: d } = mA(), { dateRange: h, loadBudgets: C, loadCategoryTotals: m, setDateRange: f, setTheme: y } = qA(), { loadCashflowSequences: v } = RA(), { isDesktop: L, isTablet: T } = GA(), { loadDateRangeCategoryTotals: w, loadMonthlyCategoryTotals: D } = PA(), [O, P] = g.useState(!1), [N, z] = g.useState(!1);
|
|
12854
12854
|
g.useEffect(() => {
|
|
12855
12855
|
y(n), d(a), u(h.start, h.end), r(j.BUDGETS_VIEW);
|
|
@@ -12883,12 +12883,12 @@ const U1 = ({
|
|
|
12883
12883
|
(!s || !O) && /* @__PURE__ */ t(te, {}),
|
|
12884
12884
|
s && O && /* @__PURE__ */ l(b, { direction: L || T ? "row" : "column", height: "100%", width: "100%", children: [
|
|
12885
12885
|
/* @__PURE__ */ t(b, { height: L || T ? "calc(100dvh - 150px)" : 450, children: /* @__PURE__ */ t(
|
|
12886
|
-
|
|
12886
|
+
Ri,
|
|
12887
12887
|
{
|
|
12888
12888
|
height: L || T ? 800 : 450,
|
|
12889
12889
|
isDraggable: !0,
|
|
12890
12890
|
shouldShowZeroState: !1,
|
|
12891
|
-
unavailableWidth: L || T ?
|
|
12891
|
+
unavailableWidth: L || T ? pa : 0
|
|
12892
12892
|
}
|
|
12893
12893
|
) }),
|
|
12894
12894
|
/* @__PURE__ */ l(
|
|
@@ -12898,7 +12898,7 @@ const U1 = ({
|
|
|
12898
12898
|
height: "100%",
|
|
12899
12899
|
overflow: "auto",
|
|
12900
12900
|
sx: { mr: 24 },
|
|
12901
|
-
width: L || T ?
|
|
12901
|
+
width: L || T ? pa : "100%",
|
|
12902
12902
|
children: [
|
|
12903
12903
|
/* @__PURE__ */ t($1, {}),
|
|
12904
12904
|
/* @__PURE__ */ t(Z1, {})
|
|
@@ -12947,7 +12947,7 @@ const dg = () => {
|
|
|
12947
12947
|
/* @__PURE__ */ t(p, { color: "text.secondary", sx: { fontSize: 15 }, children: a.heres_your_spending_overview })
|
|
12948
12948
|
] }),
|
|
12949
12949
|
/* @__PURE__ */ t(
|
|
12950
|
-
|
|
12950
|
+
ei,
|
|
12951
12951
|
{
|
|
12952
12952
|
accounts: A,
|
|
12953
12953
|
copy: i,
|
|
@@ -13140,7 +13140,7 @@ const dg = () => {
|
|
|
13140
13140
|
]
|
|
13141
13141
|
}
|
|
13142
13142
|
);
|
|
13143
|
-
},
|
|
13143
|
+
}, zi = ({
|
|
13144
13144
|
accountGuid: A,
|
|
13145
13145
|
animation: e,
|
|
13146
13146
|
leftLowerText: n,
|
|
@@ -13169,9 +13169,9 @@ const dg = () => {
|
|
|
13169
13169
|
position: "relative",
|
|
13170
13170
|
width: "-webkit-calc(100% - 64px)"
|
|
13171
13171
|
},
|
|
13172
|
-
children: /* @__PURE__ */ t(
|
|
13172
|
+
children: /* @__PURE__ */ t(xs, { children: ({ height: h, width: C }) => /* @__PURE__ */ l(g.Fragment, { children: [
|
|
13173
13173
|
/* @__PURE__ */ t(
|
|
13174
|
-
|
|
13174
|
+
Ds,
|
|
13175
13175
|
{
|
|
13176
13176
|
"aria-hidden": !0,
|
|
13177
13177
|
colors: ["#3F9FEB", "#C331B6", "#30C434", "#F1CE31", "#EE3B7C"],
|
|
@@ -13406,7 +13406,7 @@ const dg = () => {
|
|
|
13406
13406
|
),
|
|
13407
13407
|
/* @__PURE__ */ t(p, { bold: A, className: "mx-insights-sub-header-text", component: "text", sx: c, children: s })
|
|
13408
13408
|
] });
|
|
13409
|
-
},
|
|
13409
|
+
}, ur = ({
|
|
13410
13410
|
bold: A,
|
|
13411
13411
|
className: e = "",
|
|
13412
13412
|
children: n,
|
|
@@ -13451,7 +13451,7 @@ const dg = () => {
|
|
|
13451
13451
|
children: [
|
|
13452
13452
|
/* @__PURE__ */ t(M, { color: "secondary", fill: !0, name: "bid_landscape", style: { marginRight: 4 } }),
|
|
13453
13453
|
/* @__PURE__ */ t(
|
|
13454
|
-
|
|
13454
|
+
ur,
|
|
13455
13455
|
{
|
|
13456
13456
|
dangerouslySetInnerHTML: { __html: A },
|
|
13457
13457
|
"data-ui-test": "mefr-contributed-text",
|
|
@@ -13474,7 +13474,7 @@ const dg = () => {
|
|
|
13474
13474
|
children: [
|
|
13475
13475
|
/* @__PURE__ */ t(M, { name: "calendar_month", style: { marginRight: 4 } }),
|
|
13476
13476
|
/* @__PURE__ */ t(
|
|
13477
|
-
|
|
13477
|
+
ur,
|
|
13478
13478
|
{
|
|
13479
13479
|
dangerouslySetInnerHTML: { __html: A },
|
|
13480
13480
|
"data-ui-test": "mefr-projected-text",
|
|
@@ -13500,7 +13500,7 @@ const dg = () => {
|
|
|
13500
13500
|
children: [
|
|
13501
13501
|
/* @__PURE__ */ t(M, { name: "paid", style: { marginRight: 4 } }),
|
|
13502
13502
|
/* @__PURE__ */ t(
|
|
13503
|
-
|
|
13503
|
+
ur,
|
|
13504
13504
|
{
|
|
13505
13505
|
className: "mx-insights-mefr-saved-text",
|
|
13506
13506
|
dangerouslySetInnerHTML: { __html: e },
|
|
@@ -13564,7 +13564,7 @@ const dg = () => {
|
|
|
13564
13564
|
}) => {
|
|
13565
13565
|
const d = Ie(i ? "dark" : "light");
|
|
13566
13566
|
return /* @__PURE__ */ t(tt, { theme: d, children: /* @__PURE__ */ t(
|
|
13567
|
-
|
|
13567
|
+
zi,
|
|
13568
13568
|
{
|
|
13569
13569
|
accountGuid: A,
|
|
13570
13570
|
animation: e,
|
|
@@ -13577,7 +13577,7 @@ const dg = () => {
|
|
|
13577
13577
|
rightUpperText: u
|
|
13578
13578
|
}
|
|
13579
13579
|
) });
|
|
13580
|
-
},
|
|
13580
|
+
}, va = ({ accountGuid: A, accountName: e }) => /* @__PURE__ */ l(
|
|
13581
13581
|
zA,
|
|
13582
13582
|
{
|
|
13583
13583
|
className: "mx-insights-sdd-account-Card",
|
|
@@ -13630,7 +13630,7 @@ const dg = () => {
|
|
|
13630
13630
|
direction: "row",
|
|
13631
13631
|
sx: { gap: 8, height: 82, justifyContent: "center", py: 12, width: "100%" },
|
|
13632
13632
|
children: [
|
|
13633
|
-
/* @__PURE__ */ t(
|
|
13633
|
+
/* @__PURE__ */ t(va, { accountGuid: r, accountName: e }),
|
|
13634
13634
|
/* @__PURE__ */ t(
|
|
13635
13635
|
M,
|
|
13636
13636
|
{
|
|
@@ -13640,7 +13640,7 @@ const dg = () => {
|
|
|
13640
13640
|
sx: { my: "auto" }
|
|
13641
13641
|
}
|
|
13642
13642
|
),
|
|
13643
|
-
/* @__PURE__ */ t(
|
|
13643
|
+
/* @__PURE__ */ t(va, { accountGuid: A, accountName: n })
|
|
13644
13644
|
]
|
|
13645
13645
|
}
|
|
13646
13646
|
), gf = ({
|
|
@@ -13661,7 +13661,7 @@ const dg = () => {
|
|
|
13661
13661
|
}) => {
|
|
13662
13662
|
const f = Ie(s ? "dark" : "light");
|
|
13663
13663
|
return /* @__PURE__ */ t(g.Fragment, { children: /* @__PURE__ */ t(tt, { theme: f, children: o ? /* @__PURE__ */ t(
|
|
13664
|
-
|
|
13664
|
+
zi,
|
|
13665
13665
|
{
|
|
13666
13666
|
accountGuid: A,
|
|
13667
13667
|
animation: e,
|
|
@@ -13682,7 +13682,7 @@ const dg = () => {
|
|
|
13682
13682
|
sourceAccountGuid: m
|
|
13683
13683
|
}
|
|
13684
13684
|
) }) });
|
|
13685
|
-
},
|
|
13685
|
+
}, hr = ({
|
|
13686
13686
|
bgcolor: A = "background.default",
|
|
13687
13687
|
children: e
|
|
13688
13688
|
}) => /* @__PURE__ */ t(
|
|
@@ -13723,7 +13723,7 @@ const dg = () => {
|
|
|
13723
13723
|
});
|
|
13724
13724
|
};
|
|
13725
13725
|
return /* @__PURE__ */ l(I, { children: [
|
|
13726
|
-
/* @__PURE__ */ t(
|
|
13726
|
+
/* @__PURE__ */ t(hr, { children: r }),
|
|
13727
13727
|
A.map((h, C) => /* @__PURE__ */ l(I, { children: [
|
|
13728
13728
|
/* @__PURE__ */ t(W, { children: /* @__PURE__ */ l(dA, { onClick: () => c(h), children: [
|
|
13729
13729
|
/* @__PURE__ */ t(IA, { children: /* @__PURE__ */ t(
|
|
@@ -13764,7 +13764,7 @@ const dg = () => {
|
|
|
13764
13764
|
}
|
|
13765
13765
|
)
|
|
13766
13766
|
] });
|
|
13767
|
-
},
|
|
13767
|
+
}, Bi = ({ iconName: A, label: e, onClick: n, itemCount: r }) => {
|
|
13768
13768
|
const a = gA();
|
|
13769
13769
|
return /* @__PURE__ */ l(eA, { children: [
|
|
13770
13770
|
/* @__PURE__ */ t(W, { sx: { backgroundColor: "background.paper" }, children: /* @__PURE__ */ l(dA, { onClick: n, children: [
|
|
@@ -13798,29 +13798,30 @@ const dg = () => {
|
|
|
13798
13798
|
/* @__PURE__ */ t(K, {})
|
|
13799
13799
|
] });
|
|
13800
13800
|
}, Cf = ({
|
|
13801
|
-
|
|
13802
|
-
|
|
13803
|
-
|
|
13801
|
+
clientColors: A = {},
|
|
13802
|
+
content: e,
|
|
13803
|
+
manageAccountsStore: n,
|
|
13804
|
+
useDarkMode: r = !1
|
|
13804
13805
|
}) => {
|
|
13805
|
-
const { groupedAccounts:
|
|
13806
|
-
return /* @__PURE__ */ l(Fn, { theme: Ie(
|
|
13806
|
+
const { groupedAccounts: a, toggleAccount: i } = n, [o, s] = g.useState(!1);
|
|
13807
|
+
return /* @__PURE__ */ l(Fn, { theme: Qn(Ie(r ? "dark" : "light"), A), children: [
|
|
13807
13808
|
/* @__PURE__ */ t(
|
|
13808
|
-
|
|
13809
|
+
Bi,
|
|
13809
13810
|
{
|
|
13810
13811
|
iconName: "Account_balance",
|
|
13811
|
-
label:
|
|
13812
|
+
label: e.manage_accounts,
|
|
13812
13813
|
onClick: () => {
|
|
13813
|
-
|
|
13814
|
+
s(!0), n.handleAccountsDrawerAction("opened");
|
|
13814
13815
|
}
|
|
13815
13816
|
}
|
|
13816
13817
|
),
|
|
13817
13818
|
/* @__PURE__ */ l(
|
|
13818
13819
|
lA,
|
|
13819
13820
|
{
|
|
13820
|
-
ariaLabelClose:
|
|
13821
|
-
isOpen:
|
|
13821
|
+
ariaLabelClose: e.close,
|
|
13822
|
+
isOpen: o,
|
|
13822
13823
|
onClose: () => {
|
|
13823
|
-
|
|
13824
|
+
s(!1), n.handleAccountsDrawerAction("closed");
|
|
13824
13825
|
},
|
|
13825
13826
|
shouldShowHeaderBorders: !1,
|
|
13826
13827
|
sx: {
|
|
@@ -13828,24 +13829,24 @@ const dg = () => {
|
|
|
13828
13829
|
backgroundColor: "background.white"
|
|
13829
13830
|
}
|
|
13830
13831
|
},
|
|
13831
|
-
title:
|
|
13832
|
+
title: e.manage_accounts,
|
|
13832
13833
|
children: [
|
|
13833
13834
|
/* @__PURE__ */ t(K, {}),
|
|
13834
|
-
/* @__PURE__ */ t(nA, { sx: { height: "100%" }, children:
|
|
13835
|
+
/* @__PURE__ */ t(nA, { sx: { height: "100%" }, children: a.map(({ accountType: c, accounts: u, title: d }) => /* @__PURE__ */ t(
|
|
13835
13836
|
Ig,
|
|
13836
13837
|
{
|
|
13837
|
-
accounts:
|
|
13838
|
-
content:
|
|
13839
|
-
title:
|
|
13840
|
-
toggleAccount:
|
|
13838
|
+
accounts: u,
|
|
13839
|
+
content: e,
|
|
13840
|
+
title: d,
|
|
13841
|
+
toggleAccount: i
|
|
13841
13842
|
},
|
|
13842
|
-
|
|
13843
|
+
c
|
|
13843
13844
|
)) })
|
|
13844
13845
|
]
|
|
13845
13846
|
}
|
|
13846
13847
|
)
|
|
13847
13848
|
] });
|
|
13848
|
-
},
|
|
13849
|
+
}, qi = io(void 0), Dg = ({ children: A }) => {
|
|
13849
13850
|
const [e, n] = ge({
|
|
13850
13851
|
isOpen: !1,
|
|
13851
13852
|
message: "",
|
|
@@ -13867,26 +13868,26 @@ const dg = () => {
|
|
|
13867
13868
|
message: o
|
|
13868
13869
|
}));
|
|
13869
13870
|
};
|
|
13870
|
-
return /* @__PURE__ */ t(
|
|
13871
|
-
},
|
|
13872
|
-
const A =
|
|
13871
|
+
return /* @__PURE__ */ t(qi.Provider, { value: { toastState: e, showToast: r, hideToast: a, setMessage: i }, children: A });
|
|
13872
|
+
}, Ki = () => {
|
|
13873
|
+
const A = oo(qi);
|
|
13873
13874
|
if (!A)
|
|
13874
13875
|
throw new Error("useToast must be used within a ToastProvider");
|
|
13875
13876
|
return A;
|
|
13876
13877
|
};
|
|
13877
13878
|
function xg(A) {
|
|
13878
|
-
return /* @__PURE__ */ t(
|
|
13879
|
+
return /* @__PURE__ */ t(Ns, { ...A });
|
|
13879
13880
|
}
|
|
13880
|
-
const
|
|
13881
|
+
const ki = ({
|
|
13881
13882
|
open: A,
|
|
13882
13883
|
handleClose: e,
|
|
13883
13884
|
message: n,
|
|
13884
13885
|
autoHideDuration: r = 3e3,
|
|
13885
13886
|
severity: a = "success",
|
|
13886
|
-
icon: i = /* @__PURE__ */ t(
|
|
13887
|
+
icon: i = /* @__PURE__ */ t(Ps, { fontSize: "inherit" }),
|
|
13887
13888
|
snackbarSx: o
|
|
13888
13889
|
}) => /* @__PURE__ */ t(
|
|
13889
|
-
|
|
13890
|
+
Os,
|
|
13890
13891
|
{
|
|
13891
13892
|
TransitionComponent: xg,
|
|
13892
13893
|
autoHideDuration: r,
|
|
@@ -13898,7 +13899,7 @@ const Ki = ({
|
|
|
13898
13899
|
...o
|
|
13899
13900
|
},
|
|
13900
13901
|
children: /* @__PURE__ */ t(
|
|
13901
|
-
|
|
13902
|
+
Ka,
|
|
13902
13903
|
{
|
|
13903
13904
|
icon: i,
|
|
13904
13905
|
onClose: e,
|
|
@@ -13971,7 +13972,7 @@ const Ki = ({
|
|
|
13971
13972
|
const s = gA(), c = g.useMemo(
|
|
13972
13973
|
() => e.reduce((w, D) => ({ ...w, [D.name]: !1 }), {}),
|
|
13973
13974
|
[e]
|
|
13974
|
-
), [u, d] = g.useState(c), { toastState: h, hideToast: C } =
|
|
13975
|
+
), [u, d] = g.useState(c), { toastState: h, hideToast: C } = Ki(), m = Ai(a);
|
|
13975
13976
|
me(() => {
|
|
13976
13977
|
m && !a && d(c);
|
|
13977
13978
|
}, [m, a, c, d]);
|
|
@@ -14027,117 +14028,119 @@ const Ki = ({
|
|
|
14027
14028
|
}
|
|
14028
14029
|
) }),
|
|
14029
14030
|
/* @__PURE__ */ t(K, {}),
|
|
14030
|
-
/* @__PURE__ */
|
|
14031
|
-
|
|
14032
|
-
|
|
14033
|
-
|
|
14034
|
-
|
|
14035
|
-
|
|
14036
|
-
boxSizing: "border-box",
|
|
14037
|
-
pt: 8,
|
|
14038
|
-
sx: {
|
|
14039
|
-
display: "flex",
|
|
14040
|
-
justifyContent: "space-between",
|
|
14041
|
-
width: "100%",
|
|
14042
|
-
height: "100%"
|
|
14043
|
-
},
|
|
14044
|
-
children: [
|
|
14045
|
-
/* @__PURE__ */ t(p, { fontSize: 11, fontWeight: 700, children: A.insight_name }),
|
|
14046
|
-
/* @__PURE__ */ t(
|
|
14047
|
-
cA,
|
|
14048
|
-
{
|
|
14049
|
-
onClick: L,
|
|
14050
|
-
size: "small",
|
|
14051
|
-
sx: {
|
|
14052
|
-
"&:hover": { backgroundColor: "transparent" },
|
|
14053
|
-
color: s.palette.primary.main,
|
|
14054
|
-
p: 0,
|
|
14055
|
-
height: 16,
|
|
14056
|
-
fontSize: 13,
|
|
14057
|
-
minWidth: 0
|
|
14058
|
-
},
|
|
14059
|
-
children: y === e.length ? A.unselect_all : A.select_all
|
|
14060
|
-
}
|
|
14061
|
-
)
|
|
14062
|
-
]
|
|
14063
|
-
}
|
|
14064
|
-
) }),
|
|
14065
|
-
sx: { height: "100%" },
|
|
14066
|
-
children: e.sort((w, D) => w.name < D.name ? -1 : 1).map((w, D) => /* @__PURE__ */ l(I, { children: [
|
|
14067
|
-
/* @__PURE__ */ t(W, { disablePadding: !0, children: /* @__PURE__ */ l(
|
|
14068
|
-
dA,
|
|
14031
|
+
/* @__PURE__ */ l(b, { height: "calc(100vh - 142px)", children: [
|
|
14032
|
+
/* @__PURE__ */ t(
|
|
14033
|
+
nA,
|
|
14034
|
+
{
|
|
14035
|
+
subheader: /* @__PURE__ */ t(hr, { children: /* @__PURE__ */ l(
|
|
14036
|
+
I,
|
|
14069
14037
|
{
|
|
14070
|
-
|
|
14071
|
-
|
|
14072
|
-
|
|
14073
|
-
|
|
14038
|
+
boxSizing: "border-box",
|
|
14039
|
+
pt: 8,
|
|
14040
|
+
sx: {
|
|
14041
|
+
display: "flex",
|
|
14042
|
+
justifyContent: "space-between",
|
|
14043
|
+
width: "100%",
|
|
14044
|
+
height: "100%"
|
|
14045
|
+
},
|
|
14074
14046
|
children: [
|
|
14047
|
+
/* @__PURE__ */ t(p, { fontSize: 11, fontWeight: 700, children: A.insight_name }),
|
|
14075
14048
|
/* @__PURE__ */ t(
|
|
14076
|
-
|
|
14077
|
-
{
|
|
14078
|
-
primary: w.title,
|
|
14079
|
-
secondary: /* @__PURE__ */ t(g.Fragment, { children: w.description })
|
|
14080
|
-
}
|
|
14081
|
-
),
|
|
14082
|
-
/* @__PURE__ */ t(
|
|
14083
|
-
Mt,
|
|
14049
|
+
cA,
|
|
14084
14050
|
{
|
|
14085
|
-
|
|
14086
|
-
|
|
14087
|
-
|
|
14088
|
-
"
|
|
14089
|
-
|
|
14051
|
+
onClick: L,
|
|
14052
|
+
size: "small",
|
|
14053
|
+
sx: {
|
|
14054
|
+
"&:hover": { backgroundColor: "transparent" },
|
|
14055
|
+
color: s.palette.primary.main,
|
|
14056
|
+
p: 0,
|
|
14057
|
+
height: 16,
|
|
14058
|
+
fontSize: 13,
|
|
14059
|
+
minWidth: 0
|
|
14090
14060
|
},
|
|
14091
|
-
|
|
14092
|
-
onChange: f,
|
|
14093
|
-
size: "small"
|
|
14061
|
+
children: y === e.length ? A.unselect_all : A.select_all
|
|
14094
14062
|
}
|
|
14095
14063
|
)
|
|
14096
14064
|
]
|
|
14097
14065
|
}
|
|
14098
14066
|
) }),
|
|
14099
|
-
|
|
14100
|
-
|
|
14101
|
-
|
|
14102
|
-
|
|
14103
|
-
|
|
14104
|
-
|
|
14105
|
-
|
|
14106
|
-
|
|
14107
|
-
|
|
14108
|
-
|
|
14109
|
-
|
|
14110
|
-
|
|
14111
|
-
|
|
14112
|
-
|
|
14113
|
-
|
|
14114
|
-
|
|
14115
|
-
|
|
14116
|
-
|
|
14117
|
-
|
|
14118
|
-
|
|
14119
|
-
|
|
14120
|
-
|
|
14121
|
-
|
|
14122
|
-
|
|
14067
|
+
sx: { height: "100%" },
|
|
14068
|
+
children: e.sort((w, D) => w.name < D.name ? -1 : 1).map((w, D) => /* @__PURE__ */ l(I, { children: [
|
|
14069
|
+
/* @__PURE__ */ t(W, { disablePadding: !0, children: /* @__PURE__ */ l(
|
|
14070
|
+
dA,
|
|
14071
|
+
{
|
|
14072
|
+
onClick: () => d((O) => ({
|
|
14073
|
+
...O,
|
|
14074
|
+
[w.name]: !O[w.name]
|
|
14075
|
+
})),
|
|
14076
|
+
children: [
|
|
14077
|
+
/* @__PURE__ */ t(
|
|
14078
|
+
tA,
|
|
14079
|
+
{
|
|
14080
|
+
primary: w.title,
|
|
14081
|
+
secondary: /* @__PURE__ */ t(g.Fragment, { children: w.description })
|
|
14082
|
+
}
|
|
14083
|
+
),
|
|
14084
|
+
/* @__PURE__ */ t(
|
|
14085
|
+
Mt,
|
|
14086
|
+
{
|
|
14087
|
+
checked: u[w.name] ? u[w.name] : !1,
|
|
14088
|
+
edge: "end",
|
|
14089
|
+
inputProps: {
|
|
14090
|
+
"aria-label": u[w.name] ? `${A.unselect_insight.split(" ")[0]} ${w.name} ${A.unselect_insight.split(" ")[1]}` : `${A.select_insight.split(" ")[0]} ${w.name} ${A.select_insight.split(" ")[1]}`,
|
|
14091
|
+
role: "checkbox"
|
|
14092
|
+
},
|
|
14093
|
+
name: w.name,
|
|
14094
|
+
onChange: f,
|
|
14095
|
+
size: "small"
|
|
14096
|
+
}
|
|
14097
|
+
)
|
|
14098
|
+
]
|
|
14123
14099
|
}
|
|
14124
|
-
}
|
|
14125
|
-
|
|
14126
|
-
|
|
14127
|
-
|
|
14128
|
-
|
|
14129
|
-
|
|
14130
|
-
|
|
14131
|
-
|
|
14132
|
-
|
|
14133
|
-
|
|
14134
|
-
|
|
14135
|
-
|
|
14136
|
-
|
|
14137
|
-
|
|
14138
|
-
|
|
14139
|
-
|
|
14140
|
-
|
|
14100
|
+
) }),
|
|
14101
|
+
/* @__PURE__ */ t(K, { sx: { ml: D < e.length - 1 ? 24 : 0 } })
|
|
14102
|
+
] }, D))
|
|
14103
|
+
}
|
|
14104
|
+
),
|
|
14105
|
+
/* @__PURE__ */ l(
|
|
14106
|
+
I,
|
|
14107
|
+
{
|
|
14108
|
+
boxSizing: "border-box",
|
|
14109
|
+
pb: 32,
|
|
14110
|
+
pt: 24,
|
|
14111
|
+
px: 24,
|
|
14112
|
+
sx: { display: "flex", justifyContent: "center" },
|
|
14113
|
+
children: [
|
|
14114
|
+
!a && /* @__PURE__ */ t(
|
|
14115
|
+
ki,
|
|
14116
|
+
{
|
|
14117
|
+
handleClose: C,
|
|
14118
|
+
message: h.message,
|
|
14119
|
+
open: h.isOpen,
|
|
14120
|
+
severity: h.severity,
|
|
14121
|
+
snackbarSx: {
|
|
14122
|
+
boxSizing: "border-box",
|
|
14123
|
+
position: "absolute",
|
|
14124
|
+
"&.MuiSnackbar-root": { bottom: "24px", left: 0, right: 0, justifySelf: "center" }
|
|
14125
|
+
}
|
|
14126
|
+
}
|
|
14127
|
+
),
|
|
14128
|
+
/* @__PURE__ */ t(
|
|
14129
|
+
Ga,
|
|
14130
|
+
{
|
|
14131
|
+
color: "primary",
|
|
14132
|
+
disabled: y === 0,
|
|
14133
|
+
fullWidth: !0,
|
|
14134
|
+
loading: a,
|
|
14135
|
+
onClick: T,
|
|
14136
|
+
variant: "contained",
|
|
14137
|
+
children: y > 0 ? `${A.show} ${y} ${y > 1 ? A.hidden_insights : A.hidden_insight}` : A.show_insights
|
|
14138
|
+
}
|
|
14139
|
+
)
|
|
14140
|
+
]
|
|
14141
|
+
}
|
|
14142
|
+
)
|
|
14143
|
+
] })
|
|
14141
14144
|
]
|
|
14142
14145
|
}
|
|
14143
14146
|
);
|
|
@@ -14217,7 +14220,7 @@ const Ki = ({
|
|
|
14217
14220
|
update: r,
|
|
14218
14221
|
isUpdateError: a,
|
|
14219
14222
|
isUpdateLoading: i
|
|
14220
|
-
} = e, [o, s, c] = Rg(n), { toastState: u, showToast: d, hideToast: h, setMessage: C } =
|
|
14223
|
+
} = e, [o, s, c] = Rg(n), { toastState: u, showToast: d, hideToast: h, setMessage: C } = Ki(), [m, f] = g.useState(!1), [y, v] = g.useState(!1), [L, T] = g.useState(""), [w, D] = g.useState(""), O = Ai(i);
|
|
14221
14224
|
me(() => {
|
|
14222
14225
|
O && !i && (a ? d(A.something_went_wrong, "error") : d(void 0, "success"));
|
|
14223
14226
|
}, [O, a]);
|
|
@@ -14234,7 +14237,7 @@ const Ki = ({
|
|
|
14234
14237
|
};
|
|
14235
14238
|
return /* @__PURE__ */ l(eA, { children: [
|
|
14236
14239
|
/* @__PURE__ */ t(
|
|
14237
|
-
|
|
14240
|
+
Bi,
|
|
14238
14241
|
{
|
|
14239
14242
|
iconName: "visibility_off_outlined",
|
|
14240
14243
|
itemCount: n.length,
|
|
@@ -14257,69 +14260,76 @@ const Ki = ({
|
|
|
14257
14260
|
title: A.manage_hidden_insights,
|
|
14258
14261
|
children: [
|
|
14259
14262
|
/* @__PURE__ */ t(K, {}),
|
|
14260
|
-
|
|
14261
|
-
|
|
14262
|
-
|
|
14263
|
-
|
|
14264
|
-
|
|
14265
|
-
|
|
14266
|
-
|
|
14267
|
-
|
|
14268
|
-
|
|
14269
|
-
|
|
14270
|
-
|
|
14271
|
-
|
|
14272
|
-
|
|
14273
|
-
|
|
14274
|
-
|
|
14275
|
-
|
|
14276
|
-
|
|
14277
|
-
|
|
14278
|
-
|
|
14279
|
-
|
|
14280
|
-
|
|
14281
|
-
|
|
14282
|
-
|
|
14283
|
-
|
|
14284
|
-
|
|
14285
|
-
|
|
14286
|
-
|
|
14287
|
-
|
|
14288
|
-
|
|
14289
|
-
|
|
14290
|
-
|
|
14291
|
-
|
|
14292
|
-
|
|
14293
|
-
|
|
14294
|
-
|
|
14295
|
-
|
|
14296
|
-
|
|
14297
|
-
|
|
14298
|
-
|
|
14299
|
-
|
|
14300
|
-
|
|
14301
|
-
|
|
14302
|
-
|
|
14303
|
-
|
|
14304
|
-
|
|
14305
|
-
|
|
14306
|
-
|
|
14307
|
-
|
|
14308
|
-
|
|
14309
|
-
|
|
14310
|
-
|
|
14311
|
-
|
|
14312
|
-
|
|
14313
|
-
message: u.message,
|
|
14314
|
-
open: u.isOpen,
|
|
14315
|
-
severity: u.severity,
|
|
14316
|
-
snackbarSx: {
|
|
14317
|
-
boxSizing: "border-box",
|
|
14318
|
-
position: "absolute",
|
|
14319
|
-
"&.MuiSnackbar-root": { bottom: "24px", left: 0, right: 0, justifySelf: "center" }
|
|
14263
|
+
/* @__PURE__ */ l(b, { height: "calc(100vh - 61px)", children: [
|
|
14264
|
+
n.length > 0 ? /* @__PURE__ */ t(nA, { sx: { height: "100%" }, children: o.map(
|
|
14265
|
+
(F) => s[F.key] !== "" && /* @__PURE__ */ t(
|
|
14266
|
+
nA,
|
|
14267
|
+
{
|
|
14268
|
+
subheader: /* @__PURE__ */ t(hr, { children: s[F.key] }),
|
|
14269
|
+
children: F.subcategories.map(
|
|
14270
|
+
(Q, q) => Q.beats.length > 0 && /* @__PURE__ */ l(I, { children: [
|
|
14271
|
+
/* @__PURE__ */ t(W, { disablePadding: !0, children: /* @__PURE__ */ l(
|
|
14272
|
+
dA,
|
|
14273
|
+
{
|
|
14274
|
+
onClick: () => N(F.key, Q.key),
|
|
14275
|
+
children: [
|
|
14276
|
+
/* @__PURE__ */ t(
|
|
14277
|
+
tA,
|
|
14278
|
+
{
|
|
14279
|
+
primary: c[Q.key].replace(
|
|
14280
|
+
/&/g,
|
|
14281
|
+
"&"
|
|
14282
|
+
),
|
|
14283
|
+
secondary: /* @__PURE__ */ l(g.Fragment, { children: [
|
|
14284
|
+
Q.beats.length,
|
|
14285
|
+
" ",
|
|
14286
|
+
Q.beats.length > 1 ? A.insights_hidden : A.insight_hidden
|
|
14287
|
+
] })
|
|
14288
|
+
}
|
|
14289
|
+
),
|
|
14290
|
+
/* @__PURE__ */ t(M, { name: "chevron_right", size: 24 })
|
|
14291
|
+
]
|
|
14292
|
+
}
|
|
14293
|
+
) }),
|
|
14294
|
+
/* @__PURE__ */ t(
|
|
14295
|
+
K,
|
|
14296
|
+
{
|
|
14297
|
+
sx: { ml: q < F.subcategories.length - 1 ? 24 : 0 }
|
|
14298
|
+
}
|
|
14299
|
+
)
|
|
14300
|
+
] }, Q.key)
|
|
14301
|
+
)
|
|
14302
|
+
},
|
|
14303
|
+
F.key
|
|
14304
|
+
)
|
|
14305
|
+
) }) : /* @__PURE__ */ t(Pg, { content: A }),
|
|
14306
|
+
/* @__PURE__ */ l(I, { boxSizing: "border-box", pb: 32, pt: 24, px: 24, children: [
|
|
14307
|
+
n.length > 0 && /* @__PURE__ */ t(
|
|
14308
|
+
Ga,
|
|
14309
|
+
{
|
|
14310
|
+
color: "primary",
|
|
14311
|
+
fullWidth: !0,
|
|
14312
|
+
loading: i,
|
|
14313
|
+
onClick: P,
|
|
14314
|
+
variant: "contained",
|
|
14315
|
+
children: A.show_all_hidden_insights
|
|
14320
14316
|
}
|
|
14321
|
-
|
|
14322
|
-
|
|
14317
|
+
),
|
|
14318
|
+
/* @__PURE__ */ t(
|
|
14319
|
+
ki,
|
|
14320
|
+
{
|
|
14321
|
+
handleClose: h,
|
|
14322
|
+
message: u.message,
|
|
14323
|
+
open: u.isOpen,
|
|
14324
|
+
severity: u.severity,
|
|
14325
|
+
snackbarSx: {
|
|
14326
|
+
boxSizing: "border-box",
|
|
14327
|
+
position: "absolute",
|
|
14328
|
+
"&.MuiSnackbar-root": { bottom: "24px", left: 0, right: 0, justifySelf: "center" }
|
|
14329
|
+
}
|
|
14330
|
+
}
|
|
14331
|
+
)
|
|
14332
|
+
] })
|
|
14323
14333
|
] }),
|
|
14324
14334
|
/* @__PURE__ */ t(
|
|
14325
14335
|
Ng,
|
|
@@ -14339,30 +14349,31 @@ const Ki = ({
|
|
|
14339
14349
|
] });
|
|
14340
14350
|
}, ff = ({
|
|
14341
14351
|
content: A,
|
|
14342
|
-
|
|
14343
|
-
|
|
14344
|
-
|
|
14352
|
+
clientColors: e = {},
|
|
14353
|
+
disabledBeatTemplatesStore: n,
|
|
14354
|
+
useDarkMode: r = !1
|
|
14355
|
+
}) => /* @__PURE__ */ t(Fn, { theme: Qn(Ie(r ? "dark" : "light"), e), children: /* @__PURE__ */ t(Dg, { children: /* @__PURE__ */ t(
|
|
14345
14356
|
Hg,
|
|
14346
14357
|
{
|
|
14347
14358
|
content: A,
|
|
14348
|
-
disabledBeatTemplatesStore:
|
|
14359
|
+
disabledBeatTemplatesStore: n
|
|
14349
14360
|
}
|
|
14350
14361
|
) }) }), zg = ({
|
|
14351
14362
|
children: A,
|
|
14352
|
-
|
|
14353
|
-
|
|
14363
|
+
clientColors: e = {},
|
|
14364
|
+
content: n,
|
|
14354
14365
|
isOpen: r = !1,
|
|
14355
14366
|
onClose: a = () => {
|
|
14356
14367
|
},
|
|
14357
14368
|
useDarkMode: i = !1
|
|
14358
|
-
}) => /* @__PURE__ */ t(Fn, { theme:
|
|
14369
|
+
}) => /* @__PURE__ */ t(Fn, { theme: Qn(Ie(i ? "dark" : "light"), e), children: /* @__PURE__ */ t(
|
|
14359
14370
|
lA,
|
|
14360
14371
|
{
|
|
14361
|
-
ariaLabelClose:
|
|
14372
|
+
ariaLabelClose: n.close,
|
|
14362
14373
|
isOpen: r,
|
|
14363
14374
|
onClose: a,
|
|
14364
14375
|
shouldShowHeaderBorders: !1,
|
|
14365
|
-
title:
|
|
14376
|
+
title: n.settings,
|
|
14366
14377
|
children: /* @__PURE__ */ l(nA, { children: [
|
|
14367
14378
|
/* @__PURE__ */ t(K, {}),
|
|
14368
14379
|
A
|
|
@@ -14396,7 +14407,7 @@ class Bg {
|
|
|
14396
14407
|
return this.copyObject.zero_state;
|
|
14397
14408
|
}
|
|
14398
14409
|
}
|
|
14399
|
-
const
|
|
14410
|
+
const gr = {
|
|
14400
14411
|
BillAmountNotStandard: "BillAmountNotStandard",
|
|
14401
14412
|
CanadianUpcomingDeadlineAlert: "CanadianUpcomingDeadlineAlert",
|
|
14402
14413
|
DuplicatePaymentV2: "DuplicatePaymentV2",
|
|
@@ -14413,37 +14424,37 @@ const hr = {
|
|
|
14413
14424
|
WeeklyNewMerchantsV2: "WeeklyNewMerchantsV2",
|
|
14414
14425
|
MonthlySpendComparison: "MonthlySpendComparison",
|
|
14415
14426
|
MonthlySpendToIncomeComparison: "MonthlySpendToIncomeComparison"
|
|
14416
|
-
}, ae = window?.app?.clientConfig?.microwidget_instance_id || "",
|
|
14427
|
+
}, ae = window?.app?.clientConfig?.microwidget_instance_id || "", ya = {
|
|
14417
14428
|
INSIGHTS_MICRO_WIDGET: "/micro-insights-carousel"
|
|
14418
|
-
},
|
|
14429
|
+
}, Gi = (A) => `on${A}Click`, Xi = (A) => `on${A}View`, Fi = (A) => `on${A}ViewFirstTime`, Cr = (A) => A.replace(/([a-z])([A-Z])/g, "$1 $2"), qg = () => Object.values(gr).reduce(
|
|
14419
14430
|
(A, e) => ({
|
|
14420
14431
|
...A,
|
|
14421
|
-
[
|
|
14432
|
+
[Gi(e)]: {
|
|
14422
14433
|
action: Te.MICRO_BEAT_CLICKED,
|
|
14423
14434
|
category: Le.BEAT_INTERACTION,
|
|
14424
|
-
label:
|
|
14435
|
+
label: Cr(e),
|
|
14425
14436
|
value: ae
|
|
14426
14437
|
}
|
|
14427
14438
|
}),
|
|
14428
14439
|
{}
|
|
14429
|
-
), Kg = () => Object.values(
|
|
14440
|
+
), Kg = () => Object.values(gr).reduce(
|
|
14430
14441
|
(A, e) => ({
|
|
14431
14442
|
...A,
|
|
14432
|
-
[
|
|
14443
|
+
[Xi(e)]: {
|
|
14433
14444
|
action: Te.MICRO_BEAT_DISPLAYED,
|
|
14434
14445
|
category: Le.BEAT_INTERACTION,
|
|
14435
|
-
label:
|
|
14446
|
+
label: Cr(e),
|
|
14436
14447
|
value: ae
|
|
14437
14448
|
}
|
|
14438
14449
|
}),
|
|
14439
14450
|
{}
|
|
14440
|
-
), kg = () => Object.values(
|
|
14451
|
+
), kg = () => Object.values(gr).reduce(
|
|
14441
14452
|
(A, e) => ({
|
|
14442
14453
|
...A,
|
|
14443
|
-
[
|
|
14454
|
+
[Fi(e)]: {
|
|
14444
14455
|
action: Te.MICRO_BEAT_DISPLAYED_FIRST_TIME,
|
|
14445
14456
|
category: Le.BEAT_INTERACTION,
|
|
14446
|
-
label:
|
|
14457
|
+
label: Cr(e),
|
|
14447
14458
|
value: ae
|
|
14448
14459
|
}
|
|
14449
14460
|
}),
|
|
@@ -14463,7 +14474,7 @@ const hr = {
|
|
|
14463
14474
|
ON_CAROUSEL_FORWARD_SWIPE: "onCarouselForwardSwipe",
|
|
14464
14475
|
ON_NO_RELEVANT_INSIGHTS_CLICKED: "onNoRelevantInsightsClicked",
|
|
14465
14476
|
ON_VIEW_MORE_CLICKED: "onViewMoreClicked"
|
|
14466
|
-
},
|
|
14477
|
+
}, Qi = {
|
|
14467
14478
|
ON_VIEW_MORE_VIEWED: "onViewMoreCardView"
|
|
14468
14479
|
}, Te = {
|
|
14469
14480
|
CONTROL_BACKWARD: "Control Backward",
|
|
@@ -14477,18 +14488,18 @@ const hr = {
|
|
|
14477
14488
|
MICRO_WIDGET_CAROUSEL: "Micro Widget Carousel",
|
|
14478
14489
|
MICRO_WIDGET_CAROUSEL_ZERO_STATE: "Micro Widget Carousel Zero State",
|
|
14479
14490
|
MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS: "Micro Widget Carousel No Relevant Insights"
|
|
14480
|
-
},
|
|
14491
|
+
}, Ea = {
|
|
14481
14492
|
[Oe.MICRO_WIDGET_CAROUSEL]: {
|
|
14482
14493
|
label: Se.MICRO_WIDGET,
|
|
14483
14494
|
name: Oe.MICRO_WIDGET_CAROUSEL,
|
|
14484
|
-
path:
|
|
14495
|
+
path: ya.INSIGHTS_MICRO_WIDGET,
|
|
14485
14496
|
value: ae
|
|
14486
14497
|
},
|
|
14487
14498
|
// zero state
|
|
14488
14499
|
[Oe.MICRO_WIDGET_CAROUSEL_ZERO_STATE]: {
|
|
14489
14500
|
label: Se.MICRO_WIDGET,
|
|
14490
14501
|
name: Oe.MICRO_WIDGET_CAROUSEL_ZERO_STATE,
|
|
14491
|
-
path:
|
|
14502
|
+
path: ya.INSIGHTS_MICRO_WIDGET,
|
|
14492
14503
|
value: ae
|
|
14493
14504
|
},
|
|
14494
14505
|
// no relevant cards
|
|
@@ -14498,7 +14509,7 @@ const hr = {
|
|
|
14498
14509
|
path: "/micro-widget",
|
|
14499
14510
|
value: ae
|
|
14500
14511
|
}
|
|
14501
|
-
},
|
|
14512
|
+
}, ba = {
|
|
14502
14513
|
// carousel control interaction events - clicks and swipes
|
|
14503
14514
|
[ie.ON_CAROUSEL_BACK_CLICK]: {
|
|
14504
14515
|
action: Te.CONTROL_BACKWARD,
|
|
@@ -14531,7 +14542,7 @@ const hr = {
|
|
|
14531
14542
|
label: Se.VIEW_MORE,
|
|
14532
14543
|
value: ae
|
|
14533
14544
|
},
|
|
14534
|
-
[
|
|
14545
|
+
[Qi.ON_VIEW_MORE_VIEWED]: {
|
|
14535
14546
|
action: Te.MICRO_BEAT_DISPLAYED,
|
|
14536
14547
|
category: Le.BEAT_INTERACTION,
|
|
14537
14548
|
label: Se.VIEW_MORE,
|
|
@@ -14540,25 +14551,25 @@ const hr = {
|
|
|
14540
14551
|
...qg(),
|
|
14541
14552
|
...Kg(),
|
|
14542
14553
|
...kg()
|
|
14543
|
-
},
|
|
14554
|
+
}, wa = async (A, e) => !e || !ba[A] ? null : e.sendAnalyticEvent(ba[A]).then((n) => n).catch((n) => {
|
|
14544
14555
|
throw n;
|
|
14545
|
-
}),
|
|
14556
|
+
}), Sa = async (A, e) => !e || !Ea[A] ? null : e.sendAnalyticsPageview(Ea[A]).then((n) => n).catch((n) => {
|
|
14546
14557
|
throw n;
|
|
14547
14558
|
});
|
|
14548
14559
|
class Gg {
|
|
14549
|
-
onAnalyticEvent =
|
|
14550
|
-
onAnalyticPageView =
|
|
14560
|
+
onAnalyticEvent = wa;
|
|
14561
|
+
onAnalyticPageView = Sa;
|
|
14551
14562
|
beatApi = new et("/", "");
|
|
14552
14563
|
constructor() {
|
|
14553
14564
|
wA(this);
|
|
14554
14565
|
}
|
|
14555
14566
|
initialize = async (e, n, r) => {
|
|
14556
14567
|
this.onAnalyticEvent = (a, i) => {
|
|
14557
|
-
|
|
14568
|
+
wa(a, i).then((o) => o).catch((o) => {
|
|
14558
14569
|
throw o.status === 401 && r(), o;
|
|
14559
14570
|
});
|
|
14560
14571
|
}, this.onAnalyticPageView = (a, i) => {
|
|
14561
|
-
|
|
14572
|
+
Sa(a, i).then((o) => o).catch((o) => {
|
|
14562
14573
|
throw o.status === 401 && r(), o;
|
|
14563
14574
|
});
|
|
14564
14575
|
}, this.beatApi = new et(e, n);
|
|
@@ -14646,7 +14657,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
14646
14657
|
}, Zg = ({ beat: A }) => {
|
|
14647
14658
|
const e = _A(), n = Jg(A.data_series, e);
|
|
14648
14659
|
return /* @__PURE__ */ t(M, { name: "bar_chart", sx: { color: n } });
|
|
14649
|
-
},
|
|
14660
|
+
}, ji = () => /* @__PURE__ */ l("svg", { fill: "none", height: "36", viewBox: "0 0 40 36", width: "40", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
14650
14661
|
/* @__PURE__ */ t(
|
|
14651
14662
|
"path",
|
|
14652
14663
|
{
|
|
@@ -15427,7 +15438,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
15427
15438
|
}
|
|
15428
15439
|
)
|
|
15429
15440
|
] })
|
|
15430
|
-
] }),
|
|
15441
|
+
] }), La = ({ beat: A, clientColorScheme: e, color: n, type: r }) => {
|
|
15431
15442
|
const a = gA(), i = e?.primary_300 ? e.primary_300 : a.palette.primary.main;
|
|
15432
15443
|
return r === 0 ? /* @__PURE__ */ t(M, { fill: !0, name: "error", sx: { color: n || i } }) : r === 1 && A ? /* @__PURE__ */ t(Qg, { beat: A }) : r === 2 && A ? /* @__PURE__ */ t(Wg, { beat: A }) : r === 3 && A ? /* @__PURE__ */ t(Zg, { beat: A }) : /* @__PURE__ */ t(
|
|
15433
15444
|
M,
|
|
@@ -15439,12 +15450,12 @@ const St = g.createContext(null), Fg = ({
|
|
|
15439
15450
|
}
|
|
15440
15451
|
}
|
|
15441
15452
|
);
|
|
15442
|
-
},
|
|
15453
|
+
}, Ui = {
|
|
15443
15454
|
LARGE: 180,
|
|
15444
15455
|
STANDARD: 154,
|
|
15445
15456
|
XLARGE: 200,
|
|
15446
15457
|
XXLARGE: 248
|
|
15447
|
-
}, $g = 50,
|
|
15458
|
+
}, $g = 50, Wi = 1, We = () => {
|
|
15448
15459
|
const A = g.useContext(St);
|
|
15449
15460
|
if (!A)
|
|
15450
15461
|
throw new Error("useCopyStore() must be used within the InsightsMicroWidgetDataProvider");
|
|
@@ -15461,7 +15472,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
15461
15472
|
if (!A)
|
|
15462
15473
|
throw new Error("useEvent() must be used within the InsightsMicroWidgetDataProvider");
|
|
15463
15474
|
return { onEvent: A.onEvent };
|
|
15464
|
-
},
|
|
15475
|
+
}, Yi = () => {
|
|
15465
15476
|
const A = g.useContext(St);
|
|
15466
15477
|
if (!A)
|
|
15467
15478
|
throw new Error("usePageview() must be used within the InsightsMicroWidgetDataProvider");
|
|
@@ -15482,13 +15493,13 @@ const St = g.createContext(null), Fg = ({
|
|
|
15482
15493
|
widthOverrides: C
|
|
15483
15494
|
}) => {
|
|
15484
15495
|
const m = window.app?.config.client_guid, { ref: f, inView: y } = Xn({
|
|
15485
|
-
threshold:
|
|
15496
|
+
threshold: Wi
|
|
15486
15497
|
}), { cardsCopy: v } = We(), { onEvent: L } = Lt(), { updateBeat: T } = AC();
|
|
15487
15498
|
me(() => {
|
|
15488
|
-
y && (n.has_been_displayed ? L(
|
|
15499
|
+
y && (n.has_been_displayed ? L(Xi(n.template)) : (T({
|
|
15489
15500
|
...n,
|
|
15490
15501
|
has_been_displayed: !0
|
|
15491
|
-
}), L(
|
|
15502
|
+
}), L(Fi(n.template))));
|
|
15492
15503
|
}, [y]), me(() => {
|
|
15493
15504
|
u?.capture && y && n && m && u.capture("micro_widget_viewed_insight", {
|
|
15494
15505
|
beat_guid: n.guid,
|
|
@@ -15498,7 +15509,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
15498
15509
|
});
|
|
15499
15510
|
}, [n, m, u, o, y]);
|
|
15500
15511
|
const w = () => {
|
|
15501
|
-
c && c(n), L(
|
|
15512
|
+
c && c(n), L(Gi(n.template)), u?.capture && m && u.capture("micro_widget_clicked_insight", {
|
|
15502
15513
|
beat_guid: n.guid,
|
|
15503
15514
|
insight_template: n.template,
|
|
15504
15515
|
position: o,
|
|
@@ -15514,8 +15525,8 @@ const St = g.createContext(null), Fg = ({
|
|
|
15514
15525
|
description: n?.html_micro_description && n?.html_micro_description.length > 0 ? n.html_micro_description : n.html_description,
|
|
15515
15526
|
fontColors: { buttonColor: r?.primary_300 },
|
|
15516
15527
|
heightOverrides: i,
|
|
15517
|
-
icon:
|
|
15518
|
-
|
|
15528
|
+
icon: La && /* @__PURE__ */ t(
|
|
15529
|
+
La,
|
|
15519
15530
|
{
|
|
15520
15531
|
beat: n,
|
|
15521
15532
|
clientColorScheme: r,
|
|
@@ -15884,7 +15895,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
15884
15895
|
}
|
|
15885
15896
|
),
|
|
15886
15897
|
/* @__PURE__ */ l(
|
|
15887
|
-
|
|
15898
|
+
ka,
|
|
15888
15899
|
{
|
|
15889
15900
|
onClick: s,
|
|
15890
15901
|
sx: {
|
|
@@ -16035,7 +16046,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16035
16046
|
variant: c,
|
|
16036
16047
|
widthOverrides: u
|
|
16037
16048
|
}) => {
|
|
16038
|
-
const { cardsCopy: d } = We(), { onEvent: h } = Lt(), { onPageview: C } =
|
|
16049
|
+
const { cardsCopy: d } = We(), { onEvent: h } = Lt(), { onPageview: C } = Yi(), m = window.app?.config.client_guid;
|
|
16039
16050
|
g.useEffect(() => {
|
|
16040
16051
|
C(Oe.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS);
|
|
16041
16052
|
}, []);
|
|
@@ -16053,13 +16064,13 @@ const St = g.createContext(null), Fg = ({
|
|
|
16053
16064
|
description: d.no_relevant_insights_card_description,
|
|
16054
16065
|
fontColors: { buttonColor: n?.primary_300 },
|
|
16055
16066
|
heightOverrides: r,
|
|
16056
|
-
icon: /* @__PURE__ */ t(
|
|
16067
|
+
icon: /* @__PURE__ */ t(ji, {}),
|
|
16057
16068
|
onCardClick: f,
|
|
16058
16069
|
showIcon: o,
|
|
16059
16070
|
style: {
|
|
16060
16071
|
cardStyle: {
|
|
16061
16072
|
card: {
|
|
16062
|
-
height: `calc(${
|
|
16073
|
+
height: `calc(${Ui[e]}px - 44px)`,
|
|
16063
16074
|
margin: "0 auto",
|
|
16064
16075
|
width: s ? "calc(100% - 32px)" : "100%"
|
|
16065
16076
|
},
|
|
@@ -16088,10 +16099,10 @@ const St = g.createContext(null), Fg = ({
|
|
|
16088
16099
|
widthOverrides: c
|
|
16089
16100
|
}) => {
|
|
16090
16101
|
const u = _A(), d = window.app?.config.client_guid, { ref: h, inView: C } = Xn({
|
|
16091
|
-
threshold:
|
|
16102
|
+
threshold: Wi
|
|
16092
16103
|
}), { cardsCopy: m } = We(), { onEvent: f } = Lt();
|
|
16093
16104
|
me(() => {
|
|
16094
|
-
C && f(
|
|
16105
|
+
C && f(Qi.ON_VIEW_MORE_VIEWED);
|
|
16095
16106
|
}, [C]), me(() => {
|
|
16096
16107
|
i?.capture && C && d && i.capture("micro_widget_viewed_insight", {
|
|
16097
16108
|
insight_template: "read_more_card",
|
|
@@ -16137,7 +16148,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16137
16148
|
variant: o,
|
|
16138
16149
|
widthOverrides: s
|
|
16139
16150
|
}) => {
|
|
16140
|
-
const { onPageview: c } =
|
|
16151
|
+
const { onPageview: c } = Yi(), { zeroStateCopy: u } = We();
|
|
16141
16152
|
return g.useEffect(() => {
|
|
16142
16153
|
c(Oe.MICRO_WIDGET_CAROUSEL_ZERO_STATE);
|
|
16143
16154
|
}, []), /* @__PURE__ */ t(
|
|
@@ -16146,13 +16157,13 @@ const St = g.createContext(null), Fg = ({
|
|
|
16146
16157
|
ariaLabel: A,
|
|
16147
16158
|
description: u.carousel_zero_state_description,
|
|
16148
16159
|
heightOverrides: n,
|
|
16149
|
-
icon: /* @__PURE__ */ t(
|
|
16160
|
+
icon: /* @__PURE__ */ t(ji, {}),
|
|
16150
16161
|
onCardClick: r,
|
|
16151
16162
|
showIcon: a,
|
|
16152
16163
|
style: {
|
|
16153
16164
|
cardStyle: {
|
|
16154
16165
|
card: {
|
|
16155
|
-
height: `calc(${
|
|
16166
|
+
height: `calc(${Ui[e]}px - 44px)`,
|
|
16156
16167
|
margin: "0 auto",
|
|
16157
16168
|
width: i ? "calc(100% - 32px)" : "100%"
|
|
16158
16169
|
},
|
|
@@ -16187,7 +16198,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16187
16198
|
});
|
|
16188
16199
|
}
|
|
16189
16200
|
return n;
|
|
16190
|
-
}, []),
|
|
16201
|
+
}, []), Vi = (A, e) => {
|
|
16191
16202
|
const n = pC(A, e), r = n.filter((c) => c.guid !== E.INCOME && c.guid !== E.TRANSFER).sort((c, u) => u.amount - c.amount), a = r.reduce(
|
|
16192
16203
|
(c, u) => c + u.amount,
|
|
16193
16204
|
0
|
|
@@ -16224,7 +16235,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16224
16235
|
donutData: s,
|
|
16225
16236
|
totalAmount: a
|
|
16226
16237
|
};
|
|
16227
|
-
},
|
|
16238
|
+
}, Ji = (A, e, n) => {
|
|
16228
16239
|
const r = A.filter(
|
|
16229
16240
|
(s) => s.parent_guid === E.INCOME
|
|
16230
16241
|
), a = e.filter((s) => r.some((c) => c.guid === s.category_guid)).sort((s, c) => s.total - c.total).map((s, c) => ({
|
|
@@ -16281,7 +16292,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16281
16292
|
{
|
|
16282
16293
|
categoryGuid: e ? E.INCOME : h.guid,
|
|
16283
16294
|
size: s === "mini" ? 24 : f,
|
|
16284
|
-
variant:
|
|
16295
|
+
variant: Pa.Transparent
|
|
16285
16296
|
}
|
|
16286
16297
|
),
|
|
16287
16298
|
/* @__PURE__ */ t(p, { color: "secondary", noWrap: !0, variant: s === "mini" ? "Tiny" : "Body", children: h ? h.name : o })
|
|
@@ -16303,7 +16314,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16303
16314
|
}
|
|
16304
16315
|
)
|
|
16305
16316
|
] }) }) });
|
|
16306
|
-
}, Ut = S(vC),
|
|
16317
|
+
}, Ut = S(vC), Ta = ({ data: A, onSelected: e, selectedId: n }) => /* @__PURE__ */ t(b, { gap: 8, height: "100%", justifyContent: "center", my: "auto", children: A.categoryData.map((r) => /* @__PURE__ */ l(
|
|
16307
16318
|
b,
|
|
16308
16319
|
{
|
|
16309
16320
|
alignItems: "center",
|
|
@@ -16340,10 +16351,10 @@ const St = g.createContext(null), Fg = ({
|
|
|
16340
16351
|
).finally();
|
|
16341
16352
|
}, [n]);
|
|
16342
16353
|
const [s, c] = g.useState(""), [u, d] = g.useState(0), h = g.useMemo(
|
|
16343
|
-
() =>
|
|
16354
|
+
() => Vi(a, i),
|
|
16344
16355
|
[a, i]
|
|
16345
16356
|
), C = g.useMemo(
|
|
16346
|
-
() =>
|
|
16357
|
+
() => Ji(a, i, r),
|
|
16347
16358
|
[a, i, r]
|
|
16348
16359
|
), m = (y, v) => {
|
|
16349
16360
|
d(v), c("");
|
|
@@ -16388,7 +16399,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16388
16399
|
}
|
|
16389
16400
|
),
|
|
16390
16401
|
/* @__PURE__ */ t(
|
|
16391
|
-
|
|
16402
|
+
Ta,
|
|
16392
16403
|
{
|
|
16393
16404
|
data: h,
|
|
16394
16405
|
onSelected: f,
|
|
@@ -16407,7 +16418,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16407
16418
|
totalLabel: e.total_income
|
|
16408
16419
|
}
|
|
16409
16420
|
),
|
|
16410
|
-
/* @__PURE__ */ t(
|
|
16421
|
+
/* @__PURE__ */ t(Ta, { data: C, onSelected: f, selectedId: s })
|
|
16411
16422
|
] }) })
|
|
16412
16423
|
] });
|
|
16413
16424
|
}, EC = S(yC), bC = ({ onPrimaryCtaClick: A, sx: e = {} }) => {
|
|
@@ -16552,7 +16563,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16552
16563
|
]
|
|
16553
16564
|
}
|
|
16554
16565
|
);
|
|
16555
|
-
},
|
|
16566
|
+
}, Ia = S(LC), TC = (A) => [
|
|
16556
16567
|
A.palette.chartMono.chartMono5,
|
|
16557
16568
|
A.palette.chartMono.chartMono4,
|
|
16558
16569
|
A.palette.chartMono.chartMono3,
|
|
@@ -16569,10 +16580,10 @@ const St = g.createContext(null), Fg = ({
|
|
|
16569
16580
|
).finally();
|
|
16570
16581
|
}, [o, i]);
|
|
16571
16582
|
const T = g.useMemo(
|
|
16572
|
-
() =>
|
|
16583
|
+
() => Vi(e, n),
|
|
16573
16584
|
[e, n]
|
|
16574
16585
|
), w = g.useMemo(
|
|
16575
|
-
() =>
|
|
16586
|
+
() => Ji(e, n, TC(A)),
|
|
16576
16587
|
[e, n]
|
|
16577
16588
|
), D = g.useMemo(
|
|
16578
16589
|
() => u.find((z) => z.guid === f),
|
|
@@ -16633,7 +16644,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16633
16644
|
)
|
|
16634
16645
|
] }),
|
|
16635
16646
|
C === 0 && /* @__PURE__ */ t(
|
|
16636
|
-
|
|
16647
|
+
Ia,
|
|
16637
16648
|
{
|
|
16638
16649
|
data: T,
|
|
16639
16650
|
onSelected: P,
|
|
@@ -16643,7 +16654,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16643
16654
|
}
|
|
16644
16655
|
),
|
|
16645
16656
|
C === 1 && /* @__PURE__ */ t(
|
|
16646
|
-
|
|
16657
|
+
Ia,
|
|
16647
16658
|
{
|
|
16648
16659
|
data: w,
|
|
16649
16660
|
onSelected: P,
|
|
@@ -16724,7 +16735,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16724
16735
|
dataset: u
|
|
16725
16736
|
};
|
|
16726
16737
|
});
|
|
16727
|
-
},
|
|
16738
|
+
}, Da = (A, e) => A.map((n) => ({
|
|
16728
16739
|
...n,
|
|
16729
16740
|
dataset: n.dataset.slice(0, e)
|
|
16730
16741
|
})), _C = (A, e) => {
|
|
@@ -16752,7 +16763,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16752
16763
|
categoryGuid: A.row.category,
|
|
16753
16764
|
topLevelCategoryGuid: A.row.top_level_category_guid
|
|
16754
16765
|
}
|
|
16755
|
-
) }),
|
|
16766
|
+
) }), xa = (A) => /* @__PURE__ */ t(p, { fontWeight: 600, variant: "Small", children: A.colDef.headerName }), BC = ({
|
|
16756
16767
|
monthlyCategoryTotals: A,
|
|
16757
16768
|
selectedCategory: e,
|
|
16758
16769
|
onClickRow: n,
|
|
@@ -16775,7 +16786,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16775
16786
|
field: "category",
|
|
16776
16787
|
headerName: "Category",
|
|
16777
16788
|
minWidth: 175,
|
|
16778
|
-
renderHeader:
|
|
16789
|
+
renderHeader: xa,
|
|
16779
16790
|
renderCell: zC,
|
|
16780
16791
|
sortable: !0,
|
|
16781
16792
|
type: "string"
|
|
@@ -16785,7 +16796,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16785
16796
|
field: C,
|
|
16786
16797
|
headerName: C,
|
|
16787
16798
|
minWidth: 75,
|
|
16788
|
-
renderHeader:
|
|
16799
|
+
renderHeader: xa,
|
|
16789
16800
|
renderCell: RC,
|
|
16790
16801
|
align: "right",
|
|
16791
16802
|
headerAlign: "right",
|
|
@@ -16862,10 +16873,10 @@ const St = g.createContext(null), Fg = ({
|
|
|
16862
16873
|
unstackedDatasets: bA
|
|
16863
16874
|
};
|
|
16864
16875
|
}, [k, w]), Q = g.useMemo(() => {
|
|
16865
|
-
const _ =
|
|
16876
|
+
const _ = Da(
|
|
16866
16877
|
F.stackedDatasets,
|
|
16867
16878
|
N
|
|
16868
|
-
), rA =
|
|
16879
|
+
), rA = Da(
|
|
16869
16880
|
F.unstackedDatasets,
|
|
16870
16881
|
N
|
|
16871
16882
|
);
|
|
@@ -16946,7 +16957,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
16946
16957
|
/* @__PURE__ */ t(p, { variant: a ? "Body" : "Small", children: q })
|
|
16947
16958
|
] }),
|
|
16948
16959
|
/* @__PURE__ */ t(
|
|
16949
|
-
|
|
16960
|
+
Ma,
|
|
16950
16961
|
{
|
|
16951
16962
|
exclusive: !0,
|
|
16952
16963
|
onChange: J,
|
|
@@ -17032,7 +17043,7 @@ const St = g.createContext(null), Fg = ({
|
|
|
17032
17043
|
}, kC = () => {
|
|
17033
17044
|
const A = kA(), { monthlyCategoryTotals: e } = PA(), { trends: n } = x(), r = KC(e);
|
|
17034
17045
|
return /* @__PURE__ */ t(
|
|
17035
|
-
|
|
17046
|
+
Vn,
|
|
17036
17047
|
{
|
|
17037
17048
|
baseline: "min",
|
|
17038
17049
|
colors: [A.palette.primary.main],
|
|
@@ -17064,17 +17075,17 @@ const St = g.createContext(null), Fg = ({
|
|
|
17064
17075
|
}, bf = S(XC);
|
|
17065
17076
|
export {
|
|
17066
17077
|
j as ANALYTICS_EVENTS,
|
|
17067
|
-
|
|
17068
|
-
|
|
17069
|
-
|
|
17078
|
+
ga as AccountApi,
|
|
17079
|
+
ei as AccountFilter,
|
|
17080
|
+
Wa as AccountIcon,
|
|
17070
17081
|
ks as AccountIconVariants,
|
|
17071
17082
|
R1 as AccountStore,
|
|
17072
17083
|
qs as AccountSubType,
|
|
17073
17084
|
U as AccountType,
|
|
17074
|
-
|
|
17085
|
+
Ua as AccountTypeName,
|
|
17075
17086
|
rf as AccountsMiniWidget,
|
|
17076
17087
|
nf as AccountsWidget,
|
|
17077
|
-
|
|
17088
|
+
Di as ActivitySettings,
|
|
17078
17089
|
DA as ActivityStatus,
|
|
17079
17090
|
LA as ActivityType,
|
|
17080
17091
|
Bd as AddAccountModal,
|
|
@@ -17088,9 +17099,9 @@ export {
|
|
|
17088
17099
|
of as BubbleBudgetsMiniWidget,
|
|
17089
17100
|
sf as BubbleBudgetsWidget,
|
|
17090
17101
|
Lc as Calendar,
|
|
17091
|
-
|
|
17102
|
+
ti as CalendarSelectionTypes,
|
|
17092
17103
|
cC as CarouselHeader,
|
|
17093
|
-
|
|
17104
|
+
ia as CashflowApi,
|
|
17094
17105
|
G7 as CashflowMiniWidget,
|
|
17095
17106
|
Ah as CashflowOnboarding,
|
|
17096
17107
|
nh as CashflowStore,
|
|
@@ -17100,9 +17111,9 @@ export {
|
|
|
17100
17111
|
Fe as CategoryGuidToName,
|
|
17101
17112
|
E as CategoryGuids,
|
|
17102
17113
|
Xs as CategoryIcon,
|
|
17103
|
-
|
|
17114
|
+
hi as CategoryRow,
|
|
17104
17115
|
rd as CategorySelector,
|
|
17105
|
-
|
|
17116
|
+
nr as CategorySelectorDrawer,
|
|
17106
17117
|
cd as CategoryStore,
|
|
17107
17118
|
Yg as ChartFilledIcon,
|
|
17108
17119
|
nn as ConnectDrawer,
|
|
@@ -17113,18 +17124,18 @@ export {
|
|
|
17113
17124
|
rn as CurrencyInput,
|
|
17114
17125
|
vA as CurrencyText,
|
|
17115
17126
|
Z as DATE_FORMATS_INTL,
|
|
17116
|
-
|
|
17117
|
-
|
|
17127
|
+
Ya as DEFAULT_DONUT_SIZE,
|
|
17128
|
+
Va as DEFAULT_STROKE_WIDTH,
|
|
17118
17129
|
cf as Dashboard,
|
|
17119
17130
|
Pn as DashboardLocation,
|
|
17120
17131
|
Xt as DataRow,
|
|
17121
|
-
|
|
17132
|
+
zr as DateRangeSelector,
|
|
17122
17133
|
sh as DebtsStore,
|
|
17123
17134
|
V7 as DebtsWidget,
|
|
17124
17135
|
TA as Dialog,
|
|
17125
17136
|
Oc as Donut,
|
|
17126
17137
|
lA as Drawer,
|
|
17127
|
-
|
|
17138
|
+
Qa as ErrorStatuses,
|
|
17128
17139
|
pl as ExpenseStatus,
|
|
17129
17140
|
UA as Fetch,
|
|
17130
17141
|
WA as FieldType,
|
|
@@ -17136,23 +17147,23 @@ export {
|
|
|
17136
17147
|
lh as GoalStore,
|
|
17137
17148
|
J7 as GoalsWidget,
|
|
17138
17149
|
ff as HiddenInsightsDrawer,
|
|
17139
|
-
|
|
17150
|
+
jn as INCOME_ACCOUNT_TYPES,
|
|
17140
17151
|
Me as IconBacking,
|
|
17141
17152
|
Ft as InformationTooltip,
|
|
17142
17153
|
pf as InsightsMicroWidget,
|
|
17143
17154
|
Fg as InsightsMicroWidgetDataProvider,
|
|
17144
17155
|
Qs as IterationItemTypes,
|
|
17145
17156
|
M7 as LOADING_STATUS,
|
|
17146
|
-
|
|
17157
|
+
Vn as LineChart,
|
|
17147
17158
|
Zc as ListItemWrapper,
|
|
17148
17159
|
te as Loader,
|
|
17149
17160
|
R7 as LocalizedCopyApi,
|
|
17150
17161
|
Cf as ManageAccountsDrawer,
|
|
17151
|
-
|
|
17162
|
+
sr as ManageIncome,
|
|
17152
17163
|
Ne as MemberConnectionStatus,
|
|
17153
17164
|
Z7 as MerchantLookup,
|
|
17154
17165
|
gh as MerchantStore,
|
|
17155
|
-
|
|
17166
|
+
Fa as MfaStatuses,
|
|
17156
17167
|
aC as MicroBeatCarousel,
|
|
17157
17168
|
hn as MicroInsightCard,
|
|
17158
17169
|
je as MiniWidgetContainer,
|
|
@@ -17165,39 +17176,39 @@ export {
|
|
|
17165
17176
|
Ph as NetWorthSummary,
|
|
17166
17177
|
$7 as NetWorthWidget,
|
|
17167
17178
|
hC as NoRelevantInsightsCard,
|
|
17168
|
-
|
|
17169
|
-
|
|
17179
|
+
ja as NonConnectedStatuses,
|
|
17180
|
+
Or as NotificationApi,
|
|
17170
17181
|
ef as NotificationList,
|
|
17171
17182
|
Bh as NotificationStore,
|
|
17172
17183
|
Bs as ORDINAL_DATE_FORMAT,
|
|
17173
17184
|
x7 as ORDINAL_MONTH_DAY_YEAR_FORMAT,
|
|
17174
|
-
|
|
17175
|
-
|
|
17185
|
+
Un as PAYMENT_ACCOUNT_TYPES,
|
|
17186
|
+
Tr as PaymentCategories,
|
|
17176
17187
|
Fs as PlanTypes,
|
|
17177
17188
|
Ks as ProcessingStatuses,
|
|
17178
|
-
|
|
17189
|
+
Xa as PropertyType,
|
|
17179
17190
|
P7 as PropertyTypeName,
|
|
17180
17191
|
Eg as PulseGoalProgress,
|
|
17181
17192
|
bg as PulseGraidentBox,
|
|
17182
17193
|
lf as PulseIcon,
|
|
17183
17194
|
yg as PulseProgressBar,
|
|
17184
17195
|
df as PulseSubHeader,
|
|
17185
|
-
|
|
17196
|
+
ur as PulseTextComponent,
|
|
17186
17197
|
N7 as RECURRENCE_COPY,
|
|
17187
17198
|
G as RecurrenceTypes,
|
|
17188
17199
|
U7 as RecurringActivityMiniWidget,
|
|
17189
17200
|
Tu as RecurringActivityStore,
|
|
17190
17201
|
j7 as RecurringActivityWidget,
|
|
17191
17202
|
k7 as ResponsiveButton,
|
|
17192
|
-
|
|
17203
|
+
Wn as SPENDING_ACCOUNT_TYPES,
|
|
17193
17204
|
vl as ScheduledPaymentTypes,
|
|
17194
|
-
|
|
17205
|
+
Pr as ScheduledPaymentsApi,
|
|
17195
17206
|
yl as ScreenSize,
|
|
17196
17207
|
an as SearchBox,
|
|
17197
|
-
|
|
17208
|
+
Kr as SelectionBox,
|
|
17198
17209
|
hf as SetUpDirectDepositBody,
|
|
17199
17210
|
mf as SettingsDrawer,
|
|
17200
|
-
|
|
17211
|
+
si as SingleSegmentDonut,
|
|
17201
17212
|
js as Sizes,
|
|
17202
17213
|
vf as SpendingMiniWidget,
|
|
17203
17214
|
yf as SpendingWidget,
|
|
@@ -17209,39 +17220,39 @@ export {
|
|
|
17209
17220
|
B as TRANSACTION_EVENTS,
|
|
17210
17221
|
Gt as TabContentContainer,
|
|
17211
17222
|
ct as TopActions,
|
|
17212
|
-
|
|
17223
|
+
Fr as TransactionApi,
|
|
17213
17224
|
wt as TransactionDetails,
|
|
17214
17225
|
Ue as TransactionList,
|
|
17215
|
-
|
|
17216
|
-
|
|
17226
|
+
Ar as TransactionRow,
|
|
17227
|
+
$n as TransactionStatus,
|
|
17217
17228
|
bl as TransactionStore,
|
|
17218
17229
|
kl as TransactionTable,
|
|
17219
17230
|
QA as TransactionType,
|
|
17220
17231
|
Q7 as TransactionWidget,
|
|
17221
17232
|
Ef as TrendsFullWidget,
|
|
17222
17233
|
bf as TrendsMiniWidget,
|
|
17223
|
-
|
|
17234
|
+
Nr as UserApi,
|
|
17224
17235
|
Qh as UserStore,
|
|
17225
17236
|
ml as UserVerification,
|
|
17226
17237
|
CC as ViewMoreMicroCard,
|
|
17227
|
-
|
|
17238
|
+
Mr as WidgetApi,
|
|
17228
17239
|
Ee as WidgetContainer,
|
|
17229
|
-
|
|
17230
|
-
|
|
17240
|
+
ni as WidgetContainerContext,
|
|
17241
|
+
ri as WidgetContainerProvider,
|
|
17231
17242
|
mC as ZeroStateCard,
|
|
17232
|
-
|
|
17243
|
+
ji as ZeroStateIcon,
|
|
17233
17244
|
zs as analyticsSession,
|
|
17234
17245
|
H as buildDynamicCopy,
|
|
17235
17246
|
_7 as buildPluralCopy,
|
|
17236
|
-
|
|
17247
|
+
ui as exportTransactionsToCSV,
|
|
17237
17248
|
X as formatCurrency,
|
|
17238
17249
|
AA as formatDate,
|
|
17239
17250
|
tc as formatOrdinal,
|
|
17240
17251
|
Ac as formatPercentage,
|
|
17241
|
-
|
|
17242
|
-
|
|
17252
|
+
Za as fromTimestampToMonthYear,
|
|
17253
|
+
Oi as getAccountBalanceDetails,
|
|
17243
17254
|
Mu as getAccountDetailFields,
|
|
17244
|
-
|
|
17255
|
+
Dr as getCategory,
|
|
17245
17256
|
Ys as getCategoryTotalsByParent,
|
|
17246
17257
|
Zs as getCurrencyCodes,
|
|
17247
17258
|
Us as getDetailedCategory,
|
|
@@ -17252,7 +17263,7 @@ export {
|
|
|
17252
17263
|
Ln as isValidNumber,
|
|
17253
17264
|
OA as useAccountStore,
|
|
17254
17265
|
qA as useBudgetsStore,
|
|
17255
|
-
|
|
17266
|
+
Jn as useCashflowStore,
|
|
17256
17267
|
PA as useCategoryStore,
|
|
17257
17268
|
Be as useCategoryUiStore,
|
|
17258
17269
|
cc as useCombineEvents,
|
|
@@ -17266,9 +17277,9 @@ export {
|
|
|
17266
17277
|
B7 as useGoalStore,
|
|
17267
17278
|
Hc as useMerchantStore,
|
|
17268
17279
|
zc as useNetWorthStore,
|
|
17269
|
-
|
|
17280
|
+
ii as useNotificationStore,
|
|
17270
17281
|
q7 as usePageView,
|
|
17271
|
-
|
|
17282
|
+
Ai as usePrevious,
|
|
17272
17283
|
RA as useRecurringActivityStore,
|
|
17273
17284
|
GA as useScreenSize,
|
|
17274
17285
|
uA as useTransactionStore,
|