@aurora-is-near/intents-swap-widget 3.17.0 → 3.17.2
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/components/Input.d.ts +8 -2
- package/dist/components/Input.js +88 -84
- package/dist/components/Input.js.map +1 -1
- package/dist/{config-BMe2x51b.js → config-BVaLnxO9.js} +804 -788
- package/dist/config-BVaLnxO9.js.map +1 -0
- package/dist/config.js +6 -5
- package/dist/config.js.map +1 -1
- package/dist/errors.js +1 -1
- package/dist/ext/alchemy/index.js +1 -1
- package/dist/ext/index.js +1 -1
- package/dist/features/BalanceRpcLoader/TokenBalanceLoader.js +1 -1
- package/dist/features/BalanceRpcLoader/index.js +1 -1
- package/dist/features/BalanceRpcLoader/useTokenBalanceRpc.js +1 -1
- package/dist/features/ChainsDropdown/index.js +1 -1
- package/dist/features/DepositMethodSwitcher.js +1 -1
- package/dist/features/ErrorBoundary.js +1 -1
- package/dist/features/ExternalDeposit.js +5 -4
- package/dist/features/ExternalDeposit.js.map +1 -1
- package/dist/features/SendAddress/index.js +1 -1
- package/dist/features/SendAddress/useNotification.js +1 -1
- package/dist/features/SubmitButton/index.js +1 -1
- package/dist/features/SuccessScreen/index.js +1 -1
- package/dist/features/SwapDirectionSwitcher.js +1 -1
- package/dist/features/SwapQuote/SwapQuote.js +1 -1
- package/dist/features/SwapQuote/index.js +1 -1
- package/dist/features/TokenInput/TokenInput.js +1 -1
- package/dist/features/TokenInput/TokenInputEmpty.js +1 -1
- package/dist/features/TokenInput/TokenInputSource.js +1 -1
- package/dist/features/TokenInput/TokenInputTarget.js +1 -1
- package/dist/features/TokenInput/WalletBalance.js +1 -1
- package/dist/features/TokenInput/hooks/index.js +1 -1
- package/dist/features/TokenInput/hooks/useTokenInputBalance.js +1 -1
- package/dist/features/TokenInput/index.js +1 -1
- package/dist/features/TokensList/TokenItem.js +1 -1
- package/dist/features/TokensList/TokensList.js +1 -1
- package/dist/features/TokensList/index.js +1 -1
- package/dist/features/TokensModal.js +64 -55
- package/dist/features/TokensModal.js.map +1 -1
- package/dist/features/WalletCompatibilityCheck/WalletCompatibilityModal.js +3 -3
- package/dist/features/WalletCompatibilityCheck/index.js +1 -1
- package/dist/features/index.js +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useAllTokens.js +1 -1
- package/dist/hooks/useChains.js +1 -1
- package/dist/hooks/useCompatibilityCheck.js +1 -1
- package/dist/hooks/useDefaultToken.js +1 -1
- package/dist/hooks/useExternalDepositStatus/index.js +1 -1
- package/dist/hooks/useExternalDepositStatus/usePoaExternalDepositStatus.js +1 -1
- package/dist/hooks/useHandleKeyDown.d.ts +1 -1
- package/dist/hooks/useHandleKeyDown.js +12 -8
- package/dist/hooks/useHandleKeyDown.js.map +1 -1
- package/dist/hooks/useIntentsBalance.js +1 -1
- package/dist/hooks/useIsCompatibilityCheckRequired.js +1 -1
- package/dist/hooks/useMakeDepositAddress.js +1 -1
- package/dist/hooks/useMakeIntentsTransfer.js +4 -3
- package/dist/hooks/useMakeIntentsTransfer.js.map +1 -1
- package/dist/hooks/useMakeNEARFtTransferCall.js +4 -2
- package/dist/hooks/useMakeNEARFtTransferCall.js.map +1 -1
- package/dist/hooks/useMakeQuote.js +1 -1
- package/dist/hooks/useMakeQuoteTransfer.js +3 -2
- package/dist/hooks/useMakeQuoteTransfer.js.map +1 -1
- package/dist/hooks/useMakeSolanaTransfer.js +1 -1
- package/dist/hooks/useMakeTransfer.js +1 -1
- package/dist/hooks/useMergedBalance.js +1 -1
- package/dist/hooks/useSwitchChain.js +1 -1
- package/dist/hooks/useTheme.js +1 -1
- package/dist/hooks/useTokenInputPair.js +1 -1
- package/dist/hooks/useTokens.js +1 -1
- package/dist/hooks/useTokensFiltered.js +1 -1
- package/dist/hooks/useTokensIntentsUnique.js +1 -1
- package/dist/{index-Ce9bzNHX.js → index-JGjxyZXI.js} +70 -70
- package/dist/index-JGjxyZXI.js.map +1 -0
- package/dist/index.browser.esm-COWShN0a.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/machine/effects/index.js +1 -1
- package/dist/machine/effects/useAlchemyBalanceEffect.js +1 -1
- package/dist/machine/effects/useBalancesUpdateEffect.js +1 -1
- package/dist/machine/effects/useMakeQuoteEffect.js +1 -1
- package/dist/machine/effects/useSelectedTokensEffect.js +1 -1
- package/dist/machine/effects/useSetTokenBalanceEffect.js +1 -1
- package/dist/machine/effects/useSetTokenIntentsTargetEffect.js +1 -1
- package/dist/machine/effects/useWalletConnEffect.js +1 -1
- package/dist/machine/events/index.js +1 -1
- package/dist/machine/events/tokenSelect.js +1 -1
- package/dist/machine/events/validateInputAndMoveTo.js +1 -1
- package/dist/machine/events/validateInputs.js +1 -1
- package/dist/machine/index.js +1 -1
- package/dist/machine/snap.js +1 -1
- package/dist/machine/subscriptions/checkers/isSendAddressAsConnected.js +1 -1
- package/dist/machine/subscriptions/index.js +1 -1
- package/dist/theme/ThemeProvider.js +1 -1
- package/dist/utils/checkers/isUserDeniedSigning.d.ts +2 -1
- package/dist/utils/checkers/isUserDeniedSigning.js +6 -4
- package/dist/utils/checkers/isUserDeniedSigning.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +26 -24
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/intents/signers/near.d.ts +1 -1
- package/dist/utils/intents/signers/near.js +2 -2
- package/dist/utils/intents/signers/privy.d.ts +1 -1
- package/dist/utils/intents/signers/privy.js +1 -1
- package/dist/utils/intents/signers/solana.d.ts +1 -1
- package/dist/utils/intents/signers/solana.js.map +1 -1
- package/dist/utils/isErrorLikeObject.d.ts +4 -0
- package/dist/utils/isErrorLikeObject.js +5 -0
- package/dist/utils/isErrorLikeObject.js.map +1 -0
- package/dist/utils/near/getNearNep141StorageBalance.js +1 -1
- package/dist/widgets/WidgetDeposit/WidgetDepositContent.js +5 -4
- package/dist/widgets/WidgetDeposit/WidgetDepositContent.js.map +1 -1
- package/dist/widgets/WidgetDeposit/WidgetDepositSkeleton.js +1 -1
- package/dist/widgets/WidgetSwap/WidgetSwapContent.js +5 -4
- package/dist/widgets/WidgetSwap/WidgetSwapContent.js.map +1 -1
- package/dist/widgets/WidgetSwap/WidgetSwapSkeleton.js +1 -1
- package/dist/widgets/WidgetWithdraw/WidgetWithdrawContent.js +5 -4
- package/dist/widgets/WidgetWithdraw/WidgetWithdrawContent.js.map +1 -1
- package/dist/widgets/WidgetWithdraw/WidgetWithdrawSkeleton.js +1 -1
- package/package.json +2 -2
- package/src/components/Input.tsx +111 -96
- package/src/features/TokensModal.tsx +19 -2
- package/src/hooks/useHandleKeyDown.ts +25 -3
- package/src/hooks/useMakeIntentsTransfer.ts +40 -29
- package/src/hooks/useMakeNEARFtTransferCall.ts +10 -0
- package/src/hooks/useMakeQuoteTransfer.ts +2 -1
- package/src/utils/checkers/isUserDeniedSigning.ts +11 -3
- package/src/utils/index.ts +1 -0
- package/src/utils/intents/signers/near.ts +1 -1
- package/src/utils/intents/signers/privy.ts +1 -1
- package/src/utils/intents/signers/solana.ts +1 -1
- package/src/utils/isErrorLikeObject.ts +11 -0
- package/dist/config-BMe2x51b.js.map +0 -1
- package/dist/index-Ce9bzNHX.js.map +0 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { InputProps } from '@headlessui/react';
|
|
2
|
-
import { PropsWithChildren } from 'react';
|
|
3
2
|
import { LucideIcon } from 'lucide-react';
|
|
4
3
|
type State = 'default' | 'disabled' | 'error' | 'fixed';
|
|
5
4
|
export type Props = Omit<InputProps, 'size'> & {
|
|
@@ -8,5 +7,12 @@ export type Props = Omit<InputProps, 'size'> & {
|
|
|
8
7
|
focusOnMount?: boolean;
|
|
9
8
|
state?: State;
|
|
10
9
|
};
|
|
11
|
-
export declare const Input: (
|
|
10
|
+
export declare const Input: import('react').ForwardRefExoticComponent<Omit<InputProps, "size"> & {
|
|
11
|
+
icon?: LucideIcon;
|
|
12
|
+
defaultValue?: string;
|
|
13
|
+
focusOnMount?: boolean;
|
|
14
|
+
state?: State;
|
|
15
|
+
} & {
|
|
16
|
+
children?: import('react').ReactNode | undefined;
|
|
17
|
+
} & import('react').RefAttributes<HTMLInputElement>>;
|
|
12
18
|
export {};
|
package/dist/components/Input.js
CHANGED
|
@@ -1,92 +1,96 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
3
|
-
import { Input as
|
|
4
|
-
import * as
|
|
5
|
-
import { cn as
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"text-sw-
|
|
41
|
-
"text-sw-gray-50 bg-sw-gray-700": t && e === "default",
|
|
42
|
-
"text-sw-gray-50 hover:bg-sw-gray-700": !t && e === "default",
|
|
43
|
-
"cursor-not-allowed bg-sw-gray-800 text-sw-gray-400": e === "disabled"
|
|
44
|
-
},
|
|
45
|
-
y
|
|
46
|
-
),
|
|
47
|
-
...c,
|
|
48
|
-
children: () => /* @__PURE__ */ m("div", { className: "flex items-center justify-between", children: [
|
|
49
|
-
u && /* @__PURE__ */ s(u, { size: 16, className: "mr-sw-md text-sw-gray-200" }),
|
|
50
|
-
/* @__PURE__ */ s(
|
|
51
|
-
"input",
|
|
1
|
+
import { jsx as t, jsxs as m } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as F, useRef as j, useImperativeHandle as R, useState as w, useEffect as p, Fragment as B } from "react";
|
|
3
|
+
import { Input as k } from "@headlessui/react";
|
|
4
|
+
import * as z from "lucide-react";
|
|
5
|
+
import { cn as i } from "../utils/cn.js";
|
|
6
|
+
const X = F(
|
|
7
|
+
({
|
|
8
|
+
state: e = "default",
|
|
9
|
+
defaultValue: r = "",
|
|
10
|
+
focusOnMount: x = !1,
|
|
11
|
+
className: y,
|
|
12
|
+
onChange: u,
|
|
13
|
+
children: b,
|
|
14
|
+
icon: c,
|
|
15
|
+
...d
|
|
16
|
+
}, h) => {
|
|
17
|
+
const a = j(null);
|
|
18
|
+
R(h, () => a.current);
|
|
19
|
+
const [s, f] = w(!1), [o, n] = w(r), v = () => f(!0), N = () => f(!1), I = () => {
|
|
20
|
+
n(""), u?.({
|
|
21
|
+
target: { value: "" }
|
|
22
|
+
});
|
|
23
|
+
}, C = (g) => {
|
|
24
|
+
n(g.target.value), u?.(g);
|
|
25
|
+
};
|
|
26
|
+
p(() => {
|
|
27
|
+
n(r);
|
|
28
|
+
}, [r]), p(() => {
|
|
29
|
+
x && a.current?.focus();
|
|
30
|
+
}, []);
|
|
31
|
+
const l = ["disabled", "fixed"].includes(e);
|
|
32
|
+
return /* @__PURE__ */ t(
|
|
33
|
+
k,
|
|
34
|
+
{
|
|
35
|
+
type: "text",
|
|
36
|
+
as: B,
|
|
37
|
+
disabled: l,
|
|
38
|
+
autoComplete: "off",
|
|
39
|
+
className: i(
|
|
40
|
+
"px-sw-lg py-sw-lg text-sw-label-md rounded-sw-md ring-transparent ring-1 ring-inset data-focus:outline-none transition-colors bg-sw-gray-800",
|
|
52
41
|
{
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
autoComplete: "off",
|
|
61
|
-
className: n("text-sw-label-md mr-auto w-full outline-none", {
|
|
62
|
-
"cursor-not-allowed": e === "disabled"
|
|
63
|
-
})
|
|
64
|
-
}
|
|
42
|
+
"text-sw-gray-400 bg-sw-gray-800": e === "fixed",
|
|
43
|
+
"text-sw-status-error bg-sw-gray-800": e === "error",
|
|
44
|
+
"text-sw-gray-50 bg-sw-gray-700": s && e === "default",
|
|
45
|
+
"text-sw-gray-50 hover:bg-sw-gray-700": !s && e === "default",
|
|
46
|
+
"cursor-not-allowed bg-sw-gray-800 text-sw-gray-400": e === "disabled"
|
|
47
|
+
},
|
|
48
|
+
y
|
|
65
49
|
),
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
50
|
+
...d,
|
|
51
|
+
children: () => /* @__PURE__ */ m("div", { className: "flex items-center justify-between", children: [
|
|
52
|
+
c && /* @__PURE__ */ t(c, { size: 16, className: "mr-sw-md text-sw-gray-200" }),
|
|
53
|
+
/* @__PURE__ */ t(
|
|
54
|
+
"input",
|
|
70
55
|
{
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
56
|
+
value: o,
|
|
57
|
+
ref: a,
|
|
58
|
+
onBlur: N,
|
|
59
|
+
onFocus: v,
|
|
60
|
+
onChange: C,
|
|
61
|
+
disabled: l,
|
|
62
|
+
placeholder: d.placeholder,
|
|
63
|
+
autoComplete: "off",
|
|
64
|
+
className: i("text-sw-label-md mr-auto w-full outline-none", {
|
|
65
|
+
"cursor-not-allowed": e === "disabled"
|
|
66
|
+
})
|
|
82
67
|
}
|
|
83
|
-
)
|
|
68
|
+
),
|
|
69
|
+
!l && /* @__PURE__ */ m("div", { className: "gap-sw-md relative flex items-center justify-end", children: [
|
|
70
|
+
b,
|
|
71
|
+
o ? /* @__PURE__ */ t(
|
|
72
|
+
"button",
|
|
73
|
+
{
|
|
74
|
+
type: "button",
|
|
75
|
+
className: i(
|
|
76
|
+
"opacity-0 transition-opacity duration-150 ease-in-out hover:text-sw-gray-50",
|
|
77
|
+
{
|
|
78
|
+
"cursor-pointer opacity-100": !!o,
|
|
79
|
+
"cursor-default text-sw-gray-200": s,
|
|
80
|
+
"cursor-default text-sw-gray-300": !s
|
|
81
|
+
}
|
|
82
|
+
),
|
|
83
|
+
onClick: I,
|
|
84
|
+
children: /* @__PURE__ */ t(z.X, { className: "h-sw-xl w-sw-xl" })
|
|
85
|
+
}
|
|
86
|
+
) : null
|
|
87
|
+
] })
|
|
84
88
|
] })
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
);
|
|
89
93
|
export {
|
|
90
|
-
|
|
94
|
+
X as Input
|
|
91
95
|
};
|
|
92
96
|
//# sourceMappingURL=Input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../src/components/Input.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../src/components/Input.tsx"],"sourcesContent":["import {\n forwardRef,\n Fragment,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\nimport { Input as UIInput } from '@headlessui/react';\nimport type { InputProps } from '@headlessui/react';\nimport type { PropsWithChildren } from 'react';\nimport type { LucideIcon } from 'lucide-react';\nimport * as Icons from 'lucide-react';\n\nimport { cn } from '@/utils/cn';\n\ntype State = 'default' | 'disabled' | 'error' | 'fixed';\n\nexport type Props = Omit<InputProps, 'size'> & {\n icon?: LucideIcon;\n defaultValue?: string;\n focusOnMount?: boolean;\n state?: State;\n};\n\nexport const Input = forwardRef<HTMLInputElement, PropsWithChildren<Props>>(\n (\n {\n state = 'default',\n defaultValue = '',\n focusOnMount = false,\n className,\n onChange,\n children,\n icon: Icon,\n ...inputProps\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n useImperativeHandle(ref, () => inputRef.current!);\n\n const [isFocused, setIsFocused] = useState(false);\n const [value, setValue] = useState(defaultValue);\n\n const handleFocus = () => setIsFocused(true);\n const handleBlur = () => setIsFocused(false);\n const handleClear = () => {\n setValue('');\n onChange?.({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>);\n };\n\n const onInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value);\n onChange?.(e);\n };\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n useEffect(() => {\n if (focusOnMount) {\n inputRef.current?.focus();\n }\n }, []);\n\n const inputDisabled = ['disabled', 'fixed'].includes(state);\n\n return (\n <UIInput\n type=\"text\"\n as={Fragment}\n disabled={inputDisabled}\n autoComplete=\"off\"\n className={cn(\n 'px-sw-lg py-sw-lg text-sw-label-md rounded-sw-md ring-transparent ring-1 ring-inset data-focus:outline-none transition-colors bg-sw-gray-800',\n {\n 'text-sw-gray-400 bg-sw-gray-800': state === 'fixed',\n 'text-sw-status-error bg-sw-gray-800': state === 'error',\n 'text-sw-gray-50 bg-sw-gray-700': isFocused && state === 'default',\n 'text-sw-gray-50 hover:bg-sw-gray-700':\n !isFocused && state === 'default',\n 'cursor-not-allowed bg-sw-gray-800 text-sw-gray-400':\n state === 'disabled',\n },\n className,\n )}\n {...inputProps}>\n {() => (\n <div className=\"flex items-center justify-between\">\n {Icon && <Icon size={16} className=\"mr-sw-md text-sw-gray-200\" />}\n <input\n value={value}\n ref={inputRef}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onChange={onInputChange}\n disabled={inputDisabled}\n placeholder={inputProps.placeholder}\n autoComplete=\"off\"\n className={cn('text-sw-label-md mr-auto w-full outline-none', {\n 'cursor-not-allowed': state === 'disabled',\n })}\n />\n {!inputDisabled && (\n <div className=\"gap-sw-md relative flex items-center justify-end\">\n {children}\n {value ? (\n <button\n type=\"button\"\n className={cn(\n 'opacity-0 transition-opacity duration-150 ease-in-out hover:text-sw-gray-50',\n {\n 'cursor-pointer opacity-100': !!value,\n 'cursor-default text-sw-gray-200': isFocused,\n 'cursor-default text-sw-gray-300': !isFocused,\n },\n )}\n onClick={handleClear}>\n <Icons.X className=\"h-sw-xl w-sw-xl\" />\n </button>\n ) : null}\n </div>\n )}\n </div>\n )}\n </UIInput>\n );\n },\n);\n"],"names":["Input","forwardRef","state","defaultValue","focusOnMount","className","onChange","children","Icon","inputProps","ref","inputRef","useRef","useImperativeHandle","isFocused","setIsFocused","useState","value","setValue","handleFocus","handleBlur","handleClear","onInputChange","e","useEffect","inputDisabled","jsx","UIInput","Fragment","cn","jsxs","Icons"],"mappings":";;;;;AAyBO,MAAMA,IAAQC;AAAA,EACnB,CACE;AAAA,IACE,OAAAC,IAAQ;AAAA,IACR,cAAAC,IAAe;AAAA,IACf,cAAAC,IAAe;AAAA,IACf,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAMC;AAAA,IACN,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAWC,EAAyB,IAAI;AAE9C,IAAAC,EAAoBH,GAAK,MAAMC,EAAS,OAAQ;AAEhD,UAAM,CAACG,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,CAACC,GAAOC,CAAQ,IAAIF,EAASb,CAAY,GAEzCgB,IAAc,MAAMJ,EAAa,EAAI,GACrCK,IAAa,MAAML,EAAa,EAAK,GACrCM,IAAc,MAAM;AACxB,MAAAH,EAAS,EAAE,GACXZ,IAAW;AAAA,QACT,QAAQ,EAAE,OAAO,GAAA;AAAA,MAAG,CACkB;AAAA,IAC1C,GAEMgB,IAAgB,CAACC,MAA2C;AAChE,MAAAL,EAASK,EAAE,OAAO,KAAK,GACvBjB,IAAWiB,CAAC;AAAA,IACd;AAEA,IAAAC,EAAU,MAAM;AACd,MAAAN,EAASf,CAAY;AAAA,IACvB,GAAG,CAACA,CAAY,CAAC,GAEjBqB,EAAU,MAAM;AACd,MAAIpB,KACFO,EAAS,SAAS,MAAA;AAAA,IAEtB,GAAG,CAAA,CAAE;AAEL,UAAMc,IAAgB,CAAC,YAAY,OAAO,EAAE,SAASvB,CAAK;AAE1D,WACE,gBAAAwB;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,IAAIC;AAAA,QACJ,UAAUH;AAAA,QACV,cAAa;AAAA,QACb,WAAWI;AAAA,UACT;AAAA,UACA;AAAA,YACE,mCAAmC3B,MAAU;AAAA,YAC7C,uCAAuCA,MAAU;AAAA,YACjD,kCAAkCY,KAAaZ,MAAU;AAAA,YACzD,wCACE,CAACY,KAAaZ,MAAU;AAAA,YAC1B,sDACEA,MAAU;AAAA,UAAA;AAAA,UAEdG;AAAA,QAAA;AAAA,QAED,GAAGI;AAAA,QACH,UAAA,MACC,gBAAAqB,EAAC,OAAA,EAAI,WAAU,qCACZ,UAAA;AAAA,UAAAtB,KAAQ,gBAAAkB,EAAClB,GAAA,EAAK,MAAM,IAAI,WAAU,6BAA4B;AAAA,UAC/D,gBAAAkB;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAAT;AAAA,cACA,KAAKN;AAAA,cACL,QAAQS;AAAA,cACR,SAASD;AAAA,cACT,UAAUG;AAAA,cACV,UAAUG;AAAA,cACV,aAAahB,EAAW;AAAA,cACxB,cAAa;AAAA,cACb,WAAWoB,EAAG,gDAAgD;AAAA,gBAC5D,sBAAsB3B,MAAU;AAAA,cAAA,CACjC;AAAA,YAAA;AAAA,UAAA;AAAA,UAEF,CAACuB,KACA,gBAAAK,EAAC,OAAA,EAAI,WAAU,oDACZ,UAAA;AAAA,YAAAvB;AAAA,YACAU,IACC,gBAAAS;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,WAAWG;AAAA,kBACT;AAAA,kBACA;AAAA,oBACE,8BAA8B,CAAC,CAACZ;AAAA,oBAChC,mCAAmCH;AAAA,oBACnC,mCAAmC,CAACA;AAAA,kBAAA;AAAA,gBACtC;AAAA,gBAEF,SAASO;AAAA,gBACT,UAAA,gBAAAK,EAACK,EAAM,GAAN,EAAQ,WAAU,kBAAA,CAAkB;AAAA,cAAA;AAAA,YAAA,IAErC;AAAA,UAAA,EAAA,CACN;AAAA,QAAA,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;"}
|