@matchain/matchid-sdk-react 0.1.35 → 0.1.37-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +2 -2
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.tsx","../src/MatchContext.tsx","../src/assets/icon/ArrowLeftIcon.tsx","../src/assets/icon/BackIcon.tsx","../src/assets/icon/CloseIcon.tsx","../src/assets/icon/XIcon.tsx","../src/assets/icon/GoogleIcon.tsx","../src/assets/icon/WalletIcon.tsx","../src/assets/icon/TelegramIcon.tsx","../src/assets/icon/EmailIcon.tsx","../src/assets/icon/ArrowRightIcon.tsx","../src/assets/icon/CloseRoundIcon.tsx","../src/assets/icon/LoadingIcon.tsx","../src/assets/icon/EmailLineIcon.tsx","../src/assets/icon/UnLoginIcon.tsx","../src/assets/icon/LoginIcon.tsx","../src/assets/icon/CheckRoundIcon.tsx","../src/assets/icon/PasswordRoundIcon.tsx","../src/assets/icon/CloseEyeIcon.tsx","../src/assets/icon/OpenEyeIcon.tsx","../src/assets/icon/DeleteRoundIcon.tsx","../src/assets/icon/FacebookIcon.tsx","../src/assets/icon/GithubIcon.tsx","../src/assets/icon/DiscordIcon.tsx","../src/assets/icon/CheckIcon.tsx","../src/assets/icon/CopyIcon.tsx","../src/assets/icon/LinkedinIcon.tsx","../src/assets/icon/YoutubeIcon.tsx","../src/assets/icon/BTCDarkIcon.tsx","../src/assets/icon/BTCLightIcon.tsx","../src/assets/icon/EVMDarkIcon.tsx","../src/assets/icon/EVMLightIcon.tsx","../src/assets/icon/SOLDarkIcon.tsx","../src/assets/icon/SOLLightIcon.tsx","../src/assets/icon/TRXDarkIcon.tsx","../src/assets/icon/TRXLightIcon.tsx","../src/assets/icon/ArrowDownIcon.tsx","../src/hooks/useLayout.tsx","../src/components/Modal/index.tsx","../src/components/PasswordModal/index.tsx","../src/components/Input/index.tsx","../src/components/Field/index.tsx","../src/components/Button/index.tsx","../src/hooks/index.tsx","../src/store/useLocalStore.ts","../src/hooks/useUserInfo.tsx","../src/api/request.ts","../src/config/env/index.ts","../src/store/index.ts","../src/utils/matchlog.ts","../src/api/index.ts","../src/hooks/eventManager.ts","../src/utils/index.ts","../src/store/useModalStore.ts","../src/hooks/useMatchEvents.ts","../src/store/useStore.ts","../src/hooks/useWallet.tsx","../src/hooks/useCopyClipboard.ts","../src/components/RecoveryModal/index.tsx","../src/components/SOLModal/index.tsx","../src/components/index.tsx","../src/components/EmailModal/index.tsx","../src/components/EmailModal/StepEmail.tsx","../src/components/EmailModal/StepVerify.tsx","../src/config/index.tsx","../src/components/Popover/index.tsx","../src/components/LoginBox/index.tsx","../src/components/LoginButton/index.tsx","../src/components/LoginPanel/index.tsx","../src/components/LoginModal/index.tsx","../src/components/UserPopover/index.tsx","../src/assets/icon/ProfileIcon.tsx","../src/components/UsernameModal/index.tsx","../src/assets/icon/InfoRoundIcon.tsx","../node_modules/@solana/wallet-adapter-base/src/types.ts","../src/assets/wallet.ts","../src/context/BusinessProvider.tsx","../src/context/index.tsx","../src/hooks/useWalletInit.ts","../src/hooks/useInit.tsx","../src/i18n/en.json","../src/i18n/zh.json","../src/i18n/tw.json","../src/i18n/fr.json","../src/i18n/ja.json","../src/i18n/ko.json","../src/i18n/vi.json","../src/i18n/es.json","../src/i18n/pt.json","../src/i18n/index.ts","../src/hooks/api/index.ts","../src/hooks/api/bind.ts","../src/hooks/api/poh.ts","../src/hooks/api/user.ts","../src/config/chains/index.ts","../src/config/chains/MatchMain.ts","../src/config/chains/MatchTest.ts"],"sourcesContent":["// src/index.tsx\nexport {useMatch, MatchProvider} from \"./MatchContext\"\nexport * as Components from \"./components\"\nexport * as Hooks from \"./hooks\"\nexport * as Api from \"./hooks/api\"\nexport * as Chains from \"./config/chains\"\n\n\n","// src/MatchContext.tsx\nimport React, {createContext, useContext, ReactNode} from 'react';\nimport Providers from './context';\nimport {IEnvConfigType, IMatchEvents, LocaleType} from \"./types/types\";\nimport useWalletInit from \"hooks/useWalletInit\"\nimport useInit from \"./hooks/useInit\";\nimport {QueryClient, QueryClientProvider} from '@tanstack/react-query';\nimport {IntlProvider} from 'react-intl';\nimport {messages} from \"./i18n\"\nimport matchlog from \"./utils/matchlog\";\n\n\nconst queryClient = new QueryClient();\n\ntype MatchContextType = {\n appid: string;\n events?: IMatchEvents;\n login: (data: { mid: string; token: string }) => Promise<void>;\n theme: \"light\" | \"dark\";\n locale?: LocaleType\n} & Partial<IEnvConfigType>\n\nexport const MatchContext = createContext<MatchContextType | undefined>(undefined);\n\nexport const MatchProvider: React.FC<{\n children: ReactNode;\n appid: string;\n events?: IMatchEvents;\n theme?: \"light\" | \"dark\",\n endpoints?: IEnvConfigType['endpoints']\n locale?: LocaleType\n}> = ({children, appid, events, theme = \"light\", endpoints, locale}) => {\n\n const {loadOverview, login, endpoints: realEndPoints, locale: realLocale} = useInit({\n theme,\n appid,\n events,\n endpoints,\n locale\n })\n\n matchlog.log('config',{\n appid,\n theme,\n endpoints,\n locale,\n realLocale\n })\n\n useWalletInit({\n refreshOverview: loadOverview\n })\n\n return (\n <IntlProvider locale={realLocale} messages={messages[realLocale]}>\n <QueryClientProvider client={queryClient}>\n <MatchContext.Provider\n value={{\n appid,\n endpoints: realEndPoints,\n events,\n login,\n theme,\n locale: realLocale\n }}\n >\n <Providers>{children}</Providers>\n </MatchContext.Provider>\n </QueryClientProvider>\n </IntlProvider>\n\n );\n};\n\nexport const useMatch = () => {\n const context = useContext(MatchContext);\n\n if (context === undefined) {\n throw new Error('useMatch must be used within a MatchProvider');\n }\n return context;\n};","import {IconProps} from \"types/types\";\n\nexport default function ArrowLeftIcon({\n color = \"#000\",\n width = 24,\n height = 25,\n ...props\n }: IconProps) {\n return <svg width={width} height={height} {...props} viewBox=\"0 0 24 25\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M10.2322 5.26777L11.1161 6.15165L5.55207 11.7157H20.2157L20.2157 12.962L5.55207 12.962L11.1161 18.526L10.2322 19.4099L3.16117 12.3388L10.2322 5.26777Z\"\n fill={color}/>\n </svg>\n\n}","import {CSSProperties} from \"react\";\n\nexport default function BackIcon({\n color = \"#000\",\n size = 24,\n className,\n style\n }: {\n color?: string,\n size?: number,\n style?: CSSProperties\n className?: string\n}) {\n return (\n <svg className={className} style={style} width={size} height={size} viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.2917 25.2926C11.1988 25.3855 11.1251 25.4958 11.0748 25.6172C11.0245 25.7386 10.9987 25.8687 10.9987 26.0001C10.9987 26.1315 11.0245 26.2616 11.0748 26.383C11.1251 26.5044 11.1988 26.6147 11.2917 26.7076C11.3846 26.8005 11.4949 26.8742 11.6163 26.9245C11.7377 26.9747 11.8678 27.0006 11.9992 27.0006C12.1306 27.0006 12.2607 26.9747 12.3821 26.9245C12.5035 26.8742 12.6138 26.8005 12.7067 26.7076L22.7067 16.7076C22.7997 16.6147 22.8734 16.5044 22.9238 16.383C22.9741 16.2616 23 16.1315 23 16.0001C23 15.8687 22.9741 15.7385 22.9238 15.6171C22.8734 15.4957 22.7997 15.3854 22.7067 15.2926L12.7067 5.29257C12.5191 5.10493 12.2646 4.99951 11.9992 4.99951C11.7338 4.99951 11.4794 5.10493 11.2917 5.29257C11.1041 5.48021 10.9987 5.7347 10.9987 6.00007C10.9987 6.26543 11.1041 6.51993 11.2917 6.70757L20.5855 16.0001L11.2917 25.2926Z\"\n fill={color}/>\n </svg>\n )\n}","import {CSSProperties} from \"react\";\n\nexport default function CloseIcon({\n color = \"#000\",\n size = 24,\n style\n }: {\n color?: string,\n size?: number,\n style?: CSSProperties\n\n}) {\n return <svg style={style} width={size} height={size} viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M1 1L14.5 14.5M28 28L14.5 14.5M14.5 14.5L1 28L28 1\" stroke={color} strokeWidth=\"2\"/>\n </svg>\n}","\nexport default function XIcon({size=40}:{\n size?:number\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"black\"/>\n <path\n d=\"M16 10H9L17.2609 21.0145L9.44995 29.9999H12.1L18.4883 22.651L24 30H31L22.3917 18.5223L29.8001 10H27.1501L21.1643 16.8858L16 10ZM25 28L13 12H15L27 28H25Z\"\n fill=\"white\"/>\n </svg>\n\n}","\nexport default function GoogleIcon({size=40}:{\n size?:number\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#F8F8F8\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M31.52 20.2729C31.52 19.422 31.4436 18.6038 31.3018 17.8184H20V22.4602H26.4582C26.18 23.9602 25.3345 25.2311 24.0636 26.082V29.0929H27.9418C30.2109 27.0038 31.52 23.9274 31.52 20.2729Z\"\n fill=\"#4285F4\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M20 32.0003C23.24 32.0003 25.9564 30.9257 27.9418 29.093L24.0636 26.0821C22.9891 26.8021 21.6145 27.2275 20 27.2275C16.8745 27.2275 14.2291 25.1166 13.2855 22.2803H9.27637V25.3894C11.2509 29.3112 15.3091 32.0003 20 32.0003Z\"\n fill=\"#34A853\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M13.2855 22.2804C13.0455 21.5604 12.9091 20.7913 12.9091 20.0004C12.9091 19.2095 13.0455 18.4404 13.2855 17.7204V14.6113H9.27636C8.46364 16.2313 8 18.0641 8 20.0004C8 21.9368 8.46364 23.7695 9.27636 25.3895L13.2855 22.2804Z\"\n fill=\"#FBBC05\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M20 12.7727C21.7618 12.7727 23.3436 13.3782 24.5873 14.5673L28.0291 11.1255C25.9509 9.18909 23.2345 8 20 8C15.3091 8 11.2509 10.6891 9.27637 14.6109L13.2855 17.72C14.2291 14.8836 16.8745 12.7727 20 12.7727Z\"\n fill=\"#EA4335\"/>\n </svg>\n\n}","export default function WalletIcon({\n size = 40,\n }: {\n size?: number\n\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"url(#paint0_linear_412_1774)\"/>\n <path\n d=\"M32.3335 19.1112V17.3333C32.3335 15.1242 30.5426 13.3333 28.3335 13.3333H25.6668M32.3335 19.1112H25.1112C23.2089 19.1112 21.6668 20.6533 21.6668 22.5556C21.6668 24.4579 23.2089 26 25.1112 26H32.3335M32.3335 19.1112C33.0699 19.1112 33.6668 19.7081 33.6668 20.4445V24.6667C33.6668 25.403 33.0699 26 32.3335 26M32.3335 26V28C32.3335 30.2091 30.5426 32 28.3335 32H11.0002C8.79102 32 7.00016 30.2091 7.00016 28V17.3333C7.00016 15.5917 8.11324 14.1101 9.66683 13.5609M25.6668 13.3333H11.0002C10.5326 13.3333 10.0839 13.4135 9.66683 13.5609M25.6668 13.3333V11.75C25.6668 9.91548 23.8575 8.62884 22.1247 9.2311L9.66683 13.5609\"\n stroke=\"white\" strokeWidth=\"1.33333\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <circle cx=\"26.1668\" cy=\"22.8335\" r=\"2\" fill=\"white\"/>\n <defs>\n <linearGradient id=\"paint0_linear_412_1774\" x1=\"20\" y1=\"0\" x2=\"20\" y2=\"40\" gradientUnits=\"userSpaceOnUse\">\n <stop stopColor=\"#FFB950\"/>\n <stop offset=\"0.475\" stopColor=\"#FF7A60\"/>\n <stop offset=\"1\" stopColor=\"#FF3C4A\"/>\n </linearGradient>\n </defs>\n </svg>\n}","export default function TelegramIcon({\n size = 40,\n }: {\n size?: number\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#28A7E8\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M9.65904 18.6099C16.1373 15.7874 20.4571 13.9267 22.6186 13.0277C28.7899 10.4608 30.0723 10.0149 30.9081 10.0002C31.0919 9.99692 31.503 10.0425 31.7692 10.2585C31.994 10.4409 32.0559 10.6874 32.0855 10.8603C32.1151 11.0333 32.1519 11.4273 32.1226 11.7351C31.7882 15.249 30.3411 23.7762 29.605 27.7118C29.2935 29.3771 28.6801 29.9354 28.0863 29.9901C26.7958 30.1088 25.8159 29.1372 24.566 28.3179C22.6101 27.0358 21.5052 26.2377 19.6067 24.9867C17.4127 23.5408 18.835 22.7462 20.0853 21.4475C20.4126 21.1076 26.0985 15.9358 26.2085 15.4667C26.2223 15.408 26.2351 15.1893 26.1051 15.0738C25.9752 14.9583 25.7834 14.9978 25.645 15.0292C25.4489 15.0737 22.3244 17.1389 16.2715 21.2247C15.3847 21.8337 14.5814 22.1304 13.8616 22.1149C13.0682 22.0977 11.5419 21.6663 10.4073 21.2974C9.0156 20.8451 7.90953 20.6059 8.00585 19.8376C8.05601 19.4374 8.60708 19.0282 9.65904 18.6099Z\"\n fill=\"white\"/>\n </svg>\n\n}","export default function EmailIcon({\n size = 40,\n }: {\n size?: number\n\n}) {\n return <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"url(#paint0_linear_124_10994)\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M30.8867 12.5448C30.9585 12.4862 31 12.3997 31 12.3085C31 12.1381 30.8581 12 30.683 12H9.49205C9.2203 12 9 12.2144 9 12.4789C9 12.6212 9.06508 12.7562 9.17759 12.8472L19.5082 21.2008C19.7333 21.3828 20.06 21.3821 20.2842 21.199L30.8867 12.5448ZM9.99246 15.2938C9.59792 14.9748 9 15.2478 9 15.7471V27.9107C9 28.2362 9.27109 28.5 9.6055 28.5H30.3945C30.7289 28.5 31 28.2362 31 27.9107V15.5103C31 15.0098 30.3994 14.7372 30.0054 15.0588L20.353 22.9375C20.0642 23.1732 19.7375 23.1739 19.5124 22.9919L9.99246 15.2938Z\"\n fill=\"white\"/>\n <defs>\n <linearGradient id=\"paint0_linear_124_10994\" x1=\"20\" y1=\"0\" x2=\"20\" y2=\"40\" gradientUnits=\"userSpaceOnUse\">\n <stop stopColor=\"#FFB950\"/>\n <stop offset=\"0.475\" stopColor=\"#FF7A60\"/>\n <stop offset=\"1\" stopColor=\"#FF3C4A\"/>\n </linearGradient>\n </defs>\n </svg>\n}","import {IconProps} from \"types/types\";\n\nexport default function ArrowRightIcon({\n color = \"#000\",\n size = 20,\n className,\n style\n }: IconProps) {\n return <svg className={className} style={style} width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M11.4733 3.97314L10.7367 4.70971L15.3734 9.34641L3.15374 9.34641L3.15374 10.385L15.3734 10.385L10.7367 15.0217L11.4733 15.7583L17.3658 9.8657L11.4733 3.97314Z\"\n fill={color}/>\n </svg>\n\n}","import {IconProps} from \"types/types\";\n\nexport default function CloseRoundIcon({size=30,...props}:IconProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 30 30\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"30\" height=\"30\" rx=\"15\" fill=\"#F9F9F9\"/>\n <path d=\"M10.7574 10.7573L19.2426 19.2426\" stroke=\"#6E6E6E\" strokeWidth=\"1.5\" strokeLinecap=\"round\"/>\n <path d=\"M19.2426 10.7573L10.7574 19.2426\" stroke=\"#6E6E6E\" strokeWidth=\"1.5\" strokeLinecap=\"round\"/>\n </svg>\n\n}","import React from 'react';\n\ninterface LoadingIconProps {\n size?: number;\n className?: string;\n color?: string;\n}\n\nconst LoadingIcon: React.FC<LoadingIconProps> = ({ size = 22, className=\"\",color=\"white\" }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 22 22\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path d=\"M11 1V3.5\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.3\" d=\"M3.92834 3.92871L5.69977 5.70017\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.4\" d=\"M1 11H3.5\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.5\" d=\"M3.92834 18.0722L5.69977 16.3008\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.6\" d=\"M11 21V18.5\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.7\" d=\"M18.0715 18.0722L16.3 16.3008\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.8\" d=\"M21 11H18.5\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.9\" d=\"M18.0715 3.92871L16.3 5.70017\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n);\n\nexport default LoadingIcon;","import {IconProps} from \"../../types/types\";\n\nexport default function EmailLineIcon({\n size=24,\n color=\"black\",\n ...props\n }:IconProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M3 8.00049L10.8906 13.2609C11.5624 13.7088 12.4376 13.7088 13.1094 13.2609L21 8.00049M5 19.0005H19C20.1046 19.0005 21 18.1051 21 17.0005V7.00049C21 5.89592 20.1046 5.00049 19 5.00049H5C3.89543 5.00049 3 5.89592 3 7.00049V17.0005C3 18.1051 3.89543 19.0005 5 19.0005Z\"\n stroke={color} strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n\n}","import React from 'react';\nimport {IconProps} from \"../../types/types\";\n\nconst UnLoginIcon: React.FC<IconProps> = ({ size=32, color = 'white',...props }) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 32 32\" fill=\"none\" {...props}>\n <path\n d=\"M24 14L26 12M24 14L22 12M24 14L22 16M24 14L26 16M18 12C18 14.2091 16.2091 16 14 16C11.7909 16 10 14.2091 10 12C10 9.79086 11.7909 8 14 8C16.2091 8 18 9.79086 18 12ZM10 19H18C20.2091 19 22 20.7909 22 23C22 23.5523 21.5523 24 21 24H7C6.44772 24 6 23.5523 6 23C6 20.7909 7.79086 19 10 19Z\"\n stroke={color} strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n);\n\nexport default UnLoginIcon;","import React from 'react';\nimport {IconProps} from \"../../types/types\";\n\nconst LoginIcon: React.FC<IconProps> = ({size = 32, color = 'white', ...props}) => (\n <svg width={size} height={size} viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <rect width=\"32\" height=\"32\" rx=\"16\"/>\n <path\n d=\"M22.5 14L24 15.5L27 12.5M19 11C19 13.2091 17.2091 15 15 15C12.7909 15 11 13.2091 11 11C11 8.79086 12.7909 7 15 7C17.2091 7 19 8.79086 19 11ZM11 18H19C21.2091 18 23 19.7909 23 22C23 22.5523 22.5523 23 22 23H8C7.44772 23 7 22.5523 7 22C7 19.7909 8.79086 18 11 18Z\"\n stroke=\"white\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n\n);\n\nexport default LoginIcon;","import {IconProps} from \"../../types/types\";\n\nexport default function CheckRoundIcon({\n size,\n color=\"#2CBF68\",\n ...props\n }:Omit<IconProps, 'width'|'height'>) {\n return <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_418_7699)\">\n <path\n d=\"M14.6668 8.00016C14.6668 11.6821 11.6821 14.6668 8.00016 14.6668C4.31826 14.6668 1.3335 11.6821 1.3335 8.00016C1.3335 4.31826 4.31826 1.3335 8.00016 1.3335C11.6821 1.3335 14.6668 4.31826 14.6668 8.00016Z\"\n fill={color} stroke={color} strokeLinecap=\"round\"/>\n <path\n d=\"M10.6867 5.97994C10.882 6.1752 10.882 6.49179 10.6867 6.68705L7.35339 10.0204C7.15813 10.2156 6.84155 10.2156 6.64628 10.0204L5.31295 8.68705C5.11769 8.49179 5.11769 8.1752 5.31295 7.97994C5.50821 7.78468 5.8248 7.78468 6.02006 7.97994L6.99984 8.95972L8.48973 7.46983L9.97962 5.97994C10.1749 5.78468 10.4915 5.78468 10.6867 5.97994Z\"\n fill=\"white\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_418_7699\">\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n\n}","export default function PasswordRoundIcon() {\n return <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" y=\"0.5\" width=\"39\" height=\"39\" rx=\"7.5\" fill=\"white\"/>\n <rect x=\"0.5\" y=\"0.5\" width=\"39\" height=\"39\" rx=\"7.5\" stroke=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M19.7673 16.1137C19.962 13.9479 21.7831 12.25 24 12.25C26.3472 12.25 28.25 14.1528 28.25 16.5C28.25 18.8472 26.3472 20.75 24 20.75C23.488 20.75 22.9987 20.6598 22.5461 20.495C21.9175 20.2662 21.1115 20.3279 20.5486 20.8908L19.2626 22.1768C19.2157 22.2237 19.1521 22.25 19.0858 22.25H18C17.3096 22.25 16.75 22.8096 16.75 23.5V24.25H15.5C14.8096 24.25 14.25 24.8096 14.25 25.5V26.5C14.25 26.6381 14.1381 26.75 14 26.75H12C11.8619 26.75 11.75 26.6381 11.75 26.5V23.9538C11.75 23.8817 11.7811 23.8131 11.8354 23.7656L19.1524 17.3632C19.5404 17.0238 19.7275 16.556 19.7673 16.1137ZM24 10.75C20.9997 10.75 18.5369 13.0473 18.2733 15.9794C18.2614 16.1115 18.2107 16.1941 18.1646 16.2344L10.8476 22.6368C10.4678 22.9691 10.25 23.4491 10.25 23.9538V26.5C10.25 27.4665 11.0335 28.25 12 28.25H14C14.9665 28.25 15.75 27.4665 15.75 26.5V25.75H17C17.6904 25.75 18.25 25.1904 18.25 24.5V23.75H19.0858C19.5499 23.75 19.995 23.5656 20.3232 23.2374L21.6092 21.9514C21.6738 21.8868 21.8277 21.8298 22.033 21.9045C22.6476 22.1283 23.3104 22.25 24 22.25C27.1756 22.25 29.75 19.6756 29.75 16.5C29.75 13.3244 27.1756 10.75 24 10.75ZM25 16.5C25.5523 16.5 26 16.0523 26 15.5C26 14.9477 25.5523 14.5 25 14.5C24.4477 14.5 24 14.9477 24 15.5C24 16.0523 24.4477 16.5 25 16.5Z\"\n fill=\"black\"/>\n </svg>\n\n}","import {IconSizeColorProps} from \"./types\";\n\nexport default function CloseEyeIcon({\n size = 20,\n color = '#6E6E6E'\n }:IconSizeColorProps) {\n return <svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M9.15132 12.5568V11.5464C8.21031 11.4949 7.28023 11.3193 6.38524 11.024L6.04233 11.9579C6.00626 12.0669 5.94867 12.1676 5.87299 12.2539C5.79731 12.3403 5.70508 12.4106 5.60174 12.4607C5.4984 12.5108 5.38607 12.5396 5.27139 12.5455C5.15671 12.5514 5.04201 12.5342 4.93409 12.4949C4.82617 12.4557 4.72722 12.3952 4.6431 12.317C4.55898 12.2389 4.49139 12.1446 4.44435 12.0399C4.3973 11.9351 4.37175 11.822 4.36921 11.7072C4.36667 11.5924 4.38719 11.4783 4.42955 11.3715L4.80788 10.3268C4.04603 9.88461 3.32634 9.37345 2.65789 8.79975C2.54358 8.70488 2.42928 8.61687 2.32184 8.52772C2.1442 8.38554 2.03031 8.17862 2.00523 7.95247C1.98015 7.72633 2.04593 7.49948 2.18811 7.32184C2.33028 7.1442 2.5372 7.03031 2.76335 7.00523C2.98949 6.98015 3.21634 7.04593 3.39398 7.18811C3.50828 7.27955 3.62258 7.37099 3.73689 7.47043C5.46065 9.00826 7.68996 9.85815 10 9.85815C12.31 9.85815 14.5393 9.00826 16.2631 7.47043C16.3774 7.37099 16.4917 7.27955 16.606 7.18811C16.694 7.11771 16.7949 7.06533 16.9031 7.03395C17.0114 7.00257 17.1247 6.99281 17.2367 7.00523C17.3486 7.01765 17.4571 7.052 17.5558 7.10632C17.6545 7.16065 17.7415 7.23388 17.8119 7.32184C17.8823 7.4098 17.9347 7.51077 17.9661 7.61897C17.9974 7.72717 18.0072 7.8405 17.9948 7.95247C17.9824 8.06445 17.948 8.17288 17.8937 8.27158C17.8394 8.37028 17.7661 8.45732 17.6782 8.52772L17.3421 8.79975C16.6737 9.37354 15.954 9.88471 15.1921 10.3268L15.5705 11.3715C15.6128 11.4783 15.6333 11.5924 15.6308 11.7072C15.6283 11.822 15.6027 11.9351 15.5557 12.0399C15.5086 12.1446 15.441 12.2389 15.3569 12.317C15.2728 12.3952 15.1738 12.4557 15.0659 12.4949C14.958 12.5342 14.8433 12.5514 14.7286 12.5455C14.6139 12.5396 14.5016 12.5108 14.3983 12.4607C14.2949 12.4106 14.2027 12.3403 14.127 12.2539C14.0513 12.1676 13.9937 12.0669 13.9577 11.9579L13.6148 11.024C12.7198 11.3193 11.7897 11.4949 10.8487 11.5464V12.5568C10.8487 12.7842 10.7584 13.0022 10.5976 13.163C10.4368 13.3238 10.2188 13.4141 9.99143 13.4141C9.76407 13.4141 9.54602 13.3238 9.38526 13.163C9.22449 13.0022 9.13417 12.7842 9.13417 12.5568H9.15132Z\"\n fill={color}/>\n </svg>\n\n}","import {IconSizeColorProps} from \"./types\";\n\nexport default function OpenEyeIcon({\n size = 20,\n color = '#6E6E6E'\n }:IconSizeColorProps) {\n return <svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M10 6.4543C11.3373 6.44986 12.6486 6.82287 13.7834 7.53047C14.9181 8.23806 15.8301 9.25151 16.4145 10.4543C15.2145 12.9052 12.7564 14.4543 10 14.4543C7.24364 14.4543 4.78545 12.9052 3.58545 10.4543C4.1699 9.25151 5.08191 8.23806 6.21664 7.53047C7.35136 6.82287 8.66274 6.44986 10 6.4543ZM10 4.99976C6.36364 4.99976 3.25818 7.26157 2 10.4543C3.25818 13.647 6.36364 15.9088 10 15.9088C13.6364 15.9088 16.7418 13.647 18 10.4543C16.7418 7.26157 13.6364 4.99976 10 4.99976ZM10 8.63612C10.4822 8.63617 10.9446 8.82774 11.2855 9.16871C11.6265 9.50968 11.818 9.97212 11.818 10.4543C11.818 10.9365 11.6265 11.3989 11.2855 11.7399C10.9446 12.0809 10.4822 12.2724 10 12.2725C9.51782 12.2724 9.0554 12.0809 8.71447 11.7399C8.37353 11.3989 8.18199 10.9365 8.18199 10.4543C8.18199 9.97212 8.37353 9.50968 8.71447 9.16871C9.0554 8.82774 9.51782 8.63617 10 8.63612ZM10 7.18157C8.19636 7.18157 6.72727 8.65066 6.72727 10.4543C6.72727 12.2579 8.19636 13.727 10 13.727C11.8036 13.727 13.2727 12.2579 13.2727 10.4543C13.2727 8.65066 11.8036 7.18157 10 7.18157Z\"\n fill={color}/>\n </svg>\n\n}","import {IconProps} from \"../../types/types\";\n\nexport default function DeleteRoundIcon({height = 21,width=20, color = \"var(--matchid-error-color)\",...props}:IconProps) {\n return <svg width={width} height={height} viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <rect y=\"0.5\" width=\"20\" height=\"20\" rx=\"10\" fill={color}/>\n <path d=\"M7.17139 7.67188L12.8282 13.3287\" stroke=\"white\" strokeLinecap=\"round\"/>\n <path d=\"M12.8286 7.67188L7.17176 13.3287\" stroke=\"white\" strokeLinecap=\"round\"/>\n </svg>\n\n}","export default function FacebookIcon({\n size = 40\n }: {\n size?: number | string\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#1877F2\"/>\n <path\n d=\"M27.7852 28.9688L28.6719 23.1875H23.125V19.4375C23.125 17.8555 23.8984 16.3125 26.3828 16.3125H28.9062V11.3906C28.9062 11.3906 26.6172 11 24.4297 11C19.8594 11 16.875 13.7695 16.875 18.7813V23.1875H11.7969V28.9688H16.875V42.9453C17.8945 43.1055 18.9375 43.1875 20 43.1875C21.0625 43.1875 22.1055 43.1055 23.125 42.9453V28.9688H27.7852Z\"\n fill=\"white\"/>\n\n </svg>\n\n}","export default function GithubIcon({\n size = 40\n }: {\n size?: number | string\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M19.6836 7C16.434 7.00169 13.2909 8.15263 10.8165 10.247C8.34197 12.3414 6.69741 15.2427 6.17684 18.4321C5.65627 21.6215 6.29363 24.8911 7.97496 27.6561C9.6563 30.4211 12.272 32.5013 15.3542 33.5248C16.0343 33.651 16.2904 33.2295 16.2904 32.8712C16.2904 32.5128 16.2768 31.4738 16.2723 30.3379C12.4642 31.1606 11.6596 28.731 11.6596 28.731C11.0385 27.1533 10.1409 26.7386 10.1409 26.7386C8.89876 25.8957 10.2338 25.9115 10.2338 25.9115C11.6097 26.0084 12.3328 27.3156 12.3328 27.3156C13.5523 29.3958 15.5356 28.7941 16.3153 28.4425C16.4377 27.5613 16.7936 26.9618 17.1857 26.6214C14.1438 26.2789 10.9478 25.1114 10.9478 19.8961C10.929 18.5436 11.4338 17.2356 12.3577 16.2428C12.2172 15.9002 11.748 14.5164 12.4914 12.6367C12.4914 12.6367 13.6407 12.2716 16.2564 14.0318C18.5 13.4217 20.8672 13.4217 23.1108 14.0318C25.7243 12.2716 26.8712 12.6367 26.8712 12.6367C27.617 14.5119 27.1478 15.8957 27.0072 16.2428C27.9341 17.2358 28.4399 18.546 28.4194 19.9007C28.4194 25.1272 25.2166 26.2789 22.1701 26.6147C22.6597 27.0384 23.0972 27.8655 23.0972 29.1367C23.0972 30.9577 23.0814 32.4227 23.0814 32.8712C23.0814 33.234 23.3284 33.6577 24.022 33.5248C27.1047 32.5012 29.7206 30.4206 31.4019 27.6551C33.0832 24.8896 33.7202 21.6196 33.1991 18.4299C32.6779 15.2402 31.0325 12.3389 28.5572 10.2449C26.0819 8.15081 22.9381 7.00062 19.6881 7H19.6836Z\"\n fill=\"white\"/>\n <path\n d=\"M11.1789 26.543C11.1495 26.6106 11.0407 26.6309 10.9523 26.5836C10.8639 26.5362 10.7982 26.4483 10.8299 26.3785C10.8616 26.3086 10.9682 26.2906 11.0566 26.3379C11.145 26.3852 11.2129 26.4754 11.1789 26.543Z\"\n fill=\"white\"/>\n <path\n d=\"M11.7339 27.1582C11.687 27.1817 11.6333 27.1883 11.582 27.1768C11.5308 27.1652 11.4851 27.1364 11.4529 27.0951C11.3645 27.0004 11.3463 26.8697 11.4143 26.8111C11.4823 26.7525 11.6048 26.7796 11.6932 26.8742C11.7816 26.9689 11.8019 27.0996 11.7339 27.1582Z\"\n fill=\"white\"/>\n <path\n d=\"M12.2738 27.9394C12.1899 27.998 12.0471 27.9394 11.9678 27.8222C11.9459 27.8012 11.9284 27.776 11.9165 27.7481C11.9046 27.7202 11.8984 27.6902 11.8984 27.6599C11.8984 27.6296 11.9046 27.5996 11.9165 27.5718C11.9284 27.5439 11.9459 27.5187 11.9678 27.4976C12.0517 27.4413 12.1945 27.4976 12.2738 27.6126C12.3531 27.7275 12.3554 27.8808 12.2738 27.9394Z\"\n fill=\"white\"/>\n <path\n d=\"M13.0055 28.6975C12.9307 28.7809 12.7789 28.7584 12.6542 28.6457C12.5295 28.533 12.5001 28.3797 12.5749 28.2986C12.6497 28.2175 12.8015 28.24 12.9307 28.3505C13.0599 28.4609 13.0849 28.6164 13.0055 28.6975Z\"\n fill=\"white\"/>\n <path\n d=\"M14.0325 29.1386C13.9985 29.2445 13.8444 29.2919 13.6902 29.2468C13.5361 29.2017 13.4341 29.0755 13.4636 28.9673C13.493 28.8591 13.6494 28.8095 13.8058 28.8591C13.9622 28.9087 14.062 29.0282 14.0325 29.1386Z\"\n fill=\"white\"/>\n <path\n d=\"M15.1525 29.216C15.1525 29.3264 15.0256 29.421 14.8624 29.4233C14.6992 29.4256 14.5654 29.3354 14.5654 29.225C14.5654 29.1145 14.6924 29.0199 14.8556 29.0176C15.0188 29.0154 15.1525 29.1033 15.1525 29.216Z\"\n fill=\"white\"/>\n <path\n d=\"M16.1947 29.0423C16.2151 29.1527 16.1018 29.2677 15.9386 29.2947C15.7754 29.3218 15.6326 29.2564 15.6122 29.1482C15.5918 29.0401 15.7096 28.9229 15.8683 28.8936C16.027 28.8643 16.1743 28.9319 16.1947 29.0423Z\"\n fill=\"white\"/>\n\n </svg>\n\n}","export default function DiscordIcon({\n size=40\n }:{\n size?: number | string\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#5865F2\"/>\n <path\n d=\"M29.7032 10.8237C27.9186 9.97958 26.0048 9.35768 24.0039 9.00149C23.9674 8.99462 23.931 9.0118 23.9123 9.04616C23.6661 9.4974 23.3935 10.0861 23.2026 10.5488C21.0505 10.2167 18.9094 10.2167 16.8014 10.5488C16.6104 10.0758 16.3279 9.4974 16.0807 9.04616C16.0619 9.01295 16.0255 8.99577 15.9891 9.00149C13.9892 9.35654 12.0755 9.97844 10.2898 10.8237C10.2743 10.8306 10.261 10.842 10.2523 10.8569C6.62229 16.4471 5.62789 21.9 6.11571 27.2852C6.11792 27.3116 6.13226 27.3368 6.15213 27.3528C8.54708 29.1658 10.867 30.2664 13.1438 30.996C13.1803 31.0075 13.2189 30.9937 13.2421 30.9628C13.7806 30.2046 14.2607 29.4052 14.6724 28.5645C14.6967 28.5153 14.6735 28.4569 14.6238 28.4374C13.8623 28.1396 13.1372 27.7765 12.4397 27.3642C12.3845 27.331 12.3801 27.2497 12.4309 27.2107C12.5776 27.0974 12.7245 26.9794 12.8646 26.8603C12.89 26.8385 12.9253 26.8339 12.9551 26.8477C17.5375 29.0043 22.4985 29.0043 27.0268 26.8477C27.0566 26.8328 27.0919 26.8374 27.1184 26.8591C27.2586 26.9783 27.4054 27.0974 27.5533 27.2107C27.604 27.2497 27.6007 27.331 27.5455 27.3642C26.848 27.7845 26.1229 28.1396 25.3603 28.4362C25.3106 28.4557 25.2885 28.5153 25.3128 28.5645C25.7333 29.404 26.2134 30.2034 26.742 30.9616C26.7641 30.9937 26.8038 31.0075 26.8403 30.996C29.1282 30.2664 31.4481 29.1658 33.843 27.3528C33.864 27.3368 33.8772 27.3127 33.8794 27.2864C34.4633 21.0604 32.9016 15.6523 29.7396 10.858C29.7319 10.842 29.7186 10.8306 29.7032 10.8237ZM15.3567 24.0062C13.9771 24.0062 12.8403 22.7005 12.8403 21.0971C12.8403 19.4937 13.955 18.188 15.3567 18.188C16.7694 18.188 17.8951 19.5051 17.873 21.0971C17.873 22.7005 16.7583 24.0062 15.3567 24.0062ZM24.6605 24.0062C23.281 24.0062 22.1442 22.7005 22.1442 21.0971C22.1442 19.4937 23.2589 18.188 24.6605 18.188C26.0732 18.188 27.199 19.5051 27.1769 21.0971C27.1769 22.7005 26.0732 24.0062 24.6605 24.0062Z\"\n fill=\"white\"/>\n </svg>\n\n}","import {IconSizeColorProps} from \"./types\";\n\nexport default function CheckIcon({\n size=20,\n color=\"black\",\n ...props\n }:IconSizeColorProps) {\n return <svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M5 9.99996L8.33333 13.3333L15 6.66663\" stroke={color} strokeWidth=\"1.5\" strokeLinecap=\"round\"\n strokeLinejoin=\"round\"/>\n </svg>\n\n}","import React from \"react\";\nimport {IconSizeColorProps} from \"./types\";\n\nexport default function CopyIcon({size = 20, color = 'black', ...props}: IconSizeColorProps) {\n\n return (\n <svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M4.16673 12.5009C3.24625 12.5009 2.50006 11.7547 2.50006 10.8342V4.16752C2.50006 3.24705 3.24625 2.50085 4.16673 2.50085H10.8334C11.7539 2.50085 12.5001 3.24705 12.5001 4.16752M9.16673 17.5009H15.8334C16.7539 17.5009 17.5001 16.7547 17.5001 15.8342V9.16752C17.5001 8.24705 16.7539 7.50086 15.8334 7.50086H9.16673C8.24625 7.50086 7.50006 8.24705 7.50006 9.16752V15.8342C7.50006 16.7547 8.24625 17.5009 9.16673 17.5009Z\"\n stroke={color} strokeWidth=\"1.5\" strokeLinecap=\"round\"/>\n\n </svg>\n )\n}","import {IconSizeColorProps} from \"./types\";\n\nexport default function LinkedinIcon({\n size=40,\n ...props\n }:IconSizeColorProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#0A66C2\"/>\n <path\n d=\"M29.376 9H10.624C10.1933 9 9.78023 9.1711 9.47567 9.47567C9.1711 9.78023 9 10.1933 9 10.624V29.376C9 29.8067 9.1711 30.2198 9.47567 30.5243C9.78023 30.8289 10.1933 31 10.624 31H29.376C29.8067 31 30.2198 30.8289 30.5243 30.5243C30.8289 30.2198 31 29.8067 31 29.376V10.624C31 10.1933 30.8289 9.78023 30.5243 9.47567C30.2198 9.1711 29.8067 9 29.376 9ZM15.5572 27.7413H12.2496V17.2347H15.5572V27.7413ZM13.9011 15.7788C13.5259 15.7766 13.1598 15.6634 12.8488 15.4534C12.5379 15.2434 12.2962 14.946 12.1541 14.5987C12.0121 14.2514 11.9761 13.8699 12.0507 13.5022C12.1253 13.1345 12.3072 12.7971 12.5733 12.5326C12.8395 12.2682 13.178 12.0885 13.5462 12.0163C13.9144 11.944 14.2957 11.9825 14.642 12.1267C14.9884 12.271 15.2842 12.5147 15.4923 12.8269C15.7003 13.1392 15.8111 13.5061 15.8108 13.8813C15.8144 14.1324 15.7673 14.3818 15.6724 14.6144C15.5776 14.847 15.4368 15.0582 15.2586 15.2352C15.0804 15.4123 14.8684 15.5517 14.6351 15.6451C14.4019 15.7384 14.1523 15.7839 13.9011 15.7788ZM27.7489 27.7504H24.4428V22.0106C24.4428 20.3178 23.7232 19.7953 22.7943 19.7953C21.8135 19.7953 20.851 20.5347 20.851 22.0533V27.7504H17.5433V17.2424H20.7242V18.6983H20.7669C21.0863 18.0521 22.2046 16.9475 23.9111 16.9475C25.7567 16.9475 27.7504 18.0429 27.7504 21.2513L27.7489 27.7504Z\"\n fill=\"white\"/>\n </svg>\n\n}","import {IconSizeColorProps} from \"./types\";\n\nexport default function YoutubeIcon({ size=40,...props}: IconSizeColorProps) {\n return (\n <svg width={size} height={size} {...{props}} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#FF0000\"/>\n <path\n d=\"M33.9855 13.1304C33.656 11.9065 32.691 10.9415 31.4671 10.612C29.231 10 20.287 10 20.287 10C20.287 10 11.3429 10 9.10689 10.5884C7.9065 10.9179 6.91794 11.9065 6.58843 13.1304C6 15.3664 6 20.0032 6 20.0032C6 20.0032 6 24.6636 6.58843 26.876C6.91794 28.1 7.88296 29.065 9.10689 29.3945C11.3664 30.0065 20.287 30.0065 20.287 30.0065C20.287 30.0065 29.231 30.0065 31.4671 29.418C32.691 29.0885 33.656 28.1235 33.9855 26.8996C34.5739 24.6636 34.5739 20.0268 34.5739 20.0268C34.5739 20.0268 34.5975 15.3664 33.9855 13.1304Z\"\n fill=\"white\"/>\n <path d=\"M17.439 24.2867L24.8767 20.003L17.439 15.7192V24.2867Z\" fill=\"#FF0000\"/>\n </svg>\n );\n}","import {IconSizeProps} from \"./types\";\n\nexport default function BTCDarkIcon({size = 40, ...props}: IconSizeProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M28.763 17.1292C29.1611 14.4674 27.1346 13.0365 24.3634 12.082L25.2624 8.47628L23.0675 7.92936L22.1923 11.4402C21.6153 11.2962 21.0227 11.1606 20.4338 11.0262L21.3152 7.49223L19.1217 6.94531L18.2222 10.5499C17.7447 10.4411 17.2757 10.3337 16.8207 10.2205L16.8232 10.2091L13.7964 9.45329L13.2125 11.7976C13.2125 11.7976 14.841 12.1709 14.8067 12.1939C15.6955 12.4157 15.8562 13.0041 15.8295 13.4704L14.8055 17.5782C14.8667 17.5937 14.9461 17.6162 15.0337 17.6514C14.9604 17.6332 14.8825 17.6134 14.8017 17.594L13.3663 23.3484C13.2577 23.6185 12.982 24.0237 12.3606 23.8698C12.3826 23.9017 10.7653 23.4717 10.7653 23.4717L9.67554 25.9842L12.5319 26.6962C13.0632 26.8295 13.584 26.9689 14.0968 27.1L13.1885 30.7471L15.3809 31.294L16.2803 27.6857C16.8793 27.8483 17.4605 27.9982 18.0295 28.1396L17.1331 31.731L19.3281 32.2779L20.2363 28.6376C23.9791 29.346 26.7934 29.0604 27.9779 25.675C28.9324 22.9494 27.9304 21.3773 25.9613 20.3521C27.3955 20.0213 28.4758 19.0781 28.7638 17.1295L28.7631 17.129L28.763 17.1292ZM23.7481 24.1614C23.0698 26.887 18.4807 25.4136 16.9929 25.0441L18.1982 20.2124C19.6859 20.5838 24.4571 21.3188 23.7482 24.1614H23.7481ZM24.4269 17.0897C23.8082 19.569 19.9886 18.3094 18.7496 18.0006L19.8424 13.6184C21.0814 13.9273 25.0715 14.5037 24.4271 17.0897H24.4269Z\"\n fill=\"black\"/>\n </svg>\n\n}","import {IconSizeProps} from \"./types\";\n\nexport default function BTCLightIcon({size = 40, ...props}: IconSizeProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M28.763 17.1292C29.1611 14.4674 27.1346 13.0365 24.3634 12.082L25.2624 8.47628L23.0675 7.92936L22.1923 11.4402C21.6153 11.2962 21.0227 11.1606 20.4338 11.0262L21.3152 7.49223L19.1217 6.94531L18.2222 10.5499C17.7447 10.4411 17.2757 10.3337 16.8207 10.2205L16.8232 10.2091L13.7964 9.45329L13.2125 11.7976C13.2125 11.7976 14.841 12.1709 14.8067 12.1939C15.6955 12.4157 15.8562 13.0041 15.8295 13.4704L14.8055 17.5782C14.8667 17.5937 14.9461 17.6162 15.0337 17.6514C14.9604 17.6332 14.8825 17.6134 14.8017 17.594L13.3663 23.3484C13.2577 23.6185 12.982 24.0237 12.3606 23.8698C12.3826 23.9017 10.7653 23.4717 10.7653 23.4717L9.67554 25.9842L12.5319 26.6962C13.0632 26.8295 13.584 26.9689 14.0968 27.1L13.1885 30.7471L15.3809 31.294L16.2803 27.6857C16.8793 27.8483 17.4605 27.9982 18.0295 28.1396L17.1331 31.731L19.3281 32.2779L20.2363 28.6376C23.9791 29.346 26.7934 29.0604 27.9779 25.675C28.9324 22.9494 27.9304 21.3773 25.9613 20.3521C27.3955 20.0213 28.4758 19.0781 28.7638 17.1295L28.7631 17.129L28.763 17.1292ZM23.7481 24.1614C23.0698 26.887 18.4807 25.4136 16.9929 25.0441L18.1982 20.2124C19.6859 20.5838 24.4571 21.3188 23.7482 24.1614H23.7481ZM24.4269 17.0897C23.8082 19.569 19.9886 18.3094 18.7496 18.0006L19.8424 13.6184C21.0814 13.9273 25.0715 14.5037 24.4271 17.0897H24.4269Z\"\n fill=\"white\"/>\n\n </svg>\n\n}","import {IconSizeProps} from \"./types\";\n\nexport default function EVMDarkIcon({ size=40,...props}: IconSizeProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M20.5956 14.6424L25.0599 7.49951L29.5242 14.6424H20.5956Z\" fill=\"#6E6E6E\"/>\n <path d=\"M11.667 14.6424L16.1313 7.49951L20.5956 14.6424H11.667Z\" fill=\"#6E6E6E\"/>\n <path d=\"M25.0597 7.50021L20.5954 14.6431L16.1311 7.50021H25.0597Z\" fill=\"black\"/>\n <path d=\"M20.5956 14.6423L16.1313 21.7852L11.667 14.6423H20.5956Z\" fill=\"black\"/>\n <path d=\"M20.5952 25.3567L16.1309 32.4995L11.6666 25.3567H20.5952Z\" fill=\"#6E6E6E\"/>\n <path d=\"M29.5243 25.3567L25.06 32.4995L20.5957 25.3567H29.5243Z\" fill=\"#6E6E6E\"/>\n <path d=\"M16.1315 32.5008L20.5958 25.3579L25.06 32.5008H16.1315Z\" fill=\"black\"/>\n <path d=\"M20.5956 25.3572L25.0599 18.2144L29.5242 25.3572H20.5956Z\" fill=\"black\"/>\n </svg>\n\n}","import {IconSizeProps} from \"./types\";\n\nexport default function EVMLightIcon({ size=40,...props}: IconSizeProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M20.5955 14.6424L25.0597 7.49951L29.524 14.6424H20.5955Z\" fill=\"#D9D9D9\"/>\n <path d=\"M11.6667 14.6424L16.131 7.49951L20.5953 14.6424H11.6667Z\" fill=\"#EFEFEF\"/>\n <path d=\"M25.0596 7.50021L20.5953 14.6431L16.131 7.50021H25.0596Z\" fill=\"white\"/>\n <path d=\"M20.5955 14.6423L16.1312 21.7852L11.6669 14.6423H20.5955Z\" fill=\"white\"/>\n <path d=\"M20.595 25.3567L16.1307 32.4995L11.6664 25.3567H20.595Z\" fill=\"#D9D9D9\"/>\n <path d=\"M29.5242 25.3567L25.0599 32.4995L20.5956 25.3567H29.5242Z\" fill=\"#EFEFEF\"/>\n <path d=\"M16.1313 32.5008L20.5956 25.3579L25.0599 32.5008H16.1313Z\" fill=\"white\"/>\n <path d=\"M20.5955 25.3572L25.0597 18.2144L29.524 25.3572H20.5955Z\" fill=\"white\"/>\n </svg>\n\n}","import {IconSizeProps} from \"./types\";\n\nexport default function SOLDarkIcon({ size=40,...props}: IconSizeProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.1242 24.7415C12.265 24.6007 12.4586 24.5186 12.6639 24.5186H31.2841C31.6243 24.5186 31.7945 24.9292 31.5539 25.1697L27.8757 28.848C27.7349 28.9888 27.5413 29.0709 27.3359 29.0709H8.71576C8.3755 29.0709 8.20537 28.6603 8.4459 28.4198L12.1242 24.7415Z\"\n fill=\"black\"/>\n <path\n d=\"M12.1243 11.0081C12.271 10.8673 12.4646 10.7852 12.664 10.7852H31.2842C31.6245 10.7852 31.7946 11.1958 31.5541 11.4363L27.8758 15.1146C27.735 15.2554 27.5414 15.3375 27.3361 15.3375H8.71588C8.37562 15.3375 8.20549 14.9269 8.44602 14.6864L12.1243 11.0081Z\"\n fill=\"black\"/>\n <path\n d=\"M27.8757 17.8299C27.7349 17.6891 27.5413 17.6069 27.3359 17.6069H8.71576C8.3755 17.6069 8.20537 18.0176 8.4459 18.2581L12.1242 21.9364C12.265 22.0772 12.4586 22.1593 12.6639 22.1593H31.2841C31.6243 22.1593 31.7945 21.7487 31.5539 21.5081L27.8757 17.8299Z\"\n fill=\"black\"/>\n </svg>\n\n}","import {IconSizeProps} from \"./types\";\n\nexport default function SOLLightIcon({size = 40, ...props}: IconSizeProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.1239 24.7415C12.2647 24.6007 12.4583 24.5186 12.6636 24.5186H31.2838C31.6241 24.5186 31.7942 24.9292 31.5537 25.1697L27.8754 28.848C27.7346 28.9888 27.541 29.0709 27.3357 29.0709H8.71551C8.37526 29.0709 8.20513 28.6603 8.44565 28.4198L12.1239 24.7415Z\"\n fill=\"white\"/>\n <path\n d=\"M12.1242 11.0081C12.2708 10.8673 12.4644 10.7852 12.6639 10.7852H31.2841C31.6243 10.7852 31.7945 11.1958 31.5539 11.4363L27.8757 15.1146C27.7349 15.2554 27.5413 15.3375 27.3359 15.3375H8.71576C8.3755 15.3375 8.20537 14.9269 8.4459 14.6864L12.1242 11.0081Z\"\n fill=\"white\"/>\n <path\n d=\"M27.8754 17.8299C27.7346 17.6891 27.541 17.6069 27.3357 17.6069H8.71551C8.37526 17.6069 8.20513 18.0176 8.44565 18.2581L12.1239 21.9364C12.2647 22.0772 12.4583 22.1593 12.6636 22.1593H31.2838C31.6241 22.1593 31.7942 21.7487 31.5537 21.5081L27.8754 17.8299Z\"\n fill=\"white\"/>\n\n </svg>\n\n}","import {IconSizeProps} from \"./types\";\n\nexport default function TRXDarkIcon({size=40,...props}: IconSizeProps) {\n return (\n <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\">\n <mask id=\"mask0_1215_64214\" style={{ maskType: \"alpha\" }} maskUnits=\"userSpaceOnUse\" x=\"6\" y=\"6\" width=\"28\"\n height=\"28\">\n <rect x=\"6.66663\" y=\"6.6665\" width=\"26.6667\" height=\"26.6667\" fill=\"url(#pattern0_1215_64214)\"/>\n </mask>\n <g mask=\"url(#mask0_1215_64214)\">\n <rect x=\"6.66663\" y=\"6.6665\" width=\"26.6667\" height=\"26.6667\" fill=\"black\"/>\n </g>\n <defs>\n <pattern id=\"pattern0_1215_64214\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <use xlinkHref=\"#image0_1215_64214\" transform=\"scale(0.01)\"/>\n </pattern>\n <image id=\"image0_1215_64214\" width=\"100\" height=\"100\"\n xlinkHref=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGk2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuMTQ2Mjg5OTc3NywgMjAyMy8wNi8yNS0yMzo1NzoxNCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjMgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDI1LTAxLTE0VDExOjA4OjEyKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNS0wMS0xNFQxMToxMToyMSswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNS0wMS0xNFQxMToxMToyMSswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDBiNDhmNDgtN2IwNi00N2E2LWI0ZGItYzk3NTdmN2U0OWY0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOmRjOGI3N2Y3LWRlYzYtNGJkYS04ZjExLTUwYjdkZjdjOWY4YiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmRjOGI3N2Y3LWRlYzYtNGJkYS04ZjExLTUwYjdkZjdjOWY4YiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZGM4Yjc3ZjctZGVjNi00YmRhLThmMTEtNTBiN2RmN2M5ZjhiIiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE0VDExOjA4OjEyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NThjMzllN2EtNDZkYi00N2UzLTgyMjYtMTZkNTZkNTc1NmViIiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE0VDExOjEwOjExKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDBiNDhmNDgtN2IwNi00N2E2LWI0ZGItYzk3NTdmN2U0OWY0IiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE0VDExOjExOjIxKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5guAj8AAAWbElEQVR4nO2de5xdRZHHv9VnZpJgwICILBDCAiEQXqviBgVBEBQE84EFUcBsQCJE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\"/>\n </defs>\n </svg>\n\n )\n}","import {IconSizeProps} from \"./types\";\n\nexport default function TRXLightIcon({size= 40, ...props}: IconSizeProps) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\">\n <mask id=\"mask0_1215_64378\" style={{\n maskType: \"alpha\"\n }} maskUnits=\"userSpaceOnUse\" x=\"6\" y=\"6\" width=\"28\"\n height=\"28\">\n <rect x=\"6.66675\" y=\"6.6665\" width=\"26.6667\" height=\"26.6667\" fill=\"url(#pattern0_1215_64378)\"/>\n </mask>\n <g mask=\"url(#mask0_1215_64378)\">\n <rect x=\"6.66675\" y=\"6.6665\" width=\"26.6667\" height=\"26.6667\" fill=\"white\"/>\n </g>\n <defs>\n <pattern id=\"pattern0_1215_64378\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <use xlinkHref=\"#image0_1215_64378\" transform=\"scale(0.01)\"/>\n </pattern>\n <image id=\"image0_1215_64378\" width=\"100\" height=\"100\"\n xlinkHref=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGk2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuMTQ2Mjg5OTc3NywgMjAyMy8wNi8yNS0yMzo1NzoxNCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjMgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDI1LTAxLTE0VDExOjA4OjEyKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNS0wMS0xNFQxMToxMToyMSswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNS0wMS0xNFQxMToxMToyMSswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDBiNDhmNDgtN2IwNi00N2E2LWI0ZGItYzk3NTdmN2U0OWY0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOmRjOGI3N2Y3LWRlYzYtNGJkYS04ZjExLTUwYjdkZjdjOWY4YiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmRjOGI3N2Y3LWRlYzYtNGJkYS04ZjExLTUwYjdkZjdjOWY4YiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZGM4Yjc3ZjctZGVjNi00YmRhLThmMTEtNTBiN2RmN2M5ZjhiIiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE0VDExOjA4OjEyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NThjMzllN2EtNDZkYi00N2UzLTgyMjYtMTZkNTZkNTc1NmViIiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE0VDExOjEwOjExKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDBiNDhmNDgtN2IwNi00N2E2LWI0ZGItYzk3NTdmN2U0OWY0IiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE0VDExOjExOjIxKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5guAj8AAAWbElEQVR4nO2de5xdRZHHv9VnZpJgwICILBDCAiEQXqviBgVBEBQE84EFUcBsQCJE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\"/>\n </defs>\n</svg>\n\n}","import {IconProps} from \"./types\";\n\nexport default function ArrowDownIcon({width=20,height=21,color=\"black\",...props}:IconProps) {\n return <svg width={width} height={height} viewBox=\"0 0 20 21\" fill=\"none\" {...props} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 7.5L9.29289 11.7929C9.68342 12.1834 10.3166 12.1834 10.7071 11.7929L15 7.5\" stroke={color}\n strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n\n}","import { useState ,useEffect} from \"react\";\n\nexport function useDownMd(): boolean {\n const [isBelowMd, setIsBelowMd] = useState(window.matchMedia('(max-width: 767px)').matches);\n\n useEffect(() => {\n const handleResize = () => {\n setIsBelowMd(window.matchMedia('(max-width: 767px)').matches);\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n return isBelowMd;\n}","import React from \"react\";\nimport {ModalProps, ModalWithHeaderProps} from \"../../types/types\";\nimport ArrowLeftIcon from \"../../assets/icon/ArrowLeftIcon\";\nimport {CloseRoundIcon} from \"../../assets/icon\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nexport default function Modal({\n children,\n isOpen,\n width = 480,\n zIndex = 100,\n className = ''\n }: ModalProps) {\n return isOpen ? <div\n className=\"matchid-overlay\"\n style={{\n zIndex\n }}\n >\n <div className={`matchid-modal ${className}`} style={{\n width\n }}>\n <div className=\"matchid-modal-mobile-header\"></div>\n {children}\n </div>\n </div> : <></>\n}\n\nexport function ModalWithHeader({\n children,\n onBack,\n onClose,\n title,\n showBorder = true,\n showClose = true,\n ...props\n\n }: ModalWithHeaderProps) {\n const isDownMd = useDownMd()\n return <Modal {...props}>\n <div className={`matchid-modal-header ${showBorder ? 'matchid-modal-header-border' : ''}`}>\n <div className=\"matchid-modal-header-content\">\n {\n onBack &&\n <ArrowLeftIcon height={isDownMd ? 20 : 25} width={isDownMd ? 20 : 24} className=\"matchid-modal-header-back\" onClick={onBack}/>\n }\n <span className=\"matchid-modal-header-title\">{title}</span>\n </div>\n {onClose &&\n <CloseRoundIcon size={isDownMd ? 24 : 30} className=\"matchid-modal-header-close\" onClick={onClose}/>}\n </div>\n {children}\n </Modal>\n\n}","import {ModalWithHeaderProps} from \"types/types\";\nimport {ModalWithHeader} from \"../Modal\";\nimport {useEffect, useMemo, useState} from \"react\";\nimport {getAppClientId, isValidUsername} from \"../../utils\";\nimport Input from \"../Input\";\nimport Field from \"../Field\";\nimport Button from \"../Button\";\nimport InfoRoundIcon from \"../../assets/icon/InfoRoundIcon\";\nimport {useUserInfo, useWallet} from \"../../hooks\";\nimport CheckRoundIcon from \"../../assets/icon/CheckRoundIcon\";\nimport {setUserNameApi} from \"../../api\";\nimport {isSuccess} from \"../../api/request\";\nimport {PasswordRoundIcon} from \"../../assets/icon\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\nimport useLocalStore from \"../../store/useLocalStore\";\n\n\nexport default function PasswordModal({\n title,\n isOpen,\n onSuccess,\n ...props\n }: ModalWithHeaderProps & {\n onSuccess?: () => void\n}) {\n const {refreshOverview,overview} = useUserInfo()\n const {isLogin, did} = useUserInfo()\n const [password, setPassword] = useState('')\n const [rePassword, setRePassword] = useState('')\n const [error, setError] = useState('')//error from api\n const {generateWallet,initWallet} = useWallet()\n const intl = useIntl()\n const passwordError = useMemo(() => {\n if (password.length < 6) return intl.formatMessage({\n id: \"passwordMinError\"\n }, {\n length: 6\n })\n return ''\n }, [password])\n\n const rePasswordError = useMemo(() => {\n if (rePassword != password) {\n return intl.formatMessage({\n id: \"passwordMatchError\"\n })\n }\n return ''\n }, [rePassword, password])\n\n useEffect(() => {\n if (isOpen&&overview) {\n setPassword('')\n setRePassword('')\n const did = overview.did.split(':')[2]\n initWallet({\n did,\n address:\"\"\n })\n }\n }, [isOpen,overview]);\n\n\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const onContinue = async () => {\n if (isSubmitting) return\n try {\n setIsSubmitting(true)\n const address = await generateWallet({\n did: did.split(':')[2],\n userPasscode: password\n })\n await refreshOverview()\n onSuccess && onSuccess()\n\n } catch (error: any) {\n setError(error.message)\n } finally {\n setIsSubmitting(false)\n }\n }\n\n\n return <ModalWithHeader isOpen={isOpen && isLogin} {...props} title={title || intl.formatMessage({\n id: \"passwordTitle\"\n })}>\n <div className=\"matchid-password-box\">\n <div className=\"matchid-password-header\">\n <div className=\"matchid-password-header-icon\"><PasswordRoundIcon/></div>\n <div className=\"matchid-password-header-content\">\n <FormattedMessage id={\"passwordTips\"}/>\n </div>\n </div>\n <div className=\"matchid-password-content\">\n <Field label={intl.formatMessage({id: \"password\"})} error={password.length > 0 && passwordError}>\n <Input\n placeholder={intl.formatMessage({id: \"passwordPlaceholder\"})}\n maxLength={32}\n type={\"password\"}\n onChange={e => setPassword(e.target.value)}\n value={password}\n >\n </Input>\n </Field>\n <Field label={intl.formatMessage({\n id: \"rePassword\"\n })} error={rePassword.length > 0 ? rePasswordError || error : error}>\n <Input\n placeholder={intl.formatMessage({\n id: \"rePasswordPlaceholder\"\n })}\n maxLength={32}\n onChange={e => setRePassword(e.target.value)}\n value={rePassword}\n type={\"password\"}\n >\n </Input>\n </Field>\n </div>\n\n <Button disabled={password.length == 0 || !!passwordError || !!rePasswordError} highlight block size=\"lg\"\n onClick={onContinue} loading={isSubmitting}><FormattedMessage id={\"continue\"}/></Button>\n </div>\n </ModalWithHeader>\n}","import {InputProps} from \"types/types\";\nimport {DeleteRoundIcon, CloseEyeIcon, OpenEyeIcon} from \"assets/icon\";\nimport {useState} from \"react\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nexport default function Input({\n onChange,\n type,\n after,\n className = '',\n ...props\n }: InputProps) {\n const [inputType, setInputType] = useState(type)\n const isDownMd = useDownMd()\n return <div\n className={`matchid-input-box ${props.value && props.value.length > 0 ? 'matchid-input-has-content' : ''} ${className}`}>\n <input type={inputType} onChange={onChange} {...props} className=\"matchid-input-field\"/>\n {\n props.value && props.value.length > 0\n && <div className=\"matchid-input-delete-icon\" onClick={(e) => {\n if (onChange) {\n onChange({target: {value: ''}});\n }\n }}>\n <DeleteRoundIcon height={isDownMd ? 16 : 21} width={isDownMd ? 16 : 20}\n color=\"var(--matchid-input-delete-icon-color)\"/>\n </div>\n }\n {\n type === 'password' && <div className=\"matchid-input-eye-icon\" onClick={() => {\n setInputType(inputType === 'password' ? 'text' : 'password')\n }}>\n {\n inputType === 'password' ? <CloseEyeIcon size={isDownMd ? 16 : 20}/> :\n <OpenEyeIcon size={isDownMd ? 16 : 20}/>\n }\n </div>\n }\n {\n after\n }\n </div>\n\n}","import {PropsWithChildren, ReactNode} from \"react\";\n\nexport default function Field({\n label,\n children,\n error,\n required,\n className=''\n }:{\n label: ReactNode,\n error?: ReactNode,\n required?: boolean\n className?: string\n\n}&PropsWithChildren){\n return <div className={`matchid-field-box ${className}`}>\n <div className=\"matchid-field-label\">{required&&<span className={\"matchid-field-required\"}>*</span>}{label}</div>\n {children}\n {error && <div className=\"matchid-field-error\">{error}</div>}\n </div>\n\n}","import {LoadingIcon} from \"assets/icon\";\nimport {ButtonProps} from \"../../types/types\";\n\nexport default function Button({\n size = \"df\",\n disabled = false,\n loading = false,\n children,\n onClick,\n highlight = false,\n block = false,\n type = \"button\",\n rounded = true,\n className='',\n style = {}\n }: ButtonProps) {\n\n const onAction = () => {\n if (!disabled && !loading) {\n onClick && onClick()\n }\n }\n return <button\n type={type}\n className={`${className} matchid-btn ${'matchid-btn-' + size} ${highlight ? \"matchid-btn-highlight\" : ''} ${loading ? \"matchid-btn-loading\" : ''} ${block ? \"matchid-btn-block\" : ''} ${rounded ? \"matchid-btn-rounded\" : ''}`}\n disabled={disabled || loading}\n style={{\n ...style\n }}\n onClick={onAction}\n >\n {\n loading ?\n <LoadingIcon className=\"matchid-btn-loading-icon\" color=\"var(--matchid-btn-loading-color)\"/> :\n children\n }\n </button>\n}","export {default as useUserInfo} from \"./useUserInfo\";\nexport {default as useMatchEvents} from \"./useMatchEvents\";\nexport {default as useWallet} from \"./useWallet\";\nexport {default as useCopyClipboard} from \"./useCopyClipboard\"\nexport * as useLayout from \"./useLayout\";\n// export * as api from \"./api\";","import {create} from 'zustand';\nimport { devtools, persist } from 'zustand/middleware';\nimport {type IEnvConfigType, LocaleType, OverviewInfo, ThemeType} from \"../types/types\";\n\ninterface StoreState {\n appid:string\n token:string\n did:string\n mid:string\n theme:\"dark\"|\"light\"\n endpoints:IEnvConfigType['endpoints']\n\n setAppid: (appid: string) => void;\n setToken: (token: string) => void;\n setDid: (did: string) => void;\n setMid: (mid: string) => void;\n setEndpoints:(endpoints:IEnvConfigType['endpoints'])=>void\n\n logout: () => void;\n overview:OverviewInfo|null\n setOverview:(overview:OverviewInfo)=>void\n setTheme:(theme:\"dark\"|\"light\")=>void\n\n address:string\n setAddress:(address:string)=>void\n\n locale:LocaleType,\n setLocale:(locale:LocaleType)=>void\n}\n\nconst persistedState = persist<StoreState>(\n set => ({\n appid: '',\n token:'',\n did:'',\n mid:'',\n overview:null,\n theme:'light',\n setOverview:(overview:OverviewInfo)=>set({\n overview,\n address:overview.address,\n did:overview.did,\n mid:overview.mid\n }),\n endpoints:{\n back: \"https://api.matchid.ai/\",\n auth:\"https://auth.matchid.ai/\"\n },\n setDid: (did: string) => set({ did: did }),\n setToken: (token: string) => set({ token: token }),\n setAppid: (appid: string) => set({ appid: appid }),\n setMid: (mid: string) => set({ mid: mid }),\n logout: () => set({ token: '',did:'',mid:'',address:'',overview:null }),\n setTheme:(theme:\"dark\"|\"light\")=>set({theme}),\n setEndpoints:(endpoints:IEnvConfigType['endpoints'])=>set({endpoints}),\n\n address:'',\n setAddress:(address:string)=>set({address}),\n\n locale:'en',\n setLocale:(locale:LocaleType)=>set({locale}),\n }),\n { name: 'match-local' }\n);\n\nconst useLocalStore = create(devtools(persistedState));\n\nexport const localStore = useLocalStore;\n\nexport default useLocalStore;\n","import useLocalStore from \"../store/useLocalStore\";\nimport {useMemo} from \"react\";\nimport {ISocialLoginMethod, LoginMethodType} from \"../types/types\";\nimport {getAuthInfoApi, getEmailCodeApi, getOverviewInfoApi, toLogoutApi, verifyEmailCodeApi} from \"../api\";\nimport {isSuccess} from \"../api/request\";\nimport {useMatch} from \"../MatchContext\";\nimport eventManager from \"./eventManager\";\nimport {encodeBase64} from \"../utils\";\nimport matchlog from \"../utils/matchlog\";\nimport {useSOLModalStore} from \"../store/useModalStore\";\n\nexport default function useUserInfo() {\n const {\n appid,\n token,\n mid,\n did,\n logout: logoutStore,\n setOverview,\n overview,\n address,\n endpoints,\n } = useLocalStore();\n const {events, login} = useMatch()\n // const {open:EVMOpen} = useEVMModalStore()\n const {open: SOLOpen} = useSOLModalStore()\n\n\n const isLogin = useMemo(() => !!token, [token])\n\n const logout = async () => {\n try {\n await toLogoutApi()\n } catch (err: any) {\n console.error('logout', err)\n }\n\n logoutStore()\n events && events!.onLogout && events!.onLogout()\n eventManager.emit('onLogout');\n }\n\n const loginByMethod = async (method: ISocialLoginMethod) => {\n const link = `${endpoints.back}api/v1/auth/${method=='youtube' ?'google':method}?appid=${appid}&provider=${method=='youtube' ?'google':method}&redirect=${encodeURIComponent(endpoints.auth + 'login/' + method)}&authorization=${new Date().getTime()}${method==\"youtube\" ? '&auth_type=youtube':''}`;\n matchlog.log('link', link)\n return window.open(\n link, // Replace with the actual authorization URL\n 'authWindow',\n 'width=800,height=600'\n );\n }\n\n const loginByTwitter = () => {\n return loginByMethod('twitter')\n }\n const loginByGoogle = () => {\n return loginByMethod('google')\n }\n\n const loginByWallet = async () => {\n // return EVMOpen('login')\n return window.open(`${endpoints.auth}login/wallet?appid=${appid}`)\n\n }\n const loginByTelegram = async () => {\n return window.open(\n `${endpoints.auth}login/telegram?appid=${appid}`, // Replace with the actual authorization URL\n 'authWindow',\n 'width=800,height=600'\n );\n }\n\n const loginMethod = async (method: LoginMethodType) => {\n switch (method) {\n case \"evm\":\n return window.open(`${endpoints.auth}login/wallet?appid=${appid}`)\n case \"sol\":\n return SOLOpen('login')\n case \"telegram\":\n return await loginByTelegram()\n case \"youtube\":\n case \"twitter\":\n case \"google\":\n case \"discord\":\n case \"github\":\n case \"linkedin\":\n case \"facebook\":\n return await loginByMethod(method)\n default:\n throw new Error('unsupported method')\n\n }\n }\n\n\n const getLoginEmailCode = async (email: string) => {\n const res = await getEmailCodeApi(email);\n if (res && res.data && isSuccess(res)) {\n window.sessionStorage.setItem('loginkey', res.data.key as string)\n return res.data.key as string\n }\n return ''\n }\n\n const loginByEmail = async ({\n email,\n code\n }: { email: string, code: string }) => {\n try {\n const obj = {\n email: email,\n verification_key: window.sessionStorage.getItem('loginkey') as string,\n verification_code: code,\n }\n const res = await verifyEmailCodeApi(obj);\n if (res && res.data && isSuccess(res)) {\n await login({\n mid: res.data.mid,\n token: `${res.data.token_type} ${res.data.access_token}`\n })\n return true;\n\n } else {\n throw new Error(res.message)\n }\n } catch (error) {\n console.error('loginByEmail', error);\n throw error\n }\n return false\n };\n\n\n const refreshOverview = async () => {\n const res = await getOverviewInfoApi()\n if (res.data) {\n setOverview(res.data)\n }\n }\n\n const bindWallet = async () => {\n if (!token) {\n throw new Error('You must login first')\n }\n return window.open(`${endpoints.auth}bind/wallet?appid=${appid}&st=` + encodeURIComponent(encodeBase64(token)))\n }\n\n const bindTelegram = async () => {\n if (!token) {\n throw new Error('You must login first')\n }\n const authWindow = window.open(\n `${endpoints.auth}bind/telegram?appid=${appid}&st=` + encodeURIComponent(encodeBase64(token)), // Replace with the actual authorization URL\n 'authWindow',\n 'width=800,height=600'\n );\n }\n\n const auth = async () => {\n const res = await getAuthInfoApi()\n if (isSuccess(res)) {\n return res.data\n }\n throw new Error(res.message)\n }\n\n const bind = async (method: LoginMethodType) => {\n if (!token) {\n throw new Error('You must login first')\n }\n switch (method) {\n case \"evm\":\n return window.open(`${endpoints.auth}bind/wallet?appid=${appid}&st=` + encodeURIComponent(encodeBase64(token)))\n case \"sol\":\n return SOLOpen('bind')\n case \"telegram\":\n return await bindTelegram()\n case \"twitter\":\n case \"google\":\n case \"discord\":\n case \"github\":\n case \"linkedin\":\n case \"facebook\":\n case \"youtube\":\n const link = `${endpoints.back}api/v1/auth/${method=='youtube' ?'google':method}?appid=${appid}&provider=${method=='youtube' ?'google':method}&redirect=${encodeURIComponent(endpoints.auth + 'bind/' + method)}&authorization=${token.includes(\"Bearer \") ? token.split(' ')[1] : token}${method==\"youtube\" ? '&auth_type=youtube':''}`;\n matchlog.log('link', link)\n return window.open(\n link,\n 'authWindow',\n 'width=800,height=600'\n );\n default:\n throw new Error('unsupported method')\n\n }\n }\n\n\n return {\n loginByMethod,\n loginByTelegram,\n loginByTwitter,\n loginByGoogle,\n loginByWallet,\n loginByEmail,\n\n token,\n mid,\n did,\n address,\n isLogin,\n logout,\n getLoginEmailCode,\n refreshOverview,\n overview,\n bindWallet,\n bindTelegram,\n username: overview?.username || '',\n auth,\n\n login: loginMethod,\n bind,\n }\n}","import axios, {AxiosRequestConfig} from 'axios';\nimport {getAppid, getEndpoints, getLocale, getToken} from '../store';\nimport { localStore } from '../store/useLocalStore';\nimport matchlog from \"../utils/matchlog\";\n\nexport const SUCCESS_CODE = 0;\n\nexport const isSuccess = (res: { code: number; message: string; data?: any }) => {\n return res.code === SUCCESS_CODE;\n};\n\nexport interface MyResponseType<T> {\n code: number;\n data: T;\n message: string;\n success: boolean;\n fail: boolean;\n result: T;\n}\n\nconst instance = axios.create({\n timeout: 60000,\n validateStatus(status) {\n return status >= 200 && status <= 500;\n },\n});\n\nconst request = async <T = any>(config: AxiosRequestConfig): Promise<MyResponseType<T>> => {\n try {\n const endpoints = getEndpoints();\n const token = getToken()\n instance.defaults.baseURL = `${endpoints.back}`;\n\n instance.defaults.headers.common['Appid'] = getAppid()\n if(token){\n instance.defaults.headers.common['Authorization'] = token;\n }\n instance.defaults.headers.common['Accept-Language'] = getLocale()\n\n\n const {data} = await instance.request<MyResponseType<T>>(config);\n matchlog.log('api',data)\n if(data.code == 401001){\n localStore.getState().logout()\n throw new Error(\"Your session has expired, please log in again\")\n }\n // if (data.code !== 0) {\n // throw new Error(data.message);\n // }\n return data;\n } catch (err) {\n console.error('qwe-err', err);\n const message = 'Request Error';\n console.error(message);\n return {\n code: -1,\n data: null as any,\n message,\n success: false,\n fail: true,\n result: null as any,\n };\n }\n};\n\nexport default request;","import type {IEnvConfigType} from \"../../types/types\";\n\nexport default {\n endpoints:{\n back: \"https://api.matchid.ai/\",\n auth:\"https://auth.matchid.ai/\"\n }\n} as IEnvConfigType","import { localStore } from './useLocalStore';\nimport DefaultEnv from '../config/env';\nexport const getEndpoints = ()=>{\n try {\n const store = localStore.getState();\n\n const env = store?.endpoints;\n\n if (env) {\n return env;\n } else {\n return DefaultEnv.endpoints\n }\n } catch (e) {\n return DefaultEnv.endpoints\n }\n}\n\nexport const getAppid = () => {\n try {\n const store = localStore.getState();\n const appid = store?.appid;\n if (appid) {\n return appid;\n } else {\n return '';\n }\n } catch (e) {\n return '';\n }\n}\n\nexport const getLocale = () => {\n try {\n const store = localStore.getState();\n const locale = store?.locale;\n if (locale) {\n return locale;\n } else {\n return 'en';\n }\n } catch (e) {\n return 'en';\n }\n}\nexport const getToken = () => {\n try {\n const store = localStore.getState();\n const token = store?.token;\n if (token) {\n return token;\n } else {\n return '';\n }\n } catch (e) {\n return '';\n }\n}","// src/utils/logger.ts\nconst matchDevExists = () => localStorage.getItem('matchid-sdk-react-debug') !== null;\n\nconst handler = {\n get(target: any, prop: string) {\n if (matchDevExists() && typeof target[prop] === 'function') {\n return target[prop].bind(console);\n }\n return () => {};\n }\n};\n\nconst matchlog = new Proxy(console, handler);\n\nexport default matchlog;","import request from \"./request\";\nimport {BindInfoType, BindItemType, BindWalletParam, OverviewInfo, PohItemType, PohZkpassParams} from \"../types/types\";\n\nexport const getEmailCodeApi = ( email: string) => {\n return request<any>({\n url: `/api/v1/email/code`,\n method: \"POST\",\n data: { email }\n });\n}\n\nexport const verifyEmailCodeApi = ({ email, verification_key, verification_code } : { email: string, verification_key: string, verification_code: string }) => {\n return request<any>({\n url: `/api/v1/user/email/login`,\n method: \"POST\",\n data: { email, verification_key, verification_code }\n });\n}\n\n\nexport const getOverviewInfoApi = () => {\n return request<OverviewInfo>({\n url: `/api/v1/user/overview`,\n method: \"GET\",\n });\n}\nexport const toLogoutApi = () => {\n return request<any>({\n url: `/api/v1/user/logout`,\n method: \"POST\",\n });\n}\n\nexport const setUserNameApi = (data:any) => {\n return request({\n url: `/api/v1/user/name`,\n method: \"POSt\",\n data\n });\n}\n\nexport const getBindListApi = () => {\n return request<BindItemType[]>({\n url: `/api/v1/bind/list`,\n method: \"GET\",\n });\n}\n\nexport const getPohListApi = () => {\n return request<PohItemType[]>({\n url: `/api/v1/poh/list`,\n method: \"GET\",\n });\n}\n\nexport const getBindInfoApi = () => {\n return request<BindInfoType>({\n url: `/api/v1/bind`,\n method: \"GET\",\n });\n}\n\n\nexport const bindCexApi = ({cex, api_key, api_secret}: { cex: string, api_key: string, api_secret: string }) => {\n return request<any>({\n url: `/api/v1/cex/subscribe`,\n method: \"POST\",\n data: {cex, api_key, api_secret}\n });\n}\n\n\nexport const unBindApi = ({type}: { type: string }) => {\n return request<any>({\n url: `/api/v1/unbind`,\n method: \"POST\",\n data: {type}\n });\n}\n\nexport const unBindWalletApi = ({address}: { address: string }) => {\n return request<any>({\n url: `/api/v1/wallet/unbind`,\n method: \"POST\",\n data: {address}\n });\n}\n\nexport const verifyPohApi = ({\n taskId,\n schemaId,\n publicFields,\n allocatorAddress,\n publicFieldsHash,\n allocatorSignature,\n uHash,\n validatorAddress,\n validatorSignature\n }: PohZkpassParams) => {\n return request<any>({\n url: `/api/v1/poh/zkpass`,\n method: \"POST\",\n data: {\n taskId,\n schemaId,\n publicFields,\n allocatorAddress,\n publicFieldsHash,\n allocatorSignature,\n uHash,\n validatorAddress,\n validatorSignature\n }\n });\n}\n\nexport const chooseIdentityApi = ({identity}: { identity: string }) => {\n return request<any>({\n url: `/api/v1/user/choose/identity`,\n method: \"POST\",\n data: {identity}\n });\n}\n\nexport const mintPassportNftApi = () => {\n return request<any>({\n url: `/api/v1/mint/passport/nft`,\n method: \"POST\",\n });\n}\n\nexport const getAuthInfoApi = () => {\n return request<any>({\n url: `/api/v1/user/auth`,\n method: \"GET\",\n });\n}\n\nexport const getWalletNonceApi = ({ address } : { address: string }) => {\n return request<any>({\n url: `/api/v1/login/wallet/init`,\n method: \"POST\",\n data: { address }\n });\n}\n\nexport const loginByWalletApi = ({ type, address, signature, message, connector_type, wallet_client_type } : BindWalletParam) => {\n return request<any>({\n url: `/api/v1/login/wallet`,\n method: \"POST\",\n data: { type, address, signature, message, connector_type, wallet_client_type }\n });\n}\n\n\nexport const getWalletInitApi = ({ address } : { address: string }) => {\n return request<any>({\n url: `/api/v1/wallet/init`,\n method: \"POST\",\n data: { address },\n });\n}\n\nexport const toBindWalletApi = ({ type, address, signature, message, connector_type, wallet_client_type } : BindWalletParam) => {\n return request<any>({\n url: `/api/v1/wallet/bind`,\n method: \"POST\",\n data: { type, address, signature, message, connector_type, wallet_client_type }\n });\n}","// src/hooks/eventManager.ts\ntype EventCallback = (...args: any[]) => void;\n\nclass EventManager {\n private listeners: Record<string, Set<EventCallback>> = {};\n\n on(event: string, callback: EventCallback) {\n if (!this.listeners[event]) {\n this.listeners[event] = new Set();\n }\n this.listeners[event].add(callback);\n }\n\n off(event: string, callback: EventCallback) {\n if (this.listeners[event]) {\n this.listeners[event].delete(callback);\n if (this.listeners[event].size === 0) {\n delete this.listeners[event];\n }\n }\n }\n\n emit(event: string, ...args: any[]) {\n if (this.listeners[event]) {\n this.listeners[event].forEach(callback => callback(...args));\n }\n }\n}\n\nconst eventManager = new EventManager();\n\nexport default eventManager;\n","export const getVersion = (): string => {\n return \"0.0.1\";\n};\n\nexport function encodeBase64(input: string) {\n return btoa(unescape(encodeURIComponent(input)));\n}\n\n// Base64 解码\nexport function decodeBase64(input: string) {\n return decodeURIComponent(escape(atob(input)));\n}\n\nexport const isValidEmail = (email: string) => {\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email)\n}\nexport const isValidUsername = (username: string) => {\n //8-32 alpha number - _\n return /^[a-zA-Z0-9_-]+$/.test(username)\n}\n\nexport const deepMerge = (target: any, source: any): any => {\n for (const key in source) {\n if (source[key] instanceof Object && key in target) {\n target[key] = deepMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n};\n\nexport function truncateAddress(address: string): string {\n if (address.length <= 6) {\n return address;\n }\n const start = address.slice(0, 4);\n const end = address.slice(-2);\n return `${start}...${end}`;\n}\n\n\nexport function firstUpperCase(str: string): string {\n return str.toString()[0].toUpperCase() + str.toString().slice(1);\n}\n\nexport function getAppClientId() {\n return \"react-sdk-\" + getVersion()\n\n}","import {create} from 'zustand';\n\n// export const useEVMModalStore = create<{\n// isOpen: boolean,\n// type: 'bind' | 'login' | ''\n// open: (type: 'bind' | 'login') => void,\n// close: () => void\n// }>(set => ({\n// isOpen: false,\n// type: '',\n// open: (type: 'bind' | 'login') => set({isOpen: true, type}),\n// close: () => set({isOpen: false})\n// }));\n\n\nexport const useSOLModalStore = create<{\n isOpen: boolean,\n type: 'bind' | 'login' | ''\n open: (type: 'bind' | 'login') => void,\n close: () => void\n}>(set => ({\n isOpen: false,\n type: '',\n open: (type: 'bind' | 'login') => set({isOpen: true, type}),\n close: () => set({isOpen: false})\n}));","// src/hooks/useMatchEvents.ts\nimport { useEffect } from \"react\";\nimport eventManager from \"./eventManager\";\nimport {IMatchEvents} from \"../types/types\";\n\n\nexport default function useMatchEvents(handlers: IMatchEvents) {\n useEffect(() => {\n Object.entries(handlers).forEach(([event, handler]) => {\n if (handler) {\n eventManager.on(event, handler);\n }\n });\n\n return () => {\n Object.entries(handlers).forEach(([event, handler]) => {\n if (handler) {\n eventManager.off(event, handler);\n }\n });\n };\n }, [handlers]);\n}\n","import {create} from 'zustand';\n\ninterface StoreState {\n walletIframeInited: boolean\n setWalletIframeInited: (inited: boolean) => void,\n recoveryModal: {\n open: boolean\n success?: () => Promise<void>\n close?: () => Promise<void>\n }\n setRecoveryModal: (params:{\n open: boolean\n success?: () => Promise<void>\n close?: () => Promise<void>\n }) => void,\n closeRecoveryModal: () => void\n\n}\n\nconst useStore = create<StoreState>(set => ({\n walletIframeInited: false,\n setWalletIframeInited: (inited) => set({walletIframeInited: inited}),\n recoveryModal: {\n open: false,\n success: async() => {},\n close: async() => {}\n },\n setRecoveryModal: (params) => set({recoveryModal: params}),\n closeRecoveryModal: () => set({recoveryModal: {open: false}})\n}));\n\nexport default useStore;\n","import useLocalStore from \"../store/useLocalStore\";\nimport {getVersion} from \"../utils\";\nimport {Account, Hex, SignableMessage, TransactionSerializable,} from 'viem';\nimport useStore from \"../store/useStore\";\nimport {ChainType, RecoveryType} from \"../types/mpc\";\nimport matchlog from \"../utils/matchlog\";\nimport {toAccount} from \"viem/accounts\";\n\ninterface UseWalletReturnType {\n initWallet: (params: {\n address: string,\n did: string\n }) => Promise<void>;\n generateWallet: (params: {\n did: string\n userPasscode: string\n }) => Promise<string>;\n isRecovered: () => Promise<boolean>;\n recoveryWallet: (chainType: ChainType | undefined, recoveryType: RecoveryType, userPasscode?: string) => Promise<void>;\n signMessage: (message: SignableMessage, type?: ChainType) => Promise<Hex>;\n signTransaction: (transaction: TransactionSerializable, type?: ChainType) => Promise<`0x02${string}` | `0x01${string}` | `0x03${string}` | `0x04${string}` | import(\"viem\").TransactionSerializedLegacy>;\n address: string;\n evmAccount: Account|undefined;\n recoverAfter:(func:(\n resolve:(value:any)=>void,\n reject:(reason:string)=>void\n )=>Promise<any>)=>Promise<any>\n}\n\nconst AppClientId = \"react-sdk-\" + getVersion()\n\nexport default function useWallet(): UseWalletReturnType {\n const {appid, token, overview,address} = useLocalStore();\n const {setRecoveryModal, closeRecoveryModal} = useStore()\n\n const initWallet = ({\n did,\n address\n }: {\n did: string,\n address: string\n }): Promise<void> => {\n return window.waitMatchUntilWalletMessage(\n 'initCore',\n {\n AppId: appid,\n AppClientId,\n UserId: did,\n AccessToken: token,\n Address: address\n })\n }\n const isRecovered = async (): Promise<boolean> => {\n const res = await window.waitMatchUntilWalletMessage('isRecovered')\n return res.isRecovered\n }\n const generateWallet = async ({\n did,\n userPasscode\n }: {\n did: string,\n userPasscode: string\n }): Promise<string> => {\n\n\n return (await window.waitMatchUntilWalletMessage('generateWallet', {\n chainType: \"ethereum\",\n recoveryType: \"user_passcode_recovery_key\",\n userPasscode\n })) as string\n };\n\n const recoverAfter = async(func:(\n resolve:(value:any)=>void,\n reject:(reason:string)=>void\n )=>Promise<any>)=>{\n return new Promise(async (resolve, reject) => {\n const res = await isRecovered()\n matchlog.log('isRecovered', res)\n if (!res) {\n setRecoveryModal({\n open: true,\n success: async () => {\n matchlog.log('recover Success')\n await func(resolve,reject)\n },\n close: async () => {\n closeRecoveryModal()\n reject(new Error('recover modal close'))\n }\n })\n await initWallet({\n address: overview?.address || '',\n did: overview?.did?.split(':')[2] || ''\n })\n } else {\n await recoveryWallet(\"ethereum\",\"user_passcode_recovery_key\")\n await func(resolve,reject)\n }\n })\n }\n\n\n const signMessage = async (message: SignableMessage, type?: ChainType): Promise<Hex> => {\n const getSign = async (resolve:(value:any)=>void,reject:(reason:string)=>void) => {\n try {\n const recoverRes = await window.waitMatchUntilWalletMessage('signMessage', {\n message,\n chainType: type\n })\n closeRecoveryModal()\n resolve(recoverRes)\n } catch (error: any) {\n console.error('qwe-sign-error', error)\n reject(error)\n }\n }\n return (await recoverAfter(getSign)) as Hex\n\n }\n\n const signTransaction = async (transaction: TransactionSerializable, type?: ChainType): Promise<`0x02${string}` | `0x01${string}` | `0x03${string}` | `0x04${string}` | import(\"viem\").TransactionSerializedLegacy> => {\n const getSign = async (resolve:(value:any)=>void,reject:(reason:string)=>void) => {\n try {\n const recoverRes = await window.waitMatchUntilWalletMessage('signTransaction', {\n transaction,\n chainType: type\n })\n closeRecoveryModal()\n resolve(recoverRes)\n } catch (error: any) {\n console.error('qwe-sign-error', error)\n reject(error)\n }\n }\n return (await recoverAfter(getSign)) as `0x02${string}` | `0x01${string}` | `0x03${string}` | `0x04${string}` | import(\"viem\").TransactionSerializedLegacy\n }\n const recoveryWallet = async (chainType: ChainType | undefined, recoveryType: string, userPasscode?: string) => {\n return await window.waitMatchUntilWalletMessage('recoveryWallet', {\n chainType,\n recoveryType,\n userPasscode\n })\n }\n\n\n const evmAccount = address ? toAccount({\n address: address as `0x${string}`,\n async signMessage({message}) {\n return await signMessage(message)\n },\n async signTransaction(transaction,options) {\n //@ts-ignore\n const { account, ...restTransaction } = transaction;\n //@ts-ignore\n const sign = await signTransaction({\n ...restTransaction,\n })\n return sign\n },\n async signTypedData(typedData) {\n return '0x'\n },\n }) : undefined\n return {\n evmAccount,\n address,\n recoveryWallet,\n initWallet,\n generateWallet,\n signMessage,\n signTransaction,\n isRecovered,\n recoverAfter\n };\n}\n","import copy from 'copy-to-clipboard'\nimport { useCallback, useEffect, useState } from 'react'\n\nexport default function useCopyClipboard(timeout = 500): [boolean, (toCopy: string) => void] {\n const [isCopied, setIsCopied] = useState(false)\n\n const staticCopy = useCallback((text: string) => {\n const didCopy = copy(text)\n setIsCopied(didCopy)\n }, [])\n\n useEffect(() => {\n if (isCopied) {\n const hide = setTimeout(() => {\n setIsCopied(false)\n }, timeout)\n\n return () => {\n clearTimeout(hide)\n }\n }\n return undefined\n }, [isCopied, setIsCopied, timeout])\n\n return [isCopied, staticCopy]\n}\n","import {ModalWithHeaderProps} from \"types/types\";\nimport {ModalWithHeader} from \"../Modal\";\nimport {useEffect, useMemo, useState} from \"react\";\nimport Input from \"../Input\";\nimport Field from \"../Field\";\nimport Button from \"../Button\";\nimport {useUserInfo, useWallet} from \"../../hooks\";\nimport {PasswordRoundIcon} from \"../../assets/icon\";\nimport {ChainType, RecoveryType} from \"types/mpc\";\nimport matchlog from \"../../utils/matchlog\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\n\n\nexport default function RecoveryModal({\n title,\n isOpen,\n onSuccess,\n ...props\n }: ModalWithHeaderProps & {\n onSuccess?: () => void\n}) {\n const {refreshOverview} = useUserInfo()\n const {isLogin,overview} = useUserInfo()\n const [password, setPassword] = useState('')\n const {recoveryWallet,initWallet} = useWallet()\n const [error, setError] = useState('')\n const intl = useIntl()\n const passwordError = useMemo(() => {\n if (password.length < 6) return intl.formatMessage({\n id: \"passwordMinError\"\n }, {\n length: 6\n })\n return ''\n }, [password])\n\n\n useEffect(() => {\n if (isOpen&&overview) {\n setPassword('')\n const did = overview.did.split(':')[2]\n initWallet({\n did,\n address:overview.address\n })\n }\n }, [isOpen,overview]);\n\n\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const onContinue = async () => {\n if (isSubmitting) return\n try {\n setIsSubmitting(true)\n await recoveryWallet(\"ethereum\", \"user_passcode_recovery_key\", password)\n await refreshOverview()\n onSuccess && onSuccess()\n // if (isSuccess(res)) {\n // await refreshOverview()\n // onSuccess && onSuccess()\n // } else {\n // setError(res.message)\n // }\n\n } catch (error: any) {\n console.error('qwe-recover-error', error)\n setError(error.message)\n } finally {\n setIsSubmitting(false)\n }\n }\n\n\n return <ModalWithHeader isOpen={isOpen && isLogin} {...props} title={title || intl.formatMessage({\n id:\"recoverTitle\"\n })}>\n <div className=\"matchid-password-box\">\n <div className=\"matchid-password-header\">\n <div className=\"matchid-password-header-icon\"><PasswordRoundIcon/></div>\n <div className=\"matchid-password-header-content\">\n <FormattedMessage id=\"recoverTips\"/>\n </div>\n </div>\n <div className=\"matchid-password-content\">\n <Field label={intl.formatMessage({id: \"password\"})} error={password.length > 0 ? passwordError || error : error}>\n <Input\n placeholder={intl.formatMessage({id: \"passwordPlaceholder\"})}\n maxLength={32}\n type={\"password\"}\n onChange={e => setPassword(e.target.value)}\n value={password}\n >\n </Input>\n </Field>\n </div>\n\n <Button disabled={password.length == 0 || !!passwordError} highlight block size=\"lg\"\n onClick={onContinue} loading={isSubmitting}><FormattedMessage id={\"continue\"}/></Button>\n </div>\n </ModalWithHeader>\n}","import {BindWalletParam, ILoginWalletReq, ModalWithHeaderProps} from \"../../types/types\";\nimport {ModalWithHeader} from \"../Modal\";\nimport {firstUpperCase} from \"../../utils\";\nimport React, {useEffect, useMemo, useState} from \"react\";\nimport {getWalletInitApi, getWalletNonceApi, loginByWalletApi, toBindWalletApi} from \"../../api\";\nimport {isSuccess} from \"../../api/request\";\nimport matchlog from \"../../utils/matchlog\";\nimport {Button} from \"../index\";\nimport {useMatch} from \"../../MatchContext\";\nimport eventManager from \"../../hooks/eventManager\";\nimport {clusterApiUrl} from '@solana/web3.js';\nimport {useWallet, WalletProvider, ConnectionProvider} from '@solana/wallet-adapter-react';\nimport {WalletModalProvider, useWalletModal} from '@solana/wallet-adapter-react-ui';\nimport { WalletAdapterNetwork } from '@solana/wallet-adapter-base';\n\nimport {\n PhantomWalletAdapter,\n SolflareWalletAdapter,\n WalletConnectWalletAdapter,\n AlphaWalletAdapter,\n AvanaWalletAdapter,\n BitgetWalletAdapter,\n BitpieWalletAdapter,\n CloverWalletAdapter,\n Coin98WalletAdapter,\n CoinbaseWalletAdapter,\n CoinhubWalletAdapter,\n FractalWalletAdapter,\n HuobiWalletAdapter,\n HyperPayWalletAdapter,\n KeystoneWalletAdapter,\n KrystalWalletAdapter,\n LedgerWalletAdapter,\n MathWalletAdapter,\n NekoWalletAdapter,\n NightlyWalletAdapter,\n NufiWalletAdapter,\n OntoWalletAdapter,\n ParticleAdapter,\n SafePalWalletAdapter,\n SaifuWalletAdapter,\n SalmonWalletAdapter,\n SkyWalletAdapter,\n SolongWalletAdapter,\n SpotWalletAdapter,\n TokenaryWalletAdapter,\n TokenPocketWalletAdapter,\n TorusWalletAdapter,\n TrustWalletAdapter,\n XDEFIWalletAdapter\n} from '@solana/wallet-adapter-wallets';\nimport '@solana/wallet-adapter-react-ui/styles.css';\nimport {\n walletConnectedImage,\n walletConnectImage,\n walletConnectingImage,\n walletErrorImage,\n walletSigningImage,\n} from \"../../assets/wallet\";\nimport {useIntl} from \"react-intl\";\n\nfunction WalletContent({\n onSuccess,\n type,\n }: {\n onSuccess?: () => void\n type: 'login' | 'bind' | ''\n}) {\n const {setVisible, visible} = useWalletModal();\n const wallet = useWallet();\n const {events, login} = useMatch()\n\n const [status, setStatus] = useState<'' | 'nonce' | 'signer' | 'success' | 'error'>('')\n const statusRef = React.useRef(status)\n const [error, setError] = useState('')\n\n useEffect(() => {\n const init = async () => {\n await wallet.disconnect();\n setVisible(true); // 打开选择钱包弹窗\n };\n init();\n }, []);\n useEffect(() => {\n if (wallet.connected) {\n console.log('wallet.connected', wallet.connected)\n toLoginInWallet();\n }\n }, [wallet.connected]);\n const toLoginInWallet = async () => {\n if (statusRef.current) return\n const address = wallet.publicKey?.toBase58() || '';\n try {\n setStatus('nonce')\n statusRef.current = 'nonce'\n const res = type == 'bind' ? await getWalletInitApi({address}) : await getWalletNonceApi({address});\n if (!isSuccess(res)) {\n throw new Error(res.message)\n }\n const nonce = res.code >= 0 ? res.data.nonce : null;\n if (nonce) {\n setStatus('signer')\n statusRef.current = 'signer'\n const message = \"By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.Nonce:\" + res.data.nonce;\n const encodedMessage = new TextEncoder().encode(message);\n const signedMessage = await wallet.signMessage!(encodedMessage);\n let obj: BindWalletParam = {\n type: 'SOL',\n address: address,\n signature: Buffer.from(signedMessage).toString('base64'),\n message: message,\n connector_type: \"SOL\",\n wallet_client_type: wallet.wallet?.adapter.name || ''\n }\n const res1 = type == 'bind' ? await toBindWalletApi(obj) : await loginByWalletApi(obj)\n if (res1) {\n if (!isSuccess(res1)) {\n throw new Error(res1.message)\n }\n matchlog.log(res1)\n setStatus('success')\n statusRef.current = 'success'\n if (type == 'bind') {\n events!.onBind && events!.onBind({\n type: 'sol'\n })\n eventManager.emit('onBind', {\n type: 'sol'\n })\n } else {\n await login({\n mid: res1.data.mid,\n token: `${res1.data.token_type} ${res1.data.access_token}`\n })\n }\n onSuccess && onSuccess()\n }\n }\n } catch (error: any) {\n // toast.error(error.message)\n // disconnect()\n setStatus('error')\n setError(error.message)\n statusRef.current = ''\n }\n }\n const pageData: {\n btnText?: string,\n btnLoading?: boolean,\n btnDisabled?: boolean,\n btnClick?: () => void\n statusImage: string\n text: string,\n isError?: boolean\n } = useMemo(() => {\n\n if (status == 'success') {\n return {\n btnText: 'Disconnect Wallet',\n btnClick: async () => {\n await wallet.disconnect()\n },\n text: 'Wallet connection successful!',\n statusImage: walletConnectedImage\n }\n }\n if (status == 'error') {\n return {\n text: error,\n btnText: \"Reconnect Wallet\",\n btnClick: async () => {\n setError('')\n await wallet.disconnect()\n setVisible(true)\n },\n statusImage: walletErrorImage,\n isError: true\n }\n }\n if (status == 'nonce') {\n return {\n btnLoading: true,\n text: 'Connecting',\n statusImage: walletConnectingImage\n }\n }\n if (status == 'signer') {\n return {\n btnLoading: true,\n text: 'Signing',\n statusImage: walletSigningImage\n }\n }\n if (visible) {\n return {\n btnLoading: true,\n text: 'Connecting',\n statusImage: walletConnectingImage,\n }\n }\n\n return {\n btnText: 'Connect Wallet',\n btnClick: () => {\n setVisible(true)\n },\n text: 'Please Connect your wallet',\n statusImage: walletConnectImage\n }\n }, [visible, wallet.connected, status, error, wallet.publicKey])\n return <div className=\"matchid-wallet-container\">\n <div className={`matchid-wallet-box`}>\n <div className={`matchid-wallet-content`}>\n <img src={pageData.statusImage}/>\n <div className={pageData.isError ? 'text-[#F7585E]' : ''}>{pageData.text}</div>\n </div>\n <Button block size=\"lg\" onClick={pageData.btnClick} loading={pageData.btnLoading}\n disabled={pageData.btnDisabled}>\n {pageData.btnText}\n </Button>\n </div>\n </div>\n}\n\nconst wallets = [new PhantomWalletAdapter(),\n new SolflareWalletAdapter,\n new WalletConnectWalletAdapter({\n network:WalletAdapterNetwork.Mainnet,\n options:{\n relayUrl: 'wss://relay.walletconnect.com'\n }\n }),\n new AlphaWalletAdapter,\n new AvanaWalletAdapter,\n new BitgetWalletAdapter,\n new BitpieWalletAdapter,\n new CloverWalletAdapter,\n new Coin98WalletAdapter,\n new CoinbaseWalletAdapter,\n new CoinhubWalletAdapter,\n new FractalWalletAdapter,\n new HuobiWalletAdapter,\n new HyperPayWalletAdapter,\n new KeystoneWalletAdapter,\n new KrystalWalletAdapter,\n new LedgerWalletAdapter,\n new MathWalletAdapter,\n new NekoWalletAdapter,\n new NightlyWalletAdapter,\n new NufiWalletAdapter,\n new OntoWalletAdapter,\n new ParticleAdapter,\n new SafePalWalletAdapter,\n new SaifuWalletAdapter,\n new SalmonWalletAdapter,\n new SkyWalletAdapter,\n new SolongWalletAdapter,\n new SpotWalletAdapter,\n new TokenaryWalletAdapter,\n new TokenPocketWalletAdapter,\n new TorusWalletAdapter,\n new TrustWalletAdapter,\n new XDEFIWalletAdapter]\n\nexport default function SOLModal({\n type = 'login',\n onSuccess,\n ...props\n }: ModalWithHeaderProps & {\n type?: 'login' | 'bind' | ''\n onSuccess?: () => void\n}) {\n const intl = useIntl()\n return <ModalWithHeader {...props} title={props.title || (intl.formatMessage({\n id:type==\"bind\" ? \"bindWith\":\"loginWith\"\n },{\n name:\"SOL\"\n }))}>\n <ConnectionProvider endpoint={clusterApiUrl('devnet')}>\n <WalletProvider wallets={wallets} autoConnect>\n <WalletModalProvider>\n <WalletContent onSuccess={onSuccess} type={type}/>\n </WalletModalProvider>\n </WalletProvider>\n </ConnectionProvider>\n </ModalWithHeader>\n}","export {default as EmailModal} from './EmailModal'\nexport {default as Field} from './Field'\nexport {default as Input} from './Input'\nexport {default as Button} from './Button'\nexport {default as Modal,ModalWithHeader} from './Modal'\nexport {default as Popover} from \"./Popover\"\n\nexport {default as LoginBox} from './LoginBox'\nexport {default as LoginButton} from './LoginButton'\nexport {default as LoginPanel} from './LoginPanel'\nexport {default as LoginModal} from './LoginModal'\nexport {default as UsernameModal} from './UsernameModal'\nexport {default as PasswordModal} from './PasswordModal'\n// export {default as EVMModal} from \"./EVMModal\"\nexport {default as SOLModal} from \"./SOLModal\"","import {useEffect, useState} from \"react\";\nimport {ModalWithHeader} from \"../Modal\";\nimport StepEmail from \"./StepEmail\";\nimport StepVerify from \"./StepVerify\";\nimport {EmailModalProps} from \"../../types/types\";\nimport {useIntl} from \"react-intl\";\n\nexport default function EmailModal({\n isOpen = false,\n width = 480,\n onClose,\n onBack,\n onLogin\n }: EmailModalProps) {\n const [step, setStep] = useState<\"input\" | \"verify\">(\"input\")\n const [emailVal, setEmailVal] = useState('')\n const intl = useIntl()\n\n useEffect(() => {\n if (!isOpen) {\n setStep('input')\n setEmailVal('')\n }\n }, [isOpen])\n\n return <ModalWithHeader\n isOpen={isOpen}\n width={width}\n onClose={onClose}\n title={intl.formatMessage({\n id:\"email\"\n })}\n onBack={step == 'verify' ? () => setStep(\"input\") : onBack}\n >\n {\n step === \"input\" ? <StepEmail email={emailVal} onContinue={(email) => {\n setEmailVal(email)\n setStep(\"verify\")\n }}/> : <StepVerify email={emailVal} onSuccess={onLogin}/>}\n </ModalWithHeader>\n}","import {useEffect, useMemo, useState} from \"react\";\nimport {isValidEmail} from \"utils\";\nimport Button from \"../Button\";\nimport Input from \"../Input\";\nimport Field from \"../Field\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\n\nexport default function StepEmail(props: {\n email: string\n onContinue: (email: string) => void\n}) {\n const intl = useIntl()\n const [emailVal, setEmailVal] = useState('')\n useEffect(() => {\n if (props.email) {\n setEmailVal(props.email)\n }\n }, []);\n\n const canContinue = useMemo(() => {\n return isValidEmail(emailVal)\n }, [emailVal])\n\n const onContinue = async () => {\n props.onContinue(emailVal)\n }\n\n return <div className=\"matchid-email-email-box\">\n <Field label={intl.formatMessage({\n id:\"emailAddress\"\n })}>\n <Input\n placeholder={intl.formatMessage({\n id:\"emailAddressPlaceholder\"\n })}\n onChange={e => setEmailVal(e.target.value)}\n value={emailVal}\n />\n </Field>\n\n <Button disabled={!canContinue} style={{\n marginTop:\"64px\"\n }} onClick={onContinue} size={\"lg\"} block highlight><FormattedMessage id={\"continue\"}/></Button>\n\n </div>\n}\n","import useUserInfo from \"../../hooks/useUserInfo\";\nimport {useEffect, useMemo, useRef, useState} from \"react\";\nimport Button from \"../Button\";\nimport {EmailLineIcon} from \"assets/icon\";\nimport Input from \"../Input\";\nimport Field from \"../Field\";\nimport {EMAIL_CODE_LENGTH, EMAIL_INTERVAL} from \"../../config\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nexport default function StepVerify(props: {\n email: string\n onSuccess?: () => void\n}) {\n const intl = useIntl()\n const {getLoginEmailCode, loginByEmail} = useUserInfo()\n const [error, setError] = useState('')\n const [code, setCode] = useState('')\n const [sending, setSending] = useState(false)\n const [submitting, setSubmitting] = useState(false)\n const sendTimeRef = useRef(0)\n const [sendBtnText, setSendBtnText] = useState(intl.formatMessage({\n id: \"send\"\n }))\n const intervalTime = EMAIL_INTERVAL\n const codeLength = EMAIL_CODE_LENGTH\n const intervalRef = useRef<NodeJS.Timeout | null>(null);\n const isDownMd = useDownMd()\n\n const onSend = async () => {\n if (sendTimeRef.current > 0) {\n return\n }\n try {\n setError(\"\")\n setSending(true)\n sendTimeRef.current = intervalTime\n await getLoginEmailCode(props.email)\n setSendBtnText(`${sendTimeRef.current}s`)\n intervalRef.current = setInterval(() => {\n sendTimeRef.current--;\n setSendBtnText(`${sendTimeRef.current}s`)\n if (sendTimeRef.current <= 0) {\n setSendBtnText(intl.formatMessage({\n id: \"Resend\"\n }))\n clearInterval(intervalRef.current!);\n setSending(false);\n }\n }, 1000);\n } catch (err: any) {\n console.error(\"Send email error\", err)\n setError(intl.formatMessage({\n id: \"sendCodeErrorTip\",\n }, {error: err.message}))\n setSending(false)\n }\n\n }\n useEffect(() => {\n onSend()\n return () => {\n if (intervalRef.current) {\n clearInterval(intervalRef.current)\n }\n }\n }, []);\n const canContinue = useMemo(() => {\n return code.length === codeLength\n }, [code])\n\n const onContinue = async () => {\n if (submitting) {\n return\n }\n try {\n setError(\"\")\n setSubmitting(true)\n const res = await loginByEmail({\n email: props.email,\n code\n })\n if (res) {\n props.onSuccess && props.onSuccess()\n }\n setSubmitting(false)\n\n } catch (err: any) {\n console.error(\"Verify email code error\", err)\n setError(err.message)\n setSubmitting(false)\n }\n }\n\n return <div className=\"matchid-email-verify-box\">\n <div className=\"matchid-email-verify-header\">\n <div className=\"matchid-email-verify-header-icon\"><EmailLineIcon size={isDownMd ? 19:24}/></div>\n <div className=\"matchid-email-verify-header-content\">\n <div className=\"matchid-email-verify-header-value\">{props.email}</div>\n <div className=\"matchid-email-verify-header-tips\"><FormattedMessage id=\"sendEmailTips\"/></div>\n </div>\n </div>\n <Field label={intl.formatMessage({\n id:\"verificationCode\"\n })} error={error}>\n <Input\n placeholder={intl.formatMessage({\n id:\"codePlaceholder\"\n })}\n className={\"matchid-email-verify-field\"}\n maxLength={codeLength}\n onChange={e => setCode(e.target.value)}\n value={code}\n after={<Button\n highlight\n disabled={sending}\n style={{\n height: '100%',\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 'inherit',\n borderBottomRightRadius: 'inherit',\n width: \"80px\"\n }}\n onClick={onSend}>{sendBtnText}</Button>}\n >\n\n </Input>\n </Field>\n\n <Button disabled={!canContinue} highlight block size=\"lg\" onClick={onContinue}><FormattedMessage id={\"continue\"}/></Button>\n </div>\n}","export const EMAIL_INTERVAL = 60\nexport const EMAIL_CODE_LENGTH = 6","import { useState} from \"react\";\nimport {PopoverProps} from \"../../types/types\";\n\nexport default function Popover({\n children,\n content,\n position = \"right\",\n type = \"hover\",\n className = \"\",\n gap = '20px'\n }: PopoverProps) {\n const [active,setActive] = useState(false)\n return <div\n onClick={()=>{\n if(type=='click'){\n setActive(!active)\n }\n }}\n className={`matchid-popover-box matchid-popover-${position} matchid-popover-${type} ${className} ${type=='click' && active ? 'matchid-popover-click-active' : ''}`}>\n {children}\n <div style={{\n paddingTop: gap\n }}>\n <div className={`matchid-popover-content`}>\n {content}\n </div>\n </div>\n </div>\n\n}","import useUserInfo from \"hooks/useUserInfo\";\nimport {LoginBoxProps, OtherLoginMethodType} from \"types/types\";\nimport React, {PropsWithChildren, useState} from \"react\";\nimport {\n EmailIcon,\n GoogleIcon,\n TelegramIcon,\n WalletIcon,\n XIcon,\n ArrowRightIcon,\n GithubIcon,\n DiscordIcon,\n LinkedinIcon,\n FacebookIcon,\n ArrowDownIcon, EVMDarkIcon, EVMLightIcon, SOLDarkIcon, SOLLightIcon, YoutubeIcon\n} from \"assets/icon\";\nimport EmailModal from \"../EmailModal\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nconst RecommendItem = ({\n icon,\n name,\n onClick,\n showChildren = false,\n children\n }: {\n icon: React.ReactNode,\n name: string,\n onClick: () => void,\n showChildren?: boolean\n} & PropsWithChildren) => {\n return <div className=\"matchid-login-recommend-method\">\n <div className=\"matchid-login-recommend-method-item\" onClick={onClick}>\n <div className=\"matchid-login-recommend-method-content\">\n <div className=\"matchid-login-recommend-method-icon\">\n {icon}\n </div>\n <span className=\"matchid-login-recommend-method-name\">{name}</span>\n </div>\n {\n children ? <ArrowDownIcon\n className={`matchid-login-recommend-method-arrow ${showChildren ? 'matchid-login-recommend-method-arrow-active' : ''}`}\n size={20}\n color={\"var(--matchid-arrow-color)\"}/> :\n <ArrowRightIcon className=\"matchid-login-recommend-method-arrow\" size={20}\n color={\"var(--matchid-arrow-color)\"}/>\n }\n </div>\n {children && <div\n className={`matchid-login-recommend-method-popover ${showChildren ? 'matchid-login-recommend-method-popover-active' : ''}`}>\n {children}\n </div>}\n </div>\n}\nexport default function LoginBox({\n recommendMethods = [\n 'wallet',\n 'email',\n 'google'\n ],\n methods = [\n 'telegram',\n 'twitter'\n ],\n walletMethods = [\"evm\"],\n inModal = false\n }: LoginBoxProps) {\n\n const [emailOpen, setEmailOpen] = useState(false)\n const {login} = useUserInfo()\n const [showWallet, setShowWallet] = useState(false)\n const intl = useIntl()\n const isDownMd = useDownMd()\n const methodMap: {\n [key: string]: {\n icon: React.ReactNode,\n name: string,\n onClick: () => void,\n type?: \"wallet\"\n }\n } = {\n wallet: {\n icon: <WalletIcon size={isDownMd ? 36 : 40}/>,\n name: intl.formatMessage({id: \"wallet\"}),\n onClick: () => setShowWallet(!showWallet),\n type: \"wallet\"\n },\n email: {\n icon: <EmailIcon size={isDownMd ? 36 : 40}/>,\n name: intl.formatMessage({id: \"email\"}),\n onClick: () => {\n setEmailOpen(true)\n }\n },\n google: {\n icon: <GoogleIcon size={isDownMd ? 36 : 40}/>,\n name: \"Google\",\n onClick: () => login('google')\n },\n twitter: {\n icon: <XIcon size={isDownMd ? 36 : 40}/>,\n name: \"X\",\n onClick: () => login('twitter')\n },\n telegram: {\n icon: <TelegramIcon size={isDownMd ? 36 : 40}/>,\n name: \"Telegram\",\n onClick: () => login('telegram')\n },\n github: {\n icon: <GithubIcon size={isDownMd ? 36 : 40}/>,\n name: \"Github\",\n onClick: () => login('github')\n },\n discord: {\n icon: <DiscordIcon size={isDownMd ? 36 : 40}/>,\n name: \"Discord\",\n onClick: () => login('discord')\n },\n linkedin: {\n icon: <LinkedinIcon size={isDownMd ? 36 : 40}/>,\n name: \"LinkedIn\",\n onClick: () => login('linkedin')\n },\n facebook: {\n icon: <FacebookIcon size={isDownMd ? 36 : 40}/>,\n name: \"Facebook\",\n onClick: () => login('facebook')\n },\n youtube: {\n icon: <YoutubeIcon size={isDownMd ? 36 : 40}/>,\n name: \"Youtube\",\n onClick: () => login('youtube')\n }\n\n }\n\n const walletMap: {\n [key: string]: {\n icon: React.ReactNode,\n activeIcon: React.ReactNode,\n name: string,\n onClick: () => void,\n }\n } = {\n evm: {\n icon: <EVMDarkIcon size={isDownMd ? 36 : 40}/>,\n activeIcon: <EVMLightIcon size={isDownMd ? 36 : 40}/>,\n name: \"EVM\",\n onClick: () => login('evm'),\n },\n sol: {\n icon: <SOLDarkIcon size={isDownMd ? 36 : 40}/>,\n activeIcon: <SOLLightIcon size={isDownMd ? 36 : 40}/>,\n name: \"SOL\",\n onClick: () => login('sol'),\n }\n }\n\n\n return <>\n {(!inModal || !emailOpen) && <div className=\"matchid-login-box\">\n <div className=\"matchid-login-recommend-list\">\n {\n recommendMethods.map((m) => {\n return <RecommendItem\n icon={methodMap[m]?.icon}\n name={methodMap[m]?.name}\n onClick={methodMap[m]?.onClick}\n key={m}\n showChildren={m == 'wallet' && showWallet}\n >\n {\n m == 'wallet' && <>\n <div className={\"matchid-login-recommend-wallet-divider\"}></div>\n <div className={\"matchid-login-recommend-wallet-list\"}>\n {\n walletMethods.map((n) => {\n const m = walletMap[n]\n return <div className={\"matchid-login-recommend-wallet-item\"}\n key={m.name}\n onClick={m.onClick}>\n <div className={\"matchid-login-recommend-wallet-item-content\"}>\n <div className={\"matchid-login-recommend-wallet-item-icon\"}>\n {m.icon}\n </div>\n <div\n className={\"matchid-login-recommend-wallet-item-hover-icon\"}>\n {m.activeIcon}\n </div>\n\n <span\n className={\"matchid-login-recommend-wallet-item-name\"}>{m.name}</span>\n </div>\n <ArrowRightIcon\n className=\"matchid-login-recommend-wallet-item-arrow\"\n size={20}\n color={\"var(--matchid-arrow-color)\"}/>\n </div>\n })\n }\n </div>\n </>\n }\n </RecommendItem>\n })\n }\n </div>\n {methods.length > 0 &&\n <div className=\"matchid-login-other\">\n <div className=\"matchid-login-other-text\"><FormattedMessage id={\"otherLoginMethods\"}/></div>\n <div className=\"matchid-login-method-box\">\n {\n methods.map((m) => {\n return <div className=\"matchid-login-method-item\" key={m}\n onClick={methodMap[m]?.onClick} title={methodMap[m]?.name}>\n {methodMap[m]?.icon}\n </div>\n })\n }\n </div>\n </div>\n }\n </div>\n }\n <EmailModal\n isOpen={emailOpen}\n onClose={() => {\n setEmailOpen(false)\n }}\n onBack={inModal ? () => {\n setEmailOpen(false)\n } : undefined}\n />\n </>\n\n}\n","import useUserInfo from \"../../hooks/useUserInfo\";\nimport {ReactNode, useState} from \"react\";\nimport {\n ButtonProps,\n OtherLoginMethodType,\n PopoverPositionType,\n PopoverTypeType,\n RecommendLoginMethodType, WalletType,\n} from \"../../types/types\";\nimport {truncateAddress} from \"../../utils\";\nimport Button from \"../Button\";\nimport {LoginIcon, UnLoginIcon} from \"../../assets/icon\";\nimport LoginModal from \"../LoginModal\";\nimport UserPopover from \"../UserPopover\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\n\nexport default function LoginButton({\n loginRender,\n methods,\n recommendMethods,\n onLoginClick,\n popoverPosition = \"right\",\n popoverType = \"hover\",\n popoverGap = 20,\n walletMethods,\n ...props\n }: Omit<ButtonProps, 'onClick' | 'highlight'> & {\n loginRender?: ReactNode\n methods?: OtherLoginMethodType[],\n recommendMethods?: RecommendLoginMethodType[]\n walletMethods?: WalletType[]\n onLoginClick?: () => void\n popoverPosition?: PopoverPositionType\n popoverType?: PopoverTypeType,\n popoverGap?: number | string\n}) {\n const intl = useIntl()\n const {isLogin, username} = useUserInfo()\n const [loginOpen, setLoginOpen] = useState(false)\n if (!isLogin) {\n return <>\n <LoginModal methods={methods} walletMethods={walletMethods} recommendMethods={recommendMethods} isOpen={loginOpen}\n onClose={() => setLoginOpen(false)}/>\n <Button className={'matchid-unlogin-btn'} {...props} highlight onClick={() => setLoginOpen(true)}>\n <UnLoginIcon/>\n <span><FormattedMessage id=\"login\"/></span>\n </Button>\n </>\n }\n return loginRender ? <>{loginRender}</> :\n <UserPopover position={popoverPosition} type={popoverType} gap={popoverGap}>\n <Button onClick={onLoginClick} className={'matchid-login-btn'} {...props}>\n <LoginIcon/>\n <span>{username ? truncateAddress(username) : ('MatchID ' + intl.formatMessage({\n id: 'user'\n }))}</span>\n </Button>\n </UserPopover>\n\n}","import {LoginPanelProps} from \"types/types\";\nimport LoginBox from \"../LoginBox\";\nimport {CloseRoundIcon} from \"assets/icon\";\nimport {FormattedMessage} from \"react-intl\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nexport default function LoginPanel({\n\n header,\n onClose,\n ...props\n }: LoginPanelProps) {\n\n const isDownMd = useDownMd()\n return <div className=\"matchid-login-panel\">\n {header ? header : <div className=\"matchid-login-panel-header\">\n <div className=\"matchid-login-panel-header-content\">\n <div className=\"matchid-login-panel-header-title\"><FormattedMessage id=\"loginTitle\"/></div>\n <div className=\"matchid-login-panel-header-subtilte\"><FormattedMessage id=\"loginTips\"/></div>\n </div>\n {\n onClose && <div className={\"matchid-login-panel-header-close\"} onClick={onClose}><CloseRoundIcon size={isDownMd?24:30}/></div>\n }\n\n </div>}\n <div className=\"matchid-login-panel-divide\"/>\n <div className={\"matchid-login-panel-box\"}>\n <LoginBox {...props}/>\n </div>\n </div>\n\n}\n","import Modal from \"components/Modal\";\nimport LoginPanel from \"../LoginPanel\";\nimport {LoginModalProps} from \"../../types/types\";\nimport {useUserInfo} from \"../../hooks\";\n\nexport default function LoginModal({\n isOpen = false,\n width = 480,\n ...props\n }: LoginModalProps) {\n const {isLogin} = useUserInfo()\n return <Modal\n isOpen={isOpen && !isLogin}\n width={width}\n >\n <LoginPanel {...props} inModal/>\n </Modal>\n}","import {PopoverProps, UserPopoverProps} from \"../../types/types\";\nimport Popover from \"../Popover\";\nimport Button from \"../Button\";\nimport {useCopyClipboard, useUserInfo} from \"../../hooks\";\nimport {PropsWithChildren, useState} from \"react\";\nimport ProfileIcon from \"../../assets/icon/ProfileIcon\";\nimport {ArrowRightIcon, CheckIcon, CopyIcon} from \"../../assets/icon\";\nimport {truncateAddress} from \"../../utils\";\nimport {UsernameModal} from \"../index\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\n\nfunction UserContent() {\n const {logout,address,username} = useUserInfo()\n const [logouting, setLogouting] = useState(false)\n\n const onLogout = async () => {\n if (logouting) return\n try {\n setLogouting(true)\n await logout()\n } catch (error) {\n console.error(error)\n } finally {\n setLogouting(false)\n }\n }\n const UserItem = ({\n children,\n icon,\n rightIcon,\n onClick\n }:PropsWithChildren&{\n icon?:React.ReactNode,\n rightIcon?:React.ReactNode,\n onClick?:()=>void\n })=>{\n return <div className={\"matchid-user-popover-item\"} onClick={onClick}>\n <div className={`matchid-user-popover-item-content`}>\n {icon}\n <div className={\"matchid-user-popover-item-text\"}>\n {children}\n </div>\n </div>\n {rightIcon}\n </div>\n\n }\n const UserDivider = ()=>{\n return <div className={`matchid-user-popover-divider`}></div>\n }\n\n const [usernameOpen,setUsernameOpen] = useState(false)\n const [copied, setCopied] = useCopyClipboard();\n const intl = useIntl()\n return <div className={\"matchid-user-popover-content\"}>\n <div className={\"matchid-user-popover-list\"}>\n <UserItem onClick={()=>{\n setCopied(address)\n }} icon={copied ?<CheckIcon size={20} color=\"#0ecb81\"/> : <CopyIcon size={20} color=\"var(--icon-color)\"/>} rightIcon={<CheckIcon size={20} color=\"var(--icon-color)\"/>}>\n {truncateAddress(address)}\n </UserItem>\n <UserDivider/>\n <UserItem onClick={()=>{\n setUsernameOpen(true)\n }} icon={<ProfileIcon size={20} color=\"var(--icon-color)\"/>} rightIcon={<ArrowRightIcon size={20} color=\"var(--icon-color)\"/>}>\n {username || intl.formatMessage({\n id:\"setUsername\"\n })}\n </UserItem>\n </div>\n <Button onClick={onLogout} loading={logouting}><FormattedMessage id=\"disconnect\"/></Button>\n <UsernameModal isOpen={usernameOpen} onClose={()=>{\n setUsernameOpen(false)\n }} onSuccess={()=>{\n setUsernameOpen(false)\n }}/>\n </div>\n}\n\nexport default function UserPopover({\n children,\n ...props\n }: UserPopoverProps) {\n return <Popover {...props} content={<UserContent/>}>\n {children}\n </Popover>\n\n}","import { IconSizeColorProps} from \"./types\";\n\nexport default function ProfileIcon({size=24,color='black',...props}:IconSizeColorProps) {\n return <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M7.5 6.75C7.5 4.95507 8.95507 3.5 10.75 3.5C12.5449 3.5 14 4.95507 14 6.75C14 8.54493 12.5449 10 10.75 10C8.95507 10 7.5 8.54493 7.5 6.75ZM10.75 2C8.12665 2 6 4.12665 6 6.75C6 9.37335 8.12665 11.5 10.75 11.5C13.3734 11.5 15.5 9.37335 15.5 6.75C15.5 4.12665 13.3734 2 10.75 2ZM8.75 13C5.57436 13 3 15.5744 3 18.75V19.75C3 20.7165 3.7835 21.5 4.75 21.5H13.6646L13.0292 20.8646C12.7764 20.6118 12.5733 20.3185 12.4263 20H4.75C4.61193 20 4.5 19.8881 4.5 19.75V18.75C4.5 16.4028 6.40279 14.5 8.75 14.5H12.6452C13.0508 13.8858 13.676 13.4295 14.4091 13.243C13.8838 13.0849 13.3268 13 12.75 13H8.75Z\"\n fill={color}/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M19.0677 22.4771L21.4771 20.0677C21.841 19.7038 21.841 19.1139 21.4771 18.75L17.75 15.0229C17.5753 14.8482 17.3383 14.75 17.0911 14.75H14.6818C14.1672 14.75 13.75 15.1672 13.75 15.6818V18.0911C13.75 18.3383 13.8482 18.5753 14.0229 18.75L17.75 22.4771C18.1139 22.841 18.7038 22.841 19.0677 22.4771ZM15.6135 17.3124C15.9995 17.3124 16.3124 16.9995 16.3124 16.6135C16.3124 16.2276 15.9995 15.9147 15.6135 15.9147C15.2276 15.9147 14.9147 16.2276 14.9147 16.6135C14.9147 16.9995 15.2276 17.3124 15.6135 17.3124Z\"\n fill={color}/>\n </svg>\n\n}","import {ModalWithHeaderProps} from \"types/types\";\nimport {ModalWithHeader} from \"../Modal\";\nimport {useEffect, useMemo, useState} from \"react\";\nimport {isValidUsername} from \"../../utils\";\nimport Input from \"../Input\";\nimport Field from \"../Field\";\nimport Button from \"../Button\";\nimport InfoRoundIcon from \"../../assets/icon/InfoRoundIcon\";\nimport {useUserInfo} from \"../../hooks\";\nimport CheckRoundIcon from \"../../assets/icon/CheckRoundIcon\";\nimport {setUserNameApi} from \"../../api\";\nimport {isSuccess} from \"../../api/request\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nconst ValidItem = ({\n success = false,\n text\n }: {\n success?: boolean,\n text: string\n}) => {\n const isDownMd = useDownMd()\n return <div className={`matchid-valid-status-item matchid-valid-status-${success ? 'success' : 'error'}`}>\n\n {success ? <CheckRoundIcon size={isDownMd ? 12 : 16}/> : <InfoRoundIcon size={isDownMd ? 12 : 16}/>}\n <span>\n {text}\n </span>\n </div>\n}\n\nexport default function UsernameModal({\n title,\n isOpen,\n onSuccess,\n ...props\n }: ModalWithHeaderProps & {\n onSuccess?: () => void\n}) {\n const {username, refreshOverview} = useUserInfo()\n const {isLogin} = useUserInfo()\n const [val, setVal] = useState(username)\n const [error, setError] = useState('')//error from api\n const isDownMd = useDownMd()\n\n useEffect(() => {\n if (isOpen) {\n setVal(username)\n setError('')\n }\n }, [isOpen]);\n\n const isValid = useMemo(() => {\n return isValidUsername(val)\n }, [val])\n\n const isLength = useMemo(() => {\n return val.length >= 2 && val.length <= 32\n }, [val])\n\n const isSafe = isValid && isLength\n\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const onSubmit = async () => {\n if (isSubmitting) return\n try {\n setIsSubmitting(true)\n const res = await setUserNameApi({\n username: val\n })\n\n if (isSuccess(res)) {\n await refreshOverview()\n onSuccess && onSuccess()\n } else {\n setError(res.message)\n }\n\n } catch (error: any) {\n setError(error.message)\n } finally {\n setIsSubmitting(false)\n }\n }\n const intl = useIntl()\n\n return <ModalWithHeader isOpen={isOpen && isLogin} {...props} title={title || intl.formatMessage({\n id: username ? \"editUsernameTitle\" : \"setUsernameTitle\"\n })}>\n <div className=\"matchid-username-box\">\n <Field label={intl.formatMessage({\n id: \"username\"\n })} error={error}>\n <Input\n placeholder={intl.formatMessage({\n id: \"usernamePlaceholder\"\n })}\n onChange={e => {\n setVal(e.target.value)\n setError('')\n }}\n value={val}\n />\n </Field>\n <div className=\"matchid-valid\">\n <ValidItem success={isValid}\n text={intl.formatMessage({\n id: \"usernameValidError\"\n })}/>\n <ValidItem success={isLength} text={intl.formatMessage({\n id: \"usernameLengthError\"\n })}/>\n {/*<ValidItem success={isSafe} text={\"Cannot contain sensitive words\"}/>*/}\n </div>\n\n <Button disabled={!isSafe} loading={isSubmitting} style={{\n marginTop: isDownMd ? \"36px\" : \"64px\"\n }} onClick={onSubmit} size={\"lg\"} block highlight><FormattedMessage id=\"confirm\"/></Button>\n <Button style={{\n marginTop: isDownMd ? \"12px\" : \"24px\"\n }} onClick={props.onClose} size={\"lg\"} block><FormattedMessage id=\"nextTime\"/></Button>\n </div>\n </ModalWithHeader>\n}","import {IconProps} from \"../../types/types\";\n\nexport default function InfoRoundIcon({\n size,\n color='#6E6E6E',\n ...props\n }:Omit<IconProps, 'width'|'height'>) {\n return <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_418_7746)\">\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M7.99984 0.666504C3.94975 0.666504 0.666504 3.94975 0.666504 7.99984C0.666504 12.0499 3.94975 15.3332 7.99984 15.3332C12.0499 15.3332 15.3332 12.0499 15.3332 7.99984C15.3332 3.94975 12.0499 0.666504 7.99984 0.666504ZM1.99984 7.99984C1.99984 4.68613 4.68613 1.99984 7.99984 1.99984C11.3135 1.99984 13.9998 4.68613 13.9998 7.99984C13.9998 11.3135 11.3135 13.9998 7.99984 13.9998C4.68613 13.9998 1.99984 11.3135 1.99984 7.99984ZM8.6665 7.33317C8.6665 6.96498 8.36803 6.6665 7.99984 6.6665C7.63165 6.6665 7.33317 6.96498 7.33317 7.33317V11.3332C7.33317 11.7014 7.63165 11.9998 7.99984 11.9998C8.36803 11.9998 8.6665 11.7014 8.6665 11.3332V7.33317ZM7.99984 5.33317C8.36803 5.33317 8.6665 5.03469 8.6665 4.6665C8.6665 4.29831 8.36803 3.99984 7.99984 3.99984C7.63165 3.99984 7.33317 4.29831 7.33317 4.6665C7.33317 5.03469 7.63165 5.33317 7.99984 5.33317Z\"\n fill={color}/>\n </g>\n <defs>\n <clipPath id=\"clip0_418_7746\">\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n\n}","import type { WalletAdapter } from './adapter.js';\nimport type { MessageSignerWalletAdapter, SignerWalletAdapter, SignInMessageSignerWalletAdapter } from './signer.js';\nimport type { StandardWalletAdapter } from './standard.js';\n\nexport type Adapter =\n | WalletAdapter\n | SignerWalletAdapter\n | MessageSignerWalletAdapter\n | SignInMessageSignerWalletAdapter\n | StandardWalletAdapter;\n\nexport enum WalletAdapterNetwork {\n Mainnet = 'mainnet-beta',\n Testnet = 'testnet',\n Devnet = 'devnet',\n}\n","export const walletErrorImage = \"data:image/png;base64,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\"\nexport const walletConnectedImage = \"data:image/png;base64,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\"\nexport const walletConnectingImage = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAABf+klEQVR4Xuy9eXQU17U32vfeJHYSD+QmNqCxJTFPFmAxC4p5BgECxGQXk8GMQmO31K1uzSDAEhZYDMatGBMSO/6UG8chF25e+TlxyIq/rF7vXscYTSX1JAlwen03+VbW+94f+51fNYVLRWtAtAbs89Paq1vddaqr6py9z9777L2PwcDBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwfENwj+ulhpbHLsE+cKO1JafHCaPYzc1v/kyNb21k70/QC0/zSbPhVdSZcde4fa7OfH69hwcHI8h/GD8K2liy5ui5Hl9DdUVzKD63AnkLhxN3qOjyV0aT3L+BKq1vkD11ulUX76O5De2SS2X00R/jW2Q/nwcHByPEeorN9U0Hl9CsmUcNWePJHd2LHlyoqnVGskoglpyIsiXE8k+jyJ3ZjQ1ZQynJvMLJJ9YTu6qTZL+fBwcHI8BvvxVSarvrZ1SU/FUas6KIV8WY/TMSEZR1JIVqSN8N5RaGPkywsh3JJzc5mEkF08hz1ubpP/3/86z68/PwcExQCGXJw26eXSu9IVpDHkyhzFis35GTID5TUbG6JEaGkpt6Yz5MyAAIhTyss9B7nSmERTFk9exlb78wGLnJgEHxwCHXJVkrD2x2NGQ9wI1ZRnJmxpF3sPR5M2IYgIgIiAAsqEFRN0TAEOoJX0wtaUxQQAhkD6EWjPD2GsUuY5EkcdiJPfRKeQ+/xK1XMkQ9L/HwcExgCBXrK9ptr9I3txoajEPJXdaNHlSw6kldTCb5YeQh6n8XrORPOYYcjNh4DFFkiebEYQDhMDhwXQn9XlFOHgy2TkszCTIiaHanAlUf3oN9wlwcAxU3Hm/qLzRPpsxeZzC/C0WZstnMEZOCycfU/M9Gex/KzMJCkZSc+l4hbzHmYp/dAI1WEYwQcAYPj2cWpkW0GJiAiGXaQg5TFPIDqfG1Fi6VZhI/usV5frf5eDg6Gf840a5seH0BqecMYK8h5gKn8Fm/FzG+FlMC8iEIDCSnDOe6o7P97vPrpP+fvWI9H+kwHr/3ZoDSb4LK6X6E3P9jbljFQ0BqwNtEABmRhlh5D0SxgTEKJLPbXb+/VoZjxPg4BhI8F8rqpZPLadmLOcxW97LmL8ldyj52EwOLUBOG0lyyWLyXnzFpm+rovWdV1MbTyxhgoIJkaxwxUEInwB8BAETIozqjy4k/y9yHfq2HBwc/QjPlVerm04kMvU/wPSYwUFeNoPLmcNJzk+k5soNdn07PTyXD1XUHl1MjabhTIAwkyAHZgCj7IA2UF+UQLfOpnABwMExkHDrVFL1LfsLjPnZzG2OuE/eHCOz7ydSQ+niCtmR1OUynuxIHXTzeJK9oXAqeS2x1GI1tqOGokn0l9KFXABwcAwkfH5sfnWDdSz5NMwPgqdfLphFnjPbRH2bjuC5uE90nVjIzIiYducCNVnGkFyeTP4Pi0V9Ow4Ojn4AEn3qTiyRGnJHM5VfJwByYkg+tohuX04V9e06wt13baKrfBV5ggiAZtNI8hxbRX9/3ybq23FwcDwCbty4Ycu15jqS1q51zJs3z7Fz507Hx7//bar+OD38V0vFxsqNVG8a9QDDQgA0n1xB/vetor5dR7j7YanoOrOWPJY4arEgFuArks2jyaUIgO6db9++fY6FCxc6li9f7jCZTI7f/rbr++Hg+Ebh0qVLAmMOKTk52T9+/Dh6fvBg+td//VcaOnQobd8u+i9evGjXt9ECGX//aZ5VU5vOZuesiHbUnB1DTceXMA3goKhv1xFuv5smNlcsZQJguOJD8DHCa4spiupyx9Pn+fM+oi7Cgt9///3UrVu3SjExMfTcc88pNHbsGFq6dKl///790tWrVyWn08mXEzm+eaipqRl0/Phx4fz5c86NGzdSVFQUPfHEE/Ttb3+b/uVf/oXYIQrh/dNPP03r16+nd999V9Sdph3+n/Rp1bdSx5I7I5w8WPdX1v7DyZXFZu3C6eQ+l9KtWH4c47koljeVTCO3Ke5+foCaO1BnnUTO0mWdOgEdDsegxYsXS7j2f/qnf6J//ud/vn9PoCee+A6750hasmQJnT171pmRkSGwZ2JsfxYOjq8hzpw5I6ampTo2bdpEo0ePVBgfTAJm1zK/ShAKw4YNI5Gh3Yl0qC1dVV1vnkqutKFKZp83fQh5UgeTNzOMGi1jyXV2I7W8lyro2+nhvrRLaKraSDIcilj6yxhKrUqmYISSP1BXMI3+UrG5UwFQWloqTps27QHGB+Fe1ff43mg00tq1a2nv3r1MbjhEzWk4OL4+ePvtt0UM8lWrVpGRqcVgfDC8liGC0be+9S1FfWYMJX51tgdxszxZuGmfLTexGd/HZn4k97Qeep486YOZFhBDDfYEqq9Ikv7+m5JObXBXxYqaxsIEpY0vK4zajrDzHIEgYZpFTiw1VCynlhpbpwJg27Zt4qhRo7oUACrhHp9//nlaOH8e7dixw8FMHvH+yTg4Hmcw1T2+rKxMYiqxH/awnvH1s76qDYB5VK0AJgIzA8R2Jw6C+vKlUlPeSPKymRtMi+g9L5vB3VmRJJvjqNY2mbyO7f4771vs+rb/63pJautbO6VGO9Mictg5lGzBCGplguR2eriSReiyjaK/nFrh9F8tN+rba5Gamiq+8MILQQVAZ/Qdpu1ERkbS9OnTZaZFSMws4D4CjscTjAmMJ06ccM5KTKRBzzzdbWbQmgOgQc8+S9u2bvG/9957gnrujvC3Dw5V1JZMpubc4UwIIK9/iOK591oQxRdFbrORGnJfoPqCmSSfXEquUxuo6cxq8lauosbiWSTbx7JZnrWFx18N/oEgMMWQN38kNZe9SF/+2+Euk4E+lj5O2rx5swxHpirIDEHuVU+4d2gDaPPUU9+H1kN4hvv27eOCgOPxQHl5uREz4NKlS6WxY8cqA9oQZLB3RGAClZ5lzD937lwZ5wucvWs0Vq6j2tzxSk5ASxYTAGamDVjC74cGN1tiqd48nOpMo6ghawzVZg6jxpxRJOcMU5YMW3LC2fHM5reyNpYoJRvQx76T8yZQU+VaXGO3kJmZKW7csNGPewBDq/dkCHLPKmm1HvUzaASCIEhpaWkie7ZdOjE5OPoNV69eta1evbomISGBnnnmGUXdNwQZ6J3Rd74DD3kUzZs3j+x2O7FBnxQ4e/fg/vGBioajiwKx/OYh1Jb9PLXlMjU+P4wRY+qCOPLmRZM710hephU0Z0aRy8T+txjJZ42i29bB9GXuD+lO7uCAMLBHUZNlNDWULKDmMy/Z9b/XGS45LglJSUkVK1euVLz+uDdDkHvujCAUvve979HkyZNp48aN0i9/+ctOfRgcHP2CkpKS1M2bN/oHDx6szPpdzXZ6+t73vqvMdhtSNhA710ds1hc++OADIXD27kN2iIMaziTbG47NJa91GLXmhNGdvDD6sjiC7haH052SaGq1Mds+LyJQ7MM8lHxIG86JpNu2cLpbGEZ/LQqju/lDqTU3iryFI+lW0Rz64tSmCuQJ6H+vK2DWxr1YLJYaZhawewxXhCOekeoLUX0enT0zHA+TYsuWLf6TJ0/aNT/BwdF/YAM89ciRVAoLC1MGMWY5DGRVnVVf1YGudf5997vfpbi4OMz2/gMHDmB2k/Tn7ylaLu2zN59J8jfZxpDPFktt+ZF0xx5Bd5gWcLeACQWmEbTZmGZgHUptoNwh7HumJTChgON89jiSC16g+pPL/M5ja0M269pstvg9e/ZIzL6XR4wY0W4ZVOsDMGiYX/0e3z355JPKM8vOzoZ2FLLr4uB4KHz66Q0Btvm6dWvZzPSD+zauOrPhVUuqXasKhfDwcFq4cCExZnBUVVWJ+vOHAr730lK/OLGSGvJnkCtvNHly48iXx9R8phGA8UEtJlT/CVArU/l92VGKI7DeOonqX1tD3vfTbPrzhgJY8z98+LBj/vz5yrNAcJDK6IYgGgBI6x/4wQ9+QCtWLEf8gPDVWTk4+gDwyJeUFMszZsxQ7FPtDKVleO17VUD86Ec/ogULFijr3QiY0Z871PBczhRdF8Tq1gvJ1HxsFjXZxjEGj2EUSV5T1P16gJ5MIzVkDqfGgmnkKV9ODRVrHbJjn6g/X6iBNf9XX321GvERiAUw3Jvx9VoASH2m6nfQthISEvwQJD0xlzg4HhplZWXx6enpMtRQqK8YhBiQiNjTz/paAYBjsSpw6NAhJ2xihMvqz91b+MdVk/HOlV1C288ynHWn1ikOvdq8GXQzJ4Fu5k6n2pzJdCtnOjWeSKLWnxxxui+Iglzz8PZ+T8GehZGZQAIzpZwTJkxQTKNg/gBVAKhaFI75/ve/T6NHj1aeKzMJ+HIhR+/A6XQaEbOOmQpOLINGJVVVf60tqw7Qp596ihAUk5WVJUN46M/L0R54RmxGd8Lrr+YSqAxv0GgH2ueO9/ANILdAFEX+jDlCixs3bhjfeustCTHrTzGGVmcnrQBQGV79H5oBvNbLly+VS8tKHb/73e8E/Xk5goM9b4HN5o5169b58QzB3Nrni/eqQMD/eFW1sEWLFsk5OTkiBLbutBwcPYOtwCYuXLTwPvOrA1Brk2o/B0Hdt1qtxNTbh1rH5/gK7NkJCxcurJgyZYqiDeBZG+5pAXgFqQJA/Rw+GWhpTJMQtefi4OgRrl27Fm+z22Qk5OjVUO2Mr36OgQrvvsViqehO+C5H52Aq/SBmetmZNqA8Wy3Dg7TCAIR+QR2FzMxMJ/pOey4OjofGhQsXhO3bt7cbZMEI6ufIkSPIbDFLf/7zn/n6dIjx6aef2plQlcaOHtUuwlIvEFTasmUL4gSEr87AwdEDYBZ/9dVXHxhgWoK9jyXBAwcO1GiacvQCUlNTJTxr1RzrSAC89NJLVFlZKWjbcnA8NCRJGrR///7qyMiIoIMN6/qo2FNVVYWAHmO7xhwhB5ZP2XOuxgyPRCODrj+gHaBPtm3b5rhy5YqxXWMOjp4AVXxeemmbEn2mOv1A8FAnJSU5Ud7L6XT22br5Nx1Xr15FxqWwYcMG5w+eDSzJqgTNYNmyZfT666+L7VtxcDwCVBsUmW0YYOvWrZNfe+01SX9cf+P6764LjgsXBJvNJoi7RGHatGmC1Wotf+21k2Sz5VFaWhoxjUZRkRkDKdoLmy0JZs6RI0eUlYvS0lLat2+fHW1xDpPJJMAXcv36dUH/e/0N9MHixYudixYtQsFRhAajkAj3wXD0Dv74xxuO3//+9wNmXR8xCmxGFBnDi0wwiQVFBbRr505avWo1Jc6ZrdQTfP755+iZZ55WMg7V4qNawmdYawdhGQ2EVQ9EO85MnKUsq+3evZuK2LnXrl0rFhQUiNd+ew1r7QNC60FfsGfgAOm/4+D4WuLatWviyZMnHag/kJKykaZOnaqU3YZZolYX1i+R9ZRwHpzzhz/8oSJQsC6/ectm2rptq8TMI9T6Fw0cHAMR/ss58S2Ow1Jj5Rqp8bUV0udFS6UvihZKjSdWSq7TydKXvyrpssTVQALq6ZvNZonNyv6JEycqfoknn3xC8U2oMzoYNlTMr5IqBNTQW6zJo/bB+PHjaf78+XJ6Zrr0f7E/w2OELy8WlNeWr5fqy9dJ9fZE6aZlulRfskSqY5+5HAckz7uB7dM5HiNgwwr/pQzBfXan5D61lm5aEqkxdyI156Ls1WiSzcOoyTSMvY6kupwx9F/WaVT3WhI1lCfb6yq3Cvrz9TeYao9AGCE7O1tal7xOKRqiX41QA5P0n4eSgmkU2jBoCIawiDBas2YN/Aw1SNOVJEkwDDD4Lu5PbTt3iOS8pVS3ZzLVZ8WTbBpBrowYcmfGkTsrjuqtY+lWfgLdLEik+hNrqOnsjpo7F/YK3dlXgaOf4T6zw+55LYXk3KnUnD1KKWfVbBlGHkssucxx1MzIZWKv90jOHUkNTDDUmuPpZvEyks+Iov+DUkF/3r7Gp59+inh4cfbs2XakDyNnHja6IQhzDiSCUEAkHhxyR48epTNVZ8Qbn94QDAMAt8rXJcllK1l/T6GGtDHUlB5DzVlGpRaix2RkFEme7Bjlf7dtJDXljaFGNlHU5r5IzeUbqfnNvRX6c3IMINSdTLbdKphLnx8Zy6Q5NrYMoxZrJLXkRVObLVDpFpVxQd5cI/lQB88STT50fGYkyZmjqbFwHrnO75DlSwcE/fn7Ap988kn8T3/6UwebRWV4tqHiQ/U23GMwNRx5oBMEAXwGCItm5oF85coVB9MIjIZ+wN/eyxBaTqc4GuzTZTlzJLlNsff2TgxXyqDdtkfco3ClVNrdwki6XRBFt/Mjlc1Wm5hQuGUeR3Uls+mLk8l8hWEgwnNhV2pD8VJ/ffYIakg3KvXuWvOGKiWwbudHUJs9klqZELgvACzqnvfR1Jo7mNqyUUd/KBMcw6gxbyo1vbndefvDvrcBi4qKnIsXL1aKY6hFNFXVG0zVm2p+d6iz6DstqdeKFYWIiAhk6VF+fr7T0Mf4e40t/q+XD8py/jRqzsCmKWHKxNDGxkarNZz+WhJJXxaFKzUT/1oaSXcKw5VX1EYEQSj4LJHkzh3GtMdRVFco+BvObLbrf4ejnwCb3+PYUX6rcA41M5WtpSCOWgti6G5xFOtUSHgIgkjy2ZiKl8OIMb8PAsAcpdTMv20Pu1cT73kmBFBGO4KZCrFUZ51I8rmXMZh7FVhKq/mgRsB69vLlyxXHWmezfGfMB+aELa5Gw6G6MCoUL1gwjzZsSKYVK1Y4V65cKSUlJUkbt6RIW7dtk7Yx2rRpk7R69WrEOEiJiYnS1KlTnfPnz6MXX3xROQeEEWogwATR2v363++IVKGB4h3I2S8sLKxBXEFfLCM2X9xJdfYEcmWzvs8KlEC7bWETg1IPEbURw9nkEBGYJGyYMFA3MfC+zfy8UjZNqZ9ojWJjJpqZk6Poln0m3TqZbO/LoikcHaDl0i7Bey6Z3PZR1JIfw2Z5SG90YqAarjd7KLPrwpnKz9Q5awx7jWOzfyx5UQPfEkW+3AilKm5rDutwRi1MCPjSw8idHktfmKZQXWWKoP/NUOL4yeP2bFO2kj7cExtfdf4hLDY2NlaZaRkzy2vXrnXs378f++05rl790PHHP/7R8ac//albGo26rn7x4kXHwYMHkZcPklG/DwIBMQJqjr4hyDV1RDgeWs3w4cOVop6XLl3qVZva9/P0pIZjs8llGcbGAXY3Yv2bGxACPjYuvFlsdmfjAmZgCxsbbXa8xgb2QzAPodbMwew4NilgXORgbwV2fJ6RGq1jqL58NXl+mt2r18/RDcjnNtc0FU1i6hykeWBDC7xXmJl1sJwRSw3M7mu0TiDX0cnkPS6Q61gCNRW8SE328dRkGq74C9zK5pesTTrr8EPPU8vhISSnxlHTibX+u5dzRP3vhgIWi8U2d+5cZYZ9WGZSKT4+nrDRqCiKDjazi+fPnxd7w/uOKECcG1uU7dq1qxq/OXJkYHNTg+6autIQ8D18G7Nnzyaz2dwrNvV/XysV5fNb5Ka8UUrtQ/SvzxQgT0Y4NadHUWMGM/dyx5JckECeY3PJU8ZMv6IpyiYoMjMl3Wns2EPMZEhj5iF2WcJGK1Y2keTHkQvj5/QW3A9Hf6Lx5DJqzmedbEWt+3s74JjCWSezWZwxf515EjWULqPWs5sr5OOzBHdlkiAfF4S6UkFoqFzvbDC/yAbDKPKlhSs74ULyt2RACxhKcnoMNRbMoZazLzv0v/sowAxrtVqlSZMm+cFAajkxQxBmAakqNAj18oYOHUIzZ85E9iG98847qIWH7bX7TB3FVt4INQZMJhPNmTNHCUBSC3Z011cBbWDKlAR/RkaG9B//8R9J938gBGg+t7O6oWgW+axxbNaPVrZKU5g/K4IxNrPpM0ZRI+t7ueolarl06CO5MpmNjQXKuHBXptibS1eQK3U4ybvDqHnfEPKyMYENUpXxhe3WckZRbf5M+vv1xyuO5GuFJscBqdY2QdnVxq1Ieah5TE1jMzmWcuotE8nzxoZOO+j2O0ec3uNLWbtR1Jp9b8MM1skYMG4Ts/lyJ1D9iWU1LTU2o75tT8AYJ3Xr1q2Kja4ySmfMj+8xm8J+Hj9+HK1JWie9/fbbEspmaU7br/j444+TmDqv+BDGjRunmCNg7q4EGwjf38veo9zc3JBoA3KNbVB94UJJzmQTQzYcwpH3BYA7K5rktBH0uTWRvG/u79QpWV+8oqLBnECuNKOyU7IiALICpkNLViQ1QXs4u13St+PoI3x2PFmqNY0OMD8YFvvYQ01jtl5z/ji67diMQdYp/nHVZrz99i6pyTpF2UkHTqHAvnjhTHWMoCbLCKqrYPbeu5mivu3DIjU1NWnZsqXt6gp25FVXv3/22WdozJgxKCUuMeHh0J5vIKKgoMCBvfxgHuA+tUIgmDBQHZff//73aO5cgZDlpz1fTyBfNon1R1dRc+bwe3sihivMCwHQbB6mxAG4z4rS7W5E+tW+tlqqZROJOzsyYAaY4UPARMPGW95I+q+jK7gA6A/cvVgg1tuXyA0ZccrM785kEtocrpCPdXjTyTl052ev2PXtgqHFsdd4szBRwk44ytKPLUCtzKxwW+KormwB1Z8XRX27h8GOHTvEyZMny9+95+hTGV99VUuM4TsQZlDsNpScvM4pwsB3OIztzzhwgboI8BW8/PLLMvwbqoALJgDUz1VnJhMe/r1794qa0z00aqt2iHUlC8hthqM3oNFhk1QPMwVk6ziqLxA+aqlKMerbBYNctVWQyxZRM9MkfJhgsrGBChsfuWHKUvIXxxb75bcPivp2HL0M35up1XU5ArkPs9k/fYgiBHzmCGWPO68lhtre2kj+mgxB364j3KxMqZZLp1FbYUxgBYFRq42pe3kx1FAyg26eXCnq23QHTqcz/ic/+QmW1vxQ4w26ga+17/EePgEQlu9KSkupuLi4y1lqoAJ1+hENCB8B4gEMQZgfpD4HvEeOwfjx4+Xz589LeHaa03UbteUpYkPJLPLmRjFtLhAM5kUQGKNG2ySSy5c79G06gv8Dm9BSvUPZPRkaRCszAW7nDqVW7KbEtIK6IoEa3tzd7fNxhAiuCzurGzKnU3NGVEA1A2U8x14HM7s9juqLJ4n6Np3B815Gtev1edRmu7eEqCwjDlV2zG2wjKfPrNNEfZuugAF8/PhxJYNOneUNQQa/OvvhPZbY1m9cT6kZqfYVK1YIycnJ3aZdu3YpdQDYDCwMpGo4TAAmZWVlysgi7EobAOEY7BsI4aE5TbfhLFgo1jFGb1Vm/6GKFuBFxCebHOSSBJKr1j0Uw94sSBBlrCbkYLt0rDINpTZmZsKhWJ81mRrObH6o83GEAK43tlY3ZcwMqGX3BcDzyqvLMpypeQmivk1naPtZRnXT8bnKFtqqCYCAEW9uBNXmvkDOnERR36YrvPnmmxKYX2V8va2vVf/VY6AlwH6GBoANRbBBRncIQTuYaVHg45VXXqGUlBQHVGmU1tZeU3/hT3+6ITJtxoFrxT125vxUhWJMTAzuQ9Cepzv4LGehWGueSF5mq7ditlbNAJiGx6ZRs+PhVnVuFk8TZfuYwBbq0AIsCBIaQh5zNNVmJXAB0B9o+/GB6mYbU/OyIqkti838GYG1Wh/r9GbTCHKXr5H8V1KN+nYdwVW1tVrOn0ptcAAy219RHXOw9BOhLCV+Zl0o6tt0hm07tomTJk+UDUEGuEpaH4D2vVYl7i6pbdXtyuCJh/BZtWql/94GpIJhAODMmTMVO3bsUGIfOrtHtaYBE2z+zds2i5pTdInagmVinXkKMwujqS03EPHXkovlu6EklzIN4Ox6h75NR/B/WBbvurBNkq2jyI2NU7MCy8wt2WFMAAynW3mJ1Hx+R7fPxxEi+C+nxjcWzXJ6TZF02wTVP6AFYLnGlRVDTSULST7evdnjb+/ZBN+pjf5m89jAYFEEADp6qBIf0MRmk/riZaK+XUfAPndsNvb/4NnArsH6mV8lLcNrzYCOju8OqcJDJVQBQmWfRUsXOX/5Qei2H+8pEK8AM2XBggU10dFRD1y/ShBkeA7wHTBtSE5PT+92nEBtWZL4hS2RmjJilNkaNrsSycc0Adk+mppeXy7/71+bu3U+96W9gnxmHRsDI8irRIgGlgFBTeaRdKtkFd1+1+rQt+PoA3x2YrUkI7NLYf6wAEEy58RQQ3Y8eV/fRJDg+nZayI7UQZ43NpbLeQnkzopian+Ysm4Mx5EiTDKY3Vgwm1wXd4j6tsGAyDZBEJSAHTUwRksdzfihFADquVTC59AKEG5cUVHhZGZBp8+kr7B9+/YK5D6oRUwMQe4HhO+REp2VldWtOIH6czuTPi9eKd/KHqOEhsOv05IbSa0IDbfEMCEwmeRTK7qM5f8/n9ji71zez46fRB7EiBxmJmbqYIX53UzzhG/o5vHlkr4dRx+h/s0DUq1pDPngCMyCMzBSsfWQvdVsQlZfArVcyZT9NRZB31aF+9xLdvnYQnLnxLG2YXSHzRituUyg5GJJMZqamZR3nUqS/3G143Oo+OCDD5JQbFNd/+7I6dcXAkD9X38uxOGjuCmi+QwDALt27ZSwu2+wZ6Ul+A2Sk5Pp6tWrwletO8Znhcur/5IzIZD1qaj/UUqSj8/MTESmGTSdXEIex+4OY/n/P8ki/K9fHHK6X5tLnvxYxZ/gO/K8EiEKM8CbE031BePJc2m/pG/L0Ue4816h0GCFrRerFHRoMSPqC0s/kUr4Z5N5GNUVsw6s2ibfvpzu8NeYjGpbz2WT6Dm7zdF0VCCXdSS15UXQHStTF3Oep1YkgGQx9d8eS66iF8lzdq1D87Md4siRIxK8+CoT6pkR1NsCoCuCYEL+QHl5udRf+flaoOLRzp07qyGY9M9KJdVJioxEk8kktTtBB/BceKW63jqTmjJjlIAuTAzIEUEikDeDmQKWcVRbuoDkE+scnou7RbXd32sy4/3v7HO0VW+Ufa8lkrdkFLUVRFObBTEAaI+AIiw1G6m+cCL9dzdNCY5egqcymc3e45hEjlNSfcH4rUwAtLEO8uYYSc4ZRU3WBGooW0C3js1xyq8vleTyOVL9icX+xsLp5FIKh6D4QwTdxdq/KeBM9DJzojlnOLnOraP//o8Ch/539UhLS0udMGGCHwwMUiPg9Mzc3wIA54ddjdRjlO0yDAAwpjZu2LChBuaAIcg1a58X0xb87Fnbte2DIeAjmu9sTB9OzekRASGAKD5GPqbOy2zSkLNGU0POVGqwCnJ9wRzpi6L5knx0obO5dC65LWOVJKJWu5FuF4QrAqAV2YAmBJ1FMO1yNN1ix+l/l6OPIV/YJcin1pFsZh1mjlVitJHTDxXNh/x/JH9kG6nJFEtupALbh5E7bwR5mC0IX0EL1Dkm0dvyAwVDoC762GeyKY6+YIJDfudwp7kEyGl3VDvKp0+ffr9yj8rEqhagEtRYeOaxzIfwXtjkHRHU4lGjRinHdpfg7EMVHjC4KoS01YRUwnf4HEuG7W6mn7Fnz54K7SasKqkCEu9xT4mJidi7wN5VPYG7P7dU/CUb5b+GUXMWGw+oEAUhgGAxU8Cj38zGDMhtHq7UgXArxMaN6vFnJoOSQmxmmmHmj6jl0GBqPhhFN4uX0n+VD7wakt84/ONGubH156lSY9lsxtijmIoWFVimURx5TBtADjjreHQm1nADpaA0lAO/QbgS8OND5BhTFeEPqMubRLeOLu1yr7+qC1VCWkaakt6qDlL9jI5BC8ZkTF/DZi9HZmamg816jpycnA4Jcf9FRUUPRdnZ2Y6tW7dIK1euoCFDhnRohqgqNY5hjCS0u6F+xsKFCyUkBxk6EAB4ps/96Dk6fPgw1dTUCO0aB0HTiZVSrXky0+aGsf69lyui5PYHzIL24wFLv/hc/R7LfUOUwiBtjPnb0n5E3tRIqjNPV5KAupNLwNEH8NekGt2ObVL9sUQmBIaTF4kb6FBrhBLMo4RtQijomV85BrM+OhydDQdPDNUz5m+q2kRuxy5B/1t6WCyWGszqBg1z6QUAwls3btwYkkSXroBlNuTt79+/X4KtH0wAqBoKXrds2SLpTtGvQKUgOFLV0GH99eM9tBdjjJGKSoq6vPY7V0xC0xvbqM4+ic3sbOY/MjhQGAQZn1YU/tCNBzA+YkFyw5QYgjbTc2zmZ5Q+WHEANmJsnEr5qOXKXqP+tzj6EbJjX3zDhZ3Oz+0J1JQzTgnSQOhnKyS+kiHYgQBgpgIyu2AKuNLCSS5MIO+5LXT33ywVSCvV/44e8+bNU5b8tAyvJXyG6LdTp05VYGNLffveAhMC8cXFxc5Bgwa1Y36V1GudPTvR/2//9m92bdv+BARYfn4+tiUL6hNRBQKeOZ69vr0eKOUNM7GubFnNX8yTqPFwLLkyAuq92xzNVH0U/ozWjAmME2gK9xJ/jvyAmveGUfOROGo0xVNDeZITyWP63+EYIPC8e0T6rGixs9Y+lZqsLyiOPCUrzHxPK9AQnIaunBHkMo2khtyJ1Fi8iBre2NSpza/C6bxhZKq6Uw1rDSYAUDaLaQf+Ldu2dGv9ujewffv2DoUA6PnBz9PefXuxNGhHYRFN037F3r177bGxsX699gLCsw2kEH+f8vLynN0tdeZ+c09F/ckkkgvmsEliglIAFuv58Ad8NS4ilQkBjkKvKZp8aUZqTB9Hf8mbK7dcOCjpz8kxAFFXtUu4VbHW0XByuf+WbQbVQxDkMkEAr74l8Oo2DadG8xiqt0+jxtLFVH90udRSvd+hP1dHeO+9K9ULFsy/z/RaAaB6rREP8PLLL/froEEsPTQQQxDmB+F61fwD7IC8e/fuAZM/8Oqrr0qY6Q1BrhvPG0IAxUt//vOfdrvf7v7C7nBf2C41vZZETbapyioRxoIyJhQaySaNUdRoHUe15hfIVTiXXOWbZLmqa3OQY4DBfWGvUF+1vcLl2EtNlRuZ+raGPj+xkupfW0PyqQ3UeG4XOUuXia7zu0VtjEBX+PTTG8K+fa/K2AkHgxDMri77qYIA/784JYHefPPNfl0nrqysFDZv3vyAH0BPuPbvfvdJZfVhzZo1MvYdxDbcX52p73Hp0iUBfgxDkOsF4ZpRiiw1NVXGRiqapp3Cf7XU6LmcJsrla0V31R7G4Fvpi7KVdItNBA1sbLhe30jN5escn9kEseX8NvEfNTZBfw6OxwSwAVveswluxwGhjtmC/1W5VYCGIF9KFdzv9axjy8+Ui4lzZtL3nnpSYXQtYVDCSQVPdp4tDwO1X/HBBx8IWVlZ3ao4rKrWWNGAfc2ER6cls/oCNptNWUExBLleEEKcUQm5tLRU1DTrNu5cKRTcFzKUcfFf5SkCZvoWRyrfBowjOBC5tmjRvHJst/2tJ9hM/+0HmR+q/6ZNm+Syss7zEPoK48ePEX/wg0Ht/BOGIMykJdwPlgnLy8udNTU1/XYfKIiC/QyCCTD1XpD5OGvWLDv6pn1rDo4QA4U3Zs9OVGb/7zz5bSYE2gsAvCKsFSWx9G37CytXrhSNRmM7f4UhCNPrCcchwKmiogJFSI3q+foaa9euFRHkpBdcuD4QMgexZwE2UW3fkoMjxNi9Z3fNM4OeoW+D8TH76zQAxKtPmzbtI9TF07ftLzD12Lh8+XJJW5+vu6Tu5lNQUCAGztb3wLNkgkgKpgWocQFY6UDsQ/uWHBwhBmLoMeC0jK8VANidJz093aFv198QRTEeS4Io242Ye6jNwTb10BPuCcy1detWJ2ILvjpj3+LIkSPVL4wf98D1gVQhsGzZMvzP8U2E0+k0MhL0n4cSv/rNr5RsP/2SnyoAMAgXL148oGchSZLif/GLX0goumm32yVBmKNUH1Zz8jsyD7A6sGvXrn6LZwCSkpOljq4P/fCjf/0B/Y9f9n/RE44+BPLasQf90bKjErNVaX3KerHq/BkRgTr6Yx8Vu3fvlp54on1yjSoEQPBWM3Xbpms2oHHt2m8cuC8kJ6mCzKBjLtXZtmVL/26FdeknlySEVRs6EABYEdizZ0+vCADkTMCXMmPGDHHz5s3i5cuXsQUbdzr2N0pKSmqw2UZEeISyfIXNK5evWEZnz54Nab77tWvX0Pmy3oZWBQBeZ8ya0a8M0lOggrDZbJZGjxyh3JPqXMN7kKoZIDvxz3/+c79pATc+vSGg+KkhiABQHbBz5wr+Dz/8UNS2exSgsjMbS445c+bIMO+GDh2qZHSuXbuWLly40CvChuMhMHPmDHqCSX7VQ4xXRI8lrUmiDFPovMInTpyohhqMQQaGB0OoM6P6/8FDBx9LAQCgTNiWzZucai2+YIIOAhbmg65pnwJZgIYgAkDtD/g4QrmDEuoXIm0ayUmqrwHPBs5RVGHWH8/Rh2CdIwXLdwc9/fRTdOxYz+rK64G8802bUiR1LV1r96uzI4TDggULBH3bxwl/+MMfKsaNH9fOF6C+VwWsOdfcrwJgyZIlAsqlG4L0OQgOy2XLltWEatnyzBunlQrGWoGojgGYHCivpm/D0UdISkrCw39gEIDQOQcPhmZG/u1vf8vsvk1KqKzK+KojkH2tvG7YsAGDQdC3fdywfOWKBzQArUBYv2l9vw54JCzhWasCSU+YqV9++SXUDhS17XqKgoICJYpSrxGB8EyWLl3ar8/jG42EhAQ8/Ac6BgQBkJmZifePDKyBo9KvupW3dvYPqMaD6OjREpIkSdC3fdywa9euBwa7VgCsWNG/m2EiXTglJaVaLbxq0PU7mHXhwgUwA8R2DXuIoqKiDgUAiJkc/fo8vrH4+OOPU5HLbgjSKSCsc7PZAu8fGfD+YqsqCBXV3ldnSTBHREQ4ilVWdFWi6nHAq6+++sBg1woApoL3+4BXIxu1jkqVYBLCHFu48OE2cukIb7zxhrK6E+y3QNOnT4XT0a5tw9EH+NnPflY9adKkBzoEhAEbHh5O58+ffeRkFhTxWLRoUTlmHNUWVgWA6hRCjbozZ86I+raPI6Be6/0qWgGwdetWqX2LvgcT7OK8eXMVgWzQ9T2uE0uF06ZNs0NbaN/y4fHiiy8K8P53JACQas3GiKNdI47eR2FhYbW2FJeWMGAxY7NBIGjb9ARIp0WJKu0A0AoBrDgsX75M7m69+oGMX//610njx4+/HxRkCPJsmVkltWvUD7h+/bqwevVqubMdh19++WUs0wmaZj0CNmiF07Gj54G8D9RjbNeIo/exffv2akSwGXQdonpoUVIKiTvtGvUA2OYL6aYG3W+oAgDqIVM3vxYDgNn/EnIZVO1GP+i///3vKfEVumb9glWrVlUjKtMQhClBS5cuhVkmaJr0CCidjuU+/bNQCRmTW7Zs+Vr0/2OF5cuXVwfLE0dHYQZjM0RIvPKoqIOdeg2631AFAAbAzp07H/sBgC3NxowZ49c6N7WDHvcLu/vdd9/tt3wALfbv318dGRn5QP+rNHXq1B7tLKzH8ePHhU2bNj1wfpVQkIQJiMe+/x87jBo1ohobXxp0HYJBC289m7npvffeE9o16gHGjRsnwJ9g0P2GKgAQeFJVVfXYDgCYONu2bSsfM2Y0e26BgCq9vYvP4AmHKaRr3m946623qvWCWUsRERHoG0HTpEdAQZXU1NQHzq8SfEOTJk0KWdwBRzeAhz19+jQpWDYbBi+itJj61+195DrDvn377PqimloBMJoxTlFpicR+T7RarUEJy4gDhbA8lpOTI+7dt1dctmyZyFRcJcQXDjXVfMI9ak0AfBYbp2Q5drlPQl+hpqZGnDIlodNVIMa4Fdo2PYEkXRdycsz3n49B9zsYa0yA0ieffCK2a8jRe2ACQAnM6cgLDIYtLCwMybo8UwHv16hXSRUAeH3q6aeYEBij7Lc3ceJEheAZBiFuHTRlypQBQ5g1cW1jxo6hqOgoZQCr6+namV8rAHD/e/buIajDXz2Z/sfIkcMkg67/VcI1l5aW4v0jwemUlL0LtRu/aAnPD0lSCBZr15Cj94CHnZSUFDQQRBUA69atqwhFthZq0ukr02rVZLyq2gCOg6qMwYf3IAwQNb5ePbY/Cc9Mnc30M5p+/V/9DGbO0aNHK0KxrBZKTJs2TTLorlclPHum6eD9I8NoNIodCQD0N8ZiKBOQOLrAL3/5S3Hx4sVBOwQOQKh/6LR2jXoIpvY+UDhDawLgFb8Z7FoGImmFl16AagWAGu48bHj/7mvQGe6F4T5wjyD0SahCwZmJdL+mokH3OxCmqJh05coVsV0jjt4DcrEXLFgQdMZCx2N1AJ3WrlEPARu5o8AY9feDOc4eR9LeA+4Nzs+BsO7fEZKTk3FtD9wHCNe/Y8cOvH9kxMePF9W9Fg2634GgXLhwIYKBxHaNOHoPVVVV4syZM4NKZDBrdHQ0oXBDu0Y9hD4ICBRMAAS7lseVoD7DT7Bo0SL7xx9/3K/7GnSGe5uuPHD9IPTH1q1b8f6RkZiYKCIaUK8JgvA7bKzR66+/LrZrxNF7wMPGOq8hSMeDMbFeHapYcGzqqdc09ALg60C4H9wXmB9BVIcOHapITU0dUDa/Htu3b5cMQe4FhPtB32mP7ykwluLiYh8wmVSCY/XkyZOitg1HL6IzAQCmhAYgCIKobdNTIDZez+haAYD3qi9Ae8xAJe31gjCrwWmJQqFz585FWKv0hz/8YUDa/HqI20XJEOQeQbhH9J32+J6C2fiKBqAmgxl0v8UFQB+jMxMAUhoaANS2do16iJSUlAc6XRUAICSeIOgkJiaGYofFPUhxccp3EEoDhXA9qAGIJctFixYyRlkns/t0XL582aG7/QGNlC0pkiEI84PQZ/ci+B4Z8+bNU7IPMbaCjQVoTEhQat+Ko9fQkRNQnZURIx4fHy+2b9UziKL4wO9oNQBmKzsRULM+JUXcvG1bUGLMJWJzi6SkpAFD2AQ0LS1NhDCVfvfo8RL9gdWrV3coAOALQkKQ9vieYtKkSSKEfDATAGMAmtPFixfFdo04eg/vvvuusgyoZ0xVtQ3lKsC+ffs6XAXA60DIj/+mYuXKlXj2DzAlCH2G2gba43uK8ePHizCRgpl5GHNIFuPLgH0IlHtCsk8wiawKgFWrVtlDUaADG2vqIw61GgBToyVdE44+gHRDMjItEPUeHhgDIAToZGdn4/0jIVAPcmP5oEHPBhUAauIZYlPaNeToPUgfS+KWrVuC7niLTkLUVllZGd24cUNo17AHKLhXE86g+Q2tAJgyZYqM7cLbt3o88cEHHyTBlmVaj5InAD+Knpi9q7ximVV9VT/Tfxfss0c9HpSQkCCazCZpVuKsB/pfJTg2EQ6uvb+eAH1bUlKkRHQG8zlhbMDXwEOB+xBIBpo5c5r05JMPrsuCMZGhBcb93e9+J7Rr2ANgOQw58gbNb2hNAMT6f/jhrxy6Zo8NsFMQs18dTJ12LFmyWJ41a5aSHASbF2qvnuBfUV9RLRek/Uz7XbDPHvV4/I+t15GGq9fMtIRw8F27dtm/utOeAcVH8vLyFAEQTAOAAGBC6aNQ7kHB0Q3ExcVU62P0QWBKLG1BdQ9FNiBjBiFY4RHM/vgt1J97XNOB//jnP5Zv2bLFCS82tCYM5mCz3ONIiGIMRTowUsqRDoxnE0wAQNMYM2aEo30rjl7H3LlzlQwtQ5DOByEIJBTZa6gqhHVebedr19JRlGLv3r2P1QCw2WyDsN6Prb9xD8GWtx53Qp+FoiIUisokJSV1mA4MfxMzlxztW3H0OjZs2FANVdAQpPNB8+bNQz64oGnSI+AciPXWCwDVB4BrWLJkyWMzAJiwMoqi6ICaj+vHwIYjS9VoDEGe5eNICxcvpL0H9gqGR8TWrVuFxMTE+2XgDbrfwVZheJ7tW3H0OpiKX42AFkOQzgehuCV2kdE06REuXbok7Ny5s90MqRUAsA0XLVok19TUCLqmAxLr16+vQSFL/f2opH72uBLuAQINiUDMNBMMj4hZs2YJ6pZwwZ4PxmAotyLj6CbOnTvXYVlwEFTzUNiAyIEXBMEOp5O67KgVAHhFVOLjEAlWUlJSDufe103d1xLuDX1VXFwcEicwxpAaBBRMACCa8p133nG0b8XR6/j3f/93++xZMzstCXX69Gm8f2RgSQwlyFXPv5b52ddkjDHSodRDIYk76C1UVlZWT3lx8gMzvXo/6v960moHekK7/iD9NarXiVd8D6dtqJLBTr9xmp555ukOTaQZM6b7JUl6LHInvnZgqplkCDIYQLBtsRKgPb6nKC0tFRHuidUF/cDH/88+8wyx2TUkM05vgGknxrlzBemHP/qRcs1aDQD/ayMd4dWGBx1ONCRcYYUAzkIQNB0twTbGK5YOVcJn2veh+H727NkK4TOUNcOMrF6v9j7UvsHSbKi2BsvNzaWnngq+BAgaOXKk1K4BR99hTfIaPPwHOgUUyr0Br0nXxA0pG+4vBamkagFgoFCtOvQGmN0vjhw5gp64t8wXbCb7PmN8aDm7d+92IvsN2W3IusSOR3hV3/c35efnVyAPRH/9qgDA0nDKphS69ttr4v0H8AjAEiDGknp+9tF9QYP3y5cvl/RtOPoIh1MP4+E/MBhAWCIM1d6ACDzCltNY8lGXzNQBAcL/2D0mFE7HUOP8+fPxO3fulFXtxRDkWeH6p06dQiuXL08dKHX/OwK2YEcmoyHIPeD+0O9rk9d+FCpzDDUhEVimnh+klktjX5PZ3L/bpX/jgdkAkXpa6azOAqzzBP3xPQVT8asx8NTOVzUAVQBAO0hLSwuJwAklsBaO6j6GIIwPgmCAWl1QEBqVubeRkZHRYWUevGKFo7i42NGu0SMAuwsxDUrxKWkFPvobO0brj+foY2CrqlWrVlF4WJjSSTHGGFq5YgVduHBWkj6RQjabXbt2TVy8aKGyc46W+bXqIEpDDTQ/wIEDB+wIozUEYX4QvktPT3ss8hn+5//8QxKesSHIfaj9MX36dDmUiTnQ/tgYc8ycOVPGyhJWGOAjYao/BM2A2SfhGwss0yEXe8m8hWJ+Xr68bMlK8XxVlejshZ1a9u7dK6kbZwZbFoKq+M4770i6Zv0KZjMHzZpUKXHWTGLP0KFtM1BRXe2QwICGIPcBAYD7xP6G7RqFCNAEUNOBPU8nVhjgj2DPzag/jqMfgcQW/WehBJtZJMyYHQkA0IoVK3plAPYUcGLp6xloafHixcxcdho1TQYs8GyDPXO1P374g0FIy+3V5//JJ5/06hjjGODArrPaZTQ9wZOelpbm0LbpT+zevfuBa9TSitVKUY0Bj7y8vGps+W7QXb8684MQst2+FQdHiMFmVKmzHASEBjM7VKqqqjJqmvUbsK9BR2vYoIGmsQQDnmViYqIEH49Bd/2qUw6mwZ49e7hNztG7yMjIEJBo1BFTwUMNLQB197Tt+gsIZNHvbailpcsW+z/+eGAXs1i5cqUSiRlsByZV/UegUCi2A+fg6BRIpZ01a9YDOwarhAEKLYDNrE52bL/bi8eOHQu6bKbS5MmT6PXTrzu0bQYS8AzXrFkjY2lXXXUx6O4BlZmZ+l+BvmnfmoODQa6xDXJfShXkC7uEuqqtymuLI1W4U9OzOIGysjJx8eJFHTIWBimChoqKH70k1aNi2rRpAmZPQ5DrBGHlYsyYMTWiKBo1zQYMsMMvqgDpZ36VMPtPnz6NTp4sE7Xtuos7VwqFOxcsQt29saG8MpKr9hr1x3I8ZvBdSk/6z5PrxfrXNzvcr6dQc/kaaji+SnltqdxMvnN76GbZSlE+v1v0Xy016tt3BKyZHz58SIbdGWxGwmdQVydNnow944R2jfsYKGixbNmyDhkI1xoVFUXr1693DLSdgC5dupSEfIDOVjEgaPfu3SM/TGlzf43NKFftEG+WrhTdVbuo+cRmqju+huqOraLa4+vY+7VUW7baUXtyrdhyOU30f1Aq6M/BMYDhhgR/faNDPrZSvmWbSfWWieTJHkG+zOHkzh5Ovqw4hdzZI6nBMpnkowtIfmO95P+l1aE/V0dgg7N6zpw5Ha4IgLGgISB2oF3DPsZ16bpQWFSo1MgzBLlOEGLdx44ZDTVaunjx4oDIbLtx44Z48ODB+6q/Ich1Y/ZHHzxMOm7bz02OpspkqfHofGqwTiHZNIKa0+JIThvGaDg1ZoyghvRRVJ89no2NqdRUuoRc53fI8qUDgv5cHAMQrT81SbdKlsmN9unUaBpD7kwjebIiqSVzKLWkMcoYorx604eSJwOv0dScHUdN9gSqZZ1dezK5XH/OYEDMAZtdnfqKwXoaPny4f8eOHfavWvYtJKc0qLi42I5cBUOQ6wNBO3iSCStoNNOnT/Wj3n5BQYF0+vRp6Y9//GO3nkeokZ+fX93VNcPXkpub6+xuQc6GC7vKbx1dQXXWSeRhjO/JMpLPFEYtWUPJZ75HJjYmTOFscoig5sxIkjNiSS6YSp8dW+Zsenu/pD8nxwBBy5W9xrZ39jhv2RKYFI8jD2N8Xybr3LQhAabPvPeK/9Pvvccr6+yWnEhyp4WzmSCKbuVMIM+FFLrzfpadqYpdqsTIRQimoqqhqZilpkxJQGqyHVGL7Vv3HZYvX16NUNaOHGkqqYlOagYcUm+3btlClZWVfXL9+I2KioryCRMmBH2uKkG7WrJkCd53CdmRNEiuWCrdsk8jr3kU0/7C6HbOUGqzhdOXxV/RX49F0t3CcLprZ98XMMpjx1jCyJUVRfUZw+mLvInUeHa9U3aI/e7c5dDAX2Myet7aKjWdnEeenBjG+GzGz2bMb7rH+CppGV/9zBpBLblMCGQNoda058iVEUGNBROY2reJ/B/kVeh/S4+jZUeluLi4TpkKWgL2GCwvLxc0TfsU2L9+7do1flxnR/6AjujJJ75Dm9j1MyEgBM7We/jxj39sx7beagaeIcj14B5iY2PIarV2ue5/szzF2FC+2uEqmUzuPCO1Zg+l26bB9KUtjDF7GPnLotrTsSj6siSSviyNUoTCbSYMWpkQgKbgzo6i2oIEqj+dLGHC0f8WRz+h/sx6sen4LPLkj6QWczi1MjWuLYcJgJzwr2Z9lfG1BAFgxnERSruWjOeY8BhCzeZYqre9QK5TyRhwnUIUxUGJsxOrn33mwSAVLcFZJQiCpGna50A8+7hx4zqdWTsi1ORnJk+vX/++A/uVZwUhFUyo4jMs+yHzsjs1/26Vr6u5lfcieSyxirBvtQxmszoTAmz2b7WxGb84ku4UG+9rAXeLIqjNHql8B2qxRlGrNYyNpyF0x/wcubOiqZaZl62Xdkv/uGoy6n+Po48hn9kc3/DaUrk5L458lugAI7POasmNJG92JPkYedms7s0wMls/hppNxgBlG5mZEM0onB0HARChaAHwFXiZbejOiqNGy3RqOLerSxuYMRZ2rumUsTCgkUW2ZduWLs/Xm2CmQCrUa7WugUFzfWCujmZdfH/o0CG87zXs2bOnHCsSwRhfJZgms2ZMp7feequiq5x/3/u55Q15s8h1JJbZ9UZqsTCGtmB8RChmnzfHSF5rNHltbCxYjeSyxJArN4bcZjYuzFHkY9+3sO9b88LpTl4Y3bEMIV/GUGrOZCZm+SpquSAK+t/k6GO4y9eSyzyOzdpx5DZFB2Z9JuFbmAbgszBGZzZfvfUFqi2aQ7eKpjvrK5ZLXxxdINUWCfJNC1MLc4ez46KoJQ/SPuKer4BpEOlMMJhHUNPJVXT7/a5XB5gQsDPG6rBGoUqYSdetW1vDjjfeb9zHeOWVV5KmTZumLGOqjN8Z86vfr1m7Bv+HHAjg2blzp2JKGTr4fTXmn2kw/lSGdicIghbHXqNcNMfpPRBF3kNhbAIYojB/a+5Q8mWFkzsjmuTsUUzIM5W+MNFfV5Ao3SxMlBqL5zub7LPYBDCaTR7MZCiOC5gFxRGKyeDLDidf2lDWdjw1HV3aK8+Do5tw/bwwqT5vKjVlxFEzm7U9bLZvZZ3clgchEE1NlpEkH59D9Wc2yt7LBx23382877zxvJ0m1p7e6JCPC8x0GEVttmhlhvBhtSAdqwXh5DHFUoN9GsmnNzu0v9sRCgsLJdiunTnavvWtf0HgDUpvOfozcg11Dl99dY8f+96joIrq/At23fgcNI3NvO3P8uiAIMSzwD4F2rRl7XWoAgCZmJmZmVL7MwRHfeWW6qbcF8l7kDF/6uCAlmeJoNu5YYpm2Jz7AjWVLSf55FpHy+V9otrOfyXV2HZxj6P1dJLsKplB3sKRdKcoiu7khyn+AE8mEwLMfHRlxFJt5mRquZQhfPWrHH0K2XFQumUez1SyKHJnRije3bY8Zt/lhzNVLo7Z8VNIrlortlzpeIMQn2N3RXPFYnJbRjG1D2YB0wRgMuCcphiqt4yhhvKV8p0ai6Bvq4ckScKGDRvubyQZjJlAyrr72LG0detW6c9//nOXs1lvAdd75MiRCiQMwSxAso1eC8A9qE5DbILxxhtvhPR6N23aVAPmxzPT/ra6ioL3+H0IKTgHP/744yTdKYLiP/MWVdenj1KYX1kNYup8GxMArUz9d5mGkbtiOXnPiXZ9OxV/u2oSPI7Nolw2kzz2YUxzYOfIHkIexvyYJFxsfHyR8QIbX2K3BBJHL+A/y1ZLLmVZh6l12WzWNjHmt0L1j6K6nLHUdk7EAOoUsiN1kLtyrd1dMJOZCyMUQYK4AU8WswGZSeG2xJJcNpdpEZtFfdtgyMrKSu1oaVAlDGx8D4bKNpv6dQBh2Q3FTIHs7GxnR4yIVyy9LV26NGTXu2PHjvLY2Fjl3CoZgggAPCtUZTabzd0SPgjl/aJ4kb8+PZaNDcawzLTz2WLpNtMO3Tkx9EXuJGo4s67CX9N15GNdiZBaa4knF3xGiB2BQxnjzRRBjVmj6POSJSF7HhwPAf8Vm7G2aLbTmxNJt03PKZ3Sxuw7LOl5rMOpoWgBU/+7vzdcrUWobmBCww3mN2H2jyafmWkDeayjCyfSZ2XzRH2bjsBMVMXG1u8qHIwiIyNo//79CBnuk3X2roCSW2qxE5UJMQOr7xEXsGjRoh7nDuAe33vvZ+U7d+5QBKBe4wCpAhLLp6Dp06f7DxzofiQeQnjrrHOo8UjMfY8/nHltViM1F46nhlNr/Hdquqe636zaJdw6mcRs/mHkzWAmQBYmGmgUzJQwRZJsX0C3f5rp0Lfj6GW0/Ti9uqlQoFZrFN02Dw4E9MD5Z2X2nW0UNZavljzn93U7YKP2tQ3VdZYprIMjlHPBZoSUb2MCoKloPLne3OzoTmCQCqZWYx97v3YmC0ZgLtQXwB7zZ86c6TLuoLeBopswBbRCwKBhTPyP1YyZM2c6CgoKRF3zLsHOb0dMBJb6Onsu6m8x80Detm2bqDlFl6i1LRPrzMz8S2NjAwLAwhg2Fz6AaJKPTqX60+u6zbDIG2h6Y5PUaBpJ7jRoh4ElY0w23uxwash6kZqrxG6fjyNEcL35SrWcN511bDSz6wLhnDABsJzXbB1FNwsSRH2bztD24wPVDWVzyJfDZgoEEGUMCXQ2O3dj3liSz6Q4HiZhCLh0qVqCiqvmsXc04PE5cvaxoQVTi7ul5vYWKisrK7Dlmlplx6C7TvU9tBscFx8f71i3bp0DOyR3RHDygbCLLtrgXrsSjPgOFYBOV52W7l1at1FrmiHWpcVT85EoassZTHdzmYYIE5H1rXw8kZodLzv0bTrDzYJJopwznLxpYeRG+DjGmpmNETZJyOnjqf5o0kOdjyMEgABozJlKXmajt8FBAw1Asc3CSLaMIt/lXc6/S2Xd1gBclw5VN5xYpNiKLdlMo8gYrMQI+LLDqCFvDH1mmyHq23SFP/3pT/FlZWXKQO6ohqCWwBTR0dH+LVu2SG+88Ua3nF2hxnvvvSegiAiSh7q6Xgg1BOXALECYMbbk6oigNWDWD6by6wm/i3iAktIi+uRPD1+DrzZzmliXPpHkI0ZqY315J+c59goBEEVy6TRm/3dvVUfFZ9ZJYqNpmOL8gwDAuECUqTeLaQDpE0guXvlQ5+MIAVxv7q2+VTifvHnDmDRGsg9sd2a3W2KoyTKCfI6X6E6NSdC36wi1lRuqG0unKysImPVb0pkQODKECRRmUpQwdfJMzyr8QAg4HG854RjUrrsbggx8EL777nefVGr15+fbUXr6oRngUfHmm28mrVq5TPFh6M2Ajki9J7wGI+0xHRG+f/qZp2n2nNn005/+RMazM/QAn1kXil9kvEiNqdHMPHyObjMBAN+QwrB5E+kvZd3fzl2uSR3UcHJRuZwzTPELKUFC9wSAj2kADba55Kna0u3zcYQIWMf/rHCp31M4UlHtFAGQHUU+s5FciPg7vohaLmwV9O2CAXHd9UcXSp78sdRqg9ofEYgFYALAa8W5Esl1JkXUt+suPv30U+HkyZOOefPm+qH+dicWP+Ab+CFt2LBBZjaz2Nc1BvelHhSnz5jR7dwBbSSh2kb9TPuqb6dtj+XRqdOmymVlRx2f3uj5PgU3y1PEz/PmkZwxjJmHQ+i2ZbAi1FsV7XA0fV44R5KrUoz6dsHAjhPkk4upOYsxPxtj7mwmADKYADAzbYBNNg1HV1DblXSHvh1HH6C2cp3kLh0fEAAZTABgCQ+hvUzSf5E9hr4o67rg5d+v5cTfdmyX6nNfVMI/4TGGH8CbHhYQAPY48lYtpbvvp4r6tg8LeLJnzpyheLYNQZggGGHpDRFys2bNQopunw401NgbM3ZMp0ua3SWtJqCSVjDAlEDFZbPZ/MimT8uHxWLDa8kkm0cqqwBtVkZYIs4dSq4sI9WZJ5Hr9S0Sgn70bfWQTy6tqc2bQB4lehAmQIRCXjZJNOePpM/KVzh5wZB+gv+X6ZLr2AQ2S8eSLwOqWWAN38fUtMbMOKrPSaCGNzqPvXeXJwnNhQJ5jkQrsQTwGEPthwDwHmHCoHgU+d6Y+xE9xApAZ8jIyEh9+eWXlZBgPUN0RGAQqOPjxo3FJqTShQsXpO4GxDwqNm3ZlIqCm6oQ0DsGH4VUoYBVh+TkZOT2h8QB6r9abqw/trLGa42nVuSGZCOGP5D8hdyQ5rThJOfNptbzu5z6tlp43thQ3pg3k5qyY5XcEnj/sfQHU8BriSJ3wVhyOXZK+nYcfQjXqXnUbButLAci0gvBO+hkT3o4o2iqzUqgxtIV5K5MtsvlgtDiYCpd5QpBPj5LaDy31dlgmkTuI3HUdgQq4pBALAHWeRn5WKc3H5tKbY7Qenk/+OCDpMOHD0tjxozxB6t02xlBxUaNPCQfYdOPpKQkobCwULh69arx3ulDDjgkIXhGjBjhfxjtJRhp/QJQ+fEMmFCU2DMRDCFEw5kUe2NJot+TFadEA7akPR9IEWdC3psWTU2vRlH94fGI5KPWn6XVuNmYcEPdL58lyKXThMbSuVJDzhRqzkBAGBsbVsQSRAUyBG2M+W2xVFeagHvi6E943npZcp2YQXePxdKd4qh71X8Cy3i+tHBqSjeSnAmJP548pZOo7dQCch+bTq6iSdRkH08uM0qERSsMf5upiq3WQCIRikEgTdRXtUb+P5JV1P9uKABtAIE3HdUW7IxUWxtVczZv3kw7d+50pGxWfAViqJkJuH79OgSNMyYm5oFr6S7hmiHsIPSwiy/Kq6elpdlw/t7AzaNrJJT38h1i44EJgdYsRswkgLPYkx5DrkMx1Jg1hpoL4slXNot8J+aR5+hkptpPIHfuMHJhpmdt2rKfozu5gxUhcDs/gtoKIqnRNo5c57bhvjj6E3feOyC0VidTy7Ex1FI0jLyIC8iLZDP5PWceEwbIBEMCiJIenMOYOieG2vLYcdZo1qGRdLcoiu4WhNOXJRF0x46ML2Yz2sOptTyR/D97tVdVbYfjrYrMzHQaOXKk4hvorjagzqI4Hn4CMFRUdJTCVMuXL5dXr17tOHjwoKO6utpx9cOrjk9ufOK44ezefolwWv7mN79xnD9/XlnHx/o90zRkdSXDEOR6ukO4VjhBkQfBrtOBNGpDL6KuShS+YCp8c0YMeTOZUDcPobv2IXTH8jxjaqYNZCBLENF9bNIwsdmdUQtT8VuRGq4sGw5RJoTbNgSYMbsfZI8lV/5wcp1ZSXfeS7Xrf5Ojj4F4brdjs73hxBySC8aRxxJDLQVxSlGHO/nh1JbDZnUzqrogx9tIXiT8MLptY8zOpDnKQCmVYI4GqsHcZozvzoqiprzRdOfHmzBwexVOpzQIhS2w0yyq98IZZgjCPB0RmAozq3Z2BZPBTMDafEJCAs2fN5/WrFmj7AOIWH72XkpJSZG2idskcbsopWxNkZjAkPAdduBZtGiRDLt//PjxhGxB+CtwXR2VQe8uocAnuwYqKSn5qK8qELsv7KTavASm6cGOD6M71ufpS/vzgRkdlaBMSPyKVEhZSboXCdpmDjgNWxnzt7FxgnoB7lwjNVrG0K2CGSSff6lbuQQcfQT3hb322pIFfsR/u9KZ3WeOUtZ+21AAwnov159pBMpaLpP4EARI/0Wap1IP7igqw0SSnGakW6njyHd+p3z73ZwerUM/ClBoFDPtkCFDHvC+q4yuJ1UIPKwZEWpSg53UVxDuAUFFgiCQzWbr1OnWG/j7h8Xxt9/Z72zMn0Vy1kglNPiuhWkCVqYJ2BE+DoaHEIhQEsHaLNAMmQaJMcMEhuIUzomiZjYuGhnV2ub5G05vComzkiPEQMfU5c2hhvRx5E5jEj890HlIBIEQ8Jm1AoB9noMKMayTbWHUxjQCT8FIqj+6gJqrtslMoAj68/cFsB/9lStXHJmZmTIy4NS4/O4E4wwEUgUAtAVE/mHDzoMH98ko3d1fO+veuZQqNJ97Rf6igNn4+WOYNhgQ/koFKfaqePbvCQDFbLSiHFi4UiSmjWmPPnMcNeSMp8aiufSX0hU2/fk5BhB8b+6pcJ3cQI3Zk5TlnibTSKU2gMdkVMjNZn4Ec7izjUwtZNpCTiw1m4dRI1P5Xa+vINfbu8W/Xe3/dV3Y4XDoFRUVMLV5CdMIhoZ0CS7UpGoh8OyjcAcYn6n6KIQq3niEoJ5QwX+9XJAv7hUbX19DcuFkki1jSc5hY8MUo5QHd2dGkScjShEGPmsMeQuGkTuffW8ZRnX5CdRQuZ6aO6kfwDFA4HfYBrkrdwm+M9tqGo4n0c3cWdRgnkzNmaPYzD88QNgghL02msfRZ+aJVH9yGfku7SXfOwcHnGp3/fpVJgjO2U8cP0Fr161V4u7VpThV7e8P7UAN4lF/HzM+ri0pKQkl0D/CJqpYOTAMMGBbOHdVil1+fT19UTiXGk0jSE6PZRSjUFNmDDXnDKc6+wS6VTqTGsuTyO3Y8ZGytVyIYkE4+hCey5nxnrf2SHL5aqn+6Arp86IFjBZLdWUrpPrK9dKXvyrpNFBooOHq1asStihnM6ysVvGBQAATPmxMwcOQuuKgzvRgeNj2uAbG9P7s7GyJCSvJ8BjB8/OcivrX1yvj4gs2JjA2brL3TeVJ0u13XpW0JeQ4OAYUrl27JlZUVDjWrVsjbdiQTFOnTlWWEtUEHpUMQZj5YQnngWqP1QCkN0+fPh0RifDo1xQXFzs+/PBD0cDB8U3AJx9/7MAa+UBRbyVJGvTh1V+KtgKbuHbtWjG/MB81BWj16tWK5x0MC8bF0iA0Bczc0BRAqnNRddrhe5QEe+aZp+n553+k5CDMFmYr53rllVeoqKgItr2IQiBMExG7uyVXb+N3v/udErfQm9GQHN9w1Lz/furhgwelxYsWKWG4s2bNdJaUlkr64/ob2AwUcQXYBGTXrl0Ctgc/cOCA/cSJE5SXl0fp6el08OBB2r59O3YEVmz2LVu2KGXJEFpss9kIx2ZnZ1agrbhLFNhnAnY5HihCT4uysjJp2bJl8iLWLzNnznRi85Lf/va3dv1xHBw9xtsX3xZXr1hJ37u3U6269g4bePPmzU44vAbKbPhNwa9//etqCDN192DV94Gy7KgefObMGVHfhoPjoVFTU2NEOCwi67TMb7hnH0MIwB5msy6bJB3cS9zLQH8UFxeLTDuRhg4eer8f1FUJvKICEUqQDYQiqxyPOS5cuCC8+uqrin0MW1nvZYctjVmIqZ/E1O4BZxJ83ZCWllaDSEk8czVSUqsBqNGHMHHQd7rmHBwPB+yIi/x9CAAMLP2auxr2Ci/5sGHDCPvb6U7BESLg2WKlQy0qqvaFKgBUDQ39hCrL2O9Afw4OjofChx9+GH/48GEnPOlgcr0AUAcivlP9AjAJLBaLvTfScr9pwPZpjJHL4bBEfoR2aVN99loNAAIZKxmsz+R3332Xr+NzPDoKCmzikiVLFAcTZhftIFRnHW28Po5BFp7dbidU2W1/No7uwuFwJAmCYJ88eTITsAF1P5gA1goAZC3OXzAfewiK2nNxcPQYSNBhtqc4b948GeqnNktPHYDagQiCRoAc/W3btvnLK8odNz7t/3j4xwVY1y8tLVVqEEDzUvcowPPVMjtIfd4g9Mus2bOcmZlpAyZGgeNrBFEU41etWqXk2qsDUmuHagWB+v0zTz9D06ZMI+y7d/78ea6SdoEzZ87EW61WOT4+XhGgBs2z1T5jfA7SCl5oaZvFzfwZc/QeMEAPHDjgxI62iJ7Trwqog1ErIPD69NNP0cSJE1H40onqwFeuXDG2P3PvAYUr7lzZJfz1V9nO5osvU8Px5dRgnU6NWZOoMSeBGi3TqDZ/FnnPbaS//eqA884VUfjH1a4r5oYKWD5F4JKZCUmYTk899X3lGerVfZBeACAXAs5X9lxlLmA5+gRw7h0+fNjxYsKLfgxW7YBUBUAw0wDv1Yw5ZlI4Ll++LOpOHXJ4LqeKrvPrHb6zq8j12iySCydRk2UUuVDs8ghy4I1KOqzHFEsu60hynZhGLWdXUNv5dY7bV9JE/flCjbKyMnHPnj0oO0aR4eHtnpteuILU70DPPvs0TZ06RU5NTUUYsNDuxBwcvQ1mEghgZgSeaAeragIEy9+HnQrNATH6SUmr4CjsNUHwv6+X2hrLk6neMpGasuMYxdxj/DBqOTyEWg4NZgIgLLCXQibq3kcoNRObso0k58VTw8nl5PtpWq+kSOOed+zY4UANQzw/1bmqLrXieaqC03Dv2alCFMfAN7Bp00aENvdqzUYOjk5x+vTpVLPZrMzsGLAGjQAIpsaqx+A7bAEG9VUQBJmpsFIoVVjZsS1Vrlzpb8wdHdgpKS2cXOnh1MyY35M6OEDpg8mHCsrKxqqM+bNRI48JgwxsoBHJzIORJL++zN9wapVdf/6egs348ZmZmdL8+fP9qFmode4Z7j0X9X+V1DRn9T32DTTnmOiNc6d7RThxcDw0Tp06Zd+4caP/X3/0w/uzmKquGnRagJbUgQ9TwmiMRggrFRYW1jC1FrX+hfs/0E0oe9md3VFeZ08kOd3IGD+Mze5DyZ3O6AhmfDbTp92rlKzudZ+LsmlRSuFUbH7RkjVEqYiL7a+b2We1BdOZNpBslx0PXwQT9j32LSgoKJAQow/mRRRfd56P9hhQeEQ4vfTSS/7jx49zxucYePj973+fmrIpRUpIeFGJGdBqACqj60kd5OpAf5KZB9FRkQSbOD8/HzkGguYnukSz45D9VulKasgYFWD2dMbIKI0O5lcEwFCFvJjxsamqstkFY3xGqJKMQqqt2dhEY4iiDfhywqjJNJrkksUkv7mzQv97naGysjJpwYIFdqycYLZ/mKrCeB7qrI+lV2yWunL1yprr16/b1PNzcAw4lJeXD0IQClPrJdj5qtoKCuYTAKmDXTsb4nhEFSYnJ/uR/PLVL3SOpjOb6CZ2O0qPIQ/2sWM2vo+p+q0HfqjsjuPKiqBmUxw1Z8eRnBnLZvjR5LGOILc5llqxlwK0gqzBTEBgA0xUzGX/m2NIzhtHcsVCXFu3YLVaRVQtwj4CqpBT1f1gzj09qbb+6NGjsbz3UU5Ozv/f3r3FxHGdcQD3U5/z4EaF5Wq82Ka+4CBhY8cJbe2mjhNMSGzVl+Jx1q1Sq8jINrAX2FlYXAIGs1AHkhIXVHArRXa3dRI5CrImqtSHWKqQIlVJWGZnL7O7QI1WdaOmysvX882ydJlwcR9aY/f/k0Zgi5n1WHzfnPOdM+dIojVRsPABAGsZzxkQTdWJ3RW7jfHs9Pz1dUv8svORDpL0n9NPPy52HTlyRLtx48aqxa65P5zrVdsrSGssEn38PNJFf59XutUvctGPN8PYQKpjM026yynU9RxFew5SbKCaIt0/oIBcRmHHptTiqY3zwc8H1wjE11irlWI9ZcSfYf5cs9HR0coTJ04k169fv+ge0/e3XGsoffC98/Aer4o8MDAwYbfbC1JXBnjE+P3+Uo/Ho4hfZo032cicRZh5LBcU/PdWq5XXHZDmL7mkpNJboPYdntDO51O0niv8TxpBz0ugRxrySLtYZCyOGrpSrczd/Hplf+Zdtyf09mkl2L6Xws5iY9XkuGg98HXi57OM5dTD8iZS+6om9HcurVisFMlP4i3EOJD5yLznzO6O+Z6/IX5uo3UjVb1QlfT5fAr/3y26MMCjSjRfJV5XgJfp4pdaMqvf6WaxOSD44EDhwhkvxbXogibx37lH1O7nF6r83OePN6YCN9i0kVRXGak/3+83n2c21VutBOVyijiKje204udSCYC3VYs6C+jz7ucoPHZh2HxeJnGPUlZW1qIgzwz6dFEvfe9cG+AawQuHnqdz588N3/LfkszXBHgs9Pf3cyIYqampIX5KptfoW7dE4KeDZevWrXT27Flp0YVMJgdOjky1PW1U+KPpCr+Dt7QqpJDr2xS78golBqVK83lmydH6Sv3qcdJc20X3IZd0Y8SAC4c5Rmvis9ZdpHbXrJgA+N9aUlKyZALI/J5fsebNTW1nbORqcfFehJLpUgCPH54GzMuIDbx5dSI9kSg9NLZuPgGkWwTcF+Z32xVFkUyXWeTTzuoR1Vsugj9rUR8+Ip7aqniihwdP+ugB1rVPip/RBms9QW8FhUUCiF60LOyaw8dk4w76i33figlANN2l2tpao+6xbj7g04U//p7vld/r52HBsbGxiaGhQV5SbdV/G8Bj5+7du6W81n9dXR1vzpnkVgEXDbl6niOaxa/aXk1eu3bta312s0+avzMScO0QfXcRqM5civHYPhfvRBdA69xP+vU6yXzOcu75G6RY/0EK8445xkhC+simwIVN9FlDhf9Lv1xgPi+TSHKe06elpMViMUYzOJFx0FdVVSW9Xq+C16QBTMbHx+v5HYF9+/YN7xXHKZtt+OM/fyybf86Mg3Gy/YCiima7zkGfruDzrD7RbI92HaB71x98Xv/9Dzsk/WqNSAB5FL2QmQByaMqxhbTLr9D9m22S+TyzO3fu1NvEPezZs8e4p4aGhmHxpF/1fgDgP5D0t0lB31GaEglgYfiOj8YskQAsFOl4lvRrK9cQMs3ekqVQ32EK8x6K5gTgLKFg33G6//6Dz00AgP+ie7d7JLW/liZdZUsmAM1bTtobNZL5vOXow3VSuHs/RXgn5UVdgBwK2HdQaPBH9MWHSAAAa8Ynl18eCcjl/w5+3ua6iWf1ZRs74QY6nvFovdWrFtq0YekJ1ff9XlXeQRHRAtAbc4xjoQbgKKNPXz+8YhEQAP7HgkO2EbXt6YXgn3aLoznbSALx5nyKdO4l/ZenV53Ln3jrpCfS8yxF3FbS7bnGteI8nDifBFT3LprsP44EALCWREcvVk5eqtSM6r8I2tlWC91rFQnA/i2acYiugHsDqVcOUnzsp8uOKCSun5WDvYco0rJRJA8R/M0WmvFYxNf5IUVHPgW7vkeJd+xIAABrTcD3khKRiynmzE8lAG82Tdu/SbONTxpJQWvdRuG+7ybjv/qh8s/xJuUrRS796k9y6T/G7UpiRFJCPfuTWtt2EfD5NCNbaNadZVxjVnwfc4nznVto8spLE8nbHQXmzwaAh+zvH3T4ApcPGHP2ZzyiCyDzkzub4o3cEuAneT7FWoso7rVSorOE4pe3G8f068U07d0gWgnceshNvQEoWgAz7lyaa82iWXGtSIuV+Np/fa9l1ZeBAOAhib59SlE7KighAppbAXFHnvE+QIz786IpH3dlG1OFdbvo1zvzSHflUlj8DNcJjOA3XgfmacT5FJc30JwsWg9yHk15yyjy1rFV3yUAgIdI65We+Lz70Eig9SkK2QtFoPNQHlfzxdO9Oc9IAHqDCHAnN+tzKW7nqb5ZFOfgF10HXiREbxIHn9tcSAlPEWltO0kfOkWJ0dcqzZ8HAGuMftMuBQdPUMDxFIWbCil6XrQCGkTw81PdlaroxzgZtBSIBMDVfZEMOAHwnzkBOAoo5hDnOYsp4C6l4NWjlHxX9vF7AubPAoA1auqNY76gp5w012aKiqd5rEU083nVn6bs1HCh6OfH3AWpOQPGcB+3AERyEF2DmGyl0KVdFBqyKX/7Y8+yIwcAsIbpA8cUredFUuUyCjl5bD/11J92WUTfvpCm24uMPj4nhqh48vOeASFvKYV9L1L0Fy+jzw/wKONmu/7rBmlaPMm1niqacu4UyWAr6d4tpHftpJmebRTr2kZa+2YKdz5DYdHcTwxLH/E5CT+G+wAeC1/45dLo0JnKgLy7Mjx01BMf/THpo2coNmaj6d++RnO/v0DTv/lJfXT4Z5Vf3sYafAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8P/lX2gjVxlbInI7AAAAAElFTkSuQmCC\"\nexport const walletConnectImage = \"data:image/png;base64,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\"\nexport const walletSigningImage = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAABAsUlEQVR4Xu19CXQUx7X2vCUveS/vJdgx+yaJHQwI8G4wzWIbG2LLNrbxPgnY7CC0SyNpJBAIECAZAbLB8gAyKGGxiFnkGJwmz47xsU0mvyEWoGW0D0jgSeK88L84/7l/fS2V3GrNaDRCEiPpfud8p3qqu6tnpvt+favqVpXJxGAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYbYvCwkKlpKREvXDhglpQUKCKz+qlS5e0z8j3N5aXl6tXrlwJMf4OBoPRDD777LPg7Ozs0MOHD1NiYiLNnTuX7rzrDho5ejj179+f+vbt69ccNGgQBQQE0LBhw2jUqFE0ZswYun3sGBo3cQxNmDiexk+8XaTBIh1LwYLfbY/vcvsnTpyofUbqjXfeeSdNnjyZHnnkEXrxxRcpKSmJfvnLX9KuXbtCz5w5ozgcjmDjs8LoQlBVNcBqtZrFjbfjIYAR/fCHP6Qf/OAH9C//8i/0z//8zw2p3P6nf/qnhtRfKH4K00B534z5kvr/71//9V/p3/7t36hHjx6aeM6cOZPWr19Pubm56tmzZ81CCHqYGF0LH3/8sW3lypXqtGnTqHfv3tpDAOLBkakkHiQ8KJ4EwOTmAfMHGoWiO1HeO2O+O+r/M5wDMfiv//ovuuuuuyg6OloTAhOj68But6cvWLBAc51xs40PhHwojHmeiGP9jcbv2N3Y0v/A+L/p/z94gqhiwSPYsWNHuonRuSFc/h5Qc9xQvNXxpseN/t73vtcgBCbDQyDdf32e/hh/pvFh7040/hetIcrBs4H7P2LECEpNTaWTJ08miRcIVwk6G/Lz8wOys7Nts2fPph/96EcNN9hI5Mt9uPF4AOAW6vPkMc1RHmcsl+l/bMk9wjMwdOhQraHw008/zTAxOheE8eehoQ91O1mnd2f4ktLY5bEyT79tPEdPvWi0N+HJQKi+//3v03/8x39o3gw+y7eXPAapvlFT5hn3ucvrDMfrabwfbUWIQHJyMrYZnQUOhyMdXXvS+EWWx4dFNgLp98OQjMcZzzWWhxQPJozylltu0bwOtDKD+B4y78c//vEN77/11lu1/J/85CdainzwP//zP7XfAqI+ixTfR6b6bX3aWY9vDfUNhfr7647yWYAIcJtAJwFc/xUrVtjRvac3UiPxIOBBQl3vwQcfJPQQWFcnqVu3blW3bNmiWiwWdc6cOWpwcLADDwCMW76JcD4eJqMIoMwJEybQnj17KC8vT33vvffUo0ePqkeOHNFSfJbbN7L/3XffVQ8ePKju3btXfeutt9SsrCx127ZtGtPT09XMzEwtxW+Rv0fmdbX9mzZtajHXrVunrlq1ShXPh+uJJ57QYiggoNJ701N/b/GciGeBcnJy8sTLJUD/vDH8DMIIdk+ZMqXhLe6O4jCttffhhx8mq9WqijqezViOxIcffmjeuHGjberUqdSzZ88GATCWb6p/cFDuzp07STwoiqEohp9A3JvQL7/80iZEwfbMM884ho8Y1qzXB/FH13FoaCjZ7XZz49IYfoOTJ08qP/vZzxxwjY1GrzdUuJfiOPv27dvNBQUFAcZy3OFXv/pVRkREBPXp06dJmfoHB28LRVEIobrGMhj+h9zcXGVn9puOsWPHau0pRhEAkQeP74477iB4XuwF+ClWr15txk0yvp0l4eqhPv3CCy+QMH6fwj7RFSREIEm4j5rb6O4apvoHBvXxQ4cOsQB0EiA0fPXqdSSqew1VO5MbEYAHuHbtWnQNKo0KYNx8nDt3ThH1Qs34jIYpjR+NZC+98gqlpaUpxvNbijNnziQtXbrU1ZwAYPupp56y48Eyns/wT6iqGrxhwwY72oQ8tQkg/7777iPxnIU2Pptx0wGjxgAPfVeYnlB2xH2/8dZbqv3SpRsyzHfeeSc0MDCwyTVMuodlxowZlJ+fbzOey/Bf5OTkKM8++6wDPS0mNwKA5wptAeL+I4/hTzh+/HgeRnrpu3kk0YgDz0DU+0m8wc3Gc1uDV4QnoTd8vQCAw4cPx5uCBaCTYdOmTbtRjTS5EQA8R2gnCAsLYwHwN6SkpIQOGTLErQDg7T948GAM/T3dViO93n77bQoKCvIoAGgsfOmll1gAOhnsdvtus9ncRABA3GM8Xz/96U9ZAPwNBw8epF69ejW6WZKoFowfP55sAsbzWot58+Yp9957b0N8gF4AsI3AHfGg5LW0l4HhPxBVSdVdOwCIe/vAAw+wAPgbsrKytBZ+k0EAZCgp+vFVVW0zAYiIiFBmzZrVcA2T7iGRvQ3oNz5//ry58ZkMfwcChvSNySaDCED4Oc7Dz7BlyxatfmYyCADcfwgAxgVcvHixzQQgPj5eCQkJaQglNukeEHzGd1myZAkJD8Dc+EyGvwMRlQi39iQAmF2I4zz8DBkZGc0KwOOPPw7V7hABkB7AE0880WZtDoyOAwtAJ4QnD0DWzxH73VECACJYaMHChXRSVZPy8/OV9iQCU0BRxem2tNvtjXnunHKuoEApqCdcdqSY+BXbzXHnzp12xIywAHQiePIAZCNdRwsArouBQYgcjIyMbHPGxMSQxWLRJjXFcFWMW09JSdEo6rDdjrj/r7/+OmVmZtZx2zba8eablJ2djcZfre8eg7RycnI07t27l3bv3k3ozcF+EMciLyEhQZsr0p3xgywAfojmBOBmeAAgrov97UHZzoA3FSiHCoNyGHF3JFx3SYwJQXdsv379tAlg0RWMAC6kAwYM0HqNbrvtNi3EV27LFM+N8X5KsgD4ITZv3uxWAGAsN0sAmP5DOZRbP6TbeIx8Zjy5/pIsAH4ITx6ADA1uawFITU1F2KhWtj8IgBQ7fJfuRCnwoNHI9cYu9+vT5ozcE3EOC4AfwlMjYHt5AOnp6cpzzz2nXQvXQMrseMr73JwAIh9G725KMWN53oiyJk2axALgb+hoATh69KiC+QEwt4DJzYPC7FrUi8VDDz1ERUVFvCSbP8FTFUDeuLYWAFVVe8ydOzcJjUnNNRgxuw7xLKF3YNmyZfjM8Cds2rSpQQD0xt9eAgB88sknIUlJSY5x48ZpLfH//u//rrU5QBA6gsa6bnekNzcex8iZk2WPCT7LvOaov5f4jKHA6NbNzMxUvnsKGH4BbwLw2GOPtbkAAJgjbs+ePa6ly5cThgg/+eST2gSSiDxsTz766KPa+AYQcyB2R959991ad59RBORnGC4m+MCYDYSC475gnQi48NjGfwhiW79f5uE8yaeeegqxFw7h+dkcvIio/0EKgNH421sAAFGucvb8efN///d/m/Pz8815eXnm48ePtytxjezsbI1ZWVnmrVu3djvu2LFjNyZ2xZvapBMAGD7uO0ZkIlgqNzc3ad++fea9e/eabTab9p/hsy987733zIgwbHznGX4DbwIARW8vAWDcHMAo582b16QhFu46XH8E9KBtiA23G8CbALSnB8C4OYAnhAVgMBOziQWge8ObALAH0PUAAUAwFnsADBaAbggpAOwBMLwKAFrOWQC6FiAATz/9NAsAw7sAsAfQ9QAB4EZAhgZvAsCNgF0P7AEwGsAC0P3QnADgviNIiAWgm0COBTAaP1cBui6a6wXAfWcPoBtBjgY0Gr8UACzmUFBQ4JMA5OXl9Th16pSKqaQwDVdUVJTPxCoyGDW4atWqNiPKRYTb+vXrCZ4Pfntubi4dOHAgD3MEOm5gIlI6kxXwzckYxZHzolKQOUs5lxmiFGbOUxyZcwXnKIXpsxRHukhTZymFabO0z9h2ZNal2mfkp32X5+54yXOCBWkhSs2BjT6H10IAEKILgzcZBAApIgExTRgLQDfA1q1bPQoAiPhuXwRAGH8AlvZCqCkGgaBOaRyM0xLKCUmQthXxgOOthymw8JDD1e3fv782LgDz4YkHPsP4e1qC62pWgOu91WpNjpkcWY9Q4ZbJdHHLNCrdMoOK02ZSyeYp5Fh3H5VsuI+K19xDJevupWLBErHtqM9zpIp0rchLEUy9V8sr1R3vECxKvoeKVwsm3UcF1sl0IfFBqt4b7qg9mKoYv1NzgABg7AX+E5NOAPC/I8WUYPX/h9LoREbXgzcBwCAPXwRg7969edOnT9eMV3zUypCjxPCAod4pU2mY+jwpAPL89iLKl/MEQhRuv/12wn9h8hGu3+0LrnlvvXpx7RwqjA6mysShVJU4XGO5dQhVxg+lSstQKo8KosqoQKqKGkhlUYNFOpiqowZQaVSASAdprNseqO2rO2aAOCdAcBBVYH9EgChnIJWHB1Fp+FAqXjaSioQIlO5c4qjNb7kIYDwEuneNAiC9Pk0AduwgzBDc6ERG14M3AfC1ChAXF6eN/TYZHiz5cMlUDknV72tvowfl9SAyss4L4cGQZCxdJaoB6SYfUHs0XanIDqWC6DuoLHYMOeMCyRkdRM6YIKrStgVjYMz9qDpSMLyvRmd4P0G5Xceq+jy5LffJc2ReZThEQIjJKiEEEePp0rrZ9Cc1006XPmhRdQBjAYxVAP190ARg+3YWgO4AowCYDMaC4Z6+CMDzL9UtNW5yY3w3m3rB0f9W+RlVlt///veqyQcU7opRLqSZqXj5aKpeFUhXwvtQjTDSWkFsOyMGkDNyoDDkQfVG36f1jB1MTosowyLKjO5D5ZGDqTxiFP0x+X669sE6+vbcQcX4/dwBHgDmeWhWALKyWAC6A7wJAHoBuooAeKL87WgT8FUAnDnxStHmF+nCijFUFjZEGLww0Mj+goPqjF+48M4oCACIN7obw24JIwXjRHnx/eiydQDVWPuINIAc8SOpdPMM+tPHm1SqYQ+A4SO8CYCvbQDuBMBd2f7I1giAKy+9hyNz0e4LsVOpOHocVccMo7K4ocL9H07lsUFUZhlGFTGiHh8p6vfhom4vPIHWsAqCEicYP4iqE0W1InEQVVqH0cXUO6nk7afp6vFIs/G7eQILAKMB3gTA1yoAZvw1CgDq9rJ+L3sF5PX0n3GezHf3fVpDX8rCuoS+CgBQc3ijuSw7lC4mKeSwjKcSwVJBh2Wctu2wjCVH7GgqTRwhPgsiTdBtI43XbbvZXyr2l8YJWoJEeSKNGUGX4iZSyRvP0+WjyaddedYWd2G2qArAjYDdA94EwNdGQMSYy+4kSTm9tJwa+uc//7lXLliwAFNQ2e+99171Rvnggw/aQ0JCHFOmTHGhsU//3fTEvHeffPKJ2vBjfMCfP8xNuvrORvWybaG9Yt8KKtu3khxvL7aX7npVrXjjJbVo29P1fEot2fa44E+17eptT4g0RPAJkTdHdWybq1Zqx9TtR55+f9HWp9XC9Lka/5D5onrt4DafGi0Bd3EATQQA3YAsAF0f3gTA1zgARJgZy5HE8lsvv/yyA5GF3lhZWWmrqalpUZ3WG+RCl7t27VIRA2By893AGxEACXLkB/z94vu2v/7xlO2vLWyV72iwB8BogDcB8LUNoDkBQB1beAg3ZGA3gv3796swcpOb7wa2hQB0BrAAMBrgTQB8rQJ4EgDkQQBeeOGFm2ZgEABj/Lue3UUAuBGQ0QBvAtAWjYCgvwgAewDuPQCwkQBwHED3gDcB8DUOoDkBQISgPwsA2ii6gwC48wBA9gC6IfQCYHJjtL62ATz/4gseBQD0ZwFAJODp06dv2vfrKHgSgEaDgVgAuge8CUBbVgH8XQAwDv6jjz66ad+vo+CpCiA/cyNgN4I3AfC1EZA9APdA9+A3n2cpjpwFiiNrgVKYPldxYs6AtLmKQ7Ci/jO2keIztr/7PEfbrhXbko4ss+L6IN3nrkZ3cQBgIwHgOIDuAW8C4GscwHPPd14PoGfPnu3iAVw/kx5w/cw2tfa4hS6+/jgVbvgpFabMpLI106kwaQY51ggmT6PytdOpOGm6lq8xaRqVJk8V2/dRRfIUcdw0urJuKjnXKeRMnU6laSFUfTjJ4TqZrhiv2RzYA2A0wJsA+NoG8Nzzz3daAWiPKsDf7R8E/+nERrVi60/pj5Z76Fz4CLqwagQVrxpGJauGUEmoSMOGUsnKQCpePlykg7X84hVDqXRlEJWtHCj2D6bS0CCqDBtIZdGBVB4RRNXhgVQqyvpq3SNU+osoh+tMmmK8tiewADAa4E0AulMVoE+fPqQK6M+5UbiOZipVtlByxAdTWcwoKhIGXBwWRCVRgpGBVBIu0nCkAcLwsR2gGXxJKIRggGBf8bmfxqrovlRlGUDVMYPrRhau6EMOyyT6atNsKj/8qtl4bU/w1AjYSAC4EbB7wJsA+NwI2ImrAO3hARTusioX0udTqWUkOS2B5EwYIdKhgkOoXHyusgRQhUgrRIrtstgAqowIEG/3fuRY1YfKV/al6uX9qWJlb+EF9BHGL0Qgsh9dEZ+vLO9FTrHvgvVuqj2RQN9+vksxXt8dWuQBcBxA94A3AfA1DqAzewC9evVq80bAioOpSskbi6nMOoac1iC6kjKMnIlBdYwfJIRAvMktIo3tVzfeXxi4MxqTiPSiytDe5Fx5G1Wu6klVK3tp25ct/akyIUAcJ46PEIIgvATHusn0p/etKl060KIGQfYAGA3wJgC+tgF0ZgFoj16A65/nKVd+lUzFaXdT5cYJVLVhnCYCV9ZACPrXze5jwWw/mPBDMKY+FQLgjLyVnGG30OVQka66RduuSehPV9YOo8vWgdo5pTHDqXxHCF3Nu7H5AEAWgG4IbwLgcxWA4wAagex5Pf780eakv7z7Gl3a9ACVbb6HKtYHU1nKSCpLGCaqBoKxgXWMGkylcUOoNFqksYJRA0VVYCCVhdWlGiNFNSFxKJXFiPMiBVdPpWvH4ugfjvfMxmt7QouqANwI2D3gTQC6eiOg/F5ge3gAElSwK+mb38So1Yfmq19smaX+PmWK+qV1hkgnC+KzZN3nApF+mTJD/cPqyepXSVPVr6yK+oc194vPM9Wv4u9Vz8eLfWseVv9+eF2bzAcAchxAN4Q3AejqcQB6AcBgpbb2APwRnjyARqHA7AF0D3gTAF/bAJqLA4Dx+YsA6A1f7wH85je/uWnfr6PgTgDkf4BtFoBuBG8C0JZVAH8aDmw0fhBtAN1BAIyNgPr/AJ+5EbAbwZsA+NwI2EwVwJ8FAHMW4sHvDgJg9ADcCgDHAXQPeBOAtowD8GcBQP2XPQD2ALodvAmAr20AnVkAuosHwALAaIA3AfC5CtBMHIA/CADm/jcaP4gpy7uLALSoCsCNgN0D3gSgrRoBQUwJ9sorr9D27dvzhLutgH369HFLm82mHjlyhMTD6pEt2X/s2DF666238kaOHKksW7bMrl+URE985+5SBTDGAbgVAI4D6B7wJgBtFQcA4oHDSrx4C4OYox9egZ633HKLlo+HsG/fvlp8PkbpgdhGHrrrwJbsxxh/+flHP/qRtgqw0fhB9gDYA+iW8CYAvrYBeIoDAGFk+odNrhZkpPG89qAnAeiOgUBuBQAegN2u6M9zOBzWs2fPhurzGJ0c3gSgtVUAd+WBRsNrjsZzb4TGco3Xkr0A3XFWYON/YxQAIYrK0aNHVavV6nruuedcoaGhKoRSCEKLRh8y/BjeBMDXRsAX573o8S1uNLqW0FhGa2gs0x3hjaC68Hu7XTV1cbTIA3jjDTpXUKD89re/paVLl9Lw4cO1SE5U4XDe2LFjKTU1FROosAh0ZngTAF/jAKKiorQHxeTGEPU0GqCRxuPbmnLFYnk9eACjRo2icxcuqKYujpZ4AHgu3n///Qzcz379+mmGD+J/klW3oUOH0ttvv+3Iz89XDJdgdBZ4EwBf2wD27dtHgwcPblKWvxHVFNkmIdseHnvsMSoqKgoxdXF4EwA0xIaFhdGKFSs040ceiP8MS6tBCLANTpkyhTIyMhwnT55UGl2E0TngTQB8rQKIByE0MjJSa9E3uTG8m028vfAWw8MPyof69ttvp+zsbBzT5WGsAoB6EcDzgLc7elHkcyH34f+CAMgl33HsXXfdRTt27LB/9tlnXB3obPAmAL42AgJ2uz1E1A/VZ5991oVuxIceekjjzJkzbzqnT59OkydP1nj33XfT1KlTEZvgOnTokCq+d7d4gI1xAJJ6ETB6BcY8fT6enzFjxtCWLVu4TaCzwZsA+BoHoMdXX30V+sUXX9jOnDnjN/z4449tH374YQNFlQX5ZuN378pw5wHo6cnQjZT5siqFhsG9e/c6xP+pfHc1hl/DmwD42gbA8H/4KgCSxihK43nYD69KeALcJtBZ4E0AWlMFYPg3jI2ARhoNXxq/NwEA0Z7ywAMP0M6dO7lNoDPAmwD42gjI8H+01AOQ20jR4IexHD/+8Y+0RkBPIoDjEG49ceJESktLIxYBP4c3AfA1DoDh/5CNgDBkkxsBAI1dpBif8fjjj9OC1xbQyJEjG3pS3J0HLwBCINsEOE7Aj+FNALgNoOsBHsDcuXM1oza5MX5QBkmh2w+DqNCDcvjwYfrkky8yNm3aRKNHj9YM3d1zIwmRQJyAeMa4YdBfIQXAZDB8Sa4CdD1s377d/PDDD2uGbTIYrbzvMuIP7jzq9MnJyRkwYrvd3uPXv/510tq1a7XYCTnuw5MQoNowY8YM2rNnj727dLN2KuzYsUPU637s9iEA0X8vbpzPAkD2/IDrH9mU63mpSu3BNco3B2OUb46GKtfz4xVXvtjOjxCMF5R5ESKNqd8Xqu1zNezrXMfjOOxD/rdnMhWy7/ObB3/rtq2hC15doN1zo9Hq3X4YP4554oknXJs3b24yAtDhcCTl5uaqgwYP0kK/5ZTi7ojy7rnnHjp69Cg+M/wJCN3Vh3vqjR+fFUWhDz74wCcBIHtuwJ/yt6k1B61Um72cqna+SleyX6bad56nr/f/jK7sf5muCdaK7dr9z4tt5L0o9r0iUjNdFdtXtbwXOuXx2EaeS/Cvx2Lpb/nr1OtqVoDxf+povPXWWyELF79GAUGDtPq7UQBkrD88QlQP4P0J47caimmEhYsXqePGjXPbHqAnvI1169axAPgbWiIAx48fb7EA/FXdF3z1SJpauvFpuhg3mYotk6gkfqxIx4h0DDkSRndxjqEy61jB0VSRPJqq19xPFRufpMrsJWbjf9WRyM7ONi9evNjRp29vzVhlHd9kMFTkw1hnzZpFcXFxSY0KcYPU1FTl5Zdf1lx9kxvDl0RVITo6mgXA39DWAlCRE6EUZ5qpMPIOqloRSBURg7T17KoiBlBVeH/Bfl2a1Sv7kjNMpKv6UrX43dUrB1FR6ASqWP+KvWan9aZUBXbt2qWEhq1wDR8xXDNwk+4+Y1t+hpFipqZ7770Xxp+Rnp7ew1BUEwijtgcFBXkcAi4Jj2Ljxo0sAP4GCMCAAQMa3Sz9w3Hffff5JAB/+3QnFW2YRo7oIHJG9iOnMIrKsAFUEd6XyoUYVEciHSgEoZ+2zn1ZfR5S5FVGimOFWFRHiLzIQVpaHll/vKDM044X51eKYysi64+/SeVXRvQRxt+HrqzsSc5VP6HLWNY7HCv89iNHZCAVh42lwuRHqTBtrmL8v9obb775ZuiyZcuof//+Ho1U3m80+Am3322d3wibzRYgXHo7Rn56qv8jH2XC40BA2alTp+yNCmHcfOzfv58GDhzo9oHAtu8CkEVF66ZQZWIAXbOKt2FUX6qKEsYS25+cMQOpOq4vVYjUGSPSuAHkjMY+sC6vPG6QSIXhxQhvIU4cHy2Ow75YnCeOjxPHxoAiT5RVHi2OF+dXivKRdzPK15b2jhKM6Fm3rHdE/WexvyphMBWGj6KilCfJkW5WjP9XeyIvLy9k0aJFmofnyUhB3Gs05KG1Pisry6ovwx1g/BaLRcVAKk/Tv0niuiNGjKD169erH3zwwU3xgBjNoK0F4JtPMzMcrz9OjsRRdDlRGL1FGIulX9169gnCYCwg8pFiHzjIkMptHGfMc5fe7OPFb4mBAMDwezYIQLkQmKqkYXTBOoHKdqyk2pw0xfh/tRcOHz5sXrJkicPbsGzcZ9Tf8YZuSZ1/586dwfHx8SqGALvrRjQSDYSLFy8+LYQloKEQhv8AAgD30GR4KForANc/ylGuHU6hi/H3UUlkkHCXhRcQ2afuTRmFbT37eUjd5SF1l+cPx/fVjP7Kil6a618Z1odKBR2i+lMSPZwK1s6m2vey6PqZPMX4f7UHcnJylNjYWBem8TIZDFJG6snPsp8/NTU1Q7zZvdb5k5OT7ePHj28IBza5MXoQ+1E9QDUhPT09QFcEw5/Q1h4A8I9P3gxx/iJSLc+e7yrf+hiVb5hN5RtnUXHaI1Qm6BAsESytT/EZ2512//qHqXTDw1S87kFtf1E9L2x9nK7uX0pfv5/h+vbzjgmH3bFjR6h482tTpMsGPyMhAjBQdPc9/PDDrm3btrW4zh8YGOj2OZGUwUPwEKxWK9f5/R0QgLZsBNSDCk+E/u+ZLJvr9Hqb69Rmwa3dix9n2ajgkI0uHTcb/5v2gLiXIWjwg6B7Mn4QAgAjvfPOO7328wNw36Ojo1X0DsjnQs6sZBQBVCfGCQ8h1hKr7tvnPwFQDA9oTwFgdBxQ53/11VcdWADFXZCPJPLR1YfRgKGhoUn6MtwBdf6YmBh1woQJWkOhfDbkdGryM/iDf/0BTVWmUERk5GlxToCxLIYfAgIwaNCgJg8JC0DnAfr5wyPDXAGBAY0M0qS7p/o5/BDbcejQoSYLf7hDbGys/Y477tCMH16DfPPL8uRgIWwPGzGELPFJdlQXjOUw/BRtHQfA6Figzv/z+T/T4vZRr5cRfkYBkG/+xx57zHX69GnV6XQqjUtqDBgxjB9Lrsn4Afnm15eP68HtR51/zZo1XOfvbGiPRkBGx+DECTUE03cPChigvZXloh24d1IMTPX3E2/wadOmUXx8vNVYjhH6Oj/K0AuAUVxwPUwIiuO3b9/Odf7OBhaAzgnU+VesCHUMGTJEewNLQ9ULAPLR5QfvAP38UVFRScZyjECdPzIyUkVXn7d+flwH1YOIiIjTubm5Ad+Vwug0aOs4AEb74+DBo0psfJwrMChQq9PLOrnRRcdbH/vxJhfueYv6+dHVh94B1PfdtfJLQmCwdgDcfg7y6cRoTw8A4+Cvf5SpuPJTlW8EkbY7j6ZqcxBgW6bI++Zo47xv8q11Y/ZPpgmK/Pw1ddsiH6n2fU+mK3TpgF+5tdnZ2aFYsUeO54fhS0M11d87eAMgBGD27Nktiu3HGxz99rI9SD4D7maLwjXvvf9uCl21kuv8nR3t0Q1IBXkBNflx5q+PJduvHY6kmtxldGXfUqret5yq31kiuKyOOYvrt5G35Mb35yyiK3sXUa1tETn3LKxL9y6kGttCurJHbO9+jWqzxTl7FlNtzny6kmOma79YSl/nLqznEvp6/3wt78q+RVSdG0Z//k26w/leqhkTnBh/Z0cD/fyLFy/WVuwxGe6V9ADkNgQCdf61a9dajeUYgUg9dPVhSm99I6IsSx9TIOv8CAfmfv4ugLYWANfv9gVfPZmhlr39M6rYPIWKUyZRSfIEKrYGU1nSRJGOJ4d1IpVo28FUap1UnxdMxSKvRGyXiv3YLkOe2O8QeSX1+0vFdrHY79CODRacVJ8XTOWJo6k47nbBMVQSN5pKYkdqn0vikIo8yyiRjqIisa84fox2vCN5FFWljKHKtWPE9miqWnc7Va4eTWVrx2rXu7jlKSrKXkLO46lm42/tSKDOj/H8xth+owBI48eCLi2J7d+4cWOwKFeFOy/X+5MeBVK5FqDs/oNIJCYmcp2/q6Ct4wAq8qxKkXjzXlh9N1UlBpIjJpCqYgdQFYbURjZO3eUhdZfXsuMx30D9vAPY1ob4DqhLkd+Qh9F+4nhLf6qJ70fO+P5Um9BfS68liu1kcVxCAFXFD6GLCRPpXPJMqv1lnP3v6s6b8sY7evSoEp8Y5woaEthwXyT1b2sYr34Ov5bW+THBp5wkBJTtCHLcAAjjh+eRkpJiZ+PvQmjrOIDLJ9+g/5M4VbxdR5IzoR99vaY31VgxGAjDY+uHyWL4LIg8pBhJd6P7Lb6xNqmP9r1cKb0b8euUPnQtRXzvlL5UkTCISiKH0aW4u6lw+3xy5EQoxt/b3hACHRoeHq411LprlJPReDBW1Pnnzp3rU2w/xF8OFUaqd/dBuSw45vkXb36u83c1tHUjoOtEplpgnU5lUUOoOqYv1cb3rDNaGGm7E8N1+xKGH9dRbiMFG++vsfalq6v7CoMXb/7VvenqmgGa4V9NGaSxKn4QlYYPocLISVSevphqd1kV4+9tT2A8P/r5MZ7fGHZr0t0rGC7cfix42tLx/PFWi3rf/fc1lCerEMbx/fAG4CEIEeJ+/q6IthYAzHpzcfUjVBR+u+aKX175E3Kuuq1uhpx2Znn0YG3IcWXUQKoSxHZF1Hd51VH9NVZEDdIm+dDG88f3pcvC0C/Hic/C/b8sBKI6cTBdESyLC6CK8JF0IfJOKtk6nypsMYrx97YXPvzwQ/OKFSscPXv2bHQ/jCmM/7bbbtPWb2hpbD8a8CZODBau/Xcr/Bgb+yQR4RcZGcnj+bsq2joOoDY/UyndH0cXEu6n0tiRVB42iCrDwf5UJlLnyl4irw9VCDpX9KJqYbiVob01Ylqt8lBMrdWrYT+Oxfj66pW9yRlWtx9lIK8srO5YbIOYogtCUB3eV6PcRqrN11efr+VhjgJtPL9II4QIrKr7TpfFdaojhXjEBlKVJZCKku+i4s1PUcW+6AxHXqjXOnVbAAtrirq2CyvwmAwGKe+NfFujfo7Y/o0bN7ZoDj9h/HYM7JGz+OrLk/dccsiwQK3Oz7H9XRht7QEAmA+g5kiSoypnAZW+PptKNs+i0g0PUfmGmVQiiBQsrk8dgqX122X1n/X75Xk4Rr+/SXnrH6Sy9TOoJHWGtl0kWCq2C0XqECwW2yX12471OEack/ogFaaIY5JnCortJGzPoCJxbNnrc4ThL3M53gn1WqduKyC2f9HiRYQ3v7s3Mu4LjBdEg9+zzz5Lx44dczkcDqVRQQagqy8iIsKOhjx9W4L+XsttXBcigbgAh6M63VgWowuhrbsBJTAG/h9nd9swD8C145YO4dW81bZrx+JEGiOYZLt6LMFWcyjadu09q+3qEcHDMWK/OO5IUt0x78XZHIdXi2Msgjg2STBO238tf7Xtf/57m40KDluNv629oKpqyNJlS6l3315NDF8S9wXuOsJ07598Px04cMAmjN+sK6YJ4L4vW7ZMxUo+xn5+dwIAcVkVFkaYWchYFqOLob0EgOEb0M+/dOlSh/FegLJ7Dtu4LxjVh0U7Fi1ZlKQvwx1kbD8a8tCaLxv7TG7utfz8Y1E+lowrKCxUGhXG6Hpo6zgAhu84ePCgEhUV5cIcevqRd0jltiSMH639wj1vUZ1/48aN9kmTJjX085sM4qK/10hxzK233EIZGRl07tw5RV8WowuireMAGL5h7969Wmz/LcLoTAZj14sAhAGj++bMmdOi2H403MH4vc3hp6cUAPQqbNqyhXhF324Ad42AIAtA+wOx/StXriRMuuGpbi7vA+r8WNG3pXP4xcbGauP5TR7uqzvK6/W49VbKyMxs0YxBjE4OFoCbA+F5mZcvX+5Aq7zsgzcavgzBxZsfsf1hYWFJxnKMQLBORESEGhwc3GTZd2+U18V4g0wWgO4Bd3EAIAtA+wGt6xaLxTVq1Ci3hi8pg3ywYk9L5+1HuC668GTkoMmNoXuivC6qI6+//joLQHdAe3oA2nwAJzO1MfjXD1pFukak8fWpVbcd37r9KFcSY/dV7wZysyGMWKvzu3P7ZQs98mH8eIO3NLY/Kz0rIDk5ye7pXurFQJZvFAh5HHsA3QjuugHBGxUA564FytdHku3XcsLo2ptL6OqbC6h250LBnwu+Vs/5VLsLedjn2/5rgl/vWkrX3l5C1/asoNqccPrm0NoM4/fwJyC2PzomShtPL1fW0RN50vDl7L0tje2PCI1QJ0+5r2Fgj576bkRcAx6fDAgyHgtiJV/0ArAAdAO0tQBgPgDn8U220s1POsqtU6jMEkxFceOpKHo8lYq02DKeSupZVJ8iDyytT1uyv1iUWyJYahlLjoRgKg6fQBXJc+jyLqvXt+XNAPr5Q0NDHT173aYZocmN4YEwVDT4YTIPX2L7sQaffskvT0SXYFxcnCYu6FI07gdZALoR3MUBgK0VgNqja5TK3UuoKOFOqooMpGpBbSx/9ACqjhKME8R2jMiT25gvINa3/RjPr80BEDFAG2dQsbw/VS0fSlXpL7qun9yeZPxeNxOI7U9ISHAFBQU1+Z/1RL0dRonW+5iYmAyr1eq1SoPYfkzg6eltrieEfsuWLfZ9+/YlhYSEeJz0kwWgG8FdHADYWgEoTAtRCpOnUUVMEF2J7kdXlvWiy8sFQ3vXjdrDIJ82YkVoH2H0vahyRW8q1wYTDaSSzTPJuS+sxd+3vYE5/DCeX9b5TW4MDsT/LWP7jxw54vX7I7YfE3JCVHCesT4Pok0BwoAgIHgI69ev18bzi/tpfuqpp7T5A4zngCwA3Qht3QhYmDpLCMA9VCHe2DWWXuSM6C/e0P3ockRvbV6AK2G9tG2NYb210XiXw3vXMbK3z/vLMeJvlTB+bVnu3lS0fjo5bEta/H3bE+jnxxx+qHN7M34Y3axZsxDb7/AW2w/jX7p0qQp3HsYPQzeG+IKoEsCjGDt2LDwKFdUFnA8BeOyxxzx2E7IAdCO0tQCcy5ynFGAUnmUIVVuEkSYNocvWwU1m5GlTYlYgS38qTwiiws0/JcehhBZ/3/YCxvOjzm+cw89I/M9wxadOnYr59ZOKiopCdMU0gYztRxeirMOjDKMAyNiC+unBGs3hxwLAaEBbxwE481KV0j3L6I+WCVSxKohKIwOpLCqAKiP7U1nkIO2Njm0Q2+UYey/SCm1ev35ULSjzWnI8xvRXirzSmED6Y/wEKrYttjvyrAHG79WRkLH9w4cPb/K/Gon/GWMAXn755Qyz2ey1zo9+fkzSIeftN7kpTwsb/v4PafiIoejPbzKHHwsAowFt7QEArhPrQirfXumoWDeXCpMVKl03nUpTp9eP359Bjg3TtLH9GO9fJrYxvr9uvP80La2bH2C62D+jfvz/DJE/XTvH/fkzqDT9MSrZvdhOhSdu6vh19PMvWbLEYwObJP5fEG9pBN688sorlJaW5rEHA119mJwDYiFXApJlyHslvQnU7Sc/cC+t37DF7Rx+LACMBrR1N6DEXz7MNf/PsQzbldwltqpfRNqcR6Lrx+1H21zHwxrG8LuOr9Rthzbadh2vO8d1PFIw3OP52v58sf3Bxps6Zx36+ZcvX95o3n5PlIaLtzUa6SAC8+bNI6z021BgPWRsv5y3H29+We9HWZJyngD0IgixUA8ccL+oCQsAowHuBED/VmmtAHQ3yH7+Xr16NXkzu6P+GBiu7AKcP38+RvuZZbmyzo9WfLj98lyjAMg83K+4uLjTzU3jxQLAaIC7OAAWAN+AOn94eLhr2LBhjQy7OQEAjceCAQEB9NJLLzk2bdqkNQainx+t+PrQXaSye09fFob+rl271uscfiwAjAa4iwNgAWg53n///dCIiAht0I6xXt6cALg7DimiBFEdeP755xEJqN0b6SHIY3EdGD/q+viM7XvuuUczft1X8wgWAEYD3DUCsgC0HPj/MN2WfjVdkd1ksA2MFG9yEK6+XizkMaDM+8lPfqIFD2FbLtkl90EQcD05OSiur+/n9wYWAEYDWABuDLLFX/bD6wUABgbDxZsaQ3pzc3MRipvxxBNPaG95vQvfHPX1fXkNlAsRueOOO2jVqlXN1vmNYAFgNMBdHAALQMvgcDjS0TIPY5dvfP0bXa6rh2MOHDhAX331VSjm8cOinYj6g6HJYyWNZYAwfhirUWRQPUA4sK+LdrAAMBrAHkDrcezYMRVdfvL/0v9vSGFgs2fPdqWkpDTp39++fXuS2Wx2oU/fWF0AIRz6Vn7Z9Yfj8Pa///77G2L7fQULAKMB3A3YOtgLCpTFS5bY9XVzk+4/hLEGBA6it956SzWc2oATJ06EYkkvNCDKFXlNBmM0jiGAYNx5552YIchjP783sAAwGsAC0Dqov/3t7meeecat0Ur+9LE5dOrUqWZj+48cOaLV490JgHzr6z/PnDmT1q1b51Od3wgWAEYDOA7AdzidTiUvL881adykJkYridV6rVYrtptFenq69v/r3/Ty/5d5SCEEGPorjreLawc0LsU3sAAwGnAz4gDIkdfjun2Xcv1kmvLNmXTl2zO7FDp3UEG+8Vh/xPnz57GKT5MZdeR/hnTixIl06NAhj3V0DNCJjY21DxkypNFb3kjZAIgBQGlpaR7L8wUsAIwGdGQjoOtQZsilrDBzTV6k7drRSLr2i4VUm7eE/nw0jv6ippNLfT3jW3u+YjzP37B161YzptRC/d9kMFb8bzCs+fPnw2CVxmfWAeP50W+PtfrcjejTE3V+HJeQkKAKsW5Vnd8IFgBGAzpCAL49k6X8+XCcrWSL2VGQ+gQVpUyliqQJVLVmlOAIKl89joo3KnQxcx5d/dV61/UPNpqNZfgLxNs/ODMzUzVWm0C5/BbGA2zatIlUVVX05xYUFFgP5x22vfTKK+rQoUObCIik/P9BZfoDCPK5oTq/ESwAjAa0dxwARui58mIdZRtnU2H8JCqyTKRSyyhyWoaQM2EgXbYGkTNpOJUmj6FC6x1UnDaDyrc+7vjrqU0qXWpdK3d7Ij8/X0lOTtbq+CaD4UgPAPMAiLd8hjCgHg6HI/jTTz9VrVar+vOf/9yF1X0guJ6MH5T/P6pmmZmve43t9xUQgCeffNLjJKIsAN0I7ekB/F3dGVx7cBUVJk8mR9RgKg0fSM6oAeSMDiBnjGCUoCWwEaviAqkybgSVpD9Ff87fSnTpgyYigLaCb9R05VzWIsV5fAtdfnc9VR/dQF//OoscWS8qtbZFiisvJsB4XlvgzV1vhirTprqtt+M/gxeAlXvfffddTOlNDz30EI0YMUIzKnfnGAkPAm0L6OrDBJ51V21bQAAwJ6Cn2YlZALoR2qsb8NvPc5Wv37XaL1oVKowcSRWY3Se8vzB+kUbVM7apAJRHDqbKmGFUEjWJyjaH0P+e3eugwu/aBa5/uNnsOhJnu/KLMPoq/Rk6b51ax2TBNVPIkf4IOXc8TeXZC23Xf5dl/u4btQ3yjuRR4JCARv+RnqjTY1QgGu0wOs+XFXpwHMYAYGAPPIa2qvMbwQLAaEB7CcCVEym7K3Y+TYUxo6kkZogQgMHC+IUARAjDj8a2YJw0fMwZCIrtmEFUDS9AiEZJ8gS6sm8x/b/fbXb87+l029W9S23X9r5GpWunUmnKJCpOvJ3KLSOoNHYYVVpHUNWakVS5ZjRVi+2ilClUvus1+r8nNzSJwrsRYIRec7P9yP/OXfy+8VjjPrjksp8/NTU1ANdrD+Tl5ZkxHsHTWAQWgG6E9ogD+PbzHKXmF4tdjg2TqDp5GFUJ464WVQBnrGDEAO3tXyE8gVJsW0B4AiC260VBHFsVLzyC16dTza4n6MquZ6h8/TRRFhYIGUrOhEFif3+qtvQT7Eu1yf2odm0Q1a4WImMZSA7LSLoQN4Eqsxe7rh1fm2T8jq0BYv8x244xOk9PT4buifr/Gl2CycnJ9vz8/ABTO+K9997TPAAWAEabxwFgfb7ag2HpVZvvpWsp/ena6j7iTd9PGLSo/2NRDxi2eMtXWUZTzepxVJ10O1UlBgljDtDe/HWeQB+6LHjN0ptc4vxrSX3E/oFUHRmgTQLqjMMxaEvoK8qFoAwUgjJYW4ikLHywYH8qiQ6gS1GBVBx/JxW+OT/PdabxxJitAcJ6MYrP5MZoboRojYewCKNrlzq/EewBMBrQ1o2AroPxSk22cNNXj6UryYOo1ioMNnpg3WIeUQOoPGEYla4RnkHmHPUvtqdtNTufViuy5lBh4jjh9qNqII4Vb/Wa2D70dVxP+jqhL11N6E9XhcFrC41E9BLVhLppwPGmhyhgQRBnOBoVRfUhfJAQgH5UFtWfyoSXURwzgi69MZ+cH+40G7+rLxBvf2XVqlV2T4tpuKO+KuDOM0Aff/8B/emhWQ/Txo0b263ObwR7AIwGtLUAXD31Rl7xujnCBR9FzuShmpE6heE6w4TBCuMs3XAXVWc9fdqVtygAx5Oa3uMvv07ZXfb6s+SIG02VMGYLGgnFm1+IQE1Sf7psHaK96Wvj+pAr5laqEd5BTaLwEuLFW19UF8piMO14gOZdOGPE+bH9NC8C6wVUrR5JJW++QjUfbjU3/qa+4ZNPPtk9d+5cj11nngjjl1UGOUcA4gSwDsBrr71GWZmZdCI///SZM2cCtAt1AFgAGA2QcQD6N9SNCMC1j3ZTYdJUYZTDRH1cvLXX1C8Mgl6AmOFUnvkIXT+d3qi862pWwF9OrM678sYzVGUdSuX1AnBFGPDlxL50bU0/rSrxdYIQgIRb6WtRJfg6WQjEalEFSB5GzsTh5EwaSpeF4NRVHW6ja1bs701VW6dS7a+WnXbZb2zp8JycnN1YiUcas7s3upE4BkYGw0eLOyb2nPfM07R961bK2b8/IzMzU/n8ozOK8C4C5HU6AlwFYDQg95e/1Cai1Bv9jQhAzantdC51lvAAArUGuStrh2m8bB1GjjXjqDxrvmo8R+L/frIp4/KuZ6go5W7hwgcJ1x7dhn21HoPqiH5UFd2HKuMHirf6cKpOvZ2qXp9KV95+mr7OWeAq3zZHLd/xqKskZQKVWEZQoahmlKTdTX87tsLl+sTzfPstxcGDB3djxV6TzrhBCIK+UVBO9QVPAZ4VYgIwa9CWLVscH330kcff3pGQ3YAsAH4O4XaGwF3DlNPeiJvaGm574w1NAPSu6o0IwPXP96olb5jpojWYytcM14y1cu0ociSMp9KNs+l/T6ZZjefo8bffpKiV2fPpUuL9VBgxkiqXDaDSFQOpXKSO5YF0MWYcFax5gKp3v0SuX7ya948vttvo0nEzzr12whLqzF1JlzKeo4KMeVR2OJyoILvZ67UUWOoLkXxy2C7e6vi/0M8vu/tg9GjJRwwAFvoQhp937Ngx2x/+8Acb2hCMZd4ssAfgx0Do6BdffGGLjo62mc1mB+qdWDACq8Zi/Plzzz3X8BkzxyKVeSCU3RdOnjxZ69duqyqAS9Tpne8m7i7NfpFKMqZR4eo7qGjDA3Qx43FyHk5Cmc0CvQh//XCzuTonQi3fupCK1j5KF5NnUqF1OhWte4xKc0Kp5vja0ziGzjSdCusfX+aaXfnp5pr8zWbX2b1m4/4bwalTp9QpU6ZoBiIDfGD0/fr1o+DgYFq4cKG2FNfatWvNqqqahQEFGMvwB7AA+DGwMkxiYiKNHDlSizdH3REzwIJ42NCIJD9jG3lyH4ib6gtRvnRbTW0gAIArPzXgb59szLt2PJ4uvSm8gexXqTovMaNWzVKMx3qCEJJgZ84a5fLhlNBvPsymq3kbMwqzzIozP02hghvv0msNIM7CI6MVK1Zob3kYPdz7zenptH3nTq1OL4ymQ1rybwTcCOinwAOWsjZFCweVRtiRNLWRAHQHiHuVJKga8zsD2APwU4gHKvTxkMcbzTDbkTS5eRhYALoe2APwY2B+OKNhdhRNbh4GFoCuBxYAP8b4iWObGKaRJjc3DTQe5yuN5YEsAF0PXAXwY4ybOKaJYeopJ4jEtgwzlY14raHJzQOgJwtA1wO6f9kD8FN4EgBp6Gi1RyMhbhLmk+/Zs6fGW2+9VctDzwG69UB8Roo8EBNNGPfLJaZMbh4EEGPThcvIAtCFwB6AH8OTAMBQccMQYLJlyxaNmHcO00qnpaU1fMaNk/uxb/PmzVoKIs+4HwtTYFCKJ48Ao9RYALoWWAD8GM0JAPr5N2zYYP/8888V8MyZM+h31lL9Z1+YmZmpDU4xxgJIwgMQDwwLQBcCNwL6KdCvjPnkxWYTAUAe3P+tW7eqxvNuBNu3b29WAOABIJy18VmMzgx4ACEhIR4nJmUBuEloTgBAjEXHuHHjeTcCVB/kUtXuJq3kNoCuBzQCYlpwT2sSoH2IBeAmAAKAN67JgwCgCoDJIo3n3QiEoGgCYHLzIOCaiH3nXoCuhX379pkx96AnAYAH8Pq2bWQ/d07Rn8doZyAUePr06U0MXxJVAIvF4iouLk4ynttaREREaOWifJMbAcA69h9//DELQBdCZGSkefTo0Y26j0319xtpz9496e09b1OhH41g7DZA3Uw/QEdP1Nkw+g+jBY3ntQafffZZsH6Mu5G45pw5c1xnz5694fH0DP+AzWbrsXDhwnSMYNQbPyhD0DE8fP/+/Q68kIznM9oZCQkJWp++DPYxEotMoCHQ0QazyBw8eFAdPHhwE8OXxHeYN2+eqj+H0bkRHx+vvPTSS1pMiN74sS1HkyL4a/PmzWbDqYyOwIGDv2y08ISR6LM3m82ESUCM5/qC3/3ud+b58+c7mpvjDo1BqampLABdCOLlkQf3310PADwANDRDIDABSqMTGR2DXbt2hT748IMePQBUDbCw5KZNm+xw4Y3ntwSIGcjMzHSNHz++yUOgJ1zBd999lwWgi0B4jemYPAaNfO4aAPFsYX7Il19++bTdbr+hORQZrQRWlF23bp0W7uuuHUByzJgxlLVrF32mqj6JAIKFwsLC0r0tTY12CMxApD+X0TkhDL+HeFmoclWj5u77zAdn0iEO/Lp5QN3+wIEDKuphctopI8VhWl0NQ4d373zLkZubqxjLcYcTJ06E7Ny5U5uSGlUJd/3+knj7JyQk5OnPZ3Q+nD9/3pyfn29bunSptgKUpyXBwe/9y/do0fKFjrMFBWZdEYyOxtmzZ81oDESEnn5yEJPhhmEf6nPPP/+8Qxi2raCgwNa4pDocPXpUydiaYXvhpRccQUFB2hRiIrvZQUCoB6alpSnflcLoTBAuvFk8R7YdWTvoqblParEeciSpSXef9c/V2DFjCfMeNiqI0fGAF3D48OE89MEb+2r1RB5uKG4uqgRw2efPn6+uWbNG3bZtm2qxWNTZs2erISEhDgQYYfSgp7L05WF0oTgXXUF2QZXZOWiz2dQtW7aoMTExqnjju+bMmUMDBw6gH/ygbhVgd/cd9xsNwRglunbtWuKuPz/Cpk2bMoYPH+7RCzBWDWQrLurvoLEhUX+ukdgvRwXKBwIp8uQkpChb5oG8v/326ydubSnxImjOxXdH3G+chyoCJjU1MfwLycnJhL56o7G7Ix4eiAAM3928giY3D4CeRsFg3jwa701LKO+7Mb85wvjhKRw6dEi9dOkSv/39DZ9++mlGUlKStsqMsc5ufGgkPQmAu4dLn+fpGGbXJDwODAvOysrq0LUJGT4A/bH5+flJcXFxWiuuSXcDjYatZ3NdiO7orjz9tZhdg3g5oLoBbxFrG+zbt88unq8AE8P/gTaBB6Y+QP/5Xz/UbqbRYJldj7jPraGnc9G1jHal6OhotPjbTYzOhUPvHlLnL/iZFg2IBh/jA+PpwTHul3MMGvObY2vaCHw9R3ZVGfObI85pzW9pzTnGPG9szTltRf39R5UQ3cqPPvqotlApRnhyi38nBKK6RH3N/M4776CbjyZMmEB9+/bVBnfIh83kRvkl5cPRUQbQXFuEJ/p6HX8WgNb8/rYiro0uXSwzh1GkmzIyKDs721xQUKB890QxOiUqKyuDEeCTkpISumvXLlq1ahU99NBDdP/99xNi/DFqcNiwYcxOSNw7EEFecNcR4+ErMcz7hRde0Gb22bNnz+nU1FRF/egjxfgcMboYzp8/H/zll1+qvz9/Xj3/1VfqVwYWFRWhu0e9cOGCto20sLBQo3gz8P4ust/Bk3kwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDN/x/wHjsXZ4EUApzgAAAABJRU5ErkJggg==\"","import React, {PropsWithChildren} from \"react\";\nimport PasswordModal from \"../components/PasswordModal\";\nimport {useUserInfo} from \"../hooks\";\nimport RecoveryModal from \"../components/RecoveryModal\";\nimport useStore from \"../store/useStore\";\n// import EVMModal from \"../components/EVMModal\";\nimport { useSOLModalStore} from \"../store/useModalStore\";\nimport SOLModal from \"../components/SOLModal\";\n\nexport default function BusinessProvider({children}: PropsWithChildren) {\n const {overview, token} = useUserInfo()\n const {recoveryModal} = useStore()\n const {type: SOLType, isOpen: SOLIsOpen, close: SOLClose} = useSOLModalStore()\n\n return (\n <>\n <PasswordModal isOpen={!!token && !!overview && !overview.address && !!overview.did} showClose={false}/>\n <RecoveryModal isOpen={!!token && !!overview && !!overview.address && recoveryModal.open}\n onClose={recoveryModal.close} onSuccess={recoveryModal.success}/>\n {/*<EVMModal*/}\n {/* isOpen={EVMIsOpen && ((EVMType == 'login' && !overview && !token) || (EVMType == 'bind' && !!token && !!overview))}*/}\n {/* onClose={EVMClose} type={EVMType} onSuccess={EVMClose} zIndex={199}/>*/}\n <SOLModal isOpen={SOLIsOpen && ((SOLType == 'login' && !overview && !token) || (SOLType == 'bind' && !!token && !!overview))}\n onClose={SOLClose} type={SOLType} onSuccess={SOLClose} zIndex={199}/>\n {children}\n </>\n );\n\n}","import React, { PropsWithChildren } from 'react';\nimport BusinessProvider from \"./BusinessProvider\";\n\nconst Providers = ({ children }: PropsWithChildren) => {\n return (\n // <MpcWalletProvider>\n <BusinessProvider>\n\n {children}\n </BusinessProvider>\n // </MpcWalletProvider>\n );\n};\n\nexport default Providers;\n","import useLocalStore from \"../store/useLocalStore\";\nimport {useEffect, useState} from \"react\";\nimport matchlog from \"../utils/matchlog\";\nimport useWallet from \"./useWallet\";\nimport {getAppClientId} from \"../utils\";\n\nconst AppClientId =getAppClientId()\n\nexport default function useWalletInit({\n refreshOverview\n }: {\n refreshOverview?: () => Promise<any>\n}) {\n const {endpoints} = useLocalStore()\n const getWalletIframe = () => {\n return document.getElementById('match-wallet') as HTMLIFrameElement\n }\n const [walletInited, setWalletInited] = useState(false)//iframe load status\n const {appid, token, overview} = useLocalStore();\n const {initWallet, generateWallet} = useWallet();\n\n //create an iframe in page body\n useEffect(() => {\n if (endpoints.auth) {\n if (!window.matchWalletMessageIdMap) {\n window.matchWalletMessageIdMap = {}\n }\n\n const existingIframe = getWalletIframe();\n if (!existingIframe) {\n const iframe = document.createElement('iframe');\n iframe.id = 'match-wallet';\n iframe.src = endpoints.auth + 'wallet';\n iframe.style.display = 'none';\n iframe.style.width = '0';\n iframe.style.height = '0';\n document.body.insertBefore(iframe, document.body.firstChild);\n\n window.sendMatchWalletMessage = (method: string, data?: any) => {\n const messageId = Date.now().toString() + Math.random().toString().slice(6)\n const message = {\n method,\n data,\n messageId,\n source: \"matchid\"\n }\n if (document.getElementById('match-wallet')) {\n matchlog.log('matchid.sdk.sendMatchWalletMessage', message,endpoints.auth)\n getWalletIframe()?.contentWindow?.postMessage(message, endpoints.auth);\n return messageId\n }\n console.error('not found iframe')\n return false\n }\n\n window.waitMatchUntilWalletMessage = async (method: string, data?: any, timeout = 30000) => {\n return new Promise((resolve, reject) => {\n const messageId = window.sendMatchWalletMessage(method, data)\n if (!messageId) {\n console.error('Can\\'t find wallet message')\n reject(new Error('Can\\'t find wallet message'))\n return\n }\n window.matchWalletMessageIdMap[messageId] = {resolve, reject}\n window.matchWalletMessageIdMap[messageId].timeout = setTimeout(() => {\n console.error('Get wallet result timeout', {\n messageId,\n method,\n data\n })\n delete window.matchWalletMessageIdMap[messageId]\n reject(new Error('Get wallet result timeout'))\n }, timeout)\n })\n }\n } else {\n if (existingIframe.src !== endpoints.auth + 'wallet') {\n setWalletInited(false);\n existingIframe.src = endpoints.auth + 'wallet'\n }\n }\n }\n\n }, [endpoints.auth]);\n useEffect(() => {\n const messageHandle = async (e: MessageEvent) => {\n //origin\n if(e.origin !== endpoints.auth.substring(0,endpoints.auth.length-1)){\n return\n }\n const res = e.data\n if (res.source != 'match-wallet') {\n return\n }\n matchlog.log('sdk.wallet.receive',e)\n\n\n const messageId = res.messageId\n if (messageId == 'init') {\n matchlog.log('wallet init')\n setWalletInited(true)\n return\n //special message\n }\n if (messageId && window.matchWalletMessageIdMap[messageId]) {\n const {resolve, reject, timeout} = window.matchWalletMessageIdMap[messageId]\n delete window.matchWalletMessageIdMap[messageId]\n clearTimeout(timeout)\n if (res.status == 'success') {\n resolve(res.data)\n } else {\n console.error('qwe-waller-error', res)\n reject(new Error(res.data.message))\n }\n\n }\n }\n window.addEventListener('message', messageHandle)\n return () => {\n window.removeEventListener('message', messageHandle)\n }\n\n }, []);\n\n useEffect(() => {\n if (token && overview && overview.did && walletInited) {\n const did = overview.did.split(':')[2]\n const newUserInit = async () => {\n await window.waitMatchUntilWalletMessage(\n 'initCore',\n {\n AppId: appid,\n AppClientId,\n UserId: did,\n AccessToken: token,\n Address: ''\n })\n // refreshOverview && await refreshOverview()\n }\n if (!overview.address) {\n newUserInit()\n } else {\n initWallet({\n address: overview.address,\n did\n })\n }\n }\n }, [overview, token, walletInited]);\n\n return {\n walletInited\n }\n\n\n}","import {IEnvConfigType, IEnvName, IMatchEvents, LocaleType} from \"../types/types\";\nimport React, {useEffect, useRef} from \"react\";\nimport useLocalStore from \"../store/useLocalStore\";\nimport eventManager from \"./eventManager\";\nimport {getOverviewInfoApi} from \"../api\";\nimport env from \"../config/env\";\nimport matchlog from \"../utils/matchlog\";\n\nexport default function useInit({\n theme,\n appid,\n events,\n endpoints,\n locale\n }: {\n theme: \"light\" | \"dark\";\n appid: string;\n endpoints?: IEnvConfigType['endpoints']\n events?: IMatchEvents\n locale?: LocaleType\n}) {\n\n const {\n setAppid,\n setEndpoints,\n setToken,\n setMid,\n token,\n setOverview,\n setTheme,\n setLocale,\n locale:realLocale\n } = useLocalStore();\n const overviewLoadingRef = useRef(false);\n\n const searchParams = new URLSearchParams(window.location.search);\n const matchToken = searchParams.get('matchToken');\n\n const realEndpoints = endpoints || env.endpoints;\n\n useEffect(() => {\n setTheme(theme)\n }, [theme])\n\n useEffect(() => {\n setAppid(appid);\n }, [appid]);\n\n useEffect(() => {\n setEndpoints(realEndpoints);\n }, [realEndpoints]);\n\n useEffect(()=>{\n setLocale(locale||'en')\n },[locale])\n\n useEffect(() => {\n if (matchToken) {\n const tokenData = JSON.parse(atob(matchToken));\n if (tokenData && tokenData.mid && tokenData.token) {\n login({\n mid: tokenData.mid,\n token: \"Bearer \" + tokenData.token,\n });\n }\n }\n }, [matchToken]);\n\n useEffect(() => {\n const onLoginMessage = (event: MessageEvent) => {\n const res = event.data;\n if (res.event === 'login' && res.data && (res.data.token || (res.data.token_type && res.data.access_token))) {\n login({\n mid: res.data.mid,\n token: res.data.token || `${res.data.token_type} ${res.data.access_token}`,\n });\n } else if (res.event == 'bind') {\n eventManager.emit('onBind', res.data)\n if (events && events.onBind) {\n events.onBind(res.data)\n }\n }\n }\n window.addEventListener('message', onLoginMessage);\n return () => {\n window.removeEventListener('message', onLoginMessage);\n };\n }, []);\n\n const loadOverview = async () => {\n matchlog.log('loadOverview')\n if (overviewLoadingRef.current) {\n return;\n }\n overviewLoadingRef.current = true;\n try {\n const res = await getOverviewInfoApi();\n\n setOverview(res.data)\n\n return res.data;\n } catch (err) {\n console.error('overview error', err);\n } finally {\n overviewLoadingRef.current = false;\n }\n };\n\n useEffect(() => {\n if (token) {\n loadOverview();\n }\n }, [token]);\n\n const login = async ({mid, token}: { mid: string; token: string }) => {\n setMid(mid);\n setToken(token);\n const overview = await loadOverview();\n\n eventManager.emit('onLogin', {\n mid,\n token,\n did: overview?.did as string,\n });\n if (events && events?.onLogin) {\n events.onLogin({\n mid,\n token,\n did: overview?.did as string,\n });\n }\n };\n return {\n loadOverview,\n login,\n endpoints:realEndpoints,\n locale:realLocale\n }\n\n}","{\n \"email\": \"Email\",\n \"emailAddress\": \"Email Address\",\n \"emailAddressPlaceholder\": \"Enter Your Email Address\",\n \"continue\": \"Continue\",\n \"send\": \"Send\",\n \"resend\": \"Resend\",\n \"sendCodeErrorTip\": \"Failed to send code: {error}\",\n \"sendEmailTips\": \"We have sent a verification code to your email\",\n \"verificationCode\": \"Verification Code\",\n \"codePlaceholder\": \"Enter the code\",\n \"wallet\": \"Wallet\",\n \"otherLoginMethods\": \"Other login methods\",\n \"login\": \"Login\",\n \"user\": \"User\",\n \"loginTitle\": \"Log in / Sign up\",\n \"loginTips\": \"You can use the following methods\",\n \"passwordMinError\": \"Password must be at least {length} characters\",\n \"passwordMatchError\": \"The password you entered twice do not match\",\n \"passwordTitle\": \"Set Password\",\n \"passwordTips\": \"Please set the wallet password that will be used to recover the wallet\",\n \"password\": \"Password\",\n \"passwordPlaceholder\": \"Enter Your Password\",\n \"rePassword\": \"Re Password\",\n \"rePasswordPlaceholder\": \"Re Enter the Password\",\n \"recoverTitle\": \"Recover Wallet\",\n \"recoverTips\": \"Please enter your password to recover your wallet\",\n \"bindWith\": \"Bind with {name} Wallet\",\n \"loginWith\": \"Login with {name} Wallet\",\n \"editUsernameTitle\": \"Edit User Name\",\n \"setUsernameTitle\": \"Set User Name\",\n \"username\": \"User Name\",\n \"usernamePlaceholder\": \"Enter Your User Name\",\n \"usernameValidError\": \"Name can be composed of numbers and letters as well as characters\",\n \"usernameLengthError\": \"No less than 2 characters\",\n \"confirm\": \"Confirm\",\n \"nextTime\": \"Next time\",\n \"setUsername\": \"Set a User Name\",\n \"disconnect\": \"Disconnect\"\n}","{\n \"email\": \"邮箱\",\n \"emailAddress\": \"邮箱地址\",\n \"emailAddressPlaceholder\": \"请输入您的邮箱地址\",\n \"continue\": \"继续\",\n \"send\": \"发送\",\n \"resend\": \"重新发送\",\n \"sendCodeErrorTip\": \"发送验证码失败:{error}\",\n \"sendEmailTips\": \"我们已向您的邮箱发送验证码\",\n \"verificationCode\": \"验证码\",\n \"codePlaceholder\": \"请输入验证码\",\n \"wallet\": \"钱包\",\n \"otherLoginMethods\": \"其他登录方式\",\n \"login\": \"登录\",\n \"user\": \"用户\",\n \"loginTitle\": \"登录 / 注册\",\n \"loginTips\": \"您可以使用以下方式登录\",\n \"passwordMinError\": \"密码必须至少包含 {length} 个字符\",\n \"passwordMatchError\": \"两次输入的密码不一致\",\n \"passwordTitle\": \"设置密码\",\n \"passwordTips\": \"请设置用于恢复钱包的钱包密码\",\n \"password\": \"密码\",\n \"passwordPlaceholder\": \"请输入您的密码\",\n \"rePassword\": \"确认密码\",\n \"rePasswordPlaceholder\": \"请再次输入密码\",\n \"recoverTitle\": \"恢复钱包\",\n \"recoverTips\": \"请输入您的密码以恢复钱包\",\n \"bindWith\": \"绑定 {name} 钱包\",\n \"loginWith\": \"使用 {name} 钱包登录\",\n \"editUsernameTitle\": \"修改用户名\",\n \"setUsernameTitle\": \"设置用户名\",\n \"username\": \"用户名\",\n \"usernamePlaceholder\": \"请输入您的用户名\",\n \"usernameValidError\": \"用户名可以由数字、字母和字符组成\",\n \"usernameLengthError\": \"用户名不得少于 2 个字符\",\n \"confirm\": \"确认\",\n \"nextTime\": \"下次再说\",\n \"setUsername\": \"设置用户名\",\n \"disconnect\": \"断开连接\"\n}","{\n \"email\": \"郵箱\",\n \"emailAddress\": \"郵箱地址\",\n \"emailAddressPlaceholder\": \"請輸入您的郵箱地址\",\n \"continue\": \"繼續\",\n \"send\": \"發送\",\n \"resend\": \"重新發送\",\n \"sendCodeErrorTip\": \"發送驗證碼失敗:{error}\",\n \"sendEmailTips\": \"我們已向您的郵箱發送驗證碼\",\n \"verificationCode\": \"驗證碼\",\n \"codePlaceholder\": \"請輸入驗證碼\",\n \"wallet\": \"錢包\",\n \"otherLoginMethods\": \"其他登入方式\",\n \"login\": \"登入\",\n \"user\": \"用戶\",\n \"loginTitle\": \"登入 / 註冊\",\n \"loginTips\": \"您可以使用以下方式登入\",\n \"passwordMinError\": \"密碼必須至少包含 {length} 個字符\",\n \"passwordMatchError\": \"兩次輸入的密碼不一致\",\n \"passwordTitle\": \"設置密碼\",\n \"passwordTips\": \"請設置用於恢復錢包的密碼\",\n \"password\": \"密碼\",\n \"passwordPlaceholder\": \"請輸入您的密碼\",\n \"rePassword\": \"確認密碼\",\n \"rePasswordPlaceholder\": \"請再次輸入密碼\",\n \"recoverTitle\": \"恢復錢包\",\n \"recoverTips\": \"請輸入您的密碼以恢復錢包\",\n \"bindWith\": \"綁定 {name} 錢包\",\n \"loginWith\": \"使用 {name} 錢包登入\",\n \"editUsernameTitle\": \"修改用戶名\",\n \"setUsernameTitle\": \"設置用戶名\",\n \"username\": \"用戶名\",\n \"usernamePlaceholder\": \"請輸入您的用戶名\",\n \"usernameValidError\": \"用戶名可以由數字、字母和字符組成\",\n \"usernameLengthError\": \"用戶名不得少於 2 個字符\",\n \"confirm\": \"確認\",\n \"nextTime\": \"下次再說\",\n \"setUsername\": \"設置用戶名\",\n \"disconnect\": \"斷開連接\"\n}","{\n \"email\": \"Email\",\n \"emailAddress\": \"Adresse Email\",\n \"emailAddressPlaceholder\": \"Entrez votre adresse email\",\n \"continue\": \"Continuer\",\n \"send\": \"Envoyer\",\n \"resend\": \"Renvoyer\",\n \"sendCodeErrorTip\": \"Échec de l'envoi du code : {error}\",\n \"sendEmailTips\": \"Un code de vérification a été envoyé à votre email\",\n \"verificationCode\": \"Code de vérification\",\n \"codePlaceholder\": \"Entrez le code\",\n \"wallet\": \"Portefeuille\",\n \"otherLoginMethods\": \"Autres méthodes de connexion\",\n \"login\": \"Connexion\",\n \"user\": \"Utilisateur\",\n \"loginTitle\": \"Connexion / Inscription\",\n \"loginTips\": \"Vous pouvez utiliser les méthodes suivantes\",\n \"passwordMinError\": \"Le mot de passe doit contenir au moins {length} caractères\",\n \"passwordMatchError\": \"Les mots de passe ne correspondent pas\",\n \"passwordTitle\": \"Définir un mot de passe\",\n \"passwordTips\": \"Veuillez définir le mot de passe pour restaurer le portefeuille\",\n \"password\": \"Mot de passe\",\n \"passwordPlaceholder\": \"Entrez votre mot de passe\",\n \"rePassword\": \"Confirmer le mot de passe\",\n \"rePasswordPlaceholder\": \"Ressaisissez le mot de passe\",\n \"recoverTitle\": \"Restaurer le portefeuille\",\n \"recoverTips\": \"Entrez votre mot de passe pour restaurer le portefeuille\",\n \"bindWith\": \"Lier avec le portefeuille {name}\",\n \"loginWith\": \"Connexion avec le portefeuille {name}\",\n \"editUsernameTitle\": \"Modifier le nom d'utilisateur\",\n \"setUsernameTitle\": \"Définir un nom d'utilisateur\",\n \"username\": \"Nom d'utilisateur\",\n \"usernamePlaceholder\": \"Entrez votre nom d'utilisateur\",\n \"usernameValidError\": \"Le nom peut contenir des lettres, chiffres et caractères\",\n \"usernameLengthError\": \"Le nom doit comporter au moins 2 caractères\",\n \"confirm\": \"Confirmer\",\n \"nextTime\": \"La prochaine fois\",\n \"setUsername\": \"Définir un nom d'utilisateur\",\n \"disconnect\": \"Déconnecter\"\n}\n","{\n \"email\": \"メール\",\n \"emailAddress\": \"メールアドレス\",\n \"emailAddressPlaceholder\": \"メールアドレスを入力してください\",\n \"continue\": \"続ける\",\n \"send\": \"送信\",\n \"resend\": \"再送信\",\n \"sendCodeErrorTip\": \"コード送信に失敗しました: {error}\",\n \"sendEmailTips\": \"確認コードをメールに送信しました\",\n \"verificationCode\": \"確認コード\",\n \"codePlaceholder\": \"コードを入力してください\",\n \"wallet\": \"ウォレット\",\n \"otherLoginMethods\": \"その他のログイン方法\",\n \"login\": \"ログイン\",\n \"user\": \"ユーザー\",\n \"loginTitle\": \"ログイン / 登録\",\n \"loginTips\": \"以下の方法でログインできます\",\n \"passwordMinError\": \"パスワードは最低 {length} 文字必要です\",\n \"passwordMatchError\": \"入力されたパスワードが一致しません\",\n \"passwordTitle\": \"パスワードを設定\",\n \"passwordTips\": \"ウォレット復元用のパスワードを設定してください\",\n \"password\": \"パスワード\",\n \"passwordPlaceholder\": \"パスワードを入力してください\",\n \"rePassword\": \"パスワード確認\",\n \"rePasswordPlaceholder\": \"再度パスワードを入力してください\",\n \"recoverTitle\": \"ウォレットを復元\",\n \"recoverTips\": \"パスワードを入力してウォレットを復元してください\",\n \"bindWith\": \"{name}ウォレットと連携\",\n \"loginWith\": \"{name}ウォレットでログイン\",\n \"editUsernameTitle\": \"ユーザー名を編集\",\n \"setUsernameTitle\": \"ユーザー名を設定\",\n \"username\": \"ユーザー名\",\n \"usernamePlaceholder\": \"ユーザー名を入力してください\",\n \"usernameValidError\": \"名前は文字、数字、記号で構成できます\",\n \"usernameLengthError\": \"2文字以上で入力してください\",\n \"confirm\": \"確認\",\n \"nextTime\": \"次回\",\n \"setUsername\": \"ユーザー名を設定\",\n \"disconnect\": \"切断\"\n}\n","{\n \"email\": \"이메일\",\n \"emailAddress\": \"이메일 주소\",\n \"emailAddressPlaceholder\": \"이메일 주소를 입력하세요\",\n \"continue\": \"계속하기\",\n \"send\": \"보내기\",\n \"resend\": \"재전송\",\n \"sendCodeErrorTip\": \"코드 전송 실패: {error}\",\n \"sendEmailTips\": \"인증 코드를 이메일로 보냈습니다\",\n \"verificationCode\": \"인증 코드\",\n \"codePlaceholder\": \"코드를 입력하세요\",\n \"wallet\": \"지갑\",\n \"otherLoginMethods\": \"다른 로그인 방법\",\n \"login\": \"로그인\",\n \"user\": \"사용자\",\n \"loginTitle\": \"로그인 / 회원가입\",\n \"loginTips\": \"다음 방법으로 로그인할 수 있습니다\",\n \"passwordMinError\": \"비밀번호는 최소 {length}자 이상이어야 합니다\",\n \"passwordMatchError\": \"두 비밀번호가 일치하지 않습니다\",\n \"passwordTitle\": \"비밀번호 설정\",\n \"passwordTips\": \"지갑 복구에 사용할 비밀번호를 설정하세요\",\n \"password\": \"비밀번호\",\n \"passwordPlaceholder\": \"비밀번호를 입력하세요\",\n \"rePassword\": \"비밀번호 확인\",\n \"rePasswordPlaceholder\": \"비밀번호를 다시 입력하세요\",\n \"recoverTitle\": \"지갑 복구\",\n \"recoverTips\": \"비밀번호를 입력해 지갑을 복구하세요\",\n \"bindWith\": \"{name} 지갑과 연결\",\n \"loginWith\": \"{name} 지갑으로 로그인\",\n \"editUsernameTitle\": \"사용자 이름 수정\",\n \"setUsernameTitle\": \"사용자 이름 설정\",\n \"username\": \"사용자 이름\",\n \"usernamePlaceholder\": \"사용자 이름을 입력하세요\",\n \"usernameValidError\": \"이름은 문자, 숫자 및 특수문자로 구성될 수 있습니다\",\n \"usernameLengthError\": \"이름은 최소 2자 이상이어야 합니다\",\n \"confirm\": \"확인\",\n \"nextTime\": \"다음에\",\n \"setUsername\": \"사용자 이름 설정\",\n \"disconnect\": \"연결 끊기\"\n}\n","{\n \"email\": \"Email\",\n \"emailAddress\": \"Địa chỉ Email\",\n \"emailAddressPlaceholder\": \"Nhập địa chỉ Email của bạn\",\n \"continue\": \"Tiếp tục\",\n \"send\": \"Gửi\",\n \"resend\": \"Gửi lại\",\n \"sendCodeErrorTip\": \"Gửi mã thất bại: {error}\",\n \"sendEmailTips\": \"Chúng tôi đã gửi mã xác minh đến email của bạn\",\n \"verificationCode\": \"Mã xác minh\",\n \"codePlaceholder\": \"Nhập mã\",\n \"wallet\": \"Ví\",\n \"otherLoginMethods\": \"Phương thức đăng nhập khác\",\n \"login\": \"Đăng nhập\",\n \"user\": \"Người dùng\",\n \"loginTitle\": \"Đăng nhập / Đăng ký\",\n \"loginTips\": \"Bạn có thể sử dụng các phương thức sau\",\n \"passwordMinError\": \"Mật khẩu phải có ít nhất {length} ký tự\",\n \"passwordMatchError\": \"Hai mật khẩu không khớp\",\n \"passwordTitle\": \"Tạo mật khẩu\",\n \"passwordTips\": \"Vui lòng đặt mật khẩu để khôi phục ví\",\n \"password\": \"Mật khẩu\",\n \"passwordPlaceholder\": \"Nhập mật khẩu của bạn\",\n \"rePassword\": \"Xác nhận mật khẩu\",\n \"rePasswordPlaceholder\": \"Nhập lại mật khẩu\",\n \"recoverTitle\": \"Khôi phục ví\",\n \"recoverTips\": \"Nhập mật khẩu để khôi phục ví\",\n \"bindWith\": \"Liên kết với ví {name}\",\n \"loginWith\": \"Đăng nhập bằng ví {name}\",\n \"editUsernameTitle\": \"Chỉnh sửa tên người dùng\",\n \"setUsernameTitle\": \"Đặt tên người dùng\",\n \"username\": \"Tên người dùng\",\n \"usernamePlaceholder\": \"Nhập tên người dùng của bạn\",\n \"usernameValidError\": \"Tên chỉ được chứa chữ, số và ký tự\",\n \"usernameLengthError\": \"Tên phải dài ít nhất 2 ký tự\",\n \"confirm\": \"Xác nhận\",\n \"nextTime\": \"Lần sau\",\n \"setUsername\": \"Đặt tên người dùng\",\n \"disconnect\": \"Ngắt kết nối\"\n}","{\n \"email\": \"Correo\",\n \"emailAddress\": \"Dirección de correo\",\n \"emailAddressPlaceholder\": \"Introduce tu dirección de correo\",\n \"continue\": \"Continuar\",\n \"send\": \"Enviar\",\n \"resend\": \"Reenviar\",\n \"sendCodeErrorTip\": \"Error al enviar el código: {error}\",\n \"sendEmailTips\": \"Hemos enviado un código de verificación a tu correo\",\n \"verificationCode\": \"Código de verificación\",\n \"codePlaceholder\": \"Introduce el código\",\n \"wallet\": \"Cartera\",\n \"otherLoginMethods\": \"Otros métodos de inicio de sesión\",\n \"login\": \"Iniciar sesión\",\n \"user\": \"Usuario\",\n \"loginTitle\": \"Iniciar sesión / Registrarse\",\n \"loginTips\": \"Puedes usar los siguientes métodos\",\n \"passwordMinError\": \"La contraseña debe tener al menos {length} caracteres\",\n \"passwordMatchError\": \"Las contraseñas no coinciden\",\n \"passwordTitle\": \"Establecer contraseña\",\n \"passwordTips\": \"Configura la contraseña para recuperar tu cartera\",\n \"password\": \"Contraseña\",\n \"passwordPlaceholder\": \"Introduce tu contraseña\",\n \"rePassword\": \"Confirmar contraseña\",\n \"rePasswordPlaceholder\": \"Repite la contraseña\",\n \"recoverTitle\": \"Recuperar cartera\",\n \"recoverTips\": \"Introduce tu contraseña para recuperar la cartera\",\n \"bindWith\": \"Vincular con la cartera {name}\",\n \"loginWith\": \"Iniciar sesión con la cartera {name}\",\n \"editUsernameTitle\": \"Editar nombre de usuario\",\n \"setUsernameTitle\": \"Establecer nombre de usuario\",\n \"username\": \"Nombre de usuario\",\n \"usernamePlaceholder\": \"Introduce tu nombre de usuario\",\n \"usernameValidError\": \"El nombre puede contener letras, números y caracteres\",\n \"usernameLengthError\": \"El nombre debe tener al menos 2 caracteres\",\n \"confirm\": \"Confirmar\",\n \"nextTime\": \"La próxima vez\",\n \"setUsername\": \"Establecer nombre de usuario\",\n \"disconnect\": \"Desconectar\"\n}\n","{\n \"email\": \"Email\",\n \"emailAddress\": \"Endereço de Email\",\n \"emailAddressPlaceholder\": \"Digite seu endereço de email\",\n \"continue\": \"Continuar\",\n \"send\": \"Enviar\",\n \"resend\": \"Reenviar\",\n \"sendCodeErrorTip\": \"Falha ao enviar código: {error}\",\n \"sendEmailTips\": \"Enviamos um código de verificação para seu email\",\n \"verificationCode\": \"Código de Verificação\",\n \"codePlaceholder\": \"Digite o código\",\n \"wallet\": \"Carteira\",\n \"otherLoginMethods\": \"Outros métodos de login\",\n \"login\": \"Entrar\",\n \"user\": \"Usuário\",\n \"loginTitle\": \"Entrar / Registrar\",\n \"loginTips\": \"Você pode usar os métodos abaixo\",\n \"passwordMinError\": \"A senha deve ter pelo menos {length} caracteres\",\n \"passwordMatchError\": \"As senhas digitadas não coincidem\",\n \"passwordTitle\": \"Definir Senha\",\n \"passwordTips\": \"Configure uma senha para recuperar sua carteira\",\n \"password\": \"Senha\",\n \"passwordPlaceholder\": \"Digite sua senha\",\n \"rePassword\": \"Confirmar Senha\",\n \"rePasswordPlaceholder\": \"Digite a senha novamente\",\n \"recoverTitle\": \"Recuperar Carteira\",\n \"recoverTips\": \"Digite sua senha para recuperar a carteira\",\n \"bindWith\": \"Vincular com Carteira {name}\",\n \"loginWith\": \"Entrar com Carteira {name}\",\n \"editUsernameTitle\": \"Editar Nome de Usuário\",\n \"setUsernameTitle\": \"Definir Nome de Usuário\",\n \"username\": \"Nome de Usuário\",\n \"usernamePlaceholder\": \"Digite seu nome de usuário\",\n \"usernameValidError\": \"O nome pode conter letras, números e caracteres\",\n \"usernameLengthError\": \"Deve ter no mínimo 2 caracteres\",\n \"confirm\": \"Confirmar\",\n \"nextTime\": \"Próxima vez\",\n \"setUsername\": \"Definir Nome de Usuário\",\n \"disconnect\": \"Desconectar\"\n}\n","import messagesEn from \"./en.json\";\nimport messagesZh from \"./zh.json\";\nimport messagesTw from \"./tw.json\";\nimport messagesFr from \"./fr.json\";\nimport messagesJa from \"./ja.json\";\nimport messagesKo from \"./ko.json\";\nimport messagesVi from \"./vi.json\";\nimport messagesEs from \"./es.json\";\nimport messagesPt from \"./pt.json\";\n\n\nexport const messages: Record<string, Record<string, string>> = {\n en: messagesEn,\n zh: messagesZh,\n tw: messagesTw,\n fr: messagesFr,\n ja: messagesJa,\n ko: messagesKo,\n vi: messagesVi,\n es: messagesEs,\n pt: messagesPt,\n};","export * as bind from \"./bind\";\nexport * as poh from \"./poh\";\nexport * as user from \"./user\";","import {useQuery} from \"@tanstack/react-query\";\nimport useUserInfo from \"../useUserInfo\";\nimport type {UseQueryOptions} from \"@tanstack/react-query/src/types\";\nimport {BindInfoType, BindItemType} from \"../../types/types\";\nimport {getBindInfoApi, getBindListApi} from \"../../api\";\n\nexport {bindCexApi, unBindApi, unBindWalletApi} from \"../../api\";\n\nexport function useBindList(options?: Omit<UseQueryOptions<BindItemType[]>, 'queryKey' | 'queryFn'>) {\n const {isLogin} = useUserInfo()\n return useQuery<BindItemType[]>({\n queryKey: ['bindList'],\n enabled: isLogin,\n queryFn: async () => {\n let res = await getBindListApi()\n return res.data\n },\n ...options\n })\n}\n\nexport function useBindInfo(options?: Omit<UseQueryOptions<BindInfoType>, 'queryKey' | 'queryFn'>) {\n const {isLogin} = useUserInfo()\n return useQuery<BindInfoType>({\n queryKey: ['bindInfo'],\n enabled: isLogin,\n queryFn: async () => {\n let res = await getBindInfoApi()\n return res.data\n },\n ...options\n })\n}\n","import {useQuery} from \"@tanstack/react-query\";\nimport useUserInfo from \"../useUserInfo\";\nimport type {UseQueryOptions} from \"@tanstack/react-query/src/types\";\nimport {PohItemType} from \"types/types\";\nimport {getPohListApi} from \"api\";\nexport {verifyPohApi} from \"api\";\n\nexport function usePohList(options?: Omit<UseQueryOptions<PohItemType[]>, 'queryKey' | 'queryFn'>) {\n const {isLogin} = useUserInfo()\n return useQuery<PohItemType[]>({\n queryKey: ['pohList'],\n enabled: isLogin,\n queryFn: async () => {\n let res = await getPohListApi()\n return res.data\n },\n ...options\n })\n}","export {mintPassportNftApi,chooseIdentityApi} from \"api\"","export { matchMain as MatchMain} from \"./MatchMain\"\nexport { matchTest as MatchTest} from \"./MatchTest\"","import {defineChain} from \"viem\";\n\nexport const matchMain = /*#__PURE__*/ defineChain({\n //定义match链\n id: 698,\n name: \"Matchain\",\n nativeCurrency: { name: \"Match Coin\", symbol: \"BNB\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.matchain.io\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Matchscan\",\n url: \"https://matchscan.io/\",\n apiUrl: \"https://matchscan.io/api\",\n },\n },\n iconUrl: \"https://matchscan.io/static/identicon_logos/blockies.png\",\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n }\n },\n // testnet: true,\n});","\nimport { defineChain } from \"viem\"\n\nexport const matchTest = /*#__PURE__*/ defineChain({\n //定义matchTest链\n id: 699,\n name: \"MatchTest\",\n nativeCurrency: { name: \"Match Coin\", symbol: \"BNB\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://testnet-rpc.matchain.io\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Matchscan\",\n url: \"https://testnet.matchscan.io/\",\n apiUrl: \"https://testnet.matchscan.io/api\",\n },\n },\n iconUrl: \"https://testnet.matchscan.io/static/identicon_logos/blockies.png\",\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 751532,\n },\n ensRegistry: { address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\" },\n ensUniversalResolver: {\n address: \"0xc8Af999e38273D658BE1b921b88A9Ddf005769cC\",\n blockCreated: 5_317_080,\n },\n },\n // testnet: true,\n});\n"],"mappings":"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","names":["import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_react","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_react","axios","import_zustand","import_react","handler","import_zustand","address","import_react","copy","import_jsx_runtime","did","error","import_react","import_react_intl","import_jsx_runtime","error","import_react","import_react","import_react","import_react_intl","import_jsx_runtime","import_react","import_react_intl","import_jsx_runtime","import_react_intl","import_jsx_runtime","import_react","import_jsx_runtime","import_react","import_react_intl","import_jsx_runtime","m","import_react","import_react_intl","import_jsx_runtime","import_jsx_runtime","import_react","import_jsx_runtime","import_react_intl","import_jsx_runtime","import_react_intl","import_jsx_runtime","import_react","import_jsx_runtime","import_react_intl","import_jsx_runtime","error","WalletAdapterNetwork","import_react_intl","import_jsx_runtime","React","error","import_jsx_runtime","import_jsx_runtime","import_react","AppClientId","import_react","token","import_react_intl","import_jsx_runtime","import_react_query","import_react_query","import_viem"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.tsx","../src/MatchContext.tsx","../src/assets/icon/ArrowLeftIcon.tsx","../src/assets/icon/BackIcon.tsx","../src/assets/icon/CloseIcon.tsx","../src/assets/icon/XIcon.tsx","../src/assets/icon/GoogleIcon.tsx","../src/assets/icon/WalletIcon.tsx","../src/assets/icon/TelegramIcon.tsx","../src/assets/icon/EmailIcon.tsx","../src/assets/icon/ArrowRightIcon.tsx","../src/assets/icon/CloseRoundIcon.tsx","../src/assets/icon/LoadingIcon.tsx","../src/assets/icon/EmailLineIcon.tsx","../src/assets/icon/UnLoginIcon.tsx","../src/assets/icon/LoginIcon.tsx","../src/assets/icon/CheckRoundIcon.tsx","../src/assets/icon/PasswordRoundIcon.tsx","../src/assets/icon/CloseEyeIcon.tsx","../src/assets/icon/OpenEyeIcon.tsx","../src/assets/icon/DeleteRoundIcon.tsx","../src/assets/icon/FacebookIcon.tsx","../src/assets/icon/GithubIcon.tsx","../src/assets/icon/DiscordIcon.tsx","../src/assets/icon/CheckIcon.tsx","../src/assets/icon/CopyIcon.tsx","../src/assets/icon/LinkedinIcon.tsx","../src/assets/icon/YoutubeIcon.tsx","../src/assets/icon/BTCDarkIcon.tsx","../src/assets/icon/BTCLightIcon.tsx","../src/assets/icon/EVMDarkIcon.tsx","../src/assets/icon/EVMLightIcon.tsx","../src/assets/icon/SOLDarkIcon.tsx","../src/assets/icon/SOLLightIcon.tsx","../src/assets/icon/TRXDarkIcon.tsx","../src/assets/icon/TRXLightIcon.tsx","../src/assets/icon/ArrowDownIcon.tsx","../src/hooks/useLayout.tsx","../src/components/Modal/index.tsx","../src/components/PasswordModal/index.tsx","../src/components/Input/index.tsx","../src/components/Field/index.tsx","../src/components/Button/index.tsx","../src/hooks/index.tsx","../src/store/useLocalStore.ts","../src/hooks/useUserInfo.tsx","../src/api/request.ts","../src/config/env/index.ts","../src/store/index.ts","../src/utils/matchlog.ts","../src/api/index.ts","../src/hooks/eventManager.ts","../src/utils/index.ts","../src/store/useModalStore.ts","../src/hooks/useMatchEvents.ts","../src/store/useStore.ts","../src/hooks/useWallet.tsx","../src/hooks/useCopyClipboard.ts","../src/components/RecoveryModal/index.tsx","../src/components/SOLModal/index.tsx","../src/components/index.tsx","../src/components/EmailModal/index.tsx","../src/components/EmailModal/StepEmail.tsx","../src/components/EmailModal/StepVerify.tsx","../src/config/index.tsx","../src/components/Popover/index.tsx","../src/components/LoginBox/index.tsx","../src/components/LoginButton/index.tsx","../src/components/LoginPanel/index.tsx","../src/components/LoginModal/index.tsx","../src/components/UserPopover/index.tsx","../src/assets/icon/ProfileIcon.tsx","../src/components/UsernameModal/index.tsx","../src/assets/icon/InfoRoundIcon.tsx","../node_modules/@solana/wallet-adapter-base/src/types.ts","../src/assets/wallet.ts","../src/context/BusinessProvider.tsx","../src/context/index.tsx","../src/hooks/useWalletInit.ts","../src/hooks/useInit.tsx","../src/i18n/en.json","../src/i18n/zh.json","../src/i18n/tw.json","../src/i18n/fr.json","../src/i18n/ja.json","../src/i18n/ko.json","../src/i18n/vi.json","../src/i18n/es.json","../src/i18n/pt.json","../src/i18n/index.ts","../src/hooks/api/index.ts","../src/hooks/api/bind.ts","../src/hooks/api/poh.ts","../src/hooks/api/user.ts","../src/config/chains/index.ts","../src/config/chains/MatchMain.ts","../src/config/chains/MatchTest.ts"],"sourcesContent":["// src/index.tsx\nexport {useMatch, MatchProvider} from \"./MatchContext\"\nexport * as Components from \"./components\"\nexport * as Hooks from \"./hooks\"\nexport * as Api from \"./hooks/api\"\nexport * as Chains from \"./config/chains\"\n\n\n","// src/MatchContext.tsx\nimport React, {createContext, useContext, ReactNode} from 'react';\nimport Providers from './context';\nimport {IEnvConfigType, IMatchEvents, LocaleType} from \"./types/types\";\nimport useWalletInit from \"hooks/useWalletInit\"\nimport useInit from \"./hooks/useInit\";\nimport {QueryClient, QueryClientProvider} from '@tanstack/react-query';\nimport {IntlProvider} from 'react-intl';\nimport {messages} from \"./i18n\"\nimport matchlog from \"./utils/matchlog\";\n\n\nconst queryClient = new QueryClient();\n\ntype MatchContextType = {\n appid: string;\n events?: IMatchEvents;\n login: (data: { mid: string; token: string }) => Promise<void>;\n theme: \"light\" | \"dark\";\n locale?: LocaleType\n} & Partial<IEnvConfigType>\n\nexport const MatchContext = createContext<MatchContextType | undefined>(undefined);\n\nexport const MatchProvider: React.FC<{\n children: ReactNode;\n appid: string;\n events?: IMatchEvents;\n theme?: \"light\" | \"dark\",\n endpoints?: IEnvConfigType['endpoints']\n locale?: LocaleType\n}> = ({children, appid, events, theme = \"light\", endpoints, locale}) => {\n\n const {loadOverview, login, endpoints: realEndPoints, locale: realLocale} = useInit({\n theme,\n appid,\n events,\n endpoints,\n locale\n })\n\n matchlog.log('config',{\n appid,\n theme,\n endpoints,\n locale,\n realLocale\n })\n\n useWalletInit({\n refreshOverview: loadOverview\n })\n\n return (\n <IntlProvider locale={realLocale} messages={messages[realLocale]}>\n <QueryClientProvider client={queryClient}>\n <MatchContext.Provider\n value={{\n appid,\n endpoints: realEndPoints,\n events,\n login,\n theme,\n locale: realLocale\n }}\n >\n <Providers>{children}</Providers>\n </MatchContext.Provider>\n </QueryClientProvider>\n </IntlProvider>\n\n );\n};\n\nexport const useMatch = () => {\n const context = useContext(MatchContext);\n\n if (context === undefined) {\n throw new Error('useMatch must be used within a MatchProvider');\n }\n return context;\n};","import {IconProps} from \"types/types\";\n\nexport default function ArrowLeftIcon({\n color = \"#000\",\n width = 24,\n height = 25,\n ...props\n }: IconProps) {\n return <svg width={width} height={height} {...props} viewBox=\"0 0 24 25\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M10.2322 5.26777L11.1161 6.15165L5.55207 11.7157H20.2157L20.2157 12.962L5.55207 12.962L11.1161 18.526L10.2322 19.4099L3.16117 12.3388L10.2322 5.26777Z\"\n fill={color}/>\n </svg>\n\n}","import {CSSProperties} from \"react\";\n\nexport default function BackIcon({\n color = \"#000\",\n size = 24,\n className,\n style\n }: {\n color?: string,\n size?: number,\n style?: CSSProperties\n className?: string\n}) {\n return (\n <svg className={className} style={style} width={size} height={size} viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.2917 25.2926C11.1988 25.3855 11.1251 25.4958 11.0748 25.6172C11.0245 25.7386 10.9987 25.8687 10.9987 26.0001C10.9987 26.1315 11.0245 26.2616 11.0748 26.383C11.1251 26.5044 11.1988 26.6147 11.2917 26.7076C11.3846 26.8005 11.4949 26.8742 11.6163 26.9245C11.7377 26.9747 11.8678 27.0006 11.9992 27.0006C12.1306 27.0006 12.2607 26.9747 12.3821 26.9245C12.5035 26.8742 12.6138 26.8005 12.7067 26.7076L22.7067 16.7076C22.7997 16.6147 22.8734 16.5044 22.9238 16.383C22.9741 16.2616 23 16.1315 23 16.0001C23 15.8687 22.9741 15.7385 22.9238 15.6171C22.8734 15.4957 22.7997 15.3854 22.7067 15.2926L12.7067 5.29257C12.5191 5.10493 12.2646 4.99951 11.9992 4.99951C11.7338 4.99951 11.4794 5.10493 11.2917 5.29257C11.1041 5.48021 10.9987 5.7347 10.9987 6.00007C10.9987 6.26543 11.1041 6.51993 11.2917 6.70757L20.5855 16.0001L11.2917 25.2926Z\"\n fill={color}/>\n </svg>\n )\n}","import {CSSProperties} from \"react\";\n\nexport default function CloseIcon({\n color = \"#000\",\n size = 24,\n style\n }: {\n color?: string,\n size?: number,\n style?: CSSProperties\n\n}) {\n return <svg style={style} width={size} height={size} viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M1 1L14.5 14.5M28 28L14.5 14.5M14.5 14.5L1 28L28 1\" stroke={color} strokeWidth=\"2\"/>\n </svg>\n}","\nexport default function XIcon({size=40}:{\n size?:number\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"black\"/>\n <path\n d=\"M16 10H9L17.2609 21.0145L9.44995 29.9999H12.1L18.4883 22.651L24 30H31L22.3917 18.5223L29.8001 10H27.1501L21.1643 16.8858L16 10ZM25 28L13 12H15L27 28H25Z\"\n fill=\"white\"/>\n </svg>\n\n}","\nexport default function GoogleIcon({size=40}:{\n size?:number\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#F8F8F8\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M31.52 20.2729C31.52 19.422 31.4436 18.6038 31.3018 17.8184H20V22.4602H26.4582C26.18 23.9602 25.3345 25.2311 24.0636 26.082V29.0929H27.9418C30.2109 27.0038 31.52 23.9274 31.52 20.2729Z\"\n fill=\"#4285F4\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M20 32.0003C23.24 32.0003 25.9564 30.9257 27.9418 29.093L24.0636 26.0821C22.9891 26.8021 21.6145 27.2275 20 27.2275C16.8745 27.2275 14.2291 25.1166 13.2855 22.2803H9.27637V25.3894C11.2509 29.3112 15.3091 32.0003 20 32.0003Z\"\n fill=\"#34A853\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M13.2855 22.2804C13.0455 21.5604 12.9091 20.7913 12.9091 20.0004C12.9091 19.2095 13.0455 18.4404 13.2855 17.7204V14.6113H9.27636C8.46364 16.2313 8 18.0641 8 20.0004C8 21.9368 8.46364 23.7695 9.27636 25.3895L13.2855 22.2804Z\"\n fill=\"#FBBC05\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M20 12.7727C21.7618 12.7727 23.3436 13.3782 24.5873 14.5673L28.0291 11.1255C25.9509 9.18909 23.2345 8 20 8C15.3091 8 11.2509 10.6891 9.27637 14.6109L13.2855 17.72C14.2291 14.8836 16.8745 12.7727 20 12.7727Z\"\n fill=\"#EA4335\"/>\n </svg>\n\n}","export default function WalletIcon({\n size = 40,\n }: {\n size?: number\n\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"url(#paint0_linear_412_1774)\"/>\n <path\n d=\"M32.3335 19.1112V17.3333C32.3335 15.1242 30.5426 13.3333 28.3335 13.3333H25.6668M32.3335 19.1112H25.1112C23.2089 19.1112 21.6668 20.6533 21.6668 22.5556C21.6668 24.4579 23.2089 26 25.1112 26H32.3335M32.3335 19.1112C33.0699 19.1112 33.6668 19.7081 33.6668 20.4445V24.6667C33.6668 25.403 33.0699 26 32.3335 26M32.3335 26V28C32.3335 30.2091 30.5426 32 28.3335 32H11.0002C8.79102 32 7.00016 30.2091 7.00016 28V17.3333C7.00016 15.5917 8.11324 14.1101 9.66683 13.5609M25.6668 13.3333H11.0002C10.5326 13.3333 10.0839 13.4135 9.66683 13.5609M25.6668 13.3333V11.75C25.6668 9.91548 23.8575 8.62884 22.1247 9.2311L9.66683 13.5609\"\n stroke=\"white\" strokeWidth=\"1.33333\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n <circle cx=\"26.1668\" cy=\"22.8335\" r=\"2\" fill=\"white\"/>\n <defs>\n <linearGradient id=\"paint0_linear_412_1774\" x1=\"20\" y1=\"0\" x2=\"20\" y2=\"40\" gradientUnits=\"userSpaceOnUse\">\n <stop stopColor=\"#FFB950\"/>\n <stop offset=\"0.475\" stopColor=\"#FF7A60\"/>\n <stop offset=\"1\" stopColor=\"#FF3C4A\"/>\n </linearGradient>\n </defs>\n </svg>\n}","export default function TelegramIcon({\n size = 40,\n }: {\n size?: number\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#28A7E8\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M9.65904 18.6099C16.1373 15.7874 20.4571 13.9267 22.6186 13.0277C28.7899 10.4608 30.0723 10.0149 30.9081 10.0002C31.0919 9.99692 31.503 10.0425 31.7692 10.2585C31.994 10.4409 32.0559 10.6874 32.0855 10.8603C32.1151 11.0333 32.1519 11.4273 32.1226 11.7351C31.7882 15.249 30.3411 23.7762 29.605 27.7118C29.2935 29.3771 28.6801 29.9354 28.0863 29.9901C26.7958 30.1088 25.8159 29.1372 24.566 28.3179C22.6101 27.0358 21.5052 26.2377 19.6067 24.9867C17.4127 23.5408 18.835 22.7462 20.0853 21.4475C20.4126 21.1076 26.0985 15.9358 26.2085 15.4667C26.2223 15.408 26.2351 15.1893 26.1051 15.0738C25.9752 14.9583 25.7834 14.9978 25.645 15.0292C25.4489 15.0737 22.3244 17.1389 16.2715 21.2247C15.3847 21.8337 14.5814 22.1304 13.8616 22.1149C13.0682 22.0977 11.5419 21.6663 10.4073 21.2974C9.0156 20.8451 7.90953 20.6059 8.00585 19.8376C8.05601 19.4374 8.60708 19.0282 9.65904 18.6099Z\"\n fill=\"white\"/>\n </svg>\n\n}","export default function EmailIcon({\n size = 40,\n }: {\n size?: number\n\n}) {\n return <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"url(#paint0_linear_124_10994)\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M30.8867 12.5448C30.9585 12.4862 31 12.3997 31 12.3085C31 12.1381 30.8581 12 30.683 12H9.49205C9.2203 12 9 12.2144 9 12.4789C9 12.6212 9.06508 12.7562 9.17759 12.8472L19.5082 21.2008C19.7333 21.3828 20.06 21.3821 20.2842 21.199L30.8867 12.5448ZM9.99246 15.2938C9.59792 14.9748 9 15.2478 9 15.7471V27.9107C9 28.2362 9.27109 28.5 9.6055 28.5H30.3945C30.7289 28.5 31 28.2362 31 27.9107V15.5103C31 15.0098 30.3994 14.7372 30.0054 15.0588L20.353 22.9375C20.0642 23.1732 19.7375 23.1739 19.5124 22.9919L9.99246 15.2938Z\"\n fill=\"white\"/>\n <defs>\n <linearGradient id=\"paint0_linear_124_10994\" x1=\"20\" y1=\"0\" x2=\"20\" y2=\"40\" gradientUnits=\"userSpaceOnUse\">\n <stop stopColor=\"#FFB950\"/>\n <stop offset=\"0.475\" stopColor=\"#FF7A60\"/>\n <stop offset=\"1\" stopColor=\"#FF3C4A\"/>\n </linearGradient>\n </defs>\n </svg>\n}","import {IconProps} from \"types/types\";\n\nexport default function ArrowRightIcon({\n color = \"#000\",\n size = 20,\n className,\n style\n }: IconProps) {\n return <svg className={className} style={style} width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M11.4733 3.97314L10.7367 4.70971L15.3734 9.34641L3.15374 9.34641L3.15374 10.385L15.3734 10.385L10.7367 15.0217L11.4733 15.7583L17.3658 9.8657L11.4733 3.97314Z\"\n fill={color}/>\n </svg>\n\n}","import {IconProps} from \"types/types\";\n\nexport default function CloseRoundIcon({size=30,...props}:IconProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 30 30\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"30\" height=\"30\" rx=\"15\" fill=\"#F9F9F9\"/>\n <path d=\"M10.7574 10.7573L19.2426 19.2426\" stroke=\"#6E6E6E\" strokeWidth=\"1.5\" strokeLinecap=\"round\"/>\n <path d=\"M19.2426 10.7573L10.7574 19.2426\" stroke=\"#6E6E6E\" strokeWidth=\"1.5\" strokeLinecap=\"round\"/>\n </svg>\n\n}","import React from 'react';\n\ninterface LoadingIconProps {\n size?: number;\n className?: string;\n color?: string;\n}\n\nconst LoadingIcon: React.FC<LoadingIconProps> = ({ size = 22, className=\"\",color=\"white\" }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 22 22\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path d=\"M11 1V3.5\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.3\" d=\"M3.92834 3.92871L5.69977 5.70017\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.4\" d=\"M1 11H3.5\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.5\" d=\"M3.92834 18.0722L5.69977 16.3008\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.6\" d=\"M11 21V18.5\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.7\" d=\"M18.0715 18.0722L16.3 16.3008\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.8\" d=\"M21 11H18.5\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path opacity=\"0.9\" d=\"M18.0715 3.92871L16.3 5.70017\" stroke={color} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n);\n\nexport default LoadingIcon;","import {IconProps} from \"../../types/types\";\n\nexport default function EmailLineIcon({\n size=24,\n color=\"black\",\n ...props\n }:IconProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M3 8.00049L10.8906 13.2609C11.5624 13.7088 12.4376 13.7088 13.1094 13.2609L21 8.00049M5 19.0005H19C20.1046 19.0005 21 18.1051 21 17.0005V7.00049C21 5.89592 20.1046 5.00049 19 5.00049H5C3.89543 5.00049 3 5.89592 3 7.00049V17.0005C3 18.1051 3.89543 19.0005 5 19.0005Z\"\n stroke={color} strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n\n}","import React from 'react';\nimport {IconProps} from \"../../types/types\";\n\nconst UnLoginIcon: React.FC<IconProps> = ({ size=32, color = 'white',...props }) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={size} height={size} viewBox=\"0 0 32 32\" fill=\"none\" {...props}>\n <path\n d=\"M24 14L26 12M24 14L22 12M24 14L22 16M24 14L26 16M18 12C18 14.2091 16.2091 16 14 16C11.7909 16 10 14.2091 10 12C10 9.79086 11.7909 8 14 8C16.2091 8 18 9.79086 18 12ZM10 19H18C20.2091 19 22 20.7909 22 23C22 23.5523 21.5523 24 21 24H7C6.44772 24 6 23.5523 6 23C6 20.7909 7.79086 19 10 19Z\"\n stroke={color} strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n);\n\nexport default UnLoginIcon;","import React from 'react';\nimport {IconProps} from \"../../types/types\";\n\nconst LoginIcon: React.FC<IconProps> = ({size = 32, color = 'white', ...props}) => (\n <svg width={size} height={size} viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <rect width=\"32\" height=\"32\" rx=\"16\"/>\n <path\n d=\"M22.5 14L24 15.5L27 12.5M19 11C19 13.2091 17.2091 15 15 15C12.7909 15 11 13.2091 11 11C11 8.79086 12.7909 7 15 7C17.2091 7 19 8.79086 19 11ZM11 18H19C21.2091 18 23 19.7909 23 22C23 22.5523 22.5523 23 22 23H8C7.44772 23 7 22.5523 7 22C7 19.7909 8.79086 18 11 18Z\"\n stroke=\"white\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n\n);\n\nexport default LoginIcon;","import {IconProps} from \"../../types/types\";\n\nexport default function CheckRoundIcon({\n size,\n color=\"#2CBF68\",\n ...props\n }:Omit<IconProps, 'width'|'height'>) {\n return <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_418_7699)\">\n <path\n d=\"M14.6668 8.00016C14.6668 11.6821 11.6821 14.6668 8.00016 14.6668C4.31826 14.6668 1.3335 11.6821 1.3335 8.00016C1.3335 4.31826 4.31826 1.3335 8.00016 1.3335C11.6821 1.3335 14.6668 4.31826 14.6668 8.00016Z\"\n fill={color} stroke={color} strokeLinecap=\"round\"/>\n <path\n d=\"M10.6867 5.97994C10.882 6.1752 10.882 6.49179 10.6867 6.68705L7.35339 10.0204C7.15813 10.2156 6.84155 10.2156 6.64628 10.0204L5.31295 8.68705C5.11769 8.49179 5.11769 8.1752 5.31295 7.97994C5.50821 7.78468 5.8248 7.78468 6.02006 7.97994L6.99984 8.95972L8.48973 7.46983L9.97962 5.97994C10.1749 5.78468 10.4915 5.78468 10.6867 5.97994Z\"\n fill=\"white\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_418_7699\">\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n\n}","export default function PasswordRoundIcon() {\n return <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" y=\"0.5\" width=\"39\" height=\"39\" rx=\"7.5\" fill=\"white\"/>\n <rect x=\"0.5\" y=\"0.5\" width=\"39\" height=\"39\" rx=\"7.5\" stroke=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M19.7673 16.1137C19.962 13.9479 21.7831 12.25 24 12.25C26.3472 12.25 28.25 14.1528 28.25 16.5C28.25 18.8472 26.3472 20.75 24 20.75C23.488 20.75 22.9987 20.6598 22.5461 20.495C21.9175 20.2662 21.1115 20.3279 20.5486 20.8908L19.2626 22.1768C19.2157 22.2237 19.1521 22.25 19.0858 22.25H18C17.3096 22.25 16.75 22.8096 16.75 23.5V24.25H15.5C14.8096 24.25 14.25 24.8096 14.25 25.5V26.5C14.25 26.6381 14.1381 26.75 14 26.75H12C11.8619 26.75 11.75 26.6381 11.75 26.5V23.9538C11.75 23.8817 11.7811 23.8131 11.8354 23.7656L19.1524 17.3632C19.5404 17.0238 19.7275 16.556 19.7673 16.1137ZM24 10.75C20.9997 10.75 18.5369 13.0473 18.2733 15.9794C18.2614 16.1115 18.2107 16.1941 18.1646 16.2344L10.8476 22.6368C10.4678 22.9691 10.25 23.4491 10.25 23.9538V26.5C10.25 27.4665 11.0335 28.25 12 28.25H14C14.9665 28.25 15.75 27.4665 15.75 26.5V25.75H17C17.6904 25.75 18.25 25.1904 18.25 24.5V23.75H19.0858C19.5499 23.75 19.995 23.5656 20.3232 23.2374L21.6092 21.9514C21.6738 21.8868 21.8277 21.8298 22.033 21.9045C22.6476 22.1283 23.3104 22.25 24 22.25C27.1756 22.25 29.75 19.6756 29.75 16.5C29.75 13.3244 27.1756 10.75 24 10.75ZM25 16.5C25.5523 16.5 26 16.0523 26 15.5C26 14.9477 25.5523 14.5 25 14.5C24.4477 14.5 24 14.9477 24 15.5C24 16.0523 24.4477 16.5 25 16.5Z\"\n fill=\"black\"/>\n </svg>\n\n}","import {IconSizeColorProps} from \"./types\";\n\nexport default function CloseEyeIcon({\n size = 20,\n color = '#6E6E6E'\n }:IconSizeColorProps) {\n return <svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M9.15132 12.5568V11.5464C8.21031 11.4949 7.28023 11.3193 6.38524 11.024L6.04233 11.9579C6.00626 12.0669 5.94867 12.1676 5.87299 12.2539C5.79731 12.3403 5.70508 12.4106 5.60174 12.4607C5.4984 12.5108 5.38607 12.5396 5.27139 12.5455C5.15671 12.5514 5.04201 12.5342 4.93409 12.4949C4.82617 12.4557 4.72722 12.3952 4.6431 12.317C4.55898 12.2389 4.49139 12.1446 4.44435 12.0399C4.3973 11.9351 4.37175 11.822 4.36921 11.7072C4.36667 11.5924 4.38719 11.4783 4.42955 11.3715L4.80788 10.3268C4.04603 9.88461 3.32634 9.37345 2.65789 8.79975C2.54358 8.70488 2.42928 8.61687 2.32184 8.52772C2.1442 8.38554 2.03031 8.17862 2.00523 7.95247C1.98015 7.72633 2.04593 7.49948 2.18811 7.32184C2.33028 7.1442 2.5372 7.03031 2.76335 7.00523C2.98949 6.98015 3.21634 7.04593 3.39398 7.18811C3.50828 7.27955 3.62258 7.37099 3.73689 7.47043C5.46065 9.00826 7.68996 9.85815 10 9.85815C12.31 9.85815 14.5393 9.00826 16.2631 7.47043C16.3774 7.37099 16.4917 7.27955 16.606 7.18811C16.694 7.11771 16.7949 7.06533 16.9031 7.03395C17.0114 7.00257 17.1247 6.99281 17.2367 7.00523C17.3486 7.01765 17.4571 7.052 17.5558 7.10632C17.6545 7.16065 17.7415 7.23388 17.8119 7.32184C17.8823 7.4098 17.9347 7.51077 17.9661 7.61897C17.9974 7.72717 18.0072 7.8405 17.9948 7.95247C17.9824 8.06445 17.948 8.17288 17.8937 8.27158C17.8394 8.37028 17.7661 8.45732 17.6782 8.52772L17.3421 8.79975C16.6737 9.37354 15.954 9.88471 15.1921 10.3268L15.5705 11.3715C15.6128 11.4783 15.6333 11.5924 15.6308 11.7072C15.6283 11.822 15.6027 11.9351 15.5557 12.0399C15.5086 12.1446 15.441 12.2389 15.3569 12.317C15.2728 12.3952 15.1738 12.4557 15.0659 12.4949C14.958 12.5342 14.8433 12.5514 14.7286 12.5455C14.6139 12.5396 14.5016 12.5108 14.3983 12.4607C14.2949 12.4106 14.2027 12.3403 14.127 12.2539C14.0513 12.1676 13.9937 12.0669 13.9577 11.9579L13.6148 11.024C12.7198 11.3193 11.7897 11.4949 10.8487 11.5464V12.5568C10.8487 12.7842 10.7584 13.0022 10.5976 13.163C10.4368 13.3238 10.2188 13.4141 9.99143 13.4141C9.76407 13.4141 9.54602 13.3238 9.38526 13.163C9.22449 13.0022 9.13417 12.7842 9.13417 12.5568H9.15132Z\"\n fill={color}/>\n </svg>\n\n}","import {IconSizeColorProps} from \"./types\";\n\nexport default function OpenEyeIcon({\n size = 20,\n color = '#6E6E6E'\n }:IconSizeColorProps) {\n return <svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M10 6.4543C11.3373 6.44986 12.6486 6.82287 13.7834 7.53047C14.9181 8.23806 15.8301 9.25151 16.4145 10.4543C15.2145 12.9052 12.7564 14.4543 10 14.4543C7.24364 14.4543 4.78545 12.9052 3.58545 10.4543C4.1699 9.25151 5.08191 8.23806 6.21664 7.53047C7.35136 6.82287 8.66274 6.44986 10 6.4543ZM10 4.99976C6.36364 4.99976 3.25818 7.26157 2 10.4543C3.25818 13.647 6.36364 15.9088 10 15.9088C13.6364 15.9088 16.7418 13.647 18 10.4543C16.7418 7.26157 13.6364 4.99976 10 4.99976ZM10 8.63612C10.4822 8.63617 10.9446 8.82774 11.2855 9.16871C11.6265 9.50968 11.818 9.97212 11.818 10.4543C11.818 10.9365 11.6265 11.3989 11.2855 11.7399C10.9446 12.0809 10.4822 12.2724 10 12.2725C9.51782 12.2724 9.0554 12.0809 8.71447 11.7399C8.37353 11.3989 8.18199 10.9365 8.18199 10.4543C8.18199 9.97212 8.37353 9.50968 8.71447 9.16871C9.0554 8.82774 9.51782 8.63617 10 8.63612ZM10 7.18157C8.19636 7.18157 6.72727 8.65066 6.72727 10.4543C6.72727 12.2579 8.19636 13.727 10 13.727C11.8036 13.727 13.2727 12.2579 13.2727 10.4543C13.2727 8.65066 11.8036 7.18157 10 7.18157Z\"\n fill={color}/>\n </svg>\n\n}","import {IconProps} from \"../../types/types\";\n\nexport default function DeleteRoundIcon({height = 21,width=20, color = \"var(--matchid-error-color)\",...props}:IconProps) {\n return <svg width={width} height={height} viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <rect y=\"0.5\" width=\"20\" height=\"20\" rx=\"10\" fill={color}/>\n <path d=\"M7.17139 7.67188L12.8282 13.3287\" stroke=\"white\" strokeLinecap=\"round\"/>\n <path d=\"M12.8286 7.67188L7.17176 13.3287\" stroke=\"white\" strokeLinecap=\"round\"/>\n </svg>\n\n}","export default function FacebookIcon({\n size = 40\n }: {\n size?: number | string\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#1877F2\"/>\n <path\n d=\"M27.7852 28.9688L28.6719 23.1875H23.125V19.4375C23.125 17.8555 23.8984 16.3125 26.3828 16.3125H28.9062V11.3906C28.9062 11.3906 26.6172 11 24.4297 11C19.8594 11 16.875 13.7695 16.875 18.7813V23.1875H11.7969V28.9688H16.875V42.9453C17.8945 43.1055 18.9375 43.1875 20 43.1875C21.0625 43.1875 22.1055 43.1055 23.125 42.9453V28.9688H27.7852Z\"\n fill=\"white\"/>\n\n </svg>\n\n}","export default function GithubIcon({\n size = 40\n }: {\n size?: number | string\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"black\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M19.6836 7C16.434 7.00169 13.2909 8.15263 10.8165 10.247C8.34197 12.3414 6.69741 15.2427 6.17684 18.4321C5.65627 21.6215 6.29363 24.8911 7.97496 27.6561C9.6563 30.4211 12.272 32.5013 15.3542 33.5248C16.0343 33.651 16.2904 33.2295 16.2904 32.8712C16.2904 32.5128 16.2768 31.4738 16.2723 30.3379C12.4642 31.1606 11.6596 28.731 11.6596 28.731C11.0385 27.1533 10.1409 26.7386 10.1409 26.7386C8.89876 25.8957 10.2338 25.9115 10.2338 25.9115C11.6097 26.0084 12.3328 27.3156 12.3328 27.3156C13.5523 29.3958 15.5356 28.7941 16.3153 28.4425C16.4377 27.5613 16.7936 26.9618 17.1857 26.6214C14.1438 26.2789 10.9478 25.1114 10.9478 19.8961C10.929 18.5436 11.4338 17.2356 12.3577 16.2428C12.2172 15.9002 11.748 14.5164 12.4914 12.6367C12.4914 12.6367 13.6407 12.2716 16.2564 14.0318C18.5 13.4217 20.8672 13.4217 23.1108 14.0318C25.7243 12.2716 26.8712 12.6367 26.8712 12.6367C27.617 14.5119 27.1478 15.8957 27.0072 16.2428C27.9341 17.2358 28.4399 18.546 28.4194 19.9007C28.4194 25.1272 25.2166 26.2789 22.1701 26.6147C22.6597 27.0384 23.0972 27.8655 23.0972 29.1367C23.0972 30.9577 23.0814 32.4227 23.0814 32.8712C23.0814 33.234 23.3284 33.6577 24.022 33.5248C27.1047 32.5012 29.7206 30.4206 31.4019 27.6551C33.0832 24.8896 33.7202 21.6196 33.1991 18.4299C32.6779 15.2402 31.0325 12.3389 28.5572 10.2449C26.0819 8.15081 22.9381 7.00062 19.6881 7H19.6836Z\"\n fill=\"white\"/>\n <path\n d=\"M11.1789 26.543C11.1495 26.6106 11.0407 26.6309 10.9523 26.5836C10.8639 26.5362 10.7982 26.4483 10.8299 26.3785C10.8616 26.3086 10.9682 26.2906 11.0566 26.3379C11.145 26.3852 11.2129 26.4754 11.1789 26.543Z\"\n fill=\"white\"/>\n <path\n d=\"M11.7339 27.1582C11.687 27.1817 11.6333 27.1883 11.582 27.1768C11.5308 27.1652 11.4851 27.1364 11.4529 27.0951C11.3645 27.0004 11.3463 26.8697 11.4143 26.8111C11.4823 26.7525 11.6048 26.7796 11.6932 26.8742C11.7816 26.9689 11.8019 27.0996 11.7339 27.1582Z\"\n fill=\"white\"/>\n <path\n d=\"M12.2738 27.9394C12.1899 27.998 12.0471 27.9394 11.9678 27.8222C11.9459 27.8012 11.9284 27.776 11.9165 27.7481C11.9046 27.7202 11.8984 27.6902 11.8984 27.6599C11.8984 27.6296 11.9046 27.5996 11.9165 27.5718C11.9284 27.5439 11.9459 27.5187 11.9678 27.4976C12.0517 27.4413 12.1945 27.4976 12.2738 27.6126C12.3531 27.7275 12.3554 27.8808 12.2738 27.9394Z\"\n fill=\"white\"/>\n <path\n d=\"M13.0055 28.6975C12.9307 28.7809 12.7789 28.7584 12.6542 28.6457C12.5295 28.533 12.5001 28.3797 12.5749 28.2986C12.6497 28.2175 12.8015 28.24 12.9307 28.3505C13.0599 28.4609 13.0849 28.6164 13.0055 28.6975Z\"\n fill=\"white\"/>\n <path\n d=\"M14.0325 29.1386C13.9985 29.2445 13.8444 29.2919 13.6902 29.2468C13.5361 29.2017 13.4341 29.0755 13.4636 28.9673C13.493 28.8591 13.6494 28.8095 13.8058 28.8591C13.9622 28.9087 14.062 29.0282 14.0325 29.1386Z\"\n fill=\"white\"/>\n <path\n d=\"M15.1525 29.216C15.1525 29.3264 15.0256 29.421 14.8624 29.4233C14.6992 29.4256 14.5654 29.3354 14.5654 29.225C14.5654 29.1145 14.6924 29.0199 14.8556 29.0176C15.0188 29.0154 15.1525 29.1033 15.1525 29.216Z\"\n fill=\"white\"/>\n <path\n d=\"M16.1947 29.0423C16.2151 29.1527 16.1018 29.2677 15.9386 29.2947C15.7754 29.3218 15.6326 29.2564 15.6122 29.1482C15.5918 29.0401 15.7096 28.9229 15.8683 28.8936C16.027 28.8643 16.1743 28.9319 16.1947 29.0423Z\"\n fill=\"white\"/>\n\n </svg>\n\n}","export default function DiscordIcon({\n size=40\n }:{\n size?: number | string\n}) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#5865F2\"/>\n <path\n d=\"M29.7032 10.8237C27.9186 9.97958 26.0048 9.35768 24.0039 9.00149C23.9674 8.99462 23.931 9.0118 23.9123 9.04616C23.6661 9.4974 23.3935 10.0861 23.2026 10.5488C21.0505 10.2167 18.9094 10.2167 16.8014 10.5488C16.6104 10.0758 16.3279 9.4974 16.0807 9.04616C16.0619 9.01295 16.0255 8.99577 15.9891 9.00149C13.9892 9.35654 12.0755 9.97844 10.2898 10.8237C10.2743 10.8306 10.261 10.842 10.2523 10.8569C6.62229 16.4471 5.62789 21.9 6.11571 27.2852C6.11792 27.3116 6.13226 27.3368 6.15213 27.3528C8.54708 29.1658 10.867 30.2664 13.1438 30.996C13.1803 31.0075 13.2189 30.9937 13.2421 30.9628C13.7806 30.2046 14.2607 29.4052 14.6724 28.5645C14.6967 28.5153 14.6735 28.4569 14.6238 28.4374C13.8623 28.1396 13.1372 27.7765 12.4397 27.3642C12.3845 27.331 12.3801 27.2497 12.4309 27.2107C12.5776 27.0974 12.7245 26.9794 12.8646 26.8603C12.89 26.8385 12.9253 26.8339 12.9551 26.8477C17.5375 29.0043 22.4985 29.0043 27.0268 26.8477C27.0566 26.8328 27.0919 26.8374 27.1184 26.8591C27.2586 26.9783 27.4054 27.0974 27.5533 27.2107C27.604 27.2497 27.6007 27.331 27.5455 27.3642C26.848 27.7845 26.1229 28.1396 25.3603 28.4362C25.3106 28.4557 25.2885 28.5153 25.3128 28.5645C25.7333 29.404 26.2134 30.2034 26.742 30.9616C26.7641 30.9937 26.8038 31.0075 26.8403 30.996C29.1282 30.2664 31.4481 29.1658 33.843 27.3528C33.864 27.3368 33.8772 27.3127 33.8794 27.2864C34.4633 21.0604 32.9016 15.6523 29.7396 10.858C29.7319 10.842 29.7186 10.8306 29.7032 10.8237ZM15.3567 24.0062C13.9771 24.0062 12.8403 22.7005 12.8403 21.0971C12.8403 19.4937 13.955 18.188 15.3567 18.188C16.7694 18.188 17.8951 19.5051 17.873 21.0971C17.873 22.7005 16.7583 24.0062 15.3567 24.0062ZM24.6605 24.0062C23.281 24.0062 22.1442 22.7005 22.1442 21.0971C22.1442 19.4937 23.2589 18.188 24.6605 18.188C26.0732 18.188 27.199 19.5051 27.1769 21.0971C27.1769 22.7005 26.0732 24.0062 24.6605 24.0062Z\"\n fill=\"white\"/>\n </svg>\n\n}","import {IconSizeColorProps} from \"./types\";\n\nexport default function CheckIcon({\n size=20,\n color=\"black\",\n ...props\n }:IconSizeColorProps) {\n return <svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path d=\"M5 9.99996L8.33333 13.3333L15 6.66663\" stroke={color} strokeWidth=\"1.5\" strokeLinecap=\"round\"\n strokeLinejoin=\"round\"/>\n </svg>\n\n}","import React from \"react\";\nimport {IconSizeColorProps} from \"./types\";\n\nexport default function CopyIcon({size = 20, color = 'black', ...props}: IconSizeColorProps) {\n\n return (\n <svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M4.16673 12.5009C3.24625 12.5009 2.50006 11.7547 2.50006 10.8342V4.16752C2.50006 3.24705 3.24625 2.50085 4.16673 2.50085H10.8334C11.7539 2.50085 12.5001 3.24705 12.5001 4.16752M9.16673 17.5009H15.8334C16.7539 17.5009 17.5001 16.7547 17.5001 15.8342V9.16752C17.5001 8.24705 16.7539 7.50086 15.8334 7.50086H9.16673C8.24625 7.50086 7.50006 8.24705 7.50006 9.16752V15.8342C7.50006 16.7547 8.24625 17.5009 9.16673 17.5009Z\"\n stroke={color} strokeWidth=\"1.5\" strokeLinecap=\"round\"/>\n\n </svg>\n )\n}","import {IconSizeColorProps} from \"./types\";\n\nexport default function LinkedinIcon({\n size=40,\n ...props\n }:IconSizeColorProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#0A66C2\"/>\n <path\n d=\"M29.376 9H10.624C10.1933 9 9.78023 9.1711 9.47567 9.47567C9.1711 9.78023 9 10.1933 9 10.624V29.376C9 29.8067 9.1711 30.2198 9.47567 30.5243C9.78023 30.8289 10.1933 31 10.624 31H29.376C29.8067 31 30.2198 30.8289 30.5243 30.5243C30.8289 30.2198 31 29.8067 31 29.376V10.624C31 10.1933 30.8289 9.78023 30.5243 9.47567C30.2198 9.1711 29.8067 9 29.376 9ZM15.5572 27.7413H12.2496V17.2347H15.5572V27.7413ZM13.9011 15.7788C13.5259 15.7766 13.1598 15.6634 12.8488 15.4534C12.5379 15.2434 12.2962 14.946 12.1541 14.5987C12.0121 14.2514 11.9761 13.8699 12.0507 13.5022C12.1253 13.1345 12.3072 12.7971 12.5733 12.5326C12.8395 12.2682 13.178 12.0885 13.5462 12.0163C13.9144 11.944 14.2957 11.9825 14.642 12.1267C14.9884 12.271 15.2842 12.5147 15.4923 12.8269C15.7003 13.1392 15.8111 13.5061 15.8108 13.8813C15.8144 14.1324 15.7673 14.3818 15.6724 14.6144C15.5776 14.847 15.4368 15.0582 15.2586 15.2352C15.0804 15.4123 14.8684 15.5517 14.6351 15.6451C14.4019 15.7384 14.1523 15.7839 13.9011 15.7788ZM27.7489 27.7504H24.4428V22.0106C24.4428 20.3178 23.7232 19.7953 22.7943 19.7953C21.8135 19.7953 20.851 20.5347 20.851 22.0533V27.7504H17.5433V17.2424H20.7242V18.6983H20.7669C21.0863 18.0521 22.2046 16.9475 23.9111 16.9475C25.7567 16.9475 27.7504 18.0429 27.7504 21.2513L27.7489 27.7504Z\"\n fill=\"white\"/>\n </svg>\n\n}","import {IconSizeColorProps} from \"./types\";\n\nexport default function YoutubeIcon({ size=40,...props}: IconSizeColorProps) {\n return (\n <svg width={size} height={size} {...{props}} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"40\" height=\"40\" rx=\"8\" fill=\"#FF0000\"/>\n <path\n d=\"M33.9855 13.1304C33.656 11.9065 32.691 10.9415 31.4671 10.612C29.231 10 20.287 10 20.287 10C20.287 10 11.3429 10 9.10689 10.5884C7.9065 10.9179 6.91794 11.9065 6.58843 13.1304C6 15.3664 6 20.0032 6 20.0032C6 20.0032 6 24.6636 6.58843 26.876C6.91794 28.1 7.88296 29.065 9.10689 29.3945C11.3664 30.0065 20.287 30.0065 20.287 30.0065C20.287 30.0065 29.231 30.0065 31.4671 29.418C32.691 29.0885 33.656 28.1235 33.9855 26.8996C34.5739 24.6636 34.5739 20.0268 34.5739 20.0268C34.5739 20.0268 34.5975 15.3664 33.9855 13.1304Z\"\n fill=\"white\"/>\n <path d=\"M17.439 24.2867L24.8767 20.003L17.439 15.7192V24.2867Z\" fill=\"#FF0000\"/>\n </svg>\n );\n}","import {IconSizeProps} from \"./types\";\n\nexport default function BTCDarkIcon({size = 40, ...props}: IconSizeProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M28.763 17.1292C29.1611 14.4674 27.1346 13.0365 24.3634 12.082L25.2624 8.47628L23.0675 7.92936L22.1923 11.4402C21.6153 11.2962 21.0227 11.1606 20.4338 11.0262L21.3152 7.49223L19.1217 6.94531L18.2222 10.5499C17.7447 10.4411 17.2757 10.3337 16.8207 10.2205L16.8232 10.2091L13.7964 9.45329L13.2125 11.7976C13.2125 11.7976 14.841 12.1709 14.8067 12.1939C15.6955 12.4157 15.8562 13.0041 15.8295 13.4704L14.8055 17.5782C14.8667 17.5937 14.9461 17.6162 15.0337 17.6514C14.9604 17.6332 14.8825 17.6134 14.8017 17.594L13.3663 23.3484C13.2577 23.6185 12.982 24.0237 12.3606 23.8698C12.3826 23.9017 10.7653 23.4717 10.7653 23.4717L9.67554 25.9842L12.5319 26.6962C13.0632 26.8295 13.584 26.9689 14.0968 27.1L13.1885 30.7471L15.3809 31.294L16.2803 27.6857C16.8793 27.8483 17.4605 27.9982 18.0295 28.1396L17.1331 31.731L19.3281 32.2779L20.2363 28.6376C23.9791 29.346 26.7934 29.0604 27.9779 25.675C28.9324 22.9494 27.9304 21.3773 25.9613 20.3521C27.3955 20.0213 28.4758 19.0781 28.7638 17.1295L28.7631 17.129L28.763 17.1292ZM23.7481 24.1614C23.0698 26.887 18.4807 25.4136 16.9929 25.0441L18.1982 20.2124C19.6859 20.5838 24.4571 21.3188 23.7482 24.1614H23.7481ZM24.4269 17.0897C23.8082 19.569 19.9886 18.3094 18.7496 18.0006L19.8424 13.6184C21.0814 13.9273 25.0715 14.5037 24.4271 17.0897H24.4269Z\"\n fill=\"black\"/>\n </svg>\n\n}","import {IconSizeProps} from \"./types\";\n\nexport default function BTCLightIcon({size = 40, ...props}: IconSizeProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M28.763 17.1292C29.1611 14.4674 27.1346 13.0365 24.3634 12.082L25.2624 8.47628L23.0675 7.92936L22.1923 11.4402C21.6153 11.2962 21.0227 11.1606 20.4338 11.0262L21.3152 7.49223L19.1217 6.94531L18.2222 10.5499C17.7447 10.4411 17.2757 10.3337 16.8207 10.2205L16.8232 10.2091L13.7964 9.45329L13.2125 11.7976C13.2125 11.7976 14.841 12.1709 14.8067 12.1939C15.6955 12.4157 15.8562 13.0041 15.8295 13.4704L14.8055 17.5782C14.8667 17.5937 14.9461 17.6162 15.0337 17.6514C14.9604 17.6332 14.8825 17.6134 14.8017 17.594L13.3663 23.3484C13.2577 23.6185 12.982 24.0237 12.3606 23.8698C12.3826 23.9017 10.7653 23.4717 10.7653 23.4717L9.67554 25.9842L12.5319 26.6962C13.0632 26.8295 13.584 26.9689 14.0968 27.1L13.1885 30.7471L15.3809 31.294L16.2803 27.6857C16.8793 27.8483 17.4605 27.9982 18.0295 28.1396L17.1331 31.731L19.3281 32.2779L20.2363 28.6376C23.9791 29.346 26.7934 29.0604 27.9779 25.675C28.9324 22.9494 27.9304 21.3773 25.9613 20.3521C27.3955 20.0213 28.4758 19.0781 28.7638 17.1295L28.7631 17.129L28.763 17.1292ZM23.7481 24.1614C23.0698 26.887 18.4807 25.4136 16.9929 25.0441L18.1982 20.2124C19.6859 20.5838 24.4571 21.3188 23.7482 24.1614H23.7481ZM24.4269 17.0897C23.8082 19.569 19.9886 18.3094 18.7496 18.0006L19.8424 13.6184C21.0814 13.9273 25.0715 14.5037 24.4271 17.0897H24.4269Z\"\n fill=\"white\"/>\n\n </svg>\n\n}","import {IconSizeProps} from \"./types\";\n\nexport default function EVMDarkIcon({ size=40,...props}: IconSizeProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M20.5956 14.6424L25.0599 7.49951L29.5242 14.6424H20.5956Z\" fill=\"#6E6E6E\"/>\n <path d=\"M11.667 14.6424L16.1313 7.49951L20.5956 14.6424H11.667Z\" fill=\"#6E6E6E\"/>\n <path d=\"M25.0597 7.50021L20.5954 14.6431L16.1311 7.50021H25.0597Z\" fill=\"black\"/>\n <path d=\"M20.5956 14.6423L16.1313 21.7852L11.667 14.6423H20.5956Z\" fill=\"black\"/>\n <path d=\"M20.5952 25.3567L16.1309 32.4995L11.6666 25.3567H20.5952Z\" fill=\"#6E6E6E\"/>\n <path d=\"M29.5243 25.3567L25.06 32.4995L20.5957 25.3567H29.5243Z\" fill=\"#6E6E6E\"/>\n <path d=\"M16.1315 32.5008L20.5958 25.3579L25.06 32.5008H16.1315Z\" fill=\"black\"/>\n <path d=\"M20.5956 25.3572L25.0599 18.2144L29.5242 25.3572H20.5956Z\" fill=\"black\"/>\n </svg>\n\n}","import {IconSizeProps} from \"./types\";\n\nexport default function EVMLightIcon({ size=40,...props}: IconSizeProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M20.5955 14.6424L25.0597 7.49951L29.524 14.6424H20.5955Z\" fill=\"#D9D9D9\"/>\n <path d=\"M11.6667 14.6424L16.131 7.49951L20.5953 14.6424H11.6667Z\" fill=\"#EFEFEF\"/>\n <path d=\"M25.0596 7.50021L20.5953 14.6431L16.131 7.50021H25.0596Z\" fill=\"white\"/>\n <path d=\"M20.5955 14.6423L16.1312 21.7852L11.6669 14.6423H20.5955Z\" fill=\"white\"/>\n <path d=\"M20.595 25.3567L16.1307 32.4995L11.6664 25.3567H20.595Z\" fill=\"#D9D9D9\"/>\n <path d=\"M29.5242 25.3567L25.0599 32.4995L20.5956 25.3567H29.5242Z\" fill=\"#EFEFEF\"/>\n <path d=\"M16.1313 32.5008L20.5956 25.3579L25.0599 32.5008H16.1313Z\" fill=\"white\"/>\n <path d=\"M20.5955 25.3572L25.0597 18.2144L29.524 25.3572H20.5955Z\" fill=\"white\"/>\n </svg>\n\n}","import {IconSizeProps} from \"./types\";\n\nexport default function SOLDarkIcon({ size=40,...props}: IconSizeProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.1242 24.7415C12.265 24.6007 12.4586 24.5186 12.6639 24.5186H31.2841C31.6243 24.5186 31.7945 24.9292 31.5539 25.1697L27.8757 28.848C27.7349 28.9888 27.5413 29.0709 27.3359 29.0709H8.71576C8.3755 29.0709 8.20537 28.6603 8.4459 28.4198L12.1242 24.7415Z\"\n fill=\"black\"/>\n <path\n d=\"M12.1243 11.0081C12.271 10.8673 12.4646 10.7852 12.664 10.7852H31.2842C31.6245 10.7852 31.7946 11.1958 31.5541 11.4363L27.8758 15.1146C27.735 15.2554 27.5414 15.3375 27.3361 15.3375H8.71588C8.37562 15.3375 8.20549 14.9269 8.44602 14.6864L12.1243 11.0081Z\"\n fill=\"black\"/>\n <path\n d=\"M27.8757 17.8299C27.7349 17.6891 27.5413 17.6069 27.3359 17.6069H8.71576C8.3755 17.6069 8.20537 18.0176 8.4459 18.2581L12.1242 21.9364C12.265 22.0772 12.4586 22.1593 12.6639 22.1593H31.2841C31.6243 22.1593 31.7945 21.7487 31.5539 21.5081L27.8757 17.8299Z\"\n fill=\"black\"/>\n </svg>\n\n}","import {IconSizeProps} from \"./types\";\n\nexport default function SOLLightIcon({size = 40, ...props}: IconSizeProps) {\n return <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.1239 24.7415C12.2647 24.6007 12.4583 24.5186 12.6636 24.5186H31.2838C31.6241 24.5186 31.7942 24.9292 31.5537 25.1697L27.8754 28.848C27.7346 28.9888 27.541 29.0709 27.3357 29.0709H8.71551C8.37526 29.0709 8.20513 28.6603 8.44565 28.4198L12.1239 24.7415Z\"\n fill=\"white\"/>\n <path\n d=\"M12.1242 11.0081C12.2708 10.8673 12.4644 10.7852 12.6639 10.7852H31.2841C31.6243 10.7852 31.7945 11.1958 31.5539 11.4363L27.8757 15.1146C27.7349 15.2554 27.5413 15.3375 27.3359 15.3375H8.71576C8.3755 15.3375 8.20537 14.9269 8.4459 14.6864L12.1242 11.0081Z\"\n fill=\"white\"/>\n <path\n d=\"M27.8754 17.8299C27.7346 17.6891 27.541 17.6069 27.3357 17.6069H8.71551C8.37526 17.6069 8.20513 18.0176 8.44565 18.2581L12.1239 21.9364C12.2647 22.0772 12.4583 22.1593 12.6636 22.1593H31.2838C31.6241 22.1593 31.7942 21.7487 31.5537 21.5081L27.8754 17.8299Z\"\n fill=\"white\"/>\n\n </svg>\n\n}","import {IconSizeProps} from \"./types\";\n\nexport default function TRXDarkIcon({size=40,...props}: IconSizeProps) {\n return (\n <svg width={size} height={size} {...props} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\">\n <mask id=\"mask0_1215_64214\" style={{ maskType: \"alpha\" }} maskUnits=\"userSpaceOnUse\" x=\"6\" y=\"6\" width=\"28\"\n height=\"28\">\n <rect x=\"6.66663\" y=\"6.6665\" width=\"26.6667\" height=\"26.6667\" fill=\"url(#pattern0_1215_64214)\"/>\n </mask>\n <g mask=\"url(#mask0_1215_64214)\">\n <rect x=\"6.66663\" y=\"6.6665\" width=\"26.6667\" height=\"26.6667\" fill=\"black\"/>\n </g>\n <defs>\n <pattern id=\"pattern0_1215_64214\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <use xlinkHref=\"#image0_1215_64214\" transform=\"scale(0.01)\"/>\n </pattern>\n <image id=\"image0_1215_64214\" width=\"100\" height=\"100\"\n xlinkHref=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGk2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuMTQ2Mjg5OTc3NywgMjAyMy8wNi8yNS0yMzo1NzoxNCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjMgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDI1LTAxLTE0VDExOjA4OjEyKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNS0wMS0xNFQxMToxMToyMSswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNS0wMS0xNFQxMToxMToyMSswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDBiNDhmNDgtN2IwNi00N2E2LWI0ZGItYzk3NTdmN2U0OWY0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOmRjOGI3N2Y3LWRlYzYtNGJkYS04ZjExLTUwYjdkZjdjOWY4YiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmRjOGI3N2Y3LWRlYzYtNGJkYS04ZjExLTUwYjdkZjdjOWY4YiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZGM4Yjc3ZjctZGVjNi00YmRhLThmMTEtNTBiN2RmN2M5ZjhiIiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE0VDExOjA4OjEyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NThjMzllN2EtNDZkYi00N2UzLTgyMjYtMTZkNTZkNTc1NmViIiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE0VDExOjEwOjExKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDBiNDhmNDgtN2IwNi00N2E2LWI0ZGItYzk3NTdmN2U0OWY0IiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE0VDExOjExOjIxKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5guAj8AAAWbElEQVR4nO2de5xdRZHHv9VnZpJgwICILBDCAiEQXqviBgVBEBQE84EFUcBsQCJE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\"/>\n </defs>\n </svg>\n\n )\n}","import {IconSizeProps} from \"./types\";\n\nexport default function TRXLightIcon({size= 40, ...props}: IconSizeProps) {\n return <svg width={size} height={size} viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\">\n <mask id=\"mask0_1215_64378\" style={{\n maskType: \"alpha\"\n }} maskUnits=\"userSpaceOnUse\" x=\"6\" y=\"6\" width=\"28\"\n height=\"28\">\n <rect x=\"6.66675\" y=\"6.6665\" width=\"26.6667\" height=\"26.6667\" fill=\"url(#pattern0_1215_64378)\"/>\n </mask>\n <g mask=\"url(#mask0_1215_64378)\">\n <rect x=\"6.66675\" y=\"6.6665\" width=\"26.6667\" height=\"26.6667\" fill=\"white\"/>\n </g>\n <defs>\n <pattern id=\"pattern0_1215_64378\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n <use xlinkHref=\"#image0_1215_64378\" transform=\"scale(0.01)\"/>\n </pattern>\n <image id=\"image0_1215_64378\" width=\"100\" height=\"100\"\n xlinkHref=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGk2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuMTQ2Mjg5OTc3NywgMjAyMy8wNi8yNS0yMzo1NzoxNCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjMgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDI1LTAxLTE0VDExOjA4OjEyKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNS0wMS0xNFQxMToxMToyMSswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNS0wMS0xNFQxMToxMToyMSswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDBiNDhmNDgtN2IwNi00N2E2LWI0ZGItYzk3NTdmN2U0OWY0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOmRjOGI3N2Y3LWRlYzYtNGJkYS04ZjExLTUwYjdkZjdjOWY4YiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmRjOGI3N2Y3LWRlYzYtNGJkYS04ZjExLTUwYjdkZjdjOWY4YiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZGM4Yjc3ZjctZGVjNi00YmRhLThmMTEtNTBiN2RmN2M5ZjhiIiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE0VDExOjA4OjEyKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NThjMzllN2EtNDZkYi00N2UzLTgyMjYtMTZkNTZkNTc1NmViIiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE0VDExOjEwOjExKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDBiNDhmNDgtN2IwNi00N2E2LWI0ZGItYzk3NTdmN2U0OWY0IiBzdEV2dDp3aGVuPSIyMDI1LTAxLTE0VDExOjExOjIxKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMyAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5guAj8AAAWbElEQVR4nO2de5xdRZHHv9VnZpJgwICILBDCAiEQXqviBgVBEBQE84EFUcBsQCJE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\"/>\n </defs>\n</svg>\n\n}","import {IconProps} from \"./types\";\n\nexport default function ArrowDownIcon({width=20,height=21,color=\"black\",...props}:IconProps) {\n return <svg width={width} height={height} viewBox=\"0 0 20 21\" fill=\"none\" {...props} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 7.5L9.29289 11.7929C9.68342 12.1834 10.3166 12.1834 10.7071 11.7929L15 7.5\" stroke={color}\n strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/>\n </svg>\n\n}","import { useState ,useEffect} from \"react\";\n\nexport function useDownMd(): boolean {\n const [isBelowMd, setIsBelowMd] = useState(window.matchMedia('(max-width: 767px)').matches);\n\n useEffect(() => {\n const handleResize = () => {\n setIsBelowMd(window.matchMedia('(max-width: 767px)').matches);\n };\n\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n return isBelowMd;\n}","import React from \"react\";\nimport {ModalProps, ModalWithHeaderProps} from \"../../types/types\";\nimport ArrowLeftIcon from \"../../assets/icon/ArrowLeftIcon\";\nimport {CloseRoundIcon} from \"../../assets/icon\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nexport default function Modal({\n children,\n isOpen,\n width = 480,\n zIndex = 100,\n className = ''\n }: ModalProps) {\n return isOpen ? <div\n className=\"matchid-overlay\"\n style={{\n zIndex\n }}\n >\n <div className={`matchid-modal ${className}`} style={{\n width\n }}>\n <div className=\"matchid-modal-mobile-header\"></div>\n {children}\n </div>\n </div> : <></>\n}\n\nexport function ModalWithHeader({\n children,\n onBack,\n onClose,\n title,\n showBorder = true,\n showClose = true,\n ...props\n\n }: ModalWithHeaderProps) {\n const isDownMd = useDownMd()\n return <Modal {...props}>\n <div className={`matchid-modal-header ${showBorder ? 'matchid-modal-header-border' : ''}`}>\n <div className=\"matchid-modal-header-content\">\n {\n onBack &&\n <ArrowLeftIcon height={isDownMd ? 20 : 25} width={isDownMd ? 20 : 24} className=\"matchid-modal-header-back\" onClick={onBack}/>\n }\n <span className=\"matchid-modal-header-title\">{title}</span>\n </div>\n {onClose &&\n <CloseRoundIcon size={isDownMd ? 24 : 30} className=\"matchid-modal-header-close\" onClick={onClose}/>}\n </div>\n {children}\n </Modal>\n\n}","import {ModalWithHeaderProps} from \"types/types\";\nimport {ModalWithHeader} from \"../Modal\";\nimport {useEffect, useMemo, useState} from \"react\";\nimport {getAppClientId, isValidUsername} from \"../../utils\";\nimport Input from \"../Input\";\nimport Field from \"../Field\";\nimport Button from \"../Button\";\nimport InfoRoundIcon from \"../../assets/icon/InfoRoundIcon\";\nimport {useUserInfo, useWallet} from \"../../hooks\";\nimport CheckRoundIcon from \"../../assets/icon/CheckRoundIcon\";\nimport {setUserNameApi} from \"../../api\";\nimport {isSuccess} from \"../../api/request\";\nimport {PasswordRoundIcon} from \"../../assets/icon\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\nimport useLocalStore from \"../../store/useLocalStore\";\n\n\nexport default function PasswordModal({\n title,\n isOpen,\n onSuccess,\n ...props\n }: ModalWithHeaderProps & {\n onSuccess?: () => void\n}) {\n const {refreshOverview,overview} = useUserInfo()\n const {isLogin, did} = useUserInfo()\n const [password, setPassword] = useState('')\n const [rePassword, setRePassword] = useState('')\n const [error, setError] = useState('')//error from api\n const {generateWallet,initWallet} = useWallet()\n const intl = useIntl()\n const passwordError = useMemo(() => {\n if (password.length < 6) return intl.formatMessage({\n id: \"passwordMinError\"\n }, {\n length: 6\n })\n return ''\n }, [password])\n\n const rePasswordError = useMemo(() => {\n if (rePassword != password) {\n return intl.formatMessage({\n id: \"passwordMatchError\"\n })\n }\n return ''\n }, [rePassword, password])\n\n useEffect(() => {\n if (isOpen&&overview) {\n setPassword('')\n setRePassword('')\n const did = overview.did.split(':')[2]\n initWallet({\n did,\n address:\"\"\n })\n }\n }, [isOpen,overview]);\n\n\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const onContinue = async () => {\n if (isSubmitting) return\n try {\n setIsSubmitting(true)\n const address = await generateWallet({\n did: did.split(':')[2],\n userPasscode: password\n })\n await refreshOverview()\n onSuccess && onSuccess()\n\n } catch (error: any) {\n setError(error.message)\n } finally {\n setIsSubmitting(false)\n }\n }\n\n\n return <ModalWithHeader isOpen={isOpen && isLogin} {...props} title={title || intl.formatMessage({\n id: \"passwordTitle\"\n })}>\n <div className=\"matchid-password-box\">\n <div className=\"matchid-password-header\">\n <div className=\"matchid-password-header-icon\"><PasswordRoundIcon/></div>\n <div className=\"matchid-password-header-content\">\n <FormattedMessage id={\"passwordTips\"}/>\n </div>\n </div>\n <div className=\"matchid-password-content\">\n <Field label={intl.formatMessage({id: \"password\"})} error={password.length > 0 && passwordError}>\n <Input\n placeholder={intl.formatMessage({id: \"passwordPlaceholder\"})}\n maxLength={32}\n type={\"password\"}\n onChange={e => setPassword(e.target.value)}\n value={password}\n >\n </Input>\n </Field>\n <Field label={intl.formatMessage({\n id: \"rePassword\"\n })} error={rePassword.length > 0 ? rePasswordError || error : error}>\n <Input\n placeholder={intl.formatMessage({\n id: \"rePasswordPlaceholder\"\n })}\n maxLength={32}\n onChange={e => setRePassword(e.target.value)}\n value={rePassword}\n type={\"password\"}\n >\n </Input>\n </Field>\n </div>\n\n <Button disabled={password.length == 0 || !!passwordError || !!rePasswordError} highlight block size=\"lg\"\n onClick={onContinue} loading={isSubmitting}><FormattedMessage id={\"continue\"}/></Button>\n </div>\n </ModalWithHeader>\n}","import {InputProps} from \"types/types\";\nimport {DeleteRoundIcon, CloseEyeIcon, OpenEyeIcon} from \"assets/icon\";\nimport {useState} from \"react\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nexport default function Input({\n onChange,\n type,\n after,\n className = '',\n ...props\n }: InputProps) {\n const [inputType, setInputType] = useState(type)\n const isDownMd = useDownMd()\n return <div\n className={`matchid-input-box ${props.value && props.value.length > 0 ? 'matchid-input-has-content' : ''} ${className}`}>\n <input type={inputType} onChange={onChange} {...props} className=\"matchid-input-field\"/>\n {\n props.value && props.value.length > 0\n && <div className=\"matchid-input-delete-icon\" onClick={(e) => {\n if (onChange) {\n onChange({target: {value: ''}});\n }\n }}>\n <DeleteRoundIcon height={isDownMd ? 16 : 21} width={isDownMd ? 16 : 20}\n color=\"var(--matchid-input-delete-icon-color)\"/>\n </div>\n }\n {\n type === 'password' && <div className=\"matchid-input-eye-icon\" onClick={() => {\n setInputType(inputType === 'password' ? 'text' : 'password')\n }}>\n {\n inputType === 'password' ? <CloseEyeIcon size={isDownMd ? 16 : 20}/> :\n <OpenEyeIcon size={isDownMd ? 16 : 20}/>\n }\n </div>\n }\n {\n after\n }\n </div>\n\n}","import {PropsWithChildren, ReactNode} from \"react\";\n\nexport default function Field({\n label,\n children,\n error,\n required,\n className=''\n }:{\n label: ReactNode,\n error?: ReactNode,\n required?: boolean\n className?: string\n\n}&PropsWithChildren){\n return <div className={`matchid-field-box ${className}`}>\n <div className=\"matchid-field-label\">{required&&<span className={\"matchid-field-required\"}>*</span>}{label}</div>\n {children}\n {error && <div className=\"matchid-field-error\">{error}</div>}\n </div>\n\n}","import {LoadingIcon} from \"assets/icon\";\nimport {ButtonProps} from \"../../types/types\";\n\nexport default function Button({\n size = \"df\",\n disabled = false,\n loading = false,\n children,\n onClick,\n highlight = false,\n block = false,\n type = \"button\",\n rounded = true,\n className='',\n style = {}\n }: ButtonProps) {\n\n const onAction = () => {\n if (!disabled && !loading) {\n onClick && onClick()\n }\n }\n return <button\n type={type}\n className={`${className} matchid-btn ${'matchid-btn-' + size} ${highlight ? \"matchid-btn-highlight\" : ''} ${loading ? \"matchid-btn-loading\" : ''} ${block ? \"matchid-btn-block\" : ''} ${rounded ? \"matchid-btn-rounded\" : ''}`}\n disabled={disabled || loading}\n style={{\n ...style\n }}\n onClick={onAction}\n >\n {\n loading ?\n <LoadingIcon className=\"matchid-btn-loading-icon\" color=\"var(--matchid-btn-loading-color)\"/> :\n children\n }\n </button>\n}","export {default as useUserInfo} from \"./useUserInfo\";\nexport {default as useMatchEvents} from \"./useMatchEvents\";\nexport {default as useWallet} from \"./useWallet\";\nexport {default as useCopyClipboard} from \"./useCopyClipboard\"\nexport * as useLayout from \"./useLayout\";\n// export * as api from \"./api\";","import {create} from 'zustand';\nimport { devtools, persist } from 'zustand/middleware';\nimport {type IEnvConfigType, LocaleType, OverviewInfo, ThemeType} from \"../types/types\";\n\ninterface StoreState {\n appid:string\n token:string\n did:string\n mid:string\n theme:\"dark\"|\"light\"\n endpoints:IEnvConfigType['endpoints']\n\n setAppid: (appid: string) => void;\n setToken: (token: string) => void;\n setDid: (did: string) => void;\n setMid: (mid: string) => void;\n setEndpoints:(endpoints:IEnvConfigType['endpoints'])=>void\n\n logout: () => void;\n overview:OverviewInfo|null\n setOverview:(overview:OverviewInfo)=>void\n setTheme:(theme:\"dark\"|\"light\")=>void\n\n address:string\n setAddress:(address:string)=>void\n\n locale:LocaleType,\n setLocale:(locale:LocaleType)=>void\n}\n\nconst persistedState = persist<StoreState>(\n set => ({\n appid: '',\n token:'',\n did:'',\n mid:'',\n overview:null,\n theme:'light',\n setOverview:(overview:OverviewInfo)=>set({\n overview,\n address:overview.address,\n did:overview.did,\n mid:overview.mid\n }),\n endpoints:{\n back: \"https://api.matchid.ai/\",\n auth:\"https://auth.matchid.ai/\"\n },\n setDid: (did: string) => set({ did: did }),\n setToken: (token: string) => set({ token: token }),\n setAppid: (appid: string) => set({ appid: appid }),\n setMid: (mid: string) => set({ mid: mid }),\n logout: () => set({ token: '',did:'',mid:'',address:'',overview:null }),\n setTheme:(theme:\"dark\"|\"light\")=>set({theme}),\n setEndpoints:(endpoints:IEnvConfigType['endpoints'])=>set({endpoints}),\n\n address:'',\n setAddress:(address:string)=>set({address}),\n\n locale:'en',\n setLocale:(locale:LocaleType)=>set({locale}),\n }),\n { name: 'match-local' }\n);\n\nconst useLocalStore = create(devtools(persistedState));\n\nexport const localStore = useLocalStore;\n\nexport default useLocalStore;\n","import useLocalStore from \"../store/useLocalStore\";\nimport {useMemo} from \"react\";\nimport {ISocialLoginMethod, LoginMethodType} from \"../types/types\";\nimport {getAuthInfoApi, getEmailCodeApi, getOverviewInfoApi, toLogoutApi, verifyEmailCodeApi} from \"../api\";\nimport {isSuccess} from \"../api/request\";\nimport {useMatch} from \"../MatchContext\";\nimport eventManager from \"./eventManager\";\nimport {encodeBase64} from \"../utils\";\nimport matchlog from \"../utils/matchlog\";\nimport {useSOLModalStore} from \"../store/useModalStore\";\n\nexport default function useUserInfo() {\n const {\n appid,\n token,\n mid,\n did,\n logout: logoutStore,\n setOverview,\n overview,\n address,\n endpoints,\n } = useLocalStore();\n const {events, login} = useMatch()\n // const {open:EVMOpen} = useEVMModalStore()\n const {open: SOLOpen} = useSOLModalStore()\n\n\n const isLogin = useMemo(() => !!token, [token])\n\n const logout = async () => {\n try {\n await toLogoutApi()\n } catch (err: any) {\n console.error('logout', err)\n }\n\n logoutStore()\n events && events!.onLogout && events!.onLogout()\n eventManager.emit('onLogout');\n }\n\n const loginByMethod = async (method: ISocialLoginMethod) => {\n const link = `${endpoints.back}api/v1/auth/${method=='youtube' ?'google':method}?appid=${appid}&provider=${method=='youtube' ?'google':method}&redirect=${encodeURIComponent(endpoints.auth + 'login/' + method)}&authorization=${new Date().getTime()}${method==\"youtube\" ? '&auth_type=youtube':''}`;\n matchlog.log('link', link)\n return window.open(\n link, // Replace with the actual authorization URL\n 'authWindow',\n 'width=800,height=600'\n );\n }\n\n const loginByTwitter = () => {\n return loginByMethod('twitter')\n }\n const loginByGoogle = () => {\n return loginByMethod('google')\n }\n\n const loginByWallet = async () => {\n // return EVMOpen('login')\n return window.open(`${endpoints.auth}login/wallet?appid=${appid}`)\n\n }\n const loginByTelegram = async () => {\n return window.open(\n `${endpoints.auth}login/telegram?appid=${appid}`, // Replace with the actual authorization URL\n 'authWindow',\n 'width=800,height=600'\n );\n }\n\n const loginMethod = async (method: LoginMethodType) => {\n switch (method) {\n case \"evm\":\n return window.open(`${endpoints.auth}login/wallet?appid=${appid}`)\n case \"sol\":\n return SOLOpen('login')\n case \"telegram\":\n return await loginByTelegram()\n case \"youtube\":\n case \"twitter\":\n case \"google\":\n case \"discord\":\n case \"github\":\n case \"linkedin\":\n case \"facebook\":\n return await loginByMethod(method)\n default:\n throw new Error('unsupported method')\n\n }\n }\n\n\n const getLoginEmailCode = async (email: string) => {\n const res = await getEmailCodeApi(email);\n if (res && res.data && isSuccess(res)) {\n window.sessionStorage.setItem('loginkey', res.data.key as string)\n return res.data.key as string\n }\n return ''\n }\n\n const loginByEmail = async ({\n email,\n code\n }: { email: string, code: string }) => {\n try {\n const obj = {\n email: email,\n verification_key: window.sessionStorage.getItem('loginkey') as string,\n verification_code: code,\n }\n const res = await verifyEmailCodeApi(obj);\n if (res && res.data && isSuccess(res)) {\n await login({\n mid: res.data.mid,\n token: `${res.data.token_type} ${res.data.access_token}`\n })\n return true;\n\n } else {\n throw new Error(res.message)\n }\n } catch (error) {\n console.error('loginByEmail', error);\n throw error\n }\n return false\n };\n\n\n const refreshOverview = async () => {\n const res = await getOverviewInfoApi()\n if (res.data) {\n setOverview(res.data)\n }\n }\n\n const bindWallet = async () => {\n if (!token) {\n throw new Error('You must login first')\n }\n return window.open(`${endpoints.auth}bind/wallet?appid=${appid}&st=` + encodeURIComponent(encodeBase64(token)))\n }\n\n const bindTelegram = async () => {\n if (!token) {\n throw new Error('You must login first')\n }\n const authWindow = window.open(\n `${endpoints.auth}bind/telegram?appid=${appid}&st=` + encodeURIComponent(encodeBase64(token)), // Replace with the actual authorization URL\n 'authWindow',\n 'width=800,height=600'\n );\n }\n\n const auth = async () => {\n const res = await getAuthInfoApi()\n if (isSuccess(res)) {\n return res.data\n }\n throw new Error(res.message)\n }\n\n const bind = async (method: LoginMethodType) => {\n if (!token) {\n throw new Error('You must login first')\n }\n switch (method) {\n case \"evm\":\n return window.open(`${endpoints.auth}bind/wallet?appid=${appid}&st=` + encodeURIComponent(encodeBase64(token)))\n case \"sol\":\n return SOLOpen('bind')\n case \"telegram\":\n return await bindTelegram()\n case \"twitter\":\n case \"google\":\n case \"discord\":\n case \"github\":\n case \"linkedin\":\n case \"facebook\":\n case \"youtube\":\n const link = `${endpoints.back}api/v1/auth/${method=='youtube' ?'google':method}?appid=${appid}&provider=${method=='youtube' ?'google':method}&redirect=${encodeURIComponent(endpoints.auth + 'bind/' + method)}&authorization=${token.includes(\"Bearer \") ? token.split(' ')[1] : token}${method==\"youtube\" ? '&auth_type=youtube':''}`;\n matchlog.log('link', link)\n return window.open(\n link,\n 'authWindow',\n 'width=800,height=600'\n );\n default:\n throw new Error('unsupported method')\n\n }\n }\n\n\n return {\n loginByMethod,\n loginByTelegram,\n loginByTwitter,\n loginByGoogle,\n loginByWallet,\n loginByEmail,\n\n token,\n mid,\n did,\n address,\n isLogin,\n logout,\n getLoginEmailCode,\n refreshOverview,\n overview,\n bindWallet,\n bindTelegram,\n username: overview?.username || '',\n auth,\n\n login: loginMethod,\n bind,\n }\n}","import axios, {AxiosRequestConfig} from 'axios';\nimport {getAppid, getEndpoints, getLocale, getToken} from '../store';\nimport { localStore } from '../store/useLocalStore';\nimport matchlog from \"../utils/matchlog\";\n\nexport const SUCCESS_CODE = 0;\n\nexport const isSuccess = (res: { code: number; message: string; data?: any }) => {\n return res.code === SUCCESS_CODE;\n};\n\nexport interface MyResponseType<T> {\n code: number;\n data: T;\n message: string;\n success: boolean;\n fail: boolean;\n result: T;\n}\n\nconst instance = axios.create({\n timeout: 60000,\n validateStatus(status) {\n return status >= 200 && status <= 500;\n },\n});\n\nconst request = async <T = any>(config: AxiosRequestConfig): Promise<MyResponseType<T>> => {\n try {\n const endpoints = getEndpoints();\n const token = getToken()\n instance.defaults.baseURL = `${endpoints.back}`;\n\n instance.defaults.headers.common['Appid'] = getAppid()\n if(token){\n instance.defaults.headers.common['Authorization'] = token;\n }\n instance.defaults.headers.common['Accept-Language'] = getLocale()\n\n\n const {data} = await instance.request<MyResponseType<T>>(config);\n matchlog.log('api',data)\n if(data.code == 401001){\n localStore.getState().logout()\n throw new Error(\"Your session has expired, please log in again\")\n }\n // if (data.code !== 0) {\n // throw new Error(data.message);\n // }\n return data;\n } catch (err) {\n console.error('qwe-err', err);\n const message = 'Request Error';\n console.error(message);\n return {\n code: -1,\n data: null as any,\n message,\n success: false,\n fail: true,\n result: null as any,\n };\n }\n};\n\nexport default request;","import type {IEnvConfigType} from \"../../types/types\";\n\nexport default {\n endpoints:{\n back: \"https://api.matchid.ai/\",\n auth:\"https://auth.matchid.ai/\"\n }\n} as IEnvConfigType","import { localStore } from './useLocalStore';\nimport DefaultEnv from '../config/env';\nexport const getEndpoints = ()=>{\n try {\n const store = localStore.getState();\n\n const env = store?.endpoints;\n\n if (env) {\n return env;\n } else {\n return DefaultEnv.endpoints\n }\n } catch (e) {\n return DefaultEnv.endpoints\n }\n}\n\nexport const getAppid = () => {\n try {\n const store = localStore.getState();\n const appid = store?.appid;\n if (appid) {\n return appid;\n } else {\n return '';\n }\n } catch (e) {\n return '';\n }\n}\n\nexport const getLocale = () => {\n try {\n const store = localStore.getState();\n const locale = store?.locale;\n if (locale) {\n return locale;\n } else {\n return 'en';\n }\n } catch (e) {\n return 'en';\n }\n}\nexport const getToken = () => {\n try {\n const store = localStore.getState();\n const token = store?.token;\n if (token) {\n return token;\n } else {\n return '';\n }\n } catch (e) {\n return '';\n }\n}","// src/utils/logger.ts\nconst matchDevExists = () => localStorage.getItem('matchid-sdk-react-debug') !== null;\n\nconst handler = {\n get(target: any, prop: string) {\n if (matchDevExists() && typeof target[prop] === 'function') {\n return target[prop].bind(console);\n }\n return () => {};\n }\n};\n\nconst matchlog = new Proxy(console, handler);\n\nexport default matchlog;","import request from \"./request\";\nimport {BindInfoType, BindItemType, BindWalletParam, OverviewInfo, PohItemType, PohZkpassParams} from \"../types/types\";\n\nexport const getEmailCodeApi = ( email: string) => {\n return request<any>({\n url: `/api/v1/email/code`,\n method: \"POST\",\n data: { email }\n });\n}\n\nexport const verifyEmailCodeApi = ({ email, verification_key, verification_code } : { email: string, verification_key: string, verification_code: string }) => {\n return request<any>({\n url: `/api/v1/user/email/login`,\n method: \"POST\",\n data: { email, verification_key, verification_code }\n });\n}\n\n\nexport const getOverviewInfoApi = () => {\n return request<OverviewInfo>({\n url: `/api/v1/user/overview`,\n method: \"GET\",\n });\n}\nexport const toLogoutApi = () => {\n return request<any>({\n url: `/api/v1/user/logout`,\n method: \"POST\",\n });\n}\n\nexport const setUserNameApi = (data:any) => {\n return request({\n url: `/api/v1/user/name`,\n method: \"POSt\",\n data\n });\n}\n\nexport const getBindListApi = () => {\n return request<BindItemType[]>({\n url: `/api/v1/bind/list`,\n method: \"GET\",\n });\n}\n\nexport const getPohListApi = () => {\n return request<PohItemType[]>({\n url: `/api/v1/poh/list`,\n method: \"GET\",\n });\n}\n\nexport const getBindInfoApi = () => {\n return request<BindInfoType>({\n url: `/api/v1/bind`,\n method: \"GET\",\n });\n}\n\n\nexport const bindCexApi = ({cex, api_key, api_secret}: { cex: string, api_key: string, api_secret: string }) => {\n return request<any>({\n url: `/api/v1/cex/subscribe`,\n method: \"POST\",\n data: {cex, api_key, api_secret}\n });\n}\n\n\nexport const unBindApi = ({type}: { type: string }) => {\n return request<any>({\n url: `/api/v1/unbind`,\n method: \"POST\",\n data: {type}\n });\n}\n\nexport const unBindWalletApi = ({address}: { address: string }) => {\n return request<any>({\n url: `/api/v1/wallet/unbind`,\n method: \"POST\",\n data: {address}\n });\n}\n\nexport const verifyPohApi = ({\n taskId,\n schemaId,\n publicFields,\n allocatorAddress,\n publicFieldsHash,\n allocatorSignature,\n uHash,\n validatorAddress,\n validatorSignature\n }: PohZkpassParams) => {\n return request<any>({\n url: `/api/v1/poh/zkpass`,\n method: \"POST\",\n data: {\n taskId,\n schemaId,\n publicFields,\n allocatorAddress,\n publicFieldsHash,\n allocatorSignature,\n uHash,\n validatorAddress,\n validatorSignature\n }\n });\n}\n\nexport const chooseIdentityApi = ({identity}: { identity: string }) => {\n return request<any>({\n url: `/api/v1/user/choose/identity`,\n method: \"POST\",\n data: {identity}\n });\n}\n\nexport const mintPassportNftApi = () => {\n return request<any>({\n url: `/api/v1/mint/passport/nft`,\n method: \"POST\",\n });\n}\n\nexport const getAuthInfoApi = () => {\n return request<any>({\n url: `/api/v1/user/auth`,\n method: \"GET\",\n });\n}\n\nexport const getWalletNonceApi = ({ address } : { address: string }) => {\n return request<any>({\n url: `/api/v1/login/wallet/init`,\n method: \"POST\",\n data: { address }\n });\n}\n\nexport const loginByWalletApi = ({ type, address, signature, message, connector_type, wallet_client_type } : BindWalletParam) => {\n return request<any>({\n url: `/api/v1/login/wallet`,\n method: \"POST\",\n data: { type, address, signature, message, connector_type, wallet_client_type }\n });\n}\n\n\nexport const getWalletInitApi = ({ address } : { address: string }) => {\n return request<any>({\n url: `/api/v1/wallet/init`,\n method: \"POST\",\n data: { address },\n });\n}\n\nexport const toBindWalletApi = ({ type, address, signature, message, connector_type, wallet_client_type } : BindWalletParam) => {\n return request<any>({\n url: `/api/v1/wallet/bind`,\n method: \"POST\",\n data: { type, address, signature, message, connector_type, wallet_client_type }\n });\n}","// src/hooks/eventManager.ts\ntype EventCallback = (...args: any[]) => void;\n\nclass EventManager {\n private listeners: Record<string, Set<EventCallback>> = {};\n\n on(event: string, callback: EventCallback) {\n if (!this.listeners[event]) {\n this.listeners[event] = new Set();\n }\n this.listeners[event].add(callback);\n }\n\n off(event: string, callback: EventCallback) {\n if (this.listeners[event]) {\n this.listeners[event].delete(callback);\n if (this.listeners[event].size === 0) {\n delete this.listeners[event];\n }\n }\n }\n\n emit(event: string, ...args: any[]) {\n if (this.listeners[event]) {\n this.listeners[event].forEach(callback => callback(...args));\n }\n }\n}\n\nconst eventManager = new EventManager();\n\nexport default eventManager;\n","export const getVersion = (): string => {\n return \"0.0.1\";\n};\n\nexport function encodeBase64(input: string) {\n return btoa(unescape(encodeURIComponent(input)));\n}\n\n// Base64 解码\nexport function decodeBase64(input: string) {\n return decodeURIComponent(escape(atob(input)));\n}\n\nexport const isValidEmail = (email: string) => {\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email)\n}\nexport const isValidUsername = (username: string) => {\n //8-32 alpha number - _\n return /^[a-zA-Z0-9_-]+$/.test(username)\n}\n\nexport const deepMerge = (target: any, source: any): any => {\n for (const key in source) {\n if (source[key] instanceof Object && key in target) {\n target[key] = deepMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n};\n\nexport function truncateAddress(address: string): string {\n if (address.length <= 6) {\n return address;\n }\n const start = address.slice(0, 4);\n const end = address.slice(-2);\n return `${start}...${end}`;\n}\n\n\nexport function firstUpperCase(str: string): string {\n return str.toString()[0].toUpperCase() + str.toString().slice(1);\n}\n\nexport function getAppClientId() {\n return \"react-sdk-\" + getVersion()\n\n}","import {create} from 'zustand';\n\n// export const useEVMModalStore = create<{\n// isOpen: boolean,\n// type: 'bind' | 'login' | ''\n// open: (type: 'bind' | 'login') => void,\n// close: () => void\n// }>(set => ({\n// isOpen: false,\n// type: '',\n// open: (type: 'bind' | 'login') => set({isOpen: true, type}),\n// close: () => set({isOpen: false})\n// }));\n\n\nexport const useSOLModalStore = create<{\n isOpen: boolean,\n type: 'bind' | 'login' | ''\n open: (type: 'bind' | 'login') => void,\n close: () => void\n}>(set => ({\n isOpen: false,\n type: '',\n open: (type: 'bind' | 'login') => set({isOpen: true, type}),\n close: () => set({isOpen: false})\n}));","// src/hooks/useMatchEvents.ts\nimport { useEffect } from \"react\";\nimport eventManager from \"./eventManager\";\nimport {IMatchEvents} from \"../types/types\";\n\n\nexport default function useMatchEvents(handlers: IMatchEvents) {\n useEffect(() => {\n Object.entries(handlers).forEach(([event, handler]) => {\n if (handler) {\n eventManager.on(event, handler);\n }\n });\n\n return () => {\n Object.entries(handlers).forEach(([event, handler]) => {\n if (handler) {\n eventManager.off(event, handler);\n }\n });\n };\n }, [handlers]);\n}\n","import {create} from 'zustand';\n\ninterface StoreState {\n walletIframeInited: boolean\n setWalletIframeInited: (inited: boolean) => void,\n recoveryModal: {\n open: boolean\n success?: () => Promise<void>\n close?: () => Promise<void>\n }\n setRecoveryModal: (params:{\n open: boolean\n success?: () => Promise<void>\n close?: () => Promise<void>\n }) => void,\n closeRecoveryModal: () => void\n\n}\n\nconst useStore = create<StoreState>(set => ({\n walletIframeInited: false,\n setWalletIframeInited: (inited) => set({walletIframeInited: inited}),\n recoveryModal: {\n open: false,\n success: async() => {},\n close: async() => {}\n },\n setRecoveryModal: (params) => set({recoveryModal: params}),\n closeRecoveryModal: () => set({recoveryModal: {open: false}})\n}));\n\nexport default useStore;\n","import useLocalStore from \"../store/useLocalStore\";\nimport {getVersion} from \"../utils\";\nimport {Account, Hex, SignableMessage, TransactionSerializable,} from 'viem';\nimport useStore from \"../store/useStore\";\nimport {ChainType, RecoveryType} from \"../types/mpc\";\nimport matchlog from \"../utils/matchlog\";\nimport {toAccount} from \"viem/accounts\";\n\ninterface UseWalletReturnType {\n initWallet: (params: {\n address: string,\n did: string\n }) => Promise<void>;\n generateWallet: (params: {\n did: string\n userPasscode: string\n }) => Promise<string>;\n isRecovered: () => Promise<boolean>;\n recoveryWallet: (chainType: ChainType | undefined, recoveryType: RecoveryType, userPasscode?: string) => Promise<void>;\n signMessage: (message: SignableMessage, type?: ChainType) => Promise<Hex>;\n signTransaction: (transaction: TransactionSerializable, type?: ChainType) => Promise<`0x02${string}` | `0x01${string}` | `0x03${string}` | `0x04${string}` | import(\"viem\").TransactionSerializedLegacy>;\n address: string;\n evmAccount: Account|undefined;\n recoverAfter:(func:(\n resolve:(value:any)=>void,\n reject:(reason:string)=>void\n )=>Promise<any>)=>Promise<any>\n}\n\nconst AppClientId = \"react-sdk-\" + getVersion()\n\nexport default function useWallet(): UseWalletReturnType {\n const {appid, token, overview,address} = useLocalStore();\n const {setRecoveryModal, closeRecoveryModal} = useStore()\n\n const initWallet = ({\n did,\n address\n }: {\n did: string,\n address: string\n }): Promise<void> => {\n return window.waitMatchUntilWalletMessage(\n 'initCore',\n {\n AppId: appid,\n AppClientId,\n UserId: did,\n AccessToken: token,\n Address: address\n })\n }\n const isRecovered = async (): Promise<boolean> => {\n const res = await window.waitMatchUntilWalletMessage('isRecovered')\n return res.isRecovered\n }\n const generateWallet = async ({\n did,\n userPasscode\n }: {\n did: string,\n userPasscode: string\n }): Promise<string> => {\n\n\n return (await window.waitMatchUntilWalletMessage('generateWallet', {\n chainType: \"ethereum\",\n recoveryType: \"user_passcode_recovery_key\",\n userPasscode\n })) as string\n };\n\n const recoverAfter = async(func:(\n resolve:(value:any)=>void,\n reject:(reason:string)=>void\n )=>Promise<any>)=>{\n return new Promise(async (resolve, reject) => {\n const res = await isRecovered()\n matchlog.log('isRecovered', res)\n if (!res) {\n setRecoveryModal({\n open: true,\n success: async () => {\n matchlog.log('recover Success')\n await func(resolve,reject)\n },\n close: async () => {\n closeRecoveryModal()\n reject(new Error('recover modal close'))\n }\n })\n await initWallet({\n address: overview?.address || '',\n did: overview?.did?.split(':')[2] || ''\n })\n } else {\n await recoveryWallet(\"ethereum\",\"user_passcode_recovery_key\")\n await func(resolve,reject)\n }\n })\n }\n\n\n const signMessage = async (message: SignableMessage, type?: ChainType): Promise<Hex> => {\n const getSign = async (resolve:(value:any)=>void,reject:(reason:string)=>void) => {\n try {\n const recoverRes = await window.waitMatchUntilWalletMessage('signMessage', {\n message,\n chainType: type\n })\n closeRecoveryModal()\n resolve(recoverRes)\n } catch (error: any) {\n console.error('qwe-sign-error', error)\n reject(error)\n }\n }\n return (await recoverAfter(getSign)) as Hex\n\n }\n\n const signTransaction = async (transaction: TransactionSerializable, type?: ChainType): Promise<`0x02${string}` | `0x01${string}` | `0x03${string}` | `0x04${string}` | import(\"viem\").TransactionSerializedLegacy> => {\n const getSign = async (resolve:(value:any)=>void,reject:(reason:string)=>void) => {\n try {\n const recoverRes = await window.waitMatchUntilWalletMessage('signTransaction', {\n transaction,\n chainType: type\n })\n closeRecoveryModal()\n resolve(recoverRes)\n } catch (error: any) {\n console.error('qwe-sign-error', error)\n reject(error)\n }\n }\n return (await recoverAfter(getSign)) as `0x02${string}` | `0x01${string}` | `0x03${string}` | `0x04${string}` | import(\"viem\").TransactionSerializedLegacy\n }\n const recoveryWallet = async (chainType: ChainType | undefined, recoveryType: string, userPasscode?: string) => {\n return await window.waitMatchUntilWalletMessage('recoveryWallet', {\n chainType,\n recoveryType,\n userPasscode\n })\n }\n\n\n const evmAccount = address ? toAccount({\n address: address as `0x${string}`,\n async signMessage({message}) {\n return await signMessage(message)\n },\n async signTransaction(transaction,options) {\n //@ts-ignore\n const { account, ...restTransaction } = transaction;\n //@ts-ignore\n const sign = await signTransaction({\n ...restTransaction,\n })\n return sign\n },\n async signTypedData(typedData) {\n return '0x'\n },\n }) : undefined\n return {\n evmAccount,\n address,\n recoveryWallet,\n initWallet,\n generateWallet,\n signMessage,\n signTransaction,\n isRecovered,\n recoverAfter\n };\n}\n","import copy from 'copy-to-clipboard'\nimport { useCallback, useEffect, useState } from 'react'\n\nexport default function useCopyClipboard(timeout = 500): [boolean, (toCopy: string) => void] {\n const [isCopied, setIsCopied] = useState(false)\n\n const staticCopy = useCallback((text: string) => {\n const didCopy = copy(text)\n setIsCopied(didCopy)\n }, [])\n\n useEffect(() => {\n if (isCopied) {\n const hide = setTimeout(() => {\n setIsCopied(false)\n }, timeout)\n\n return () => {\n clearTimeout(hide)\n }\n }\n return undefined\n }, [isCopied, setIsCopied, timeout])\n\n return [isCopied, staticCopy]\n}\n","import {ModalWithHeaderProps} from \"types/types\";\nimport {ModalWithHeader} from \"../Modal\";\nimport {useEffect, useMemo, useState} from \"react\";\nimport Input from \"../Input\";\nimport Field from \"../Field\";\nimport Button from \"../Button\";\nimport {useUserInfo, useWallet} from \"../../hooks\";\nimport {PasswordRoundIcon} from \"../../assets/icon\";\nimport {ChainType, RecoveryType} from \"types/mpc\";\nimport matchlog from \"../../utils/matchlog\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\n\n\nexport default function RecoveryModal({\n title,\n isOpen,\n onSuccess,\n ...props\n }: ModalWithHeaderProps & {\n onSuccess?: () => void\n}) {\n const {refreshOverview} = useUserInfo()\n const {isLogin,overview} = useUserInfo()\n const [password, setPassword] = useState('')\n const {recoveryWallet,initWallet} = useWallet()\n const [error, setError] = useState('')\n const intl = useIntl()\n const passwordError = useMemo(() => {\n if (password.length < 6) return intl.formatMessage({\n id: \"passwordMinError\"\n }, {\n length: 6\n })\n return ''\n }, [password])\n\n\n useEffect(() => {\n if (isOpen&&overview) {\n setPassword('')\n const did = overview.did.split(':')[2]\n initWallet({\n did,\n address:overview.address\n })\n }\n }, [isOpen,overview]);\n\n\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const onContinue = async () => {\n if (isSubmitting) return\n try {\n setIsSubmitting(true)\n await recoveryWallet(\"ethereum\", \"user_passcode_recovery_key\", password)\n await refreshOverview()\n onSuccess && onSuccess()\n // if (isSuccess(res)) {\n // await refreshOverview()\n // onSuccess && onSuccess()\n // } else {\n // setError(res.message)\n // }\n\n } catch (error: any) {\n console.error('qwe-recover-error', error)\n setError(error.message)\n } finally {\n setIsSubmitting(false)\n }\n }\n\n\n return <ModalWithHeader isOpen={isOpen && isLogin} {...props} title={title || intl.formatMessage({\n id:\"recoverTitle\"\n })}>\n <div className=\"matchid-password-box\">\n <div className=\"matchid-password-header\">\n <div className=\"matchid-password-header-icon\"><PasswordRoundIcon/></div>\n <div className=\"matchid-password-header-content\">\n <FormattedMessage id=\"recoverTips\"/>\n </div>\n </div>\n <div className=\"matchid-password-content\">\n <Field label={intl.formatMessage({id: \"password\"})} error={password.length > 0 ? passwordError || error : error}>\n <Input\n placeholder={intl.formatMessage({id: \"passwordPlaceholder\"})}\n maxLength={32}\n type={\"password\"}\n onChange={e => setPassword(e.target.value)}\n value={password}\n >\n </Input>\n </Field>\n </div>\n\n <Button disabled={password.length == 0 || !!passwordError} highlight block size=\"lg\"\n onClick={onContinue} loading={isSubmitting}><FormattedMessage id={\"continue\"}/></Button>\n </div>\n </ModalWithHeader>\n}","import {BindWalletParam, ILoginWalletReq, ModalWithHeaderProps} from \"../../types/types\";\nimport {ModalWithHeader} from \"../Modal\";\nimport {firstUpperCase} from \"../../utils\";\nimport React, {useEffect, useMemo, useState} from \"react\";\nimport {getWalletInitApi, getWalletNonceApi, loginByWalletApi, toBindWalletApi} from \"../../api\";\nimport {isSuccess} from \"../../api/request\";\nimport matchlog from \"../../utils/matchlog\";\nimport {Button} from \"../index\";\nimport {useMatch} from \"../../MatchContext\";\nimport eventManager from \"../../hooks/eventManager\";\nimport {clusterApiUrl} from '@solana/web3.js';\nimport {useWallet, WalletProvider, ConnectionProvider} from '@solana/wallet-adapter-react';\nimport {WalletModalProvider, useWalletModal} from '@solana/wallet-adapter-react-ui';\nimport { WalletAdapterNetwork } from '@solana/wallet-adapter-base';\n\nimport {\n PhantomWalletAdapter,\n SolflareWalletAdapter,\n WalletConnectWalletAdapter,\n AlphaWalletAdapter,\n AvanaWalletAdapter,\n BitgetWalletAdapter,\n BitpieWalletAdapter,\n CloverWalletAdapter,\n Coin98WalletAdapter,\n CoinbaseWalletAdapter,\n CoinhubWalletAdapter,\n FractalWalletAdapter,\n HuobiWalletAdapter,\n HyperPayWalletAdapter,\n KeystoneWalletAdapter,\n KrystalWalletAdapter,\n LedgerWalletAdapter,\n MathWalletAdapter,\n NekoWalletAdapter,\n NightlyWalletAdapter,\n NufiWalletAdapter,\n OntoWalletAdapter,\n ParticleAdapter,\n SafePalWalletAdapter,\n SaifuWalletAdapter,\n SalmonWalletAdapter,\n SkyWalletAdapter,\n SolongWalletAdapter,\n SpotWalletAdapter,\n TokenaryWalletAdapter,\n TokenPocketWalletAdapter,\n TorusWalletAdapter,\n TrustWalletAdapter,\n XDEFIWalletAdapter\n} from '@solana/wallet-adapter-wallets';\nimport '@solana/wallet-adapter-react-ui/styles.css';\nimport {\n walletConnectedImage,\n walletConnectImage,\n walletConnectingImage,\n walletErrorImage,\n walletSigningImage,\n} from \"../../assets/wallet\";\nimport {useIntl} from \"react-intl\";\n\nfunction WalletContent({\n onSuccess,\n type,\n }: {\n onSuccess?: () => void\n type: 'login' | 'bind' | ''\n}) {\n const {setVisible, visible} = useWalletModal();\n const wallet = useWallet();\n const {events, login} = useMatch()\n\n const [status, setStatus] = useState<'' | 'nonce' | 'signer' | 'success' | 'error'>('')\n const statusRef = React.useRef(status)\n const [error, setError] = useState('')\n\n useEffect(() => {\n const init = async () => {\n await wallet.disconnect();\n setVisible(true); // 打开选择钱包弹窗\n };\n init();\n }, []);\n useEffect(() => {\n if (wallet.connected) {\n console.log('wallet.connected', wallet.connected)\n toLoginInWallet();\n }\n }, [wallet.connected]);\n const toLoginInWallet = async () => {\n if (statusRef.current) return\n const address = wallet.publicKey?.toBase58() || '';\n try {\n setStatus('nonce')\n statusRef.current = 'nonce'\n const res = type == 'bind' ? await getWalletInitApi({address}) : await getWalletNonceApi({address});\n if (!isSuccess(res)) {\n throw new Error(res.message)\n }\n const nonce = res.code >= 0 ? res.data.nonce : null;\n if (nonce) {\n setStatus('signer')\n statusRef.current = 'signer'\n const message = \"By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.Nonce:\" + res.data.nonce;\n const encodedMessage = new TextEncoder().encode(message);\n const signedMessage = await wallet.signMessage!(encodedMessage);\n let obj: BindWalletParam = {\n type: 'SOL',\n address: address,\n signature: Buffer.from(signedMessage).toString('base64'),\n message: message,\n connector_type: \"SOL\",\n wallet_client_type: wallet.wallet?.adapter.name || ''\n }\n const res1 = type == 'bind' ? await toBindWalletApi(obj) : await loginByWalletApi(obj)\n if (res1) {\n if (!isSuccess(res1)) {\n throw new Error(res1.message)\n }\n matchlog.log(res1)\n setStatus('success')\n statusRef.current = 'success'\n if (type == 'bind') {\n events!.onBind && events!.onBind({\n type: 'sol'\n })\n eventManager.emit('onBind', {\n type: 'sol'\n })\n } else {\n await login({\n mid: res1.data.mid,\n token: `${res1.data.token_type} ${res1.data.access_token}`\n })\n }\n onSuccess && onSuccess()\n }\n }\n } catch (error: any) {\n // toast.error(error.message)\n // disconnect()\n setStatus('error')\n setError(error.message)\n statusRef.current = ''\n }\n }\n const pageData: {\n btnText?: string,\n btnLoading?: boolean,\n btnDisabled?: boolean,\n btnClick?: () => void\n statusImage: string\n text: string,\n isError?: boolean\n } = useMemo(() => {\n\n if (status == 'success') {\n return {\n btnText: 'Disconnect Wallet',\n btnClick: async () => {\n await wallet.disconnect()\n },\n text: 'Wallet connection successful!',\n statusImage: walletConnectedImage\n }\n }\n if (status == 'error') {\n return {\n text: error,\n btnText: \"Reconnect Wallet\",\n btnClick: async () => {\n setError('')\n await wallet.disconnect()\n setVisible(true)\n },\n statusImage: walletErrorImage,\n isError: true\n }\n }\n if (status == 'nonce') {\n return {\n btnLoading: true,\n text: 'Connecting',\n statusImage: walletConnectingImage\n }\n }\n if (status == 'signer') {\n return {\n btnLoading: true,\n text: 'Signing',\n statusImage: walletSigningImage\n }\n }\n if (visible) {\n return {\n btnLoading: true,\n text: 'Connecting',\n statusImage: walletConnectingImage,\n }\n }\n\n return {\n btnText: 'Connect Wallet',\n btnClick: () => {\n setVisible(true)\n },\n text: 'Please Connect your wallet',\n statusImage: walletConnectImage\n }\n }, [visible, wallet.connected, status, error, wallet.publicKey])\n return <div className=\"matchid-wallet-container\">\n <div className={`matchid-wallet-box`}>\n <div className={`matchid-wallet-content`}>\n <img src={pageData.statusImage}/>\n <div className={pageData.isError ? 'text-[#F7585E]' : ''}>{pageData.text}</div>\n </div>\n <Button block size=\"lg\" onClick={pageData.btnClick} loading={pageData.btnLoading}\n disabled={pageData.btnDisabled}>\n {pageData.btnText}\n </Button>\n </div>\n </div>\n}\n\nconst wallets = [new PhantomWalletAdapter(),\n new SolflareWalletAdapter,\n new WalletConnectWalletAdapter({\n network:WalletAdapterNetwork.Mainnet,\n options:{\n relayUrl: 'wss://relay.walletconnect.com'\n }\n }),\n new AlphaWalletAdapter,\n new AvanaWalletAdapter,\n new BitgetWalletAdapter,\n new BitpieWalletAdapter,\n new CloverWalletAdapter,\n new Coin98WalletAdapter,\n new CoinbaseWalletAdapter,\n new CoinhubWalletAdapter,\n new FractalWalletAdapter,\n new HuobiWalletAdapter,\n new HyperPayWalletAdapter,\n new KeystoneWalletAdapter,\n new KrystalWalletAdapter,\n new LedgerWalletAdapter,\n new MathWalletAdapter,\n new NekoWalletAdapter,\n new NightlyWalletAdapter,\n new NufiWalletAdapter,\n new OntoWalletAdapter,\n new ParticleAdapter,\n new SafePalWalletAdapter,\n new SaifuWalletAdapter,\n new SalmonWalletAdapter,\n new SkyWalletAdapter,\n new SolongWalletAdapter,\n new SpotWalletAdapter,\n new TokenaryWalletAdapter,\n new TokenPocketWalletAdapter,\n new TorusWalletAdapter,\n new TrustWalletAdapter,\n new XDEFIWalletAdapter]\n\nexport default function SOLModal({\n type = 'login',\n onSuccess,\n ...props\n }: ModalWithHeaderProps & {\n type?: 'login' | 'bind' | ''\n onSuccess?: () => void\n}) {\n const intl = useIntl()\n return <ModalWithHeader {...props} title={props.title || (intl.formatMessage({\n id:type==\"bind\" ? \"bindWith\":\"loginWith\"\n },{\n name:\"SOL\"\n }))}>\n <ConnectionProvider endpoint={clusterApiUrl('devnet')}>\n <WalletProvider wallets={wallets} autoConnect>\n <WalletModalProvider>\n <WalletContent onSuccess={onSuccess} type={type}/>\n </WalletModalProvider>\n </WalletProvider>\n </ConnectionProvider>\n </ModalWithHeader>\n}","export {default as EmailModal} from './EmailModal'\nexport {default as Field} from './Field'\nexport {default as Input} from './Input'\nexport {default as Button} from './Button'\nexport {default as Modal,ModalWithHeader} from './Modal'\nexport {default as Popover} from \"./Popover\"\n\nexport {default as LoginBox} from './LoginBox'\nexport {default as LoginButton} from './LoginButton'\nexport {default as LoginPanel} from './LoginPanel'\nexport {default as LoginModal} from './LoginModal'\nexport {default as UsernameModal} from './UsernameModal'\nexport {default as PasswordModal} from './PasswordModal'\n// export {default as EVMModal} from \"./EVMModal\"\nexport {default as SOLModal} from \"./SOLModal\"","import {useEffect, useState} from \"react\";\nimport {ModalWithHeader} from \"../Modal\";\nimport StepEmail from \"./StepEmail\";\nimport StepVerify from \"./StepVerify\";\nimport {EmailModalProps} from \"../../types/types\";\nimport {useIntl} from \"react-intl\";\n\nexport default function EmailModal({\n isOpen = false,\n width = 480,\n onClose,\n onBack,\n onLogin\n }: EmailModalProps) {\n const [step, setStep] = useState<\"input\" | \"verify\">(\"input\")\n const [emailVal, setEmailVal] = useState('')\n const intl = useIntl()\n\n useEffect(() => {\n if (!isOpen) {\n setStep('input')\n setEmailVal('')\n }\n }, [isOpen])\n\n return <ModalWithHeader\n isOpen={isOpen}\n width={width}\n onClose={onClose}\n title={intl.formatMessage({\n id:\"email\"\n })}\n onBack={step == 'verify' ? () => setStep(\"input\") : onBack}\n >\n {\n step === \"input\" ? <StepEmail email={emailVal} onContinue={(email) => {\n setEmailVal(email)\n setStep(\"verify\")\n }}/> : <StepVerify email={emailVal} onSuccess={onLogin}/>}\n </ModalWithHeader>\n}","import {useEffect, useMemo, useState} from \"react\";\nimport {isValidEmail} from \"utils\";\nimport Button from \"../Button\";\nimport Input from \"../Input\";\nimport Field from \"../Field\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\n\nexport default function StepEmail(props: {\n email: string\n onContinue: (email: string) => void\n}) {\n const intl = useIntl()\n const [emailVal, setEmailVal] = useState('')\n useEffect(() => {\n if (props.email) {\n setEmailVal(props.email)\n }\n }, []);\n\n const canContinue = useMemo(() => {\n return isValidEmail(emailVal)\n }, [emailVal])\n\n const onContinue = async () => {\n props.onContinue(emailVal)\n }\n\n return <div className=\"matchid-email-email-box\">\n <Field label={intl.formatMessage({\n id:\"emailAddress\"\n })}>\n <Input\n placeholder={intl.formatMessage({\n id:\"emailAddressPlaceholder\"\n })}\n onChange={e => setEmailVal(e.target.value)}\n value={emailVal}\n />\n </Field>\n\n <Button disabled={!canContinue} style={{\n marginTop:\"64px\"\n }} onClick={onContinue} size={\"lg\"} block highlight><FormattedMessage id={\"continue\"}/></Button>\n\n </div>\n}\n","import useUserInfo from \"../../hooks/useUserInfo\";\nimport {useEffect, useMemo, useRef, useState} from \"react\";\nimport Button from \"../Button\";\nimport {EmailLineIcon} from \"assets/icon\";\nimport Input from \"../Input\";\nimport Field from \"../Field\";\nimport {EMAIL_CODE_LENGTH, EMAIL_INTERVAL} from \"../../config\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nexport default function StepVerify(props: {\n email: string\n onSuccess?: () => void\n}) {\n const intl = useIntl()\n const {getLoginEmailCode, loginByEmail} = useUserInfo()\n const [error, setError] = useState('')\n const [code, setCode] = useState('')\n const [sending, setSending] = useState(false)\n const [submitting, setSubmitting] = useState(false)\n const sendTimeRef = useRef(0)\n const [sendBtnText, setSendBtnText] = useState(intl.formatMessage({\n id: \"send\"\n }))\n const intervalTime = EMAIL_INTERVAL\n const codeLength = EMAIL_CODE_LENGTH\n const intervalRef = useRef<NodeJS.Timeout | null>(null);\n const isDownMd = useDownMd()\n\n const onSend = async () => {\n if (sendTimeRef.current > 0) {\n return\n }\n try {\n setError(\"\")\n setSending(true)\n sendTimeRef.current = intervalTime\n await getLoginEmailCode(props.email)\n setSendBtnText(`${sendTimeRef.current}s`)\n intervalRef.current = setInterval(() => {\n sendTimeRef.current--;\n setSendBtnText(`${sendTimeRef.current}s`)\n if (sendTimeRef.current <= 0) {\n setSendBtnText(intl.formatMessage({\n id: \"Resend\"\n }))\n clearInterval(intervalRef.current!);\n setSending(false);\n }\n }, 1000);\n } catch (err: any) {\n console.error(\"Send email error\", err)\n setError(intl.formatMessage({\n id: \"sendCodeErrorTip\",\n }, {error: err.message}))\n setSending(false)\n }\n\n }\n useEffect(() => {\n onSend()\n return () => {\n if (intervalRef.current) {\n clearInterval(intervalRef.current)\n }\n }\n }, []);\n const canContinue = useMemo(() => {\n return code.length === codeLength\n }, [code])\n\n const onContinue = async () => {\n if (submitting) {\n return\n }\n try {\n setError(\"\")\n setSubmitting(true)\n const res = await loginByEmail({\n email: props.email,\n code\n })\n if (res) {\n props.onSuccess && props.onSuccess()\n }\n setSubmitting(false)\n\n } catch (err: any) {\n console.error(\"Verify email code error\", err)\n setError(err.message)\n setSubmitting(false)\n }\n }\n\n return <div className=\"matchid-email-verify-box\">\n <div className=\"matchid-email-verify-header\">\n <div className=\"matchid-email-verify-header-icon\"><EmailLineIcon size={isDownMd ? 19:24}/></div>\n <div className=\"matchid-email-verify-header-content\">\n <div className=\"matchid-email-verify-header-value\">{props.email}</div>\n <div className=\"matchid-email-verify-header-tips\"><FormattedMessage id=\"sendEmailTips\"/></div>\n </div>\n </div>\n <Field label={intl.formatMessage({\n id:\"verificationCode\"\n })} error={error}>\n <Input\n placeholder={intl.formatMessage({\n id:\"codePlaceholder\"\n })}\n className={\"matchid-email-verify-field\"}\n maxLength={codeLength}\n onChange={e => setCode(e.target.value)}\n value={code}\n after={<Button\n highlight\n disabled={sending}\n style={{\n height: '100%',\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 'inherit',\n borderBottomRightRadius: 'inherit',\n width: \"80px\"\n }}\n onClick={onSend}>{sendBtnText}</Button>}\n >\n\n </Input>\n </Field>\n\n <Button disabled={!canContinue} highlight block size=\"lg\" onClick={onContinue}><FormattedMessage id={\"continue\"}/></Button>\n </div>\n}","export const EMAIL_INTERVAL = 60\nexport const EMAIL_CODE_LENGTH = 6","import { useState} from \"react\";\nimport {PopoverProps} from \"../../types/types\";\n\nexport default function Popover({\n children,\n content,\n position = \"right\",\n type = \"hover\",\n className = \"\",\n gap = '20px'\n }: PopoverProps) {\n const [active,setActive] = useState(false)\n return <div\n onClick={()=>{\n if(type=='click'){\n setActive(!active)\n }\n }}\n className={`matchid-popover-box matchid-popover-${position} matchid-popover-${type} ${className} ${type=='click' && active ? 'matchid-popover-click-active' : ''}`}>\n {children}\n <div style={{\n paddingTop: gap\n }}>\n <div className={`matchid-popover-content`}>\n {content}\n </div>\n </div>\n </div>\n\n}","import useUserInfo from \"hooks/useUserInfo\";\nimport {LoginBoxProps, OtherLoginMethodType} from \"types/types\";\nimport React, {PropsWithChildren, useState} from \"react\";\nimport {\n EmailIcon,\n GoogleIcon,\n TelegramIcon,\n WalletIcon,\n XIcon,\n ArrowRightIcon,\n GithubIcon,\n DiscordIcon,\n LinkedinIcon,\n FacebookIcon,\n ArrowDownIcon, EVMDarkIcon, EVMLightIcon, SOLDarkIcon, SOLLightIcon, YoutubeIcon\n} from \"assets/icon\";\nimport EmailModal from \"../EmailModal\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nconst RecommendItem = ({\n icon,\n name,\n onClick,\n showChildren = false,\n children\n }: {\n icon: React.ReactNode,\n name: string,\n onClick: () => void,\n showChildren?: boolean\n} & PropsWithChildren) => {\n return <div className=\"matchid-login-recommend-method\">\n <div className=\"matchid-login-recommend-method-item\" onClick={onClick}>\n <div className=\"matchid-login-recommend-method-content\">\n <div className=\"matchid-login-recommend-method-icon\">\n {icon}\n </div>\n <span className=\"matchid-login-recommend-method-name\">{name}</span>\n </div>\n {\n children ? <ArrowDownIcon\n className={`matchid-login-recommend-method-arrow ${showChildren ? 'matchid-login-recommend-method-arrow-active' : ''}`}\n size={20}\n color={\"var(--matchid-arrow-color)\"}/> :\n <ArrowRightIcon className=\"matchid-login-recommend-method-arrow\" size={20}\n color={\"var(--matchid-arrow-color)\"}/>\n }\n </div>\n {children && <div\n className={`matchid-login-recommend-method-popover ${showChildren ? 'matchid-login-recommend-method-popover-active' : ''}`}>\n {children}\n </div>}\n </div>\n}\nexport default function LoginBox({\n recommendMethods = [\n 'wallet',\n 'email',\n 'google'\n ],\n methods = [\n 'telegram',\n 'twitter'\n ],\n walletMethods = [\"evm\"],\n inModal = false\n }: LoginBoxProps) {\n\n const [emailOpen, setEmailOpen] = useState(false)\n const {login} = useUserInfo()\n const [showWallet, setShowWallet] = useState(false)\n const intl = useIntl()\n const isDownMd = useDownMd()\n const methodMap: {\n [key: string]: {\n icon: React.ReactNode,\n name: string,\n onClick: () => void,\n type?: \"wallet\"\n }\n } = {\n wallet: {\n icon: <WalletIcon size={isDownMd ? 36 : 40}/>,\n name: intl.formatMessage({id: \"wallet\"}),\n onClick: () => setShowWallet(!showWallet),\n type: \"wallet\"\n },\n email: {\n icon: <EmailIcon size={isDownMd ? 36 : 40}/>,\n name: intl.formatMessage({id: \"email\"}),\n onClick: () => {\n setEmailOpen(true)\n }\n },\n google: {\n icon: <GoogleIcon size={isDownMd ? 36 : 40}/>,\n name: \"Google\",\n onClick: () => login('google')\n },\n twitter: {\n icon: <XIcon size={isDownMd ? 36 : 40}/>,\n name: \"X\",\n onClick: () => login('twitter')\n },\n telegram: {\n icon: <TelegramIcon size={isDownMd ? 36 : 40}/>,\n name: \"Telegram\",\n onClick: () => login('telegram')\n },\n github: {\n icon: <GithubIcon size={isDownMd ? 36 : 40}/>,\n name: \"Github\",\n onClick: () => login('github')\n },\n discord: {\n icon: <DiscordIcon size={isDownMd ? 36 : 40}/>,\n name: \"Discord\",\n onClick: () => login('discord')\n },\n linkedin: {\n icon: <LinkedinIcon size={isDownMd ? 36 : 40}/>,\n name: \"LinkedIn\",\n onClick: () => login('linkedin')\n },\n facebook: {\n icon: <FacebookIcon size={isDownMd ? 36 : 40}/>,\n name: \"Facebook\",\n onClick: () => login('facebook')\n },\n youtube: {\n icon: <YoutubeIcon size={isDownMd ? 36 : 40}/>,\n name: \"Youtube\",\n onClick: () => login('youtube')\n }\n\n }\n\n const walletMap: {\n [key: string]: {\n icon: React.ReactNode,\n activeIcon: React.ReactNode,\n name: string,\n onClick: () => void,\n }\n } = {\n evm: {\n icon: <EVMDarkIcon size={isDownMd ? 36 : 40}/>,\n activeIcon: <EVMLightIcon size={isDownMd ? 36 : 40}/>,\n name: \"EVM\",\n onClick: () => login('evm'),\n },\n sol: {\n icon: <SOLDarkIcon size={isDownMd ? 36 : 40}/>,\n activeIcon: <SOLLightIcon size={isDownMd ? 36 : 40}/>,\n name: \"SOL\",\n onClick: () => login('sol'),\n }\n }\n\n\n return <>\n {(!inModal || !emailOpen) && <div className=\"matchid-login-box\">\n <div className=\"matchid-login-recommend-list\">\n {\n recommendMethods.map((m) => {\n return <RecommendItem\n icon={methodMap[m]?.icon}\n name={methodMap[m]?.name}\n onClick={methodMap[m]?.onClick}\n key={m}\n showChildren={m == 'wallet' && showWallet}\n >\n {\n m == 'wallet' && <>\n <div className={\"matchid-login-recommend-wallet-divider\"}></div>\n <div className={\"matchid-login-recommend-wallet-list\"}>\n {\n walletMethods.map((n) => {\n const m = walletMap[n]\n return <div className={\"matchid-login-recommend-wallet-item\"}\n key={m.name}\n onClick={m.onClick}>\n <div className={\"matchid-login-recommend-wallet-item-content\"}>\n <div className={\"matchid-login-recommend-wallet-item-icon\"}>\n {m.icon}\n </div>\n <div\n className={\"matchid-login-recommend-wallet-item-hover-icon\"}>\n {m.activeIcon}\n </div>\n\n <span\n className={\"matchid-login-recommend-wallet-item-name\"}>{m.name}</span>\n </div>\n <ArrowRightIcon\n className=\"matchid-login-recommend-wallet-item-arrow\"\n size={20}\n color={\"var(--matchid-arrow-color)\"}/>\n </div>\n })\n }\n </div>\n </>\n }\n </RecommendItem>\n })\n }\n </div>\n {methods.length > 0 &&\n <div className=\"matchid-login-other\">\n <div className=\"matchid-login-other-text\"><FormattedMessage id={\"otherLoginMethods\"}/></div>\n <div className=\"matchid-login-method-box\">\n {\n methods.map((m) => {\n return <div className=\"matchid-login-method-item\" key={m}\n onClick={methodMap[m]?.onClick} title={methodMap[m]?.name}>\n {methodMap[m]?.icon}\n </div>\n })\n }\n </div>\n </div>\n }\n </div>\n }\n <EmailModal\n isOpen={emailOpen}\n onClose={() => {\n setEmailOpen(false)\n }}\n onBack={inModal ? () => {\n setEmailOpen(false)\n } : undefined}\n />\n </>\n\n}\n","import useUserInfo from \"../../hooks/useUserInfo\";\nimport {ReactNode, useState} from \"react\";\nimport {\n ButtonProps,\n OtherLoginMethodType,\n PopoverPositionType,\n PopoverTypeType,\n RecommendLoginMethodType, WalletType,\n} from \"../../types/types\";\nimport {truncateAddress} from \"../../utils\";\nimport Button from \"../Button\";\nimport {LoginIcon, UnLoginIcon} from \"../../assets/icon\";\nimport LoginModal from \"../LoginModal\";\nimport UserPopover from \"../UserPopover\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\n\nexport default function LoginButton({\n loginRender,\n methods,\n recommendMethods,\n onLoginClick,\n popoverPosition = \"right\",\n popoverType = \"hover\",\n popoverGap = 20,\n walletMethods,\n ...props\n }: Omit<ButtonProps, 'onClick' | 'highlight'> & {\n loginRender?: ReactNode\n methods?: OtherLoginMethodType[],\n recommendMethods?: RecommendLoginMethodType[]\n walletMethods?: WalletType[]\n onLoginClick?: () => void\n popoverPosition?: PopoverPositionType\n popoverType?: PopoverTypeType,\n popoverGap?: number | string\n}) {\n const intl = useIntl()\n const {isLogin, username} = useUserInfo()\n const [loginOpen, setLoginOpen] = useState(false)\n if (!isLogin) {\n return <>\n <LoginModal methods={methods} walletMethods={walletMethods} recommendMethods={recommendMethods} isOpen={loginOpen}\n onClose={() => setLoginOpen(false)}/>\n <Button className={'matchid-unlogin-btn'} {...props} highlight onClick={() => setLoginOpen(true)}>\n <UnLoginIcon/>\n <span><FormattedMessage id=\"login\"/></span>\n </Button>\n </>\n }\n return loginRender ? <>{loginRender}</> :\n <UserPopover position={popoverPosition} type={popoverType} gap={popoverGap}>\n <Button onClick={onLoginClick} className={'matchid-login-btn'} {...props}>\n <LoginIcon/>\n <span>{username ? truncateAddress(username) : ('MatchID ' + intl.formatMessage({\n id: 'user'\n }))}</span>\n </Button>\n </UserPopover>\n\n}","import {LoginPanelProps} from \"types/types\";\nimport LoginBox from \"../LoginBox\";\nimport {CloseRoundIcon} from \"assets/icon\";\nimport {FormattedMessage} from \"react-intl\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nexport default function LoginPanel({\n\n header,\n onClose,\n ...props\n }: LoginPanelProps) {\n\n const isDownMd = useDownMd()\n return <div className=\"matchid-login-panel\">\n {header ? header : <div className=\"matchid-login-panel-header\">\n <div className=\"matchid-login-panel-header-content\">\n <div className=\"matchid-login-panel-header-title\"><FormattedMessage id=\"loginTitle\"/></div>\n <div className=\"matchid-login-panel-header-subtilte\"><FormattedMessage id=\"loginTips\"/></div>\n </div>\n {\n onClose && <div className={\"matchid-login-panel-header-close\"} onClick={onClose}><CloseRoundIcon size={isDownMd?24:30}/></div>\n }\n\n </div>}\n <div className=\"matchid-login-panel-divide\"/>\n <div className={\"matchid-login-panel-box\"}>\n <LoginBox {...props}/>\n </div>\n </div>\n\n}\n","import Modal from \"components/Modal\";\nimport LoginPanel from \"../LoginPanel\";\nimport {LoginModalProps} from \"../../types/types\";\nimport {useUserInfo} from \"../../hooks\";\n\nexport default function LoginModal({\n isOpen = false,\n width = 480,\n ...props\n }: LoginModalProps) {\n const {isLogin} = useUserInfo()\n return <Modal\n isOpen={isOpen && !isLogin}\n width={width}\n >\n <LoginPanel {...props} inModal/>\n </Modal>\n}","import {PopoverProps, UserPopoverProps} from \"../../types/types\";\nimport Popover from \"../Popover\";\nimport Button from \"../Button\";\nimport {useCopyClipboard, useUserInfo} from \"../../hooks\";\nimport {PropsWithChildren, useState} from \"react\";\nimport ProfileIcon from \"../../assets/icon/ProfileIcon\";\nimport {ArrowRightIcon, CheckIcon, CopyIcon} from \"../../assets/icon\";\nimport {truncateAddress} from \"../../utils\";\nimport {UsernameModal} from \"../index\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\n\nfunction UserContent() {\n const {logout,address,username} = useUserInfo()\n const [logouting, setLogouting] = useState(false)\n\n const onLogout = async () => {\n if (logouting) return\n try {\n setLogouting(true)\n await logout()\n } catch (error) {\n console.error(error)\n } finally {\n setLogouting(false)\n }\n }\n const UserItem = ({\n children,\n icon,\n rightIcon,\n onClick\n }:PropsWithChildren&{\n icon?:React.ReactNode,\n rightIcon?:React.ReactNode,\n onClick?:()=>void\n })=>{\n return <div className={\"matchid-user-popover-item\"} onClick={onClick}>\n <div className={`matchid-user-popover-item-content`}>\n {icon}\n <div className={\"matchid-user-popover-item-text\"}>\n {children}\n </div>\n </div>\n {rightIcon}\n </div>\n\n }\n const UserDivider = ()=>{\n return <div className={`matchid-user-popover-divider`}></div>\n }\n\n const [usernameOpen,setUsernameOpen] = useState(false)\n const [copied, setCopied] = useCopyClipboard();\n const intl = useIntl()\n return <div className={\"matchid-user-popover-content\"}>\n <div className={\"matchid-user-popover-list\"}>\n <UserItem onClick={()=>{\n setCopied(address)\n }} icon={copied ?<CheckIcon size={20} color=\"#0ecb81\"/> : <CopyIcon size={20} color=\"var(--icon-color)\"/>} rightIcon={<CheckIcon size={20} color=\"var(--icon-color)\"/>}>\n {truncateAddress(address)}\n </UserItem>\n <UserDivider/>\n <UserItem onClick={()=>{\n setUsernameOpen(true)\n }} icon={<ProfileIcon size={20} color=\"var(--icon-color)\"/>} rightIcon={<ArrowRightIcon size={20} color=\"var(--icon-color)\"/>}>\n {username || intl.formatMessage({\n id:\"setUsername\"\n })}\n </UserItem>\n </div>\n <Button onClick={onLogout} loading={logouting}><FormattedMessage id=\"disconnect\"/></Button>\n <UsernameModal isOpen={usernameOpen} onClose={()=>{\n setUsernameOpen(false)\n }} onSuccess={()=>{\n setUsernameOpen(false)\n }}/>\n </div>\n}\n\nexport default function UserPopover({\n children,\n ...props\n }: UserPopoverProps) {\n return <Popover {...props} content={<UserContent/>}>\n {children}\n </Popover>\n\n}","import { IconSizeColorProps} from \"./types\";\n\nexport default function ProfileIcon({size=24,color='black',...props}:IconSizeColorProps) {\n return <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M7.5 6.75C7.5 4.95507 8.95507 3.5 10.75 3.5C12.5449 3.5 14 4.95507 14 6.75C14 8.54493 12.5449 10 10.75 10C8.95507 10 7.5 8.54493 7.5 6.75ZM10.75 2C8.12665 2 6 4.12665 6 6.75C6 9.37335 8.12665 11.5 10.75 11.5C13.3734 11.5 15.5 9.37335 15.5 6.75C15.5 4.12665 13.3734 2 10.75 2ZM8.75 13C5.57436 13 3 15.5744 3 18.75V19.75C3 20.7165 3.7835 21.5 4.75 21.5H13.6646L13.0292 20.8646C12.7764 20.6118 12.5733 20.3185 12.4263 20H4.75C4.61193 20 4.5 19.8881 4.5 19.75V18.75C4.5 16.4028 6.40279 14.5 8.75 14.5H12.6452C13.0508 13.8858 13.676 13.4295 14.4091 13.243C13.8838 13.0849 13.3268 13 12.75 13H8.75Z\"\n fill={color}/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M19.0677 22.4771L21.4771 20.0677C21.841 19.7038 21.841 19.1139 21.4771 18.75L17.75 15.0229C17.5753 14.8482 17.3383 14.75 17.0911 14.75H14.6818C14.1672 14.75 13.75 15.1672 13.75 15.6818V18.0911C13.75 18.3383 13.8482 18.5753 14.0229 18.75L17.75 22.4771C18.1139 22.841 18.7038 22.841 19.0677 22.4771ZM15.6135 17.3124C15.9995 17.3124 16.3124 16.9995 16.3124 16.6135C16.3124 16.2276 15.9995 15.9147 15.6135 15.9147C15.2276 15.9147 14.9147 16.2276 14.9147 16.6135C14.9147 16.9995 15.2276 17.3124 15.6135 17.3124Z\"\n fill={color}/>\n </svg>\n\n}","import {ModalWithHeaderProps} from \"types/types\";\nimport {ModalWithHeader} from \"../Modal\";\nimport {useEffect, useMemo, useState} from \"react\";\nimport {isValidUsername} from \"../../utils\";\nimport Input from \"../Input\";\nimport Field from \"../Field\";\nimport Button from \"../Button\";\nimport InfoRoundIcon from \"../../assets/icon/InfoRoundIcon\";\nimport {useUserInfo} from \"../../hooks\";\nimport CheckRoundIcon from \"../../assets/icon/CheckRoundIcon\";\nimport {setUserNameApi} from \"../../api\";\nimport {isSuccess} from \"../../api/request\";\nimport {FormattedMessage, useIntl} from \"react-intl\";\nimport {useDownMd} from \"../../hooks/useLayout\";\n\nconst ValidItem = ({\n success = false,\n text\n }: {\n success?: boolean,\n text: string\n}) => {\n const isDownMd = useDownMd()\n return <div className={`matchid-valid-status-item matchid-valid-status-${success ? 'success' : 'error'}`}>\n\n {success ? <CheckRoundIcon size={isDownMd ? 12 : 16}/> : <InfoRoundIcon size={isDownMd ? 12 : 16}/>}\n <span>\n {text}\n </span>\n </div>\n}\n\nexport default function UsernameModal({\n title,\n isOpen,\n onSuccess,\n ...props\n }: ModalWithHeaderProps & {\n onSuccess?: () => void\n}) {\n const {username, refreshOverview} = useUserInfo()\n const {isLogin} = useUserInfo()\n const [val, setVal] = useState(username)\n const [error, setError] = useState('')//error from api\n const isDownMd = useDownMd()\n\n useEffect(() => {\n if (isOpen) {\n setVal(username)\n setError('')\n }\n }, [isOpen]);\n\n const isValid = useMemo(() => {\n return isValidUsername(val)\n }, [val])\n\n const isLength = useMemo(() => {\n return val.length >= 2 && val.length <= 32\n }, [val])\n\n const isSafe = isValid && isLength\n\n const [isSubmitting, setIsSubmitting] = useState(false)\n\n const onSubmit = async () => {\n if (isSubmitting) return\n try {\n setIsSubmitting(true)\n const res = await setUserNameApi({\n username: val\n })\n\n if (isSuccess(res)) {\n await refreshOverview()\n onSuccess && onSuccess()\n } else {\n setError(res.message)\n }\n\n } catch (error: any) {\n setError(error.message)\n } finally {\n setIsSubmitting(false)\n }\n }\n const intl = useIntl()\n\n return <ModalWithHeader isOpen={isOpen && isLogin} {...props} title={title || intl.formatMessage({\n id: username ? \"editUsernameTitle\" : \"setUsernameTitle\"\n })}>\n <div className=\"matchid-username-box\">\n <Field label={intl.formatMessage({\n id: \"username\"\n })} error={error}>\n <Input\n placeholder={intl.formatMessage({\n id: \"usernamePlaceholder\"\n })}\n onChange={e => {\n setVal(e.target.value)\n setError('')\n }}\n value={val}\n />\n </Field>\n <div className=\"matchid-valid\">\n <ValidItem success={isValid}\n text={intl.formatMessage({\n id: \"usernameValidError\"\n })}/>\n <ValidItem success={isLength} text={intl.formatMessage({\n id: \"usernameLengthError\"\n })}/>\n {/*<ValidItem success={isSafe} text={\"Cannot contain sensitive words\"}/>*/}\n </div>\n\n <Button disabled={!isSafe} loading={isSubmitting} style={{\n marginTop: isDownMd ? \"36px\" : \"64px\"\n }} onClick={onSubmit} size={\"lg\"} block highlight><FormattedMessage id=\"confirm\"/></Button>\n <Button style={{\n marginTop: isDownMd ? \"12px\" : \"24px\"\n }} onClick={props.onClose} size={\"lg\"} block><FormattedMessage id=\"nextTime\"/></Button>\n </div>\n </ModalWithHeader>\n}","import {IconProps} from \"../../types/types\";\n\nexport default function InfoRoundIcon({\n size,\n color='#6E6E6E',\n ...props\n }:Omit<IconProps, 'width'|'height'>) {\n return <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_418_7746)\">\n <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n d=\"M7.99984 0.666504C3.94975 0.666504 0.666504 3.94975 0.666504 7.99984C0.666504 12.0499 3.94975 15.3332 7.99984 15.3332C12.0499 15.3332 15.3332 12.0499 15.3332 7.99984C15.3332 3.94975 12.0499 0.666504 7.99984 0.666504ZM1.99984 7.99984C1.99984 4.68613 4.68613 1.99984 7.99984 1.99984C11.3135 1.99984 13.9998 4.68613 13.9998 7.99984C13.9998 11.3135 11.3135 13.9998 7.99984 13.9998C4.68613 13.9998 1.99984 11.3135 1.99984 7.99984ZM8.6665 7.33317C8.6665 6.96498 8.36803 6.6665 7.99984 6.6665C7.63165 6.6665 7.33317 6.96498 7.33317 7.33317V11.3332C7.33317 11.7014 7.63165 11.9998 7.99984 11.9998C8.36803 11.9998 8.6665 11.7014 8.6665 11.3332V7.33317ZM7.99984 5.33317C8.36803 5.33317 8.6665 5.03469 8.6665 4.6665C8.6665 4.29831 8.36803 3.99984 7.99984 3.99984C7.63165 3.99984 7.33317 4.29831 7.33317 4.6665C7.33317 5.03469 7.63165 5.33317 7.99984 5.33317Z\"\n fill={color}/>\n </g>\n <defs>\n <clipPath id=\"clip0_418_7746\">\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n\n}","import type { WalletAdapter } from './adapter.js';\nimport type { MessageSignerWalletAdapter, SignerWalletAdapter, SignInMessageSignerWalletAdapter } from './signer.js';\nimport type { StandardWalletAdapter } from './standard.js';\n\nexport type Adapter =\n | WalletAdapter\n | SignerWalletAdapter\n | MessageSignerWalletAdapter\n | SignInMessageSignerWalletAdapter\n | StandardWalletAdapter;\n\nexport enum WalletAdapterNetwork {\n Mainnet = 'mainnet-beta',\n Testnet = 'testnet',\n Devnet = 'devnet',\n}\n","export const walletErrorImage = \"data:image/png;base64,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\"\nexport const walletConnectedImage = \"data:image/png;base64,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\"\nexport const walletConnectingImage = \"data:image/png;base64,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\"\nexport const walletConnectImage = \"data:image/png;base64,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\"\nexport const walletSigningImage = \"data:image/png;base64,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\"","import React, {PropsWithChildren} from \"react\";\nimport PasswordModal from \"../components/PasswordModal\";\nimport {useUserInfo} from \"../hooks\";\nimport RecoveryModal from \"../components/RecoveryModal\";\nimport useStore from \"../store/useStore\";\n// import EVMModal from \"../components/EVMModal\";\nimport { useSOLModalStore} from \"../store/useModalStore\";\nimport SOLModal from \"../components/SOLModal\";\n\nexport default function BusinessProvider({children}: PropsWithChildren) {\n const {overview, token} = useUserInfo()\n const {recoveryModal} = useStore()\n const {type: SOLType, isOpen: SOLIsOpen, close: SOLClose} = useSOLModalStore()\n\n return (\n <>\n <PasswordModal isOpen={!!token && !!overview && !overview.address && !!overview.did} showClose={false}/>\n <RecoveryModal isOpen={!!token && !!overview && !!overview.address && recoveryModal.open}\n onClose={recoveryModal.close} onSuccess={recoveryModal.success}/>\n {/*<EVMModal*/}\n {/* isOpen={EVMIsOpen && ((EVMType == 'login' && !overview && !token) || (EVMType == 'bind' && !!token && !!overview))}*/}\n {/* onClose={EVMClose} type={EVMType} onSuccess={EVMClose} zIndex={199}/>*/}\n <SOLModal isOpen={SOLIsOpen && ((SOLType == 'login' && !overview && !token) || (SOLType == 'bind' && !!token && !!overview))}\n onClose={SOLClose} type={SOLType} onSuccess={SOLClose} zIndex={199}/>\n {children}\n </>\n );\n\n}","import React, { PropsWithChildren } from 'react';\nimport BusinessProvider from \"./BusinessProvider\";\n\nconst Providers = ({ children }: PropsWithChildren) => {\n return (\n // <MpcWalletProvider>\n <BusinessProvider>\n\n {children}\n </BusinessProvider>\n // </MpcWalletProvider>\n );\n};\n\nexport default Providers;\n","import useLocalStore from \"../store/useLocalStore\";\nimport {useEffect, useState} from \"react\";\nimport matchlog from \"../utils/matchlog\";\nimport useWallet from \"./useWallet\";\nimport {getAppClientId} from \"../utils\";\n\nconst AppClientId =getAppClientId()\n\nexport default function useWalletInit({\n refreshOverview\n }: {\n refreshOverview?: () => Promise<any>\n}) {\n const {endpoints} = useLocalStore()\n const getWalletIframe = () => {\n return document.getElementById('match-wallet') as HTMLIFrameElement\n }\n const [walletInited, setWalletInited] = useState(false)//iframe load status\n const {appid, token, overview} = useLocalStore();\n const {initWallet, generateWallet} = useWallet();\n\n //create an iframe in page body\n useEffect(() => {\n if (endpoints.auth) {\n if (!window.matchWalletMessageIdMap) {\n window.matchWalletMessageIdMap = {}\n }\n\n const existingIframe = getWalletIframe();\n if (!existingIframe) {\n const iframe = document.createElement('iframe');\n iframe.id = 'match-wallet';\n iframe.src = endpoints.auth + 'wallet';\n iframe.style.display = 'none';\n iframe.style.width = '0';\n iframe.style.height = '0';\n //add on error console\n iframe.onerror = (e) => {\n console.error('iframe error', e)\n }\n document.body.insertBefore(iframe, document.body.firstChild);\n\n window.sendMatchWalletMessage = (method: string, data?: any) => {\n const messageId = Date.now().toString() + Math.random().toString().slice(6)\n const message = {\n method,\n data,\n messageId,\n source: \"matchid\"\n }\n if (document.getElementById('match-wallet')) {\n matchlog.log('matchid.sdk.sendMatchWalletMessage', message,endpoints.auth)\n getWalletIframe()?.contentWindow?.postMessage(message, endpoints.auth);\n return messageId\n }\n console.error('not found iframe')\n return false\n }\n\n window.waitMatchUntilWalletMessage = async (method: string, data?: any, timeout = 30000) => {\n return new Promise((resolve, reject) => {\n const messageId = window.sendMatchWalletMessage(method, data)\n if (!messageId) {\n console.error('Can\\'t find wallet message')\n reject(new Error('Can\\'t find wallet message'))\n return\n }\n window.matchWalletMessageIdMap[messageId] = {resolve, reject}\n window.matchWalletMessageIdMap[messageId].timeout = setTimeout(() => {\n console.error('Get wallet result timeout', {\n messageId,\n method,\n data\n })\n delete window.matchWalletMessageIdMap[messageId]\n reject(new Error('Get wallet result timeout'))\n }, timeout)\n })\n }\n } else {\n if (existingIframe.src !== endpoints.auth + 'wallet') {\n setWalletInited(false);\n existingIframe.src = endpoints.auth + 'wallet'\n }\n }\n }\n\n }, [endpoints.auth]);\n useEffect(() => {\n const messageHandle = async (e: MessageEvent) => {\n //origin\n if(e.origin !== endpoints.auth.substring(0,endpoints.auth.length-1)){\n return\n }\n const res = e.data\n if (res.source != 'match-wallet') {\n return\n }\n matchlog.log('sdk.wallet.receive',e)\n\n\n const messageId = res.messageId\n if (messageId == 'init') {\n matchlog.log('wallet init')\n setWalletInited(true)\n return\n //special message\n }\n if (messageId && window.matchWalletMessageIdMap[messageId]) {\n const {resolve, reject, timeout} = window.matchWalletMessageIdMap[messageId]\n delete window.matchWalletMessageIdMap[messageId]\n clearTimeout(timeout)\n if (res.status == 'success') {\n resolve(res.data)\n } else {\n console.error('qwe-waller-error', res)\n reject(new Error(res.data.message))\n }\n\n }\n }\n window.addEventListener('message', messageHandle)\n return () => {\n window.removeEventListener('message', messageHandle)\n }\n\n }, []);\n\n useEffect(() => {\n if (token && overview && overview.did && walletInited) {\n const did = overview.did.split(':')[2]\n const newUserInit = async () => {\n await window.waitMatchUntilWalletMessage(\n 'initCore',\n {\n AppId: appid,\n AppClientId,\n UserId: did,\n AccessToken: token,\n Address: ''\n })\n // refreshOverview && await refreshOverview()\n }\n if (!overview.address) {\n newUserInit()\n } else {\n initWallet({\n address: overview.address,\n did\n })\n }\n }\n }, [overview, token, walletInited]);\n\n return {\n walletInited\n }\n\n\n}","import {IEnvConfigType, IEnvName, IMatchEvents, LocaleType} from \"../types/types\";\nimport React, {useEffect, useRef} from \"react\";\nimport useLocalStore from \"../store/useLocalStore\";\nimport eventManager from \"./eventManager\";\nimport {getOverviewInfoApi} from \"../api\";\nimport env from \"../config/env\";\nimport matchlog from \"../utils/matchlog\";\n\nexport default function useInit({\n theme,\n appid,\n events,\n endpoints,\n locale\n }: {\n theme: \"light\" | \"dark\";\n appid: string;\n endpoints?: IEnvConfigType['endpoints']\n events?: IMatchEvents\n locale?: LocaleType\n}) {\n\n const {\n setAppid,\n setEndpoints,\n setToken,\n setMid,\n token,\n setOverview,\n setTheme,\n setLocale,\n locale:realLocale\n } = useLocalStore();\n const overviewLoadingRef = useRef(false);\n\n const searchParams = new URLSearchParams(window.location.search);\n const matchToken = searchParams.get('matchToken');\n\n const realEndpoints = endpoints || env.endpoints;\n\n useEffect(() => {\n setTheme(theme)\n }, [theme])\n\n useEffect(() => {\n setAppid(appid);\n }, [appid]);\n\n useEffect(() => {\n setEndpoints(realEndpoints);\n }, [realEndpoints]);\n\n useEffect(()=>{\n setLocale(locale||'en')\n },[locale])\n\n useEffect(() => {\n if (matchToken) {\n const tokenData = JSON.parse(atob(matchToken));\n if (tokenData && tokenData.mid && tokenData.token) {\n login({\n mid: tokenData.mid,\n token: \"Bearer \" + tokenData.token,\n });\n }\n }\n }, [matchToken]);\n\n useEffect(() => {\n const onLoginMessage = (event: MessageEvent) => {\n const res = event.data;\n if (res.event === 'login' && res.data && (res.data.token || (res.data.token_type && res.data.access_token))) {\n login({\n mid: res.data.mid,\n token: res.data.token || `${res.data.token_type} ${res.data.access_token}`,\n });\n } else if (res.event == 'bind') {\n eventManager.emit('onBind', res.data)\n if (events && events.onBind) {\n events.onBind(res.data)\n }\n }\n }\n window.addEventListener('message', onLoginMessage);\n return () => {\n window.removeEventListener('message', onLoginMessage);\n };\n }, []);\n\n const loadOverview = async () => {\n matchlog.log('loadOverview')\n if (overviewLoadingRef.current) {\n return;\n }\n overviewLoadingRef.current = true;\n try {\n const res = await getOverviewInfoApi();\n\n setOverview(res.data)\n\n return res.data;\n } catch (err) {\n console.error('overview error', err);\n } finally {\n overviewLoadingRef.current = false;\n }\n };\n\n useEffect(() => {\n if (token) {\n loadOverview();\n }\n }, [token]);\n\n const login = async ({mid, token}: { mid: string; token: string }) => {\n setMid(mid);\n setToken(token);\n const overview = await loadOverview();\n\n eventManager.emit('onLogin', {\n mid,\n token,\n did: overview?.did as string,\n });\n if (events && events?.onLogin) {\n events.onLogin({\n mid,\n token,\n did: overview?.did as string,\n });\n }\n };\n return {\n loadOverview,\n login,\n endpoints:realEndpoints,\n locale:realLocale\n }\n\n}","{\n \"email\": \"Email\",\n \"emailAddress\": \"Email Address\",\n \"emailAddressPlaceholder\": \"Enter Your Email Address\",\n \"continue\": \"Continue\",\n \"send\": \"Send\",\n \"resend\": \"Resend\",\n \"sendCodeErrorTip\": \"Failed to send code: {error}\",\n \"sendEmailTips\": \"We have sent a verification code to your email\",\n \"verificationCode\": \"Verification Code\",\n \"codePlaceholder\": \"Enter the code\",\n \"wallet\": \"Wallet\",\n \"otherLoginMethods\": \"Other login methods\",\n \"login\": \"Login\",\n \"user\": \"User\",\n \"loginTitle\": \"Log in / Sign up\",\n \"loginTips\": \"You can use the following methods\",\n \"passwordMinError\": \"Password must be at least {length} characters\",\n \"passwordMatchError\": \"The password you entered twice do not match\",\n \"passwordTitle\": \"Set Password\",\n \"passwordTips\": \"Please set the wallet password that will be used to recover the wallet\",\n \"password\": \"Password\",\n \"passwordPlaceholder\": \"Enter Your Password\",\n \"rePassword\": \"Re Password\",\n \"rePasswordPlaceholder\": \"Re Enter the Password\",\n \"recoverTitle\": \"Recover Wallet\",\n \"recoverTips\": \"Please enter your password to recover your wallet\",\n \"bindWith\": \"Bind with {name} Wallet\",\n \"loginWith\": \"Login with {name} Wallet\",\n \"editUsernameTitle\": \"Edit User Name\",\n \"setUsernameTitle\": \"Set User Name\",\n \"username\": \"User Name\",\n \"usernamePlaceholder\": \"Enter Your User Name\",\n \"usernameValidError\": \"Name can be composed of numbers and letters as well as characters\",\n \"usernameLengthError\": \"No less than 2 characters\",\n \"confirm\": \"Confirm\",\n \"nextTime\": \"Next time\",\n \"setUsername\": \"Set a User Name\",\n \"disconnect\": \"Disconnect\"\n}","{\n \"email\": \"邮箱\",\n \"emailAddress\": \"邮箱地址\",\n \"emailAddressPlaceholder\": \"请输入您的邮箱地址\",\n \"continue\": \"继续\",\n \"send\": \"发送\",\n \"resend\": \"重新发送\",\n \"sendCodeErrorTip\": \"发送验证码失败:{error}\",\n \"sendEmailTips\": \"我们已向您的邮箱发送验证码\",\n \"verificationCode\": \"验证码\",\n \"codePlaceholder\": \"请输入验证码\",\n \"wallet\": \"钱包\",\n \"otherLoginMethods\": \"其他登录方式\",\n \"login\": \"登录\",\n \"user\": \"用户\",\n \"loginTitle\": \"登录 / 注册\",\n \"loginTips\": \"您可以使用以下方式登录\",\n \"passwordMinError\": \"密码必须至少包含 {length} 个字符\",\n \"passwordMatchError\": \"两次输入的密码不一致\",\n \"passwordTitle\": \"设置密码\",\n \"passwordTips\": \"请设置用于恢复钱包的钱包密码\",\n \"password\": \"密码\",\n \"passwordPlaceholder\": \"请输入您的密码\",\n \"rePassword\": \"确认密码\",\n \"rePasswordPlaceholder\": \"请再次输入密码\",\n \"recoverTitle\": \"恢复钱包\",\n \"recoverTips\": \"请输入您的密码以恢复钱包\",\n \"bindWith\": \"绑定 {name} 钱包\",\n \"loginWith\": \"使用 {name} 钱包登录\",\n \"editUsernameTitle\": \"修改用户名\",\n \"setUsernameTitle\": \"设置用户名\",\n \"username\": \"用户名\",\n \"usernamePlaceholder\": \"请输入您的用户名\",\n \"usernameValidError\": \"用户名可以由数字、字母和字符组成\",\n \"usernameLengthError\": \"用户名不得少于 2 个字符\",\n \"confirm\": \"确认\",\n \"nextTime\": \"下次再说\",\n \"setUsername\": \"设置用户名\",\n \"disconnect\": \"断开连接\"\n}","{\n \"email\": \"郵箱\",\n \"emailAddress\": \"郵箱地址\",\n \"emailAddressPlaceholder\": \"請輸入您的郵箱地址\",\n \"continue\": \"繼續\",\n \"send\": \"發送\",\n \"resend\": \"重新發送\",\n \"sendCodeErrorTip\": \"發送驗證碼失敗:{error}\",\n \"sendEmailTips\": \"我們已向您的郵箱發送驗證碼\",\n \"verificationCode\": \"驗證碼\",\n \"codePlaceholder\": \"請輸入驗證碼\",\n \"wallet\": \"錢包\",\n \"otherLoginMethods\": \"其他登入方式\",\n \"login\": \"登入\",\n \"user\": \"用戶\",\n \"loginTitle\": \"登入 / 註冊\",\n \"loginTips\": \"您可以使用以下方式登入\",\n \"passwordMinError\": \"密碼必須至少包含 {length} 個字符\",\n \"passwordMatchError\": \"兩次輸入的密碼不一致\",\n \"passwordTitle\": \"設置密碼\",\n \"passwordTips\": \"請設置用於恢復錢包的密碼\",\n \"password\": \"密碼\",\n \"passwordPlaceholder\": \"請輸入您的密碼\",\n \"rePassword\": \"確認密碼\",\n \"rePasswordPlaceholder\": \"請再次輸入密碼\",\n \"recoverTitle\": \"恢復錢包\",\n \"recoverTips\": \"請輸入您的密碼以恢復錢包\",\n \"bindWith\": \"綁定 {name} 錢包\",\n \"loginWith\": \"使用 {name} 錢包登入\",\n \"editUsernameTitle\": \"修改用戶名\",\n \"setUsernameTitle\": \"設置用戶名\",\n \"username\": \"用戶名\",\n \"usernamePlaceholder\": \"請輸入您的用戶名\",\n \"usernameValidError\": \"用戶名可以由數字、字母和字符組成\",\n \"usernameLengthError\": \"用戶名不得少於 2 個字符\",\n \"confirm\": \"確認\",\n \"nextTime\": \"下次再說\",\n \"setUsername\": \"設置用戶名\",\n \"disconnect\": \"斷開連接\"\n}","{\n \"email\": \"Email\",\n \"emailAddress\": \"Adresse Email\",\n \"emailAddressPlaceholder\": \"Entrez votre adresse email\",\n \"continue\": \"Continuer\",\n \"send\": \"Envoyer\",\n \"resend\": \"Renvoyer\",\n \"sendCodeErrorTip\": \"Échec de l'envoi du code : {error}\",\n \"sendEmailTips\": \"Un code de vérification a été envoyé à votre email\",\n \"verificationCode\": \"Code de vérification\",\n \"codePlaceholder\": \"Entrez le code\",\n \"wallet\": \"Portefeuille\",\n \"otherLoginMethods\": \"Autres méthodes de connexion\",\n \"login\": \"Connexion\",\n \"user\": \"Utilisateur\",\n \"loginTitle\": \"Connexion / Inscription\",\n \"loginTips\": \"Vous pouvez utiliser les méthodes suivantes\",\n \"passwordMinError\": \"Le mot de passe doit contenir au moins {length} caractères\",\n \"passwordMatchError\": \"Les mots de passe ne correspondent pas\",\n \"passwordTitle\": \"Définir un mot de passe\",\n \"passwordTips\": \"Veuillez définir le mot de passe pour restaurer le portefeuille\",\n \"password\": \"Mot de passe\",\n \"passwordPlaceholder\": \"Entrez votre mot de passe\",\n \"rePassword\": \"Confirmer le mot de passe\",\n \"rePasswordPlaceholder\": \"Ressaisissez le mot de passe\",\n \"recoverTitle\": \"Restaurer le portefeuille\",\n \"recoverTips\": \"Entrez votre mot de passe pour restaurer le portefeuille\",\n \"bindWith\": \"Lier avec le portefeuille {name}\",\n \"loginWith\": \"Connexion avec le portefeuille {name}\",\n \"editUsernameTitle\": \"Modifier le nom d'utilisateur\",\n \"setUsernameTitle\": \"Définir un nom d'utilisateur\",\n \"username\": \"Nom d'utilisateur\",\n \"usernamePlaceholder\": \"Entrez votre nom d'utilisateur\",\n \"usernameValidError\": \"Le nom peut contenir des lettres, chiffres et caractères\",\n \"usernameLengthError\": \"Le nom doit comporter au moins 2 caractères\",\n \"confirm\": \"Confirmer\",\n \"nextTime\": \"La prochaine fois\",\n \"setUsername\": \"Définir un nom d'utilisateur\",\n \"disconnect\": \"Déconnecter\"\n}\n","{\n \"email\": \"メール\",\n \"emailAddress\": \"メールアドレス\",\n \"emailAddressPlaceholder\": \"メールアドレスを入力してください\",\n \"continue\": \"続ける\",\n \"send\": \"送信\",\n \"resend\": \"再送信\",\n \"sendCodeErrorTip\": \"コード送信に失敗しました: {error}\",\n \"sendEmailTips\": \"確認コードをメールに送信しました\",\n \"verificationCode\": \"確認コード\",\n \"codePlaceholder\": \"コードを入力してください\",\n \"wallet\": \"ウォレット\",\n \"otherLoginMethods\": \"その他のログイン方法\",\n \"login\": \"ログイン\",\n \"user\": \"ユーザー\",\n \"loginTitle\": \"ログイン / 登録\",\n \"loginTips\": \"以下の方法でログインできます\",\n \"passwordMinError\": \"パスワードは最低 {length} 文字必要です\",\n \"passwordMatchError\": \"入力されたパスワードが一致しません\",\n \"passwordTitle\": \"パスワードを設定\",\n \"passwordTips\": \"ウォレット復元用のパスワードを設定してください\",\n \"password\": \"パスワード\",\n \"passwordPlaceholder\": \"パスワードを入力してください\",\n \"rePassword\": \"パスワード確認\",\n \"rePasswordPlaceholder\": \"再度パスワードを入力してください\",\n \"recoverTitle\": \"ウォレットを復元\",\n \"recoverTips\": \"パスワードを入力してウォレットを復元してください\",\n \"bindWith\": \"{name}ウォレットと連携\",\n \"loginWith\": \"{name}ウォレットでログイン\",\n \"editUsernameTitle\": \"ユーザー名を編集\",\n \"setUsernameTitle\": \"ユーザー名を設定\",\n \"username\": \"ユーザー名\",\n \"usernamePlaceholder\": \"ユーザー名を入力してください\",\n \"usernameValidError\": \"名前は文字、数字、記号で構成できます\",\n \"usernameLengthError\": \"2文字以上で入力してください\",\n \"confirm\": \"確認\",\n \"nextTime\": \"次回\",\n \"setUsername\": \"ユーザー名を設定\",\n \"disconnect\": \"切断\"\n}\n","{\n \"email\": \"이메일\",\n \"emailAddress\": \"이메일 주소\",\n \"emailAddressPlaceholder\": \"이메일 주소를 입력하세요\",\n \"continue\": \"계속하기\",\n \"send\": \"보내기\",\n \"resend\": \"재전송\",\n \"sendCodeErrorTip\": \"코드 전송 실패: {error}\",\n \"sendEmailTips\": \"인증 코드를 이메일로 보냈습니다\",\n \"verificationCode\": \"인증 코드\",\n \"codePlaceholder\": \"코드를 입력하세요\",\n \"wallet\": \"지갑\",\n \"otherLoginMethods\": \"다른 로그인 방법\",\n \"login\": \"로그인\",\n \"user\": \"사용자\",\n \"loginTitle\": \"로그인 / 회원가입\",\n \"loginTips\": \"다음 방법으로 로그인할 수 있습니다\",\n \"passwordMinError\": \"비밀번호는 최소 {length}자 이상이어야 합니다\",\n \"passwordMatchError\": \"두 비밀번호가 일치하지 않습니다\",\n \"passwordTitle\": \"비밀번호 설정\",\n \"passwordTips\": \"지갑 복구에 사용할 비밀번호를 설정하세요\",\n \"password\": \"비밀번호\",\n \"passwordPlaceholder\": \"비밀번호를 입력하세요\",\n \"rePassword\": \"비밀번호 확인\",\n \"rePasswordPlaceholder\": \"비밀번호를 다시 입력하세요\",\n \"recoverTitle\": \"지갑 복구\",\n \"recoverTips\": \"비밀번호를 입력해 지갑을 복구하세요\",\n \"bindWith\": \"{name} 지갑과 연결\",\n \"loginWith\": \"{name} 지갑으로 로그인\",\n \"editUsernameTitle\": \"사용자 이름 수정\",\n \"setUsernameTitle\": \"사용자 이름 설정\",\n \"username\": \"사용자 이름\",\n \"usernamePlaceholder\": \"사용자 이름을 입력하세요\",\n \"usernameValidError\": \"이름은 문자, 숫자 및 특수문자로 구성될 수 있습니다\",\n \"usernameLengthError\": \"이름은 최소 2자 이상이어야 합니다\",\n \"confirm\": \"확인\",\n \"nextTime\": \"다음에\",\n \"setUsername\": \"사용자 이름 설정\",\n \"disconnect\": \"연결 끊기\"\n}\n","{\n \"email\": \"Email\",\n \"emailAddress\": \"Địa chỉ Email\",\n \"emailAddressPlaceholder\": \"Nhập địa chỉ Email của bạn\",\n \"continue\": \"Tiếp tục\",\n \"send\": \"Gửi\",\n \"resend\": \"Gửi lại\",\n \"sendCodeErrorTip\": \"Gửi mã thất bại: {error}\",\n \"sendEmailTips\": \"Chúng tôi đã gửi mã xác minh đến email của bạn\",\n \"verificationCode\": \"Mã xác minh\",\n \"codePlaceholder\": \"Nhập mã\",\n \"wallet\": \"Ví\",\n \"otherLoginMethods\": \"Phương thức đăng nhập khác\",\n \"login\": \"Đăng nhập\",\n \"user\": \"Người dùng\",\n \"loginTitle\": \"Đăng nhập / Đăng ký\",\n \"loginTips\": \"Bạn có thể sử dụng các phương thức sau\",\n \"passwordMinError\": \"Mật khẩu phải có ít nhất {length} ký tự\",\n \"passwordMatchError\": \"Hai mật khẩu không khớp\",\n \"passwordTitle\": \"Tạo mật khẩu\",\n \"passwordTips\": \"Vui lòng đặt mật khẩu để khôi phục ví\",\n \"password\": \"Mật khẩu\",\n \"passwordPlaceholder\": \"Nhập mật khẩu của bạn\",\n \"rePassword\": \"Xác nhận mật khẩu\",\n \"rePasswordPlaceholder\": \"Nhập lại mật khẩu\",\n \"recoverTitle\": \"Khôi phục ví\",\n \"recoverTips\": \"Nhập mật khẩu để khôi phục ví\",\n \"bindWith\": \"Liên kết với ví {name}\",\n \"loginWith\": \"Đăng nhập bằng ví {name}\",\n \"editUsernameTitle\": \"Chỉnh sửa tên người dùng\",\n \"setUsernameTitle\": \"Đặt tên người dùng\",\n \"username\": \"Tên người dùng\",\n \"usernamePlaceholder\": \"Nhập tên người dùng của bạn\",\n \"usernameValidError\": \"Tên chỉ được chứa chữ, số và ký tự\",\n \"usernameLengthError\": \"Tên phải dài ít nhất 2 ký tự\",\n \"confirm\": \"Xác nhận\",\n \"nextTime\": \"Lần sau\",\n \"setUsername\": \"Đặt tên người dùng\",\n \"disconnect\": \"Ngắt kết nối\"\n}","{\n \"email\": \"Correo\",\n \"emailAddress\": \"Dirección de correo\",\n \"emailAddressPlaceholder\": \"Introduce tu dirección de correo\",\n \"continue\": \"Continuar\",\n \"send\": \"Enviar\",\n \"resend\": \"Reenviar\",\n \"sendCodeErrorTip\": \"Error al enviar el código: {error}\",\n \"sendEmailTips\": \"Hemos enviado un código de verificación a tu correo\",\n \"verificationCode\": \"Código de verificación\",\n \"codePlaceholder\": \"Introduce el código\",\n \"wallet\": \"Cartera\",\n \"otherLoginMethods\": \"Otros métodos de inicio de sesión\",\n \"login\": \"Iniciar sesión\",\n \"user\": \"Usuario\",\n \"loginTitle\": \"Iniciar sesión / Registrarse\",\n \"loginTips\": \"Puedes usar los siguientes métodos\",\n \"passwordMinError\": \"La contraseña debe tener al menos {length} caracteres\",\n \"passwordMatchError\": \"Las contraseñas no coinciden\",\n \"passwordTitle\": \"Establecer contraseña\",\n \"passwordTips\": \"Configura la contraseña para recuperar tu cartera\",\n \"password\": \"Contraseña\",\n \"passwordPlaceholder\": \"Introduce tu contraseña\",\n \"rePassword\": \"Confirmar contraseña\",\n \"rePasswordPlaceholder\": \"Repite la contraseña\",\n \"recoverTitle\": \"Recuperar cartera\",\n \"recoverTips\": \"Introduce tu contraseña para recuperar la cartera\",\n \"bindWith\": \"Vincular con la cartera {name}\",\n \"loginWith\": \"Iniciar sesión con la cartera {name}\",\n \"editUsernameTitle\": \"Editar nombre de usuario\",\n \"setUsernameTitle\": \"Establecer nombre de usuario\",\n \"username\": \"Nombre de usuario\",\n \"usernamePlaceholder\": \"Introduce tu nombre de usuario\",\n \"usernameValidError\": \"El nombre puede contener letras, números y caracteres\",\n \"usernameLengthError\": \"El nombre debe tener al menos 2 caracteres\",\n \"confirm\": \"Confirmar\",\n \"nextTime\": \"La próxima vez\",\n \"setUsername\": \"Establecer nombre de usuario\",\n \"disconnect\": \"Desconectar\"\n}\n","{\n \"email\": \"Email\",\n \"emailAddress\": \"Endereço de Email\",\n \"emailAddressPlaceholder\": \"Digite seu endereço de email\",\n \"continue\": \"Continuar\",\n \"send\": \"Enviar\",\n \"resend\": \"Reenviar\",\n \"sendCodeErrorTip\": \"Falha ao enviar código: {error}\",\n \"sendEmailTips\": \"Enviamos um código de verificação para seu email\",\n \"verificationCode\": \"Código de Verificação\",\n \"codePlaceholder\": \"Digite o código\",\n \"wallet\": \"Carteira\",\n \"otherLoginMethods\": \"Outros métodos de login\",\n \"login\": \"Entrar\",\n \"user\": \"Usuário\",\n \"loginTitle\": \"Entrar / Registrar\",\n \"loginTips\": \"Você pode usar os métodos abaixo\",\n \"passwordMinError\": \"A senha deve ter pelo menos {length} caracteres\",\n \"passwordMatchError\": \"As senhas digitadas não coincidem\",\n \"passwordTitle\": \"Definir Senha\",\n \"passwordTips\": \"Configure uma senha para recuperar sua carteira\",\n \"password\": \"Senha\",\n \"passwordPlaceholder\": \"Digite sua senha\",\n \"rePassword\": \"Confirmar Senha\",\n \"rePasswordPlaceholder\": \"Digite a senha novamente\",\n \"recoverTitle\": \"Recuperar Carteira\",\n \"recoverTips\": \"Digite sua senha para recuperar a carteira\",\n \"bindWith\": \"Vincular com Carteira {name}\",\n \"loginWith\": \"Entrar com Carteira {name}\",\n \"editUsernameTitle\": \"Editar Nome de Usuário\",\n \"setUsernameTitle\": \"Definir Nome de Usuário\",\n \"username\": \"Nome de Usuário\",\n \"usernamePlaceholder\": \"Digite seu nome de usuário\",\n \"usernameValidError\": \"O nome pode conter letras, números e caracteres\",\n \"usernameLengthError\": \"Deve ter no mínimo 2 caracteres\",\n \"confirm\": \"Confirmar\",\n \"nextTime\": \"Próxima vez\",\n \"setUsername\": \"Definir Nome de Usuário\",\n \"disconnect\": \"Desconectar\"\n}\n","import messagesEn from \"./en.json\";\nimport messagesZh from \"./zh.json\";\nimport messagesTw from \"./tw.json\";\nimport messagesFr from \"./fr.json\";\nimport messagesJa from \"./ja.json\";\nimport messagesKo from \"./ko.json\";\nimport messagesVi from \"./vi.json\";\nimport messagesEs from \"./es.json\";\nimport messagesPt from \"./pt.json\";\n\n\nexport const messages: Record<string, Record<string, string>> = {\n en: messagesEn,\n zh: messagesZh,\n tw: messagesTw,\n fr: messagesFr,\n ja: messagesJa,\n ko: messagesKo,\n vi: messagesVi,\n es: messagesEs,\n pt: messagesPt,\n};","export * as bind from \"./bind\";\nexport * as poh from \"./poh\";\nexport * as user from \"./user\";","import {useQuery} from \"@tanstack/react-query\";\nimport useUserInfo from \"../useUserInfo\";\nimport type {UseQueryOptions} from \"@tanstack/react-query/src/types\";\nimport {BindInfoType, BindItemType} from \"../../types/types\";\nimport {getBindInfoApi, getBindListApi} from \"../../api\";\n\nexport {bindCexApi, unBindApi, unBindWalletApi} from \"../../api\";\n\nexport function useBindList(options?: Omit<UseQueryOptions<BindItemType[]>, 'queryKey' | 'queryFn'>) {\n const {isLogin} = useUserInfo()\n return useQuery<BindItemType[]>({\n queryKey: ['bindList'],\n enabled: isLogin,\n queryFn: async () => {\n let res = await getBindListApi()\n return res.data\n },\n ...options\n })\n}\n\nexport function useBindInfo(options?: Omit<UseQueryOptions<BindInfoType>, 'queryKey' | 'queryFn'>) {\n const {isLogin} = useUserInfo()\n return useQuery<BindInfoType>({\n queryKey: ['bindInfo'],\n enabled: isLogin,\n queryFn: async () => {\n let res = await getBindInfoApi()\n return res.data\n },\n ...options\n })\n}\n","import {useQuery} from \"@tanstack/react-query\";\nimport useUserInfo from \"../useUserInfo\";\nimport type {UseQueryOptions} from \"@tanstack/react-query/src/types\";\nimport {PohItemType} from \"types/types\";\nimport {getPohListApi} from \"api\";\nexport {verifyPohApi} from \"api\";\n\nexport function usePohList(options?: Omit<UseQueryOptions<PohItemType[]>, 'queryKey' | 'queryFn'>) {\n const {isLogin} = useUserInfo()\n return useQuery<PohItemType[]>({\n queryKey: ['pohList'],\n enabled: isLogin,\n queryFn: async () => {\n let res = await getPohListApi()\n return res.data\n },\n ...options\n })\n}","export {mintPassportNftApi,chooseIdentityApi} from \"api\"","export { matchMain as MatchMain} from \"./MatchMain\"\nexport { matchTest as MatchTest} from \"./MatchTest\"","import {defineChain} from \"viem\";\n\nexport const matchMain = /*#__PURE__*/ defineChain({\n //定义match链\n id: 698,\n name: \"Matchain\",\n nativeCurrency: { name: \"Match Coin\", symbol: \"BNB\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://rpc.matchain.io\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Matchscan\",\n url: \"https://matchscan.io/\",\n apiUrl: \"https://matchscan.io/api\",\n },\n },\n iconUrl: \"https://matchscan.io/static/identicon_logos/blockies.png\",\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n }\n },\n // testnet: true,\n});","\nimport { defineChain } from \"viem\"\n\nexport const matchTest = /*#__PURE__*/ defineChain({\n //定义matchTest链\n id: 699,\n name: \"MatchTest\",\n nativeCurrency: { name: \"Match Coin\", symbol: \"BNB\", decimals: 18 },\n rpcUrls: {\n default: {\n http: [\"https://testnet-rpc.matchain.io\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Matchscan\",\n url: \"https://testnet.matchscan.io/\",\n apiUrl: \"https://testnet.matchscan.io/api\",\n },\n },\n iconUrl: \"https://testnet.matchscan.io/static/identicon_logos/blockies.png\",\n contracts: {\n multicall3: {\n address: \"0xca11bde05977b3631167028862be2a173976ca11\",\n blockCreated: 751532,\n },\n ensRegistry: { address: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\" },\n ensUniversalResolver: {\n address: \"0xc8Af999e38273D658BE1b921b88A9Ddf005769cC\",\n blockCreated: 5_317_080,\n },\n },\n // testnet: true,\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,IAAAA,iBAA0D;;;ACSlD;AARO,SAAR,cAA+B;AAAA,EACI,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,GAAG;AACP,GAAc;AAChD,SAAO;AAAA,IAAC;AAAA;AAAA,MAAI;AAAA,MAAc;AAAA,MAAiB,GAAG;AAAA,MAAO,SAAQ;AAAA,MAAY,MAAK;AAAA,MAClE,OAAM;AAAA,MACd;AAAA,QAAC;AAAA;AAAA,UAAK,UAAS;AAAA,UAAU,UAAS;AAAA,UAC5B,GAAE;AAAA,UACF,MAAM;AAAA;AAAA,MAAM;AAAA;AAAA,EACtB;AAEJ;;;ACAY,IAAAC,sBAAA;;;ACFJ,IAAAC,sBAAA;;;ACTG,IAAAC,sBAAA;AAHI,SAAR,MAAuB,EAAC,OAAK,GAAE,GAEnC;AACC,SAAO,8CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACzE;AAAA,iDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,MAAK,SAAO;AAAA,IAChD;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,KACpB;AAEJ;;;ACPW,IAAAC,sBAAA;AAHI,SAAR,WAA4B,EAAC,OAAK,GAAE,GAExC;AACC,SAAO,8CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACzE;AAAA,iDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,MAAK,WAAS;AAAA,IAClD;AAAA,MAAC;AAAA;AAAA,QAAK,UAAS;AAAA,QAAU,UAAS;AAAA,QAC5B,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAS;AAAA,IACpB;AAAA,MAAC;AAAA;AAAA,QAAK,UAAS;AAAA,QAAU,UAAS;AAAA,QAC5B,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAS;AAAA,IACpB;AAAA,MAAC;AAAA;AAAA,QAAK,UAAS;AAAA,QAAU,UAAS;AAAA,QAC5B,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAS;AAAA,IACpB;AAAA,MAAC;AAAA;AAAA,QAAK,UAAS;AAAA,QAAU,UAAS;AAAA,QAC5B,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAS;AAAA,KACxB;AAEJ;;;ACbQ,IAAAC,sBAAA;AAPO,SAAR,WAA4B;AAAA,EACI,OAAO;AACX,GAGhC;AACC,SAAO,8CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACzE;AAAA,iDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,MAAK,gCAA8B;AAAA,IACvE;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,QAAO;AAAA,QAAQ,aAAY;AAAA,QAAU,eAAc;AAAA,QAAQ,gBAAe;AAAA;AAAA,IAAO;AAAA,IACrF,6CAAC,YAAO,IAAG,WAAU,IAAG,WAAU,GAAE,KAAI,MAAK,SAAO;AAAA,IACpD,6CAAC,UACG,wDAAC,oBAAe,IAAG,0BAAyB,IAAG,MAAK,IAAG,KAAI,IAAG,MAAK,IAAG,MAAK,eAAc,kBACrF;AAAA,mDAAC,UAAK,WAAU,WAAS;AAAA,MACzB,6CAAC,UAAK,QAAO,SAAQ,WAAU,WAAS;AAAA,MACxC,6CAAC,UAAK,QAAO,KAAI,WAAU,WAAS;AAAA,OACxC,GACJ;AAAA,KACJ;AACJ;;;ACfW,IAAAC,sBAAA;AALI,SAAR,aAA8B;AAAA,EACA,OAAO;AACX,GAE9B;AACC,SAAO,8CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACzE;AAAA,iDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,MAAK,WAAS;AAAA,IAClD;AAAA,MAAC;AAAA;AAAA,QAAK,UAAS;AAAA,QAAU,UAAS;AAAA,QAC5B,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,KACtB;AAEJ;;;ACLQ,IAAAC,sBAAA;AAPO,SAAR,UAA2B;AAAA,EACI,OAAO;AACX,GAG/B;AACC,SAAO,8CAAC,SAAI,OAAM,8BAA6B,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAC/F;AAAA,iDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,MAAK,iCAA+B;AAAA,IACxE;AAAA,MAAC;AAAA;AAAA,QAAK,UAAS;AAAA,QAAU,UAAS;AAAA,QAC5B,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,IAClB,6CAAC,UACG,wDAAC,oBAAe,IAAG,2BAA0B,IAAG,MAAK,IAAG,KAAI,IAAG,MAAK,IAAG,MAAK,eAAc,kBACtF;AAAA,mDAAC,UAAK,WAAU,WAAS;AAAA,MACzB,6CAAC,UAAK,QAAO,SAAQ,WAAU,WAAS;AAAA,MACxC,6CAAC,UAAK,QAAO,KAAI,WAAU,WAAS;AAAA,OACxC,GACJ;AAAA,KACJ;AACJ;;;ACVQ,IAAAC,sBAAA;AAPO,SAAR,eAAgC;AAAA,EACD,QAAQ;AAAA,EACR,OAAO;AAAA,EACP;AAAA,EACA;AACJ,GAAc;AAC5C,SAAO,6CAAC,SAAI,WAAsB,OAAc,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BAC7G;AAAA,IAAC;AAAA;AAAA,MAAK,UAAS;AAAA,MAAU,UAAS;AAAA,MAC5B,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EAAM,GACtB;AAEJ;;;ACXW,IAAAC,uBAAA;AADI,SAAR,eAAgC,EAAC,OAAK,IAAG,GAAG,MAAK,GAAa;AACjE,SAAO,+CAAC,SAAI,OAAO,MAAM,QAAQ,MAAO,GAAG,OAAO,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACpF;AAAA,kDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,MAAK,MAAK,WAAS;AAAA,IACnD,8CAAC,UAAK,GAAE,oCAAmC,QAAO,WAAU,aAAY,OAAM,eAAc,SAAO;AAAA,IACnG,8CAAC,UAAK,GAAE,oCAAmC,QAAO,WAAU,aAAY,OAAM,eAAc,SAAO;AAAA,KACvG;AAEJ;;;ACAI,IAAAC,uBAAA;AADJ,IAAM,cAA0C,CAAC,EAAE,OAAO,IAAI,YAAU,IAAG,QAAM,QAAQ,MACrF;AAAA,EAAC;AAAA;AAAA,IACG,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,IACN;AAAA,IAEA;AAAA,oDAAC,UAAK,GAAE,aAAY,QAAQ,OAAO,aAAY,KAAI,eAAc,SAAQ,gBAAe,SAAQ;AAAA,MAChG,8CAAC,UAAK,SAAQ,OAAM,GAAE,oCAAmC,QAAQ,OAAO,aAAY,KAAI,eAAc,SAAQ,gBAAe,SAAQ;AAAA,MACrI,8CAAC,UAAK,SAAQ,OAAM,GAAE,aAAY,QAAQ,OAAO,aAAY,KAAI,eAAc,SAAQ,gBAAe,SAAQ;AAAA,MAC9G,8CAAC,UAAK,SAAQ,OAAM,GAAE,oCAAmC,QAAQ,OAAO,aAAY,KAAI,eAAc,SAAQ,gBAAe,SAAQ;AAAA,MACrI,8CAAC,UAAK,SAAQ,OAAM,GAAE,eAAc,QAAQ,OAAO,aAAY,KAAI,eAAc,SAAQ,gBAAe,SAAQ;AAAA,MAChH,8CAAC,UAAK,SAAQ,OAAM,GAAE,iCAAgC,QAAQ,OAAO,aAAY,KAAI,eAAc,SAAQ,gBAAe,SAAQ;AAAA,MAClI,8CAAC,UAAK,SAAQ,OAAM,GAAE,eAAc,QAAQ,OAAO,aAAY,KAAI,eAAc,SAAQ,gBAAe,SAAQ;AAAA,MAChH,8CAAC,UAAK,SAAQ,OAAM,GAAE,iCAAgC,QAAQ,OAAO,aAAY,KAAI,eAAc,SAAQ,gBAAe,SAAQ;AAAA;AAAA;AACtI;AAGJ,IAAO,sBAAQ;;;ACpBP,IAAAC,uBAAA;AANO,SAAR,cAA+B;AAAA,EAClC,OAAK;AAAA,EACL,QAAM;AAAA,EACN,GAAG;AAC+B,GAAa;AAC/C,SAAO,8CAAC,SAAI,OAAO,MAAM,QAAQ,MAAO,GAAG,OAAO,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACpF;AAAA,IAAC;AAAA;AAAA,MACG,GAAE;AAAA,MACF,QAAQ;AAAA,MAAO,aAAY;AAAA,MAAM,eAAc;AAAA,MAAQ,gBAAe;AAAA;AAAA,EAAO,GACrF;AAEJ;;;ACRQ,IAAAC,uBAAA;AAFR,IAAM,cAAmC,CAAC,EAAE,OAAK,IAAI,QAAQ,SAAQ,GAAG,MAAM,MAC1E,8CAAC,SAAI,OAAM,8BAA6B,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAQ,GAAG,OACnG;AAAA,EAAC;AAAA;AAAA,IACG,GAAE;AAAA,IACF,QAAQ;AAAA,IAAO,aAAY;AAAA,IAAM,eAAc;AAAA,IAAQ,gBAAe;AAAA;AAAO,GACrF;AAGJ,IAAO,sBAAQ;;;ACPX,IAAAC,uBAAA;AADJ,IAAM,YAAiC,CAAC,EAAC,OAAO,IAAI,QAAQ,SAAS,GAAG,MAAK,MACzE,+CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,OAAM,8BAA8B,GAAG,OACvF;AAAA,gDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,MAAI;AAAA,EACpC;AAAA,IAAC;AAAA;AAAA,MACG,GAAE;AAAA,MACF,QAAO;AAAA,MAAQ,aAAY;AAAA,MAAM,eAAc;AAAA,MAAQ,gBAAe;AAAA;AAAA,EAAO;AAAA,GACrF;AAIJ,IAAO,oBAAQ;;;ACLP,IAAAC,uBAAA;AANO,SAAR,eAAgC;AAAA,EACnC;AAAA,EACA,QAAM;AAAA,EACN,GAAG;AACgC,GAAqC;AACxE,SAAO,+CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BAA8B,GAAG,OAC1G;AAAA,mDAAC,OAAE,UAAS,wBACR;AAAA;AAAA,QAAC;AAAA;AAAA,UACG,GAAE;AAAA,UACF,MAAM;AAAA,UAAO,QAAQ;AAAA,UAAO,eAAc;AAAA;AAAA,MAAO;AAAA,MACrD;AAAA,QAAC;AAAA;AAAA,UACG,GAAE;AAAA,UACF,MAAK;AAAA;AAAA,MAAO;AAAA,OACpB;AAAA,IACA,8CAAC,UACG,wDAAC,cAAS,IAAG,kBACT,wDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,MAAK,SAAO,GAC7C,GACJ;AAAA,KACJ;AAEJ;;;ACtBW,IAAAC,uBAAA;AADI,SAAR,oBAAqC;AACxC,SAAO,+CAAC,SAAI,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACrE;AAAA,kDAAC,UAAK,GAAE,OAAM,GAAE,OAAM,OAAM,MAAK,QAAO,MAAK,IAAG,OAAM,MAAK,SAAO;AAAA,IAClE,8CAAC,UAAK,GAAE,OAAM,GAAE,OAAM,OAAM,MAAK,QAAO,MAAK,IAAG,OAAM,QAAO,SAAO;AAAA,IACpE;AAAA,MAAC;AAAA;AAAA,QAAK,UAAS;AAAA,QAAU,UAAS;AAAA,QAC5B,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,KACtB;AAEJ;;;ACFQ,IAAAC,uBAAA;AALO,SAAR,aAA8B;AAAA,EACjC,OAAO;AAAA,EACP,QAAQ;AACyB,GAAsB;AACvD,SAAO,8CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACzE;AAAA,IAAC;AAAA;AAAA,MACG,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EAAM,GACpB;AAEJ;;;ACLQ,IAAAC,uBAAA;AALO,SAAR,YAA6B;AAAA,EACI,OAAO;AAAA,EACP,QAAQ;AACZ,GAAsB;AACtD,SAAO,8CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACzE;AAAA,IAAC;AAAA;AAAA,MACG,GAAE;AAAA,MACF,MAAM;AAAA;AAAA,EAAM,GACpB;AAEJ;;;ACTW,IAAAC,uBAAA;AADI,SAAR,gBAAiC,EAAC,SAAS,IAAG,QAAM,IAAI,QAAQ,8BAA6B,GAAG,MAAK,GAAa;AACrH,SAAO,+CAAC,SAAI,OAAc,QAAgB,SAAQ,aAAY,MAAK,QAAO,OAAM,8BAA8B,GAAG,OAC7G;AAAA,kDAAC,UAAK,GAAE,OAAM,OAAM,MAAK,QAAO,MAAK,IAAG,MAAK,MAAM,OAAM;AAAA,IACzD,8CAAC,UAAK,GAAE,oCAAmC,QAAO,SAAQ,eAAc,SAAO;AAAA,IAC/E,8CAAC,UAAK,GAAE,oCAAmC,QAAO,SAAQ,eAAc,SAAO;AAAA,KACnF;AAEJ;;;ACJW,IAAAC,uBAAA;AALI,SAAR,aAA8B;AAAA,EACI,OAAO;AACX,GAElC;AACC,SAAO,+CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACzE;AAAA,kDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,MAAK,WAAS;AAAA,IAClD;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,KAEpB;AAEJ;;;ACRW,IAAAC,uBAAA;AALI,SAAR,WAA4B;AAAA,EACI,OAAO;AACX,GAEhC;AACC,SAAO,+CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACzE;AAAA,kDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,MAAK,SAAO;AAAA,IAChD;AAAA,MAAC;AAAA;AAAA,QAAK,UAAS;AAAA,QAAU,UAAS;AAAA,QAC5B,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,IAClB;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,IAChB;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,IAChB;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,IAChB;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,IAChB;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,IAChB;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,IAChB;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,KAEpB;AAEJ;;;AC7BW,IAAAC,uBAAA;AALI,SAAR,YAA6B;AAAA,EAChC,OAAK;AAC2B,GAEjC;AACC,SAAO,+CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACzE;AAAA,kDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,MAAK,WAAS;AAAA,IAClD;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,KACpB;AAEJ;;;ACJQ,IAAAC,uBAAA;AANO,SAAR,UAA2B;AAAA,EAC9B,OAAK;AAAA,EACL,QAAM;AAAA,EACN,GAAG;AAC2B,GAAsB;AACpD,SAAO,8CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BAA8B,GAAG,OAC1G;AAAA,IAAC;AAAA;AAAA,MAAK,GAAE;AAAA,MAAwC,QAAQ;AAAA,MAAO,aAAY;AAAA,MAAM,eAAc;AAAA,MACzF,gBAAe;AAAA;AAAA,EAAO,GAChC;AAEJ;;;ACLY,IAAAC,uBAAA;AAJG,SAAR,SAA0B,EAAC,OAAO,IAAI,QAAQ,SAAS,GAAG,MAAK,GAAuB;AAEzF,SACI,8CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BAA8B,GAAG,OACnG;AAAA,IAAC;AAAA;AAAA,MACG,GAAE;AAAA,MACF,QAAQ;AAAA,MAAO,aAAY;AAAA,MAAM,eAAc;AAAA;AAAA,EAAO,GAE9D;AAER;;;ACPW,IAAAC,uBAAA;AAJI,SAAR,aAA8B;AAAA,EACjC,OAAK;AAAA,EACL,GAAG;AAC8B,GAAsB;AACvD,SAAO,+CAAC,SAAI,OAAO,MAAM,QAAQ,MAAO,GAAG,OAAO,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACpF;AAAA,kDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,MAAK,WAAS;AAAA,IAClD;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,KACpB;AAEJ;;;ACTQ,IAAAC,uBAAA;AAFO,SAAR,YAA6B,EAAE,OAAK,IAAG,GAAG,MAAK,GAAuB;AACzE,SACI,+CAAC,SAAI,OAAO,MAAM,QAAQ,MAAO,GAAG,EAAC,MAAK,GAAG,SAAQ,aAAY,MAAK,QAAO,OAAM,8BAC/E;AAAA,kDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI,MAAK,WAAS;AAAA,IAClD;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,IAChB,8CAAC,UAAK,GAAE,0DAAyD,MAAK,WAAS;AAAA,KACnF;AAER;;;ACPQ,IAAAC,uBAAA;;;ACAA,IAAAC,uBAAA;;;ACFG,IAAAC,uBAAA;AADI,SAAR,YAA6B,EAAE,OAAK,IAAG,GAAG,MAAK,GAAkB;AACpE,SAAO,+CAAC,SAAI,OAAO,MAAM,QAAQ,MAAO,GAAG,OAAO,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACpF;AAAA,kDAAC,UAAK,GAAE,6DAA4D,MAAK,WAAS;AAAA,IAClF,8CAAC,UAAK,GAAE,2DAA0D,MAAK,WAAS;AAAA,IAChF,8CAAC,UAAK,GAAE,6DAA4D,MAAK,SAAO;AAAA,IAChF,8CAAC,UAAK,GAAE,4DAA2D,MAAK,SAAO;AAAA,IAC/E,8CAAC,UAAK,GAAE,6DAA4D,MAAK,WAAS;AAAA,IAClF,8CAAC,UAAK,GAAE,2DAA0D,MAAK,WAAS;AAAA,IAChF,8CAAC,UAAK,GAAE,2DAA0D,MAAK,SAAO;AAAA,IAC9E,8CAAC,UAAK,GAAE,6DAA4D,MAAK,SAAO;AAAA,KACpF;AAEJ;;;ACXW,IAAAC,uBAAA;AADI,SAAR,aAA8B,EAAE,OAAK,IAAG,GAAG,MAAK,GAAkB;AACrE,SAAO,+CAAC,SAAI,OAAO,MAAM,QAAQ,MAAO,GAAG,OAAO,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACpF;AAAA,kDAAC,UAAK,GAAE,4DAA2D,MAAK,WAAS;AAAA,IACjF,8CAAC,UAAK,GAAE,4DAA2D,MAAK,WAAS;AAAA,IACjF,8CAAC,UAAK,GAAE,4DAA2D,MAAK,SAAO;AAAA,IAC/E,8CAAC,UAAK,GAAE,6DAA4D,MAAK,SAAO;AAAA,IAChF,8CAAC,UAAK,GAAE,2DAA0D,MAAK,WAAS;AAAA,IAChF,8CAAC,UAAK,GAAE,6DAA4D,MAAK,WAAS;AAAA,IAClF,8CAAC,UAAK,GAAE,6DAA4D,MAAK,SAAO;AAAA,IAChF,8CAAC,UAAK,GAAE,4DAA2D,MAAK,SAAO;AAAA,KACnF;AAEJ;;;ACXW,IAAAC,uBAAA;AADI,SAAR,YAA6B,EAAE,OAAK,IAAG,GAAG,MAAK,GAAkB;AACpE,SAAO,+CAAC,SAAI,OAAO,MAAM,QAAQ,MAAO,GAAG,OAAO,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACpF;AAAA;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,IAChB;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,IAChB;AAAA,MAAC;AAAA;AAAA,QACG,GAAE;AAAA,QACF,MAAK;AAAA;AAAA,IAAO;AAAA,KACpB;AAEJ;;;ACZW,IAAAC,uBAAA;AADI,SAAR,aAA8B,EAAC,OAAO,IAAI,GAAG,MAAK,GAAkB;AACvE,SAAO;AAAA,IAAC;AAAA;AAAA,MAAI,OAAO;AAAA,MAAM,QAAQ;AAAA,MAAO,GAAG;AAAA,MAAO,SAAQ;AAAA,MAAY,MAAK;AAAA,MAC/D,OAAM;AAAA,MACd;AAAA;AAAA,UAAC;AAAA;AAAA,YACG,GAAE;AAAA,YACF,MAAK;AAAA;AAAA,QAAO;AAAA,QAChB;AAAA,UAAC;AAAA;AAAA,YACG,GAAE;AAAA,YACF,MAAK;AAAA;AAAA,QAAO;AAAA,QAChB;AAAA,UAAC;AAAA;AAAA,YACG,GAAE;AAAA,YACF,MAAK;AAAA;AAAA,QAAO;AAAA;AAAA;AAAA,EAEpB;AAEJ;;;ACTgB,IAAAC,uBAAA;;;ACCJ,IAAAC,uBAAA;;;ACLJ,IAAAC,uBAAA;AAFO,SAAR,cAA+B,EAAC,QAAM,IAAG,SAAO,IAAG,QAAM,SAAQ,GAAG,MAAK,GAAa;AACzF,SAAO,8CAAC,SAAI,OAAc,QAAgB,SAAQ,aAAY,MAAK,QAAQ,GAAG,OAAO,OAAM,8BACvF;AAAA,IAAC;AAAA;AAAA,MAAK,GAAE;AAAA,MAAgF,QAAQ;AAAA,MAC1F,aAAY;AAAA,MAAM,eAAc;AAAA,MAAQ,gBAAe;AAAA;AAAA,EAAO,GACxE;AAEJ;;;ACRA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AAE5B,SAAS,YAAqB;AACjC,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,OAAO,WAAW,oBAAoB,EAAE,OAAO;AAE1F,8BAAU,MAAM;AACZ,UAAM,eAAe,MAAM;AACvB,mBAAa,OAAO,WAAW,oBAAoB,EAAE,OAAO;AAAA,IAChE;AAEA,WAAO,iBAAiB,UAAU,YAAY;AAC9C,WAAO,MAAM;AACT,aAAO,oBAAoB,UAAU,YAAY;AAAA,IACrD;AAAA,EACJ,GAAG,CAAC,CAAC;AAEL,SAAO;AACX;;;ACEQ,IAAAC,uBAAA;AAbO,SAAR,MAAuB;AAAA,EACI;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,YAAY;AAChB,GAAe;AACzC,SAAO,SAAS;AAAA,IAAC;AAAA;AAAA,MACb,WAAU;AAAA,MACV,OAAO;AAAA,QACH;AAAA,MACJ;AAAA,MAEA,yDAAC,SAAI,WAAW,iBAAiB,SAAS,IAAI,OAAO;AAAA,QACjD;AAAA,MACJ,GACI;AAAA,sDAAC,SAAI,WAAU,+BAA8B;AAAA,QAC5C;AAAA,SACL;AAAA;AAAA,EACJ,IAAS,+EAAE;AACf;AAEO,SAAS,gBAAgB;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,GAAG;AAEP,GAAyB;AACrD,QAAM,WAAW,UAAU;AAC3B,SAAO,+CAAC,SAAO,GAAG,OACd;AAAA,mDAAC,SAAI,WAAW,wBAAwB,aAAa,gCAAgC,EAAE,IACnF;AAAA,qDAAC,SAAI,WAAU,gCAEP;AAAA,kBACA,8CAAC,iBAAc,QAAQ,WAAW,KAAK,IAAI,OAAO,WAAW,KAAK,IAAI,WAAU,6BAA4B,SAAS,QAAO;AAAA,QAEhI,8CAAC,UAAK,WAAU,8BAA8B,iBAAM;AAAA,SACxD;AAAA,MACC,WACG,8CAAC,kBAAe,MAAM,WAAW,KAAK,IAAI,WAAU,8BAA6B,SAAS,SAAQ;AAAA,OAC1G;AAAA,IACC;AAAA,KACL;AAEJ;;;ACpDA,IAAAC,gBAA2C;;;ACA3C,IAAAC,gBAAuB;AAYZ,IAAAC,uBAAA;AATI,SAAR,MAAuB;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,GAAG;AACP,GAAe;AACzC,QAAM,CAAC,WAAW,YAAY,QAAI,wBAAS,IAAI;AAC/C,QAAM,WAAW,UAAU;AAC3B,SAAO;AAAA,IAAC;AAAA;AAAA,MACJ,WAAW,qBAAqB,MAAM,SAAS,MAAM,MAAM,SAAS,IAAI,8BAA8B,EAAE,IAAI,SAAS;AAAA,MACrH;AAAA,sDAAC,WAAM,MAAM,WAAW,UAAqB,GAAG,OAAO,WAAU,uBAAqB;AAAA,QAElF,MAAM,SAAS,MAAM,MAAM,SAAS,KACjC,8CAAC,SAAI,WAAU,6BAA4B,SAAS,CAAC,MAAM;AAC1D,cAAI,UAAU;AACV,qBAAS,EAAC,QAAQ,EAAC,OAAO,GAAE,EAAC,CAAC;AAAA,UAClC;AAAA,QACJ,GACI;AAAA,UAAC;AAAA;AAAA,YAAgB,QAAQ,WAAW,KAAK;AAAA,YAAI,OAAO,WAAW,KAAK;AAAA,YACnD,OAAM;AAAA;AAAA,QAAwC,GACnE;AAAA,QAGA,SAAS,cAAc,8CAAC,SAAI,WAAU,0BAAyB,SAAS,MAAM;AAC1E,uBAAa,cAAc,aAAa,SAAS,UAAU;AAAA,QAC/D,GAEQ,wBAAc,aAAa,8CAAC,gBAAa,MAAM,WAAW,KAAK,IAAG,IAC9D,8CAAC,eAAY,MAAM,WAAW,KAAK,IAAG,GAElD;AAAA,QAGA;AAAA;AAAA;AAAA,EAER;AAEJ;;;AC3BQ,IAAAC,uBAAA;AAdO,SAAR,MAAuB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAU;AACgB,GAMV;AAChB,SAAO,+CAAC,SAAI,WAAW,qBAAqB,SAAS,IACjD;AAAA,mDAAC,SAAI,WAAU,uBAAuB;AAAA,kBAAU,8CAAC,UAAK,WAAW,0BAA0B,eAAC;AAAA,MAAS;AAAA,OAAM;AAAA,IAC1G;AAAA,IACA,SAAS,8CAAC,SAAI,WAAU,uBAAuB,iBAAM;AAAA,KAC1D;AAEJ;;;ACYgB,IAAAC,uBAAA;AA9BD,SAAR,OAAwB;AAAA,EACI,OAAO;AAAA,EACP,WAAW;AAAA,EACX,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,EACzC,YAAU;AAAA,EACqB,QAAQ,CAAC;AACb,GAAgB;AAE3C,QAAM,WAAW,MAAM;AACnB,QAAI,CAAC,YAAY,CAAC,SAAS;AACvB,iBAAW,QAAQ;AAAA,IACvB;AAAA,EACJ;AACA,SAAO;AAAA,IAAC;AAAA;AAAA,MACJ;AAAA,MACA,WAAW,GAAG,SAAS,gBAAgB,iBAAiB,IAAI,IAAI,YAAY,0BAA0B,EAAE,IAAI,UAAU,wBAAwB,EAAE,KAAK,QAAQ,sBAAsB,EAAE,KAAK,UAAU,wBAAwB,EAAE;AAAA,MAC9N,UAAU,YAAY;AAAA,MACtB,OAAO;AAAA,QACH,GAAG;AAAA,MACP;AAAA,MACA,SAAS;AAAA,MAGL,oBACI,8CAAC,uBAAY,WAAU,4BAA2B,OAAM,oCAAkC,IAC1F;AAAA;AAAA,EAEZ;AACJ;;;ACrCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,qBAAqB;AACrB,wBAAkC;AA6BlC,IAAM,qBAAiB;AAAA,EACnB,UAAQ;AAAA,IACJ,OAAO;AAAA,IACP,OAAM;AAAA,IACN,KAAI;AAAA,IACJ,KAAI;AAAA,IACJ,UAAS;AAAA,IACT,OAAM;AAAA,IACN,aAAY,CAAC,aAAwB,IAAI;AAAA,MACrC;AAAA,MACA,SAAQ,SAAS;AAAA,MACjB,KAAI,SAAS;AAAA,MACb,KAAI,SAAS;AAAA,IACjB,CAAC;AAAA,IACD,WAAU;AAAA,MACN,MAAM;AAAA,MACN,MAAK;AAAA,IACT;AAAA,IACA,QAAQ,CAAC,QAAgB,IAAI,EAAE,IAAS,CAAC;AAAA,IACzC,UAAU,CAAC,UAAkB,IAAI,EAAE,MAAa,CAAC;AAAA,IACjD,UAAU,CAAC,UAAkB,IAAI,EAAE,MAAa,CAAC;AAAA,IACjD,QAAQ,CAAC,QAAgB,IAAI,EAAE,IAAS,CAAC;AAAA,IACzC,QAAQ,MAAM,IAAI,EAAE,OAAO,IAAG,KAAI,IAAG,KAAI,IAAG,SAAQ,IAAG,UAAS,KAAK,CAAC;AAAA,IACtE,UAAS,CAAC,UAAuB,IAAI,EAAC,MAAK,CAAC;AAAA,IAC5C,cAAa,CAAC,cAAwC,IAAI,EAAC,UAAS,CAAC;AAAA,IAErE,SAAQ;AAAA,IACR,YAAW,CAAC,YAAiB,IAAI,EAAC,QAAO,CAAC;AAAA,IAE1C,QAAO;AAAA,IACP,WAAU,CAAC,WAAoB,IAAI,EAAC,OAAM,CAAC;AAAA,EAC/C;AAAA,EACA,EAAE,MAAM,cAAc;AAC1B;AAEA,IAAM,oBAAgB,2BAAO,4BAAS,cAAc,CAAC;AAE9C,IAAM,aAAa;AAE1B,IAAO,wBAAQ;;;ACpEf,IAAAC,gBAAsB;;;ACDtB,mBAAwC;;;ACExC,IAAO,cAAQ;AAAA,EACX,WAAU;AAAA,IACN,MAAM;AAAA,IACN,MAAK;AAAA,EACT;AACJ;;;ACLO,IAAM,eAAe,MAAI;AAC5B,MAAI;AACA,UAAM,QAAQ,WAAW,SAAS;AAElC,UAAM,MAAM,OAAO;AAEnB,QAAI,KAAK;AACL,aAAO;AAAA,IACX,OAAO;AACH,aAAO,YAAW;AAAA,IACtB;AAAA,EACJ,SAAS,GAAG;AACR,WAAO,YAAW;AAAA,EACtB;AACJ;AAEO,IAAM,WAAW,MAAM;AAC1B,MAAI;AACA,UAAM,QAAQ,WAAW,SAAS;AAClC,UAAM,QAAQ,OAAO;AACrB,QAAI,OAAO;AACP,aAAO;AAAA,IACX,OAAO;AACH,aAAO;AAAA,IACX;AAAA,EACJ,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AAEO,IAAM,YAAY,MAAM;AAC3B,MAAI;AACA,UAAM,QAAQ,WAAW,SAAS;AAClC,UAAM,SAAS,OAAO;AACtB,QAAI,QAAQ;AACR,aAAO;AAAA,IACX,OAAO;AACH,aAAO;AAAA,IACX;AAAA,EACJ,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;AACO,IAAM,WAAW,MAAM;AAC1B,MAAI;AACA,UAAM,QAAQ,WAAW,SAAS;AAClC,UAAM,QAAQ,OAAO;AACrB,QAAI,OAAO;AACP,aAAO;AAAA,IACX,OAAO;AACH,aAAO;AAAA,IACX;AAAA,EACJ,SAAS,GAAG;AACR,WAAO;AAAA,EACX;AACJ;;;ACxDA,IAAM,iBAAiB,MAAM,aAAa,QAAQ,yBAAyB,MAAM;AAEjF,IAAM,UAAU;AAAA,EACZ,IAAI,QAAa,MAAc;AAC3B,QAAI,eAAe,KAAK,OAAO,OAAO,IAAI,MAAM,YAAY;AACxD,aAAO,OAAO,IAAI,EAAE,KAAK,OAAO;AAAA,IACpC;AACA,WAAO,MAAM;AAAA,IAAC;AAAA,EAClB;AACJ;AAEA,IAAM,WAAW,IAAI,MAAM,SAAS,OAAO;AAE3C,IAAO,mBAAQ;;;AHTR,IAAM,eAAe;AAErB,IAAM,YAAY,CAAC,QAAuD;AAC7E,SAAO,IAAI,SAAS;AACxB;AAWA,IAAM,WAAW,aAAAC,QAAM,OAAO;AAAA,EAC1B,SAAS;AAAA,EACT,eAAe,QAAQ;AACnB,WAAO,UAAU,OAAO,UAAU;AAAA,EACtC;AACJ,CAAC;AAED,IAAM,UAAU,OAAgB,WAA2D;AACvF,MAAI;AACA,UAAM,YAAY,aAAa;AAC/B,UAAM,QAAQ,SAAS;AACvB,aAAS,SAAS,UAAU,GAAG,UAAU,IAAI;AAE7C,aAAS,SAAS,QAAQ,OAAO,OAAO,IAAI,SAAS;AACrD,QAAG,OAAM;AACL,eAAS,SAAS,QAAQ,OAAO,eAAe,IAAI;AAAA,IACxD;AACA,aAAS,SAAS,QAAQ,OAAO,iBAAiB,IAAI,UAAU;AAGhE,UAAM,EAAC,KAAI,IAAI,MAAM,SAAS,QAA2B,MAAM;AAC/D,qBAAS,IAAI,OAAM,IAAI;AACvB,QAAG,KAAK,QAAQ,QAAO;AACnB,iBAAW,SAAS,EAAE,OAAO;AAC7B,YAAM,IAAI,MAAM,+CAA+C;AAAA,IACnE;AAIA,WAAO;AAAA,EACX,SAAS,KAAK;AACV,YAAQ,MAAM,WAAW,GAAG;AAC5B,UAAM,UAAU;AAChB,YAAQ,MAAM,OAAO;AACrB,WAAO;AAAA,MACH,MAAM;AAAA,MACN,MAAM;AAAA,MACN;AAAA,MACA,SAAS;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,IACZ;AAAA,EACJ;AACJ;AAEA,IAAO,kBAAQ;;;AI9DR,IAAM,kBAAkB,CAAE,UAAkB;AAC/C,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM,EAAE,MAAM;AAAA,EAClB,CAAC;AACL;AAEO,IAAM,qBAAqB,CAAC,EAAE,OAAO,kBAAkB,kBAAkB,MAA+E;AAC3J,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM,EAAE,OAAO,kBAAkB,kBAAkB;AAAA,EACvD,CAAC;AACL;AAGO,IAAM,qBAAqB,MAAM;AACpC,SAAO,gBAAsB;AAAA,IACzB,KAAK;AAAA,IACL,QAAQ;AAAA,EACZ,CAAC;AACL;AACO,IAAM,cAAc,MAAM;AAC7B,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,EACZ,CAAC;AACL;AAEO,IAAM,iBAAiB,CAAC,SAAa;AACxC,SAAO,gBAAQ;AAAA,IACX,KAAK;AAAA,IACL,QAAQ;AAAA,IACR;AAAA,EACJ,CAAC;AACL;AAEO,IAAM,iBAAiB,MAAM;AAChC,SAAO,gBAAwB;AAAA,IAC3B,KAAK;AAAA,IACL,QAAQ;AAAA,EACZ,CAAC;AACL;AAEO,IAAM,gBAAgB,MAAM;AAC/B,SAAO,gBAAuB;AAAA,IAC1B,KAAK;AAAA,IACL,QAAQ;AAAA,EACZ,CAAC;AACL;AAEO,IAAM,iBAAiB,MAAM;AAChC,SAAO,gBAAsB;AAAA,IACzB,KAAK;AAAA,IACL,QAAQ;AAAA,EACZ,CAAC;AACL;AAGO,IAAM,aAAa,CAAC,EAAC,KAAK,SAAS,WAAU,MAA4D;AAC5G,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM,EAAC,KAAK,SAAS,WAAU;AAAA,EACnC,CAAC;AACL;AAGO,IAAM,YAAY,CAAC,EAAC,KAAI,MAAwB;AACnD,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM,EAAC,KAAI;AAAA,EACf,CAAC;AACL;AAEO,IAAM,kBAAkB,CAAC,EAAC,QAAO,MAA2B;AAC/D,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM,EAAC,QAAO;AAAA,EAClB,CAAC;AACL;AAEO,IAAM,eAAe,CAAC;AAAA,EACG;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAuB;AAC/C,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ,CAAC;AACL;AAEO,IAAM,oBAAoB,CAAC,EAAC,SAAQ,MAA4B;AACnE,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM,EAAC,SAAQ;AAAA,EACnB,CAAC;AACL;AAEO,IAAM,qBAAqB,MAAM;AACpC,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,EACZ,CAAC;AACL;AAEO,IAAM,iBAAiB,MAAM;AAChC,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,EACZ,CAAC;AACL;AAEO,IAAM,oBAAoB,CAAC,EAAE,QAAQ,MAA4B;AACpE,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM,EAAE,QAAQ;AAAA,EACpB,CAAC;AACL;AAEO,IAAM,mBAAmB,CAAC,EAAE,MAAM,SAAS,WAAW,SAAS,gBAAgB,mBAAmB,MAAwB;AAC7H,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM,EAAE,MAAM,SAAS,WAAW,SAAS,gBAAgB,mBAAmB;AAAA,EAClF,CAAC;AACL;AAGO,IAAM,mBAAmB,CAAC,EAAE,QAAQ,MAA4B;AACnE,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM,EAAE,QAAQ;AAAA,EACpB,CAAC;AACL;AAEO,IAAM,kBAAkB,CAAC,EAAE,MAAM,SAAS,WAAW,SAAS,gBAAgB,mBAAmB,MAAwB;AAC5H,SAAO,gBAAa;AAAA,IAChB,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM,EAAE,MAAM,SAAS,WAAW,SAAS,gBAAgB,mBAAmB;AAAA,EAClF,CAAC;AACL;;;ACtKA,IAAM,eAAN,MAAmB;AAAA,EAAnB;AACI,SAAQ,YAAgD,CAAC;AAAA;AAAA,EAEzD,GAAG,OAAe,UAAyB;AACvC,QAAI,CAAC,KAAK,UAAU,KAAK,GAAG;AACxB,WAAK,UAAU,KAAK,IAAI,oBAAI,IAAI;AAAA,IACpC;AACA,SAAK,UAAU,KAAK,EAAE,IAAI,QAAQ;AAAA,EACtC;AAAA,EAEA,IAAI,OAAe,UAAyB;AACxC,QAAI,KAAK,UAAU,KAAK,GAAG;AACvB,WAAK,UAAU,KAAK,EAAE,OAAO,QAAQ;AACrC,UAAI,KAAK,UAAU,KAAK,EAAE,SAAS,GAAG;AAClC,eAAO,KAAK,UAAU,KAAK;AAAA,MAC/B;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,KAAK,UAAkB,MAAa;AAChC,QAAI,KAAK,UAAU,KAAK,GAAG;AACvB,WAAK,UAAU,KAAK,EAAE,QAAQ,cAAY,SAAS,GAAG,IAAI,CAAC;AAAA,IAC/D;AAAA,EACJ;AACJ;AAEA,IAAM,eAAe,IAAI,aAAa;AAEtC,IAAO,uBAAQ;;;AC/BR,IAAM,aAAa,MAAc;AACpC,SAAO;AACX;AAEO,SAAS,aAAa,OAAe;AACxC,SAAO,KAAK,SAAS,mBAAmB,KAAK,CAAC,CAAC;AACnD;AAOO,IAAM,eAAe,CAAC,UAAkB;AAC3C,SAAO,6BAA6B,KAAK,KAAK;AAClD;AACO,IAAM,kBAAkB,CAAC,aAAqB;AAEjD,SAAO,mBAAmB,KAAK,QAAQ;AAC3C;AAaO,SAAS,gBAAgB,SAAyB;AACrD,MAAI,QAAQ,UAAU,GAAG;AACrB,WAAO;AAAA,EACX;AACA,QAAM,QAAQ,QAAQ,MAAM,GAAG,CAAC;AAChC,QAAM,MAAM,QAAQ,MAAM,EAAE;AAC5B,SAAO,GAAG,KAAK,MAAM,GAAG;AAC5B;AAOO,SAAS,iBAAiB;AAC7B,SAAO,eAAe,WAAW;AAErC;;;ACjDA,IAAAC,kBAAqB;AAed,IAAM,uBAAmB,wBAK7B,UAAQ;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM,CAAC,SAA2B,IAAI,EAAC,QAAQ,MAAM,KAAI,CAAC;AAAA,EAC1D,OAAO,MAAM,IAAI,EAAC,QAAQ,MAAK,CAAC;AACpC,EAAE;;;ARda,SAAR,cAA+B;AAClC,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAI,sBAAc;AAClB,QAAM,EAAC,QAAQ,MAAK,IAAI,SAAS;AAEjC,QAAM,EAAC,MAAM,QAAO,IAAI,iBAAiB;AAGzC,QAAM,cAAU,uBAAQ,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;AAE9C,QAAM,SAAS,YAAY;AACvB,QAAI;AACA,YAAM,YAAY;AAAA,IACtB,SAAS,KAAU;AACf,cAAQ,MAAM,UAAU,GAAG;AAAA,IAC/B;AAEA,gBAAY;AACZ,cAAU,OAAQ,YAAY,OAAQ,SAAS;AAC/C,yBAAa,KAAK,UAAU;AAAA,EAChC;AAEA,QAAM,gBAAgB,OAAO,WAA+B;AACxD,UAAM,OAAO,GAAG,UAAU,IAAI,eAAe,UAAQ,YAAW,WAAS,MAAM,UAAU,KAAK,aAAa,UAAQ,YAAW,WAAS,MAAM,aAAa,mBAAmB,UAAU,OAAO,WAAW,MAAM,CAAC,mBAAkB,oBAAI,KAAK,GAAE,QAAQ,CAAC,GAAG,UAAQ,YAAY,uBAAqB,EAAE;AACpS,qBAAS,IAAI,QAAQ,IAAI;AACzB,WAAO,OAAO;AAAA,MACV;AAAA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,iBAAiB,MAAM;AACzB,WAAO,cAAc,SAAS;AAAA,EAClC;AACA,QAAM,gBAAgB,MAAM;AACxB,WAAO,cAAc,QAAQ;AAAA,EACjC;AAEA,QAAM,gBAAgB,YAAY;AAE9B,WAAO,OAAO,KAAK,GAAG,UAAU,IAAI,sBAAsB,KAAK,EAAE;AAAA,EAErE;AACA,QAAM,kBAAkB,YAAY;AAChC,WAAO,OAAO;AAAA,MACV,GAAG,UAAU,IAAI,wBAAwB,KAAK;AAAA;AAAA,MAC9C;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,cAAc,OAAO,WAA4B;AACnD,YAAQ,QAAQ;AAAA,MACZ,KAAK;AACD,eAAO,OAAO,KAAK,GAAG,UAAU,IAAI,sBAAsB,KAAK,EAAE;AAAA,MACrE,KAAK;AACD,eAAO,QAAQ,OAAO;AAAA,MAC1B,KAAK;AACD,eAAO,MAAM,gBAAgB;AAAA,MACjC,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO,MAAM,cAAc,MAAM;AAAA,MACrC;AACI,cAAM,IAAI,MAAM,oBAAoB;AAAA,IAE5C;AAAA,EACJ;AAGA,QAAM,oBAAoB,OAAO,UAAkB;AAC/C,UAAM,MAAM,MAAM,gBAAgB,KAAK;AACvC,QAAI,OAAO,IAAI,QAAQ,UAAU,GAAG,GAAG;AACnC,aAAO,eAAe,QAAQ,YAAY,IAAI,KAAK,GAAa;AAChE,aAAO,IAAI,KAAK;AAAA,IACpB;AACA,WAAO;AAAA,EACX;AAEA,QAAM,eAAe,OAAO;AAAA,IACI;AAAA,IACA;AAAA,EACJ,MAAuC;AAC/D,QAAI;AACA,YAAM,MAAM;AAAA,QACR;AAAA,QACA,kBAAkB,OAAO,eAAe,QAAQ,UAAU;AAAA,QAC1D,mBAAmB;AAAA,MACvB;AACA,YAAM,MAAM,MAAM,mBAAmB,GAAG;AACxC,UAAI,OAAO,IAAI,QAAQ,UAAU,GAAG,GAAG;AACnC,cAAM,MAAM;AAAA,UACR,KAAK,IAAI,KAAK;AAAA,UACd,OAAO,GAAG,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,YAAY;AAAA,QAC1D,CAAC;AACD,eAAO;AAAA,MAEX,OAAO;AACH,cAAM,IAAI,MAAM,IAAI,OAAO;AAAA,MAC/B;AAAA,IACJ,SAAS,OAAO;AACZ,cAAQ,MAAM,gBAAgB,KAAK;AACnC,YAAM;AAAA,IACV;AACA,WAAO;AAAA,EACX;AAGA,QAAM,kBAAkB,YAAY;AAChC,UAAM,MAAM,MAAM,mBAAmB;AACrC,QAAI,IAAI,MAAM;AACV,kBAAY,IAAI,IAAI;AAAA,IACxB;AAAA,EACJ;AAEA,QAAM,aAAa,YAAY;AAC3B,QAAI,CAAC,OAAO;AACR,YAAM,IAAI,MAAM,sBAAsB;AAAA,IAC1C;AACA,WAAO,OAAO,KAAK,GAAG,UAAU,IAAI,qBAAqB,KAAK,SAAS,mBAAmB,aAAa,KAAK,CAAC,CAAC;AAAA,EAClH;AAEA,QAAM,eAAe,YAAY;AAC7B,QAAI,CAAC,OAAO;AACR,YAAM,IAAI,MAAM,sBAAsB;AAAA,IAC1C;AACA,UAAM,aAAa,OAAO;AAAA,MACtB,GAAG,UAAU,IAAI,uBAAuB,KAAK,SAAS,mBAAmB,aAAa,KAAK,CAAC;AAAA;AAAA,MAC5F;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,OAAO,YAAY;AACrB,UAAM,MAAM,MAAM,eAAe;AACjC,QAAI,UAAU,GAAG,GAAG;AAChB,aAAO,IAAI;AAAA,IACf;AACA,UAAM,IAAI,MAAM,IAAI,OAAO;AAAA,EAC/B;AAEA,QAAM,OAAO,OAAO,WAA4B;AAC5C,QAAI,CAAC,OAAO;AACR,YAAM,IAAI,MAAM,sBAAsB;AAAA,IAC1C;AACA,YAAQ,QAAQ;AAAA,MACZ,KAAK;AACD,eAAO,OAAO,KAAK,GAAG,UAAU,IAAI,qBAAqB,KAAK,SAAS,mBAAmB,aAAa,KAAK,CAAC,CAAC;AAAA,MAClH,KAAK;AACD,eAAO,QAAQ,MAAM;AAAA,MACzB,KAAK;AACD,eAAO,MAAM,aAAa;AAAA,MAC9B,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,cAAM,OAAO,GAAG,UAAU,IAAI,eAAe,UAAQ,YAAW,WAAS,MAAM,UAAU,KAAK,aAAa,UAAQ,YAAW,WAAS,MAAM,aAAa,mBAAmB,UAAU,OAAO,UAAU,MAAM,CAAC,kBAAkB,MAAM,SAAS,SAAS,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,KAAK,GAAG,UAAQ,YAAY,uBAAqB,EAAE;AACtU,yBAAS,IAAI,QAAQ,IAAI;AACzB,eAAO,OAAO;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,MACJ;AACI,cAAM,IAAI,MAAM,oBAAoB;AAAA,IAE5C;AAAA,EACJ;AAGA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU,UAAU,YAAY;AAAA,IAChC;AAAA,IAEA,OAAO;AAAA,IACP;AAAA,EACJ;AACJ;;;AS9NA,IAAAC,gBAA0B;AAKX,SAAR,eAAgC,UAAwB;AAC3D,+BAAU,MAAM;AACZ,WAAO,QAAQ,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAOC,QAAO,MAAM;AACnD,UAAIA,UAAS;AACT,6BAAa,GAAG,OAAOA,QAAO;AAAA,MAClC;AAAA,IACJ,CAAC;AAED,WAAO,MAAM;AACT,aAAO,QAAQ,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAOA,QAAO,MAAM;AACnD,YAAIA,UAAS;AACT,+BAAa,IAAI,OAAOA,QAAO;AAAA,QACnC;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ,GAAG,CAAC,QAAQ,CAAC;AACjB;;;ACtBA,IAAAC,kBAAqB;AAmBrB,IAAM,eAAW,wBAAmB,UAAQ;AAAA,EACxC,oBAAoB;AAAA,EACpB,uBAAuB,CAAC,WAAW,IAAI,EAAC,oBAAoB,OAAM,CAAC;AAAA,EACnE,eAAe;AAAA,IACX,MAAM;AAAA,IACN,SAAS,YAAW;AAAA,IAAC;AAAA,IACrB,OAAO,YAAW;AAAA,IAAC;AAAA,EACvB;AAAA,EACA,kBAAkB,CAAC,WAAW,IAAI,EAAC,eAAe,OAAM,CAAC;AAAA,EACzD,oBAAoB,MAAM,IAAI,EAAC,eAAe,EAAC,MAAM,MAAK,EAAC,CAAC;AAChE,EAAE;AAEF,IAAO,mBAAQ;;;ACzBf,sBAAwB;AAuBxB,IAAM,cAAc,eAAe,WAAW;AAE/B,SAAR,YAAkD;AACrD,QAAM,EAAC,OAAO,OAAO,UAAS,QAAO,IAAI,sBAAc;AACvD,QAAM,EAAC,kBAAkB,mBAAkB,IAAI,iBAAS;AAExD,QAAM,aAAa,CAAC;AAAA,IACI;AAAA,IACA,SAAAC;AAAA,EACJ,MAGC;AACjB,WAAO,OAAO;AAAA,MACV;AAAA,MACA;AAAA,QACI,OAAO;AAAA,QACP;AAAA,QACA,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,SAASA;AAAA,MACb;AAAA,IAAC;AAAA,EACT;AACA,QAAM,cAAc,YAA8B;AAC9C,UAAM,MAAM,MAAM,OAAO,4BAA4B,aAAa;AAClE,WAAO,IAAI;AAAA,EACf;AACA,QAAM,iBAAiB,OAAO;AAAA,IACI;AAAA,IACA;AAAA,EACJ,MAGP;AAGnB,WAAQ,MAAM,OAAO,4BAA4B,kBAAkB;AAAA,MAC/D,WAAW;AAAA,MACX,cAAc;AAAA,MACd;AAAA,IACJ,CAAC;AAAA,EACL;AAEA,QAAM,eAAe,OAAM,SAGT;AACd,WAAO,IAAI,QAAQ,OAAO,SAAS,WAAW;AAC1C,YAAM,MAAM,MAAM,YAAY;AAC9B,uBAAS,IAAI,eAAe,GAAG;AAC/B,UAAI,CAAC,KAAK;AACN,yBAAiB;AAAA,UACb,MAAM;AAAA,UACN,SAAS,YAAY;AACjB,6BAAS,IAAI,iBAAiB;AAC9B,kBAAM,KAAK,SAAQ,MAAM;AAAA,UAC7B;AAAA,UACA,OAAO,YAAY;AACf,+BAAmB;AACnB,mBAAO,IAAI,MAAM,qBAAqB,CAAC;AAAA,UAC3C;AAAA,QACJ,CAAC;AACD,cAAM,WAAW;AAAA,UACb,SAAS,UAAU,WAAW;AAAA,UAC9B,KAAK,UAAU,KAAK,MAAM,GAAG,EAAE,CAAC,KAAK;AAAA,QACzC,CAAC;AAAA,MACL,OAAO;AACH,cAAM,eAAe,YAAW,4BAA4B;AAC5D,cAAM,KAAK,SAAQ,MAAM;AAAA,MAC7B;AAAA,IACJ,CAAC;AAAA,EACL;AAGA,QAAM,cAAc,OAAO,SAA0B,SAAmC;AACpF,UAAM,UAAU,OAAO,SAA0B,WAAiC;AAC9E,UAAI;AACA,cAAM,aAAa,MAAM,OAAO,4BAA4B,eAAe;AAAA,UACvE;AAAA,UACA,WAAW;AAAA,QACf,CAAC;AACD,2BAAmB;AACnB,gBAAQ,UAAU;AAAA,MACtB,SAAS,OAAY;AACjB,gBAAQ,MAAM,kBAAkB,KAAK;AACrC,eAAO,KAAK;AAAA,MAChB;AAAA,IACJ;AACA,WAAQ,MAAM,aAAa,OAAO;AAAA,EAEtC;AAEA,QAAM,kBAAkB,OAAO,aAAsC,SAAkJ;AACnN,UAAM,UAAU,OAAO,SAA0B,WAAiC;AAC9E,UAAI;AACA,cAAM,aAAa,MAAM,OAAO,4BAA4B,mBAAmB;AAAA,UAC3E;AAAA,UACA,WAAW;AAAA,QACf,CAAC;AACD,2BAAmB;AACnB,gBAAQ,UAAU;AAAA,MACtB,SAAS,OAAY;AACjB,gBAAQ,MAAM,kBAAkB,KAAK;AACrC,eAAO,KAAK;AAAA,MAChB;AAAA,IACJ;AACA,WAAQ,MAAM,aAAa,OAAO;AAAA,EACtC;AACA,QAAM,iBAAiB,OAAO,WAAkC,cAAsB,iBAA0B;AAC5G,WAAO,MAAM,OAAO,4BAA4B,kBAAkB;AAAA,MAC9D;AAAA,MACA;AAAA,MACA;AAAA,IACJ,CAAC;AAAA,EACL;AAGA,QAAM,aAAa,cAAW,2BAAU;AAAA,IACpC;AAAA,IACA,MAAM,YAAY,EAAC,QAAO,GAAG;AACzB,aAAO,MAAM,YAAY,OAAO;AAAA,IACpC;AAAA,IACA,MAAM,gBAAgB,aAAY,SAAS;AAEvC,YAAM,EAAE,SAAS,GAAG,gBAAgB,IAAI;AAExC,YAAM,OAAO,MAAM,gBAAgB;AAAA,QAC/B,GAAG;AAAA,MACP,CAAC;AACD,aAAO;AAAA,IACX;AAAA,IACA,MAAM,cAAc,WAAW;AAC3B,aAAO;AAAA,IACX;AAAA,EACJ,CAAC,IAAI;AACL,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;;;AC/KA,+BAAiB;AACjB,IAAAC,gBAAiD;AAElC,SAAR,iBAAkC,UAAU,KAA0C;AAC3F,QAAM,CAAC,UAAU,WAAW,QAAI,wBAAS,KAAK;AAE9C,QAAM,iBAAa,2BAAY,CAAC,SAAiB;AAC/C,UAAM,cAAU,yBAAAC,SAAK,IAAI;AACzB,gBAAY,OAAO;AAAA,EACrB,GAAG,CAAC,CAAC;AAEL,+BAAU,MAAM;AACd,QAAI,UAAU;AACZ,YAAM,OAAO,WAAW,MAAM;AAC5B,oBAAY,KAAK;AAAA,MACnB,GAAG,OAAO;AAEV,aAAO,MAAM;AACX,qBAAa,IAAI;AAAA,MACnB;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,UAAU,aAAa,OAAO,CAAC;AAEnC,SAAO,CAAC,UAAU,UAAU;AAC9B;;;AlBZA,wBAAwC;AA2E5B,IAAAC,uBAAA;AAvEG,SAAR,cAA+B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,GAEnC;AACC,QAAM,EAAC,iBAAgB,SAAQ,IAAI,YAAY;AAC/C,QAAM,EAAC,SAAS,IAAG,IAAI,YAAY;AACnC,QAAM,CAAC,UAAU,WAAW,QAAI,wBAAS,EAAE;AAC3C,QAAM,CAAC,YAAY,aAAa,QAAI,wBAAS,EAAE;AAC/C,QAAM,CAAC,OAAO,QAAQ,QAAI,wBAAS,EAAE;AACrC,QAAM,EAAC,gBAAe,WAAU,IAAI,UAAU;AAC9C,QAAM,WAAO,2BAAQ;AACrB,QAAM,oBAAgB,uBAAQ,MAAM;AAChC,QAAI,SAAS,SAAS,EAAG,QAAO,KAAK,cAAc;AAAA,MAC/C,IAAI;AAAA,IACR,GAAG;AAAA,MACC,QAAQ;AAAA,IACZ,CAAC;AACD,WAAO;AAAA,EACX,GAAG,CAAC,QAAQ,CAAC;AAEb,QAAM,sBAAkB,uBAAQ,MAAM;AAClC,QAAI,cAAc,UAAU;AACxB,aAAO,KAAK,cAAc;AAAA,QACtB,IAAI;AAAA,MACR,CAAC;AAAA,IACL;AACA,WAAO;AAAA,EACX,GAAG,CAAC,YAAY,QAAQ,CAAC;AAEzB,+BAAU,MAAM;AACZ,QAAI,UAAQ,UAAU;AAClB,kBAAY,EAAE;AACd,oBAAc,EAAE;AAChB,YAAMC,OAAM,SAAS,IAAI,MAAM,GAAG,EAAE,CAAC;AACrC,iBAAW;AAAA,QACP,KAAAA;AAAA,QACA,SAAQ;AAAA,MACZ,CAAC;AAAA,IACL;AAAA,EACJ,GAAG,CAAC,QAAO,QAAQ,CAAC;AAGpB,QAAM,CAAC,cAAc,eAAe,QAAI,wBAAS,KAAK;AAEtD,QAAM,aAAa,YAAY;AAC3B,QAAI,aAAc;AAClB,QAAI;AACA,sBAAgB,IAAI;AACpB,YAAM,UAAU,MAAM,eAAe;AAAA,QACjC,KAAK,IAAI,MAAM,GAAG,EAAE,CAAC;AAAA,QACrB,cAAc;AAAA,MAClB,CAAC;AACD,YAAM,gBAAgB;AACtB,mBAAa,UAAU;AAAA,IAE3B,SAASC,QAAY;AACjB,eAASA,OAAM,OAAO;AAAA,IAC1B,UAAE;AACE,sBAAgB,KAAK;AAAA,IACzB;AAAA,EACJ;AAGA,SAAO,8CAAC,mBAAgB,QAAQ,UAAU,SAAU,GAAG,OAAO,OAAO,SAAS,KAAK,cAAc;AAAA,IAC7F,IAAI;AAAA,EACR,CAAC,GACG,yDAAC,SAAI,WAAU,wBACX;AAAA,mDAAC,SAAI,WAAU,2BACX;AAAA,oDAAC,SAAI,WAAU,gCAA+B,wDAAC,qBAAiB,GAAE;AAAA,MAClE,8CAAC,SAAI,WAAU,mCACX,wDAAC,sCAAiB,IAAI,gBAAe,GACzC;AAAA,OACJ;AAAA,IACA,+CAAC,SAAI,WAAU,4BACX;AAAA,oDAAC,SAAM,OAAO,KAAK,cAAc,EAAC,IAAI,WAAU,CAAC,GAAG,OAAO,SAAS,SAAS,KAAK,eAC9E;AAAA,QAAC;AAAA;AAAA,UACG,aAAa,KAAK,cAAc,EAAC,IAAI,sBAAqB,CAAC;AAAA,UAC3D,WAAW;AAAA,UACX,MAAM;AAAA,UACN,UAAU,OAAK,YAAY,EAAE,OAAO,KAAK;AAAA,UACzC,OAAO;AAAA;AAAA,MAEX,GACJ;AAAA,MACA,8CAAC,SAAM,OAAO,KAAK,cAAc;AAAA,QAC7B,IAAI;AAAA,MACR,CAAC,GAAG,OAAO,WAAW,SAAS,IAAI,mBAAmB,QAAQ,OAC1D;AAAA,QAAC;AAAA;AAAA,UACG,aAAa,KAAK,cAAc;AAAA,YAC5B,IAAI;AAAA,UACR,CAAC;AAAA,UACD,WAAW;AAAA,UACX,UAAU,OAAK,cAAc,EAAE,OAAO,KAAK;AAAA,UAC3C,OAAO;AAAA,UACP,MAAM;AAAA;AAAA,MAEV,GACJ;AAAA,OACJ;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QAAO,UAAU,SAAS,UAAU,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAAA,QAAiB,WAAS;AAAA,QAAC,OAAK;AAAA,QAAC,MAAK;AAAA,QAC7F,SAAS;AAAA,QAAY,SAAS;AAAA,QAAc,wDAAC,sCAAiB,IAAI,YAAW;AAAA;AAAA,IAAE;AAAA,KAC3F,GACJ;AACJ;;;AmB3HA,IAAAC,gBAA2C;AAQ3C,IAAAC,qBAAwC;AAoE5B,IAAAC,uBAAA;AAjEG,SAAR,cAA+B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,GAEnC;AACC,QAAM,EAAC,gBAAe,IAAI,YAAY;AACtC,QAAM,EAAC,SAAQ,SAAQ,IAAI,YAAY;AACvC,QAAM,CAAC,UAAU,WAAW,QAAI,wBAAS,EAAE;AAC3C,QAAM,EAAC,gBAAe,WAAU,IAAI,UAAU;AAC9C,QAAM,CAAC,OAAO,QAAQ,QAAI,wBAAS,EAAE;AACrC,QAAM,WAAO,4BAAQ;AACrB,QAAM,oBAAgB,uBAAQ,MAAM;AAChC,QAAI,SAAS,SAAS,EAAG,QAAO,KAAK,cAAc;AAAA,MAC/C,IAAI;AAAA,IACR,GAAG;AAAA,MACC,QAAQ;AAAA,IACZ,CAAC;AACD,WAAO;AAAA,EACX,GAAG,CAAC,QAAQ,CAAC;AAGb,+BAAU,MAAM;AACZ,QAAI,UAAQ,UAAU;AAClB,kBAAY,EAAE;AACd,YAAM,MAAM,SAAS,IAAI,MAAM,GAAG,EAAE,CAAC;AACrC,iBAAW;AAAA,QACP;AAAA,QACA,SAAQ,SAAS;AAAA,MACrB,CAAC;AAAA,IACL;AAAA,EACJ,GAAG,CAAC,QAAO,QAAQ,CAAC;AAGpB,QAAM,CAAC,cAAc,eAAe,QAAI,wBAAS,KAAK;AAEtD,QAAM,aAAa,YAAY;AAC3B,QAAI,aAAc;AAClB,QAAI;AACA,sBAAgB,IAAI;AACpB,YAAM,eAAe,YAAY,8BAA8B,QAAQ;AACvE,YAAM,gBAAgB;AACtB,mBAAa,UAAU;AAAA,IAQ3B,SAASC,QAAY;AACjB,cAAQ,MAAM,qBAAqBA,MAAK;AACxC,eAASA,OAAM,OAAO;AAAA,IAC1B,UAAE;AACE,sBAAgB,KAAK;AAAA,IACzB;AAAA,EACJ;AAGA,SAAO,8CAAC,mBAAgB,QAAQ,UAAU,SAAU,GAAG,OAAO,OAAO,SAAS,KAAK,cAAc;AAAA,IAC7F,IAAG;AAAA,EACP,CAAC,GACG,yDAAC,SAAI,WAAU,wBACX;AAAA,mDAAC,SAAI,WAAU,2BACX;AAAA,oDAAC,SAAI,WAAU,gCAA+B,wDAAC,qBAAiB,GAAE;AAAA,MAClE,8CAAC,SAAI,WAAU,mCACZ,wDAAC,uCAAiB,IAAG,eAAa,GACrC;AAAA,OACJ;AAAA,IACA,8CAAC,SAAI,WAAU,4BACX,wDAAC,SAAM,OAAO,KAAK,cAAc,EAAC,IAAI,WAAU,CAAC,GAAG,OAAO,SAAS,SAAS,IAAI,iBAAiB,QAAQ,OACtG;AAAA,MAAC;AAAA;AAAA,QACG,aAAa,KAAK,cAAc,EAAC,IAAI,sBAAqB,CAAC;AAAA,QAC3D,WAAW;AAAA,QACX,MAAM;AAAA,QACN,UAAU,OAAK,YAAY,EAAE,OAAO,KAAK;AAAA,QACzC,OAAO;AAAA;AAAA,IAEX,GACJ,GACJ;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QAAO,UAAU,SAAS,UAAU,KAAK,CAAC,CAAC;AAAA,QAAe,WAAS;AAAA,QAAC,OAAK;AAAA,QAAC,MAAK;AAAA,QACxE,SAAS;AAAA,QAAY,SAAS;AAAA,QAAc,wDAAC,uCAAiB,IAAI,YAAW;AAAA;AAAA,IAAE;AAAA,KAC3F,GACJ;AACJ;;;AClGA,IAAAC,iBAAkD;;;ACHlD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAC,iBAAkC;;;ACAlC,IAAAC,gBAA2C;AAK3C,IAAAC,qBAAwC;AAsB7B,IAAAC,uBAAA;AApBI,SAAR,UAA2B,OAG/B;AACC,QAAM,WAAO,4BAAQ;AACrB,QAAM,CAAC,UAAU,WAAW,QAAI,wBAAS,EAAE;AAC3C,+BAAU,MAAM;AACZ,QAAI,MAAM,OAAO;AACb,kBAAY,MAAM,KAAK;AAAA,IAC3B;AAAA,EACJ,GAAG,CAAC,CAAC;AAEL,QAAM,kBAAc,uBAAQ,MAAM;AAC9B,WAAO,aAAa,QAAQ;AAAA,EAChC,GAAG,CAAC,QAAQ,CAAC;AAEb,QAAM,aAAa,YAAY;AAC3B,UAAM,WAAW,QAAQ;AAAA,EAC7B;AAEA,SAAO,+CAAC,SAAI,WAAU,2BAClB;AAAA,kDAAC,SAAM,OAAO,KAAK,cAAc;AAAA,MAC7B,IAAG;AAAA,IACP,CAAC,GACG;AAAA,MAAC;AAAA;AAAA,QACG,aAAa,KAAK,cAAc;AAAA,UAC5B,IAAG;AAAA,QACP,CAAC;AAAA,QACD,UAAU,OAAK,YAAY,EAAE,OAAO,KAAK;AAAA,QACzC,OAAO;AAAA;AAAA,IACX,GACJ;AAAA,IAEA,8CAAC,UAAO,UAAU,CAAC,aAAa,OAAO;AAAA,MACnC,WAAU;AAAA,IACd,GAAG,SAAS,YAAY,MAAM,MAAM,OAAK,MAAC,WAAS,MAAC,wDAAC,uCAAiB,IAAI,YAAW,GAAE;AAAA,KAE3F;AACJ;;;AC5CA,IAAAC,gBAAmD;;;ACD5C,IAAM,iBAAiB;AACvB,IAAM,oBAAoB;;;ADMjC,IAAAC,qBAAwC;AAyFsB,IAAAC,uBAAA;AAtF/C,SAAR,WAA4B,OAGhC;AACC,QAAM,WAAO,4BAAQ;AACrB,QAAM,EAAC,mBAAmB,aAAY,IAAI,YAAY;AACtD,QAAM,CAAC,OAAO,QAAQ,QAAI,wBAAS,EAAE;AACrC,QAAM,CAAC,MAAM,OAAO,QAAI,wBAAS,EAAE;AACnC,QAAM,CAAC,SAAS,UAAU,QAAI,wBAAS,KAAK;AAC5C,QAAM,CAAC,YAAY,aAAa,QAAI,wBAAS,KAAK;AAClD,QAAM,kBAAc,sBAAO,CAAC;AAC5B,QAAM,CAAC,aAAa,cAAc,QAAI,wBAAS,KAAK,cAAc;AAAA,IAC9D,IAAI;AAAA,EACR,CAAC,CAAC;AACF,QAAM,eAAe;AACrB,QAAM,aAAa;AACnB,QAAM,kBAAc,sBAA8B,IAAI;AACtD,QAAM,WAAW,UAAU;AAE3B,QAAM,SAAS,YAAY;AACvB,QAAI,YAAY,UAAU,GAAG;AACzB;AAAA,IACJ;AACA,QAAI;AACA,eAAS,EAAE;AACX,iBAAW,IAAI;AACf,kBAAY,UAAU;AACtB,YAAM,kBAAkB,MAAM,KAAK;AACnC,qBAAe,GAAG,YAAY,OAAO,GAAG;AACxC,kBAAY,UAAU,YAAY,MAAM;AACpC,oBAAY;AACZ,uBAAe,GAAG,YAAY,OAAO,GAAG;AACxC,YAAI,YAAY,WAAW,GAAG;AAC1B,yBAAe,KAAK,cAAc;AAAA,YAC9B,IAAI;AAAA,UACR,CAAC,CAAC;AACF,wBAAc,YAAY,OAAQ;AAClC,qBAAW,KAAK;AAAA,QACpB;AAAA,MACJ,GAAG,GAAI;AAAA,IACX,SAAS,KAAU;AACf,cAAQ,MAAM,oBAAoB,GAAG;AACrC,eAAS,KAAK,cAAc;AAAA,QACxB,IAAI;AAAA,MACR,GAAG,EAAC,OAAO,IAAI,QAAO,CAAC,CAAC;AACxB,iBAAW,KAAK;AAAA,IACpB;AAAA,EAEJ;AACA,+BAAU,MAAM;AACZ,WAAO;AACP,WAAO,MAAM;AACT,UAAI,YAAY,SAAS;AACrB,sBAAc,YAAY,OAAO;AAAA,MACrC;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,CAAC;AACL,QAAM,kBAAc,uBAAQ,MAAM;AAC9B,WAAO,KAAK,WAAW;AAAA,EAC3B,GAAG,CAAC,IAAI,CAAC;AAET,QAAM,aAAa,YAAY;AAC3B,QAAI,YAAY;AACZ;AAAA,IACJ;AACA,QAAI;AACA,eAAS,EAAE;AACX,oBAAc,IAAI;AAClB,YAAM,MAAM,MAAM,aAAa;AAAA,QAC3B,OAAO,MAAM;AAAA,QACb;AAAA,MACJ,CAAC;AACD,UAAI,KAAK;AACL,cAAM,aAAa,MAAM,UAAU;AAAA,MACvC;AACA,oBAAc,KAAK;AAAA,IAEvB,SAAS,KAAU;AACf,cAAQ,MAAM,2BAA2B,GAAG;AAC5C,eAAS,IAAI,OAAO;AACpB,oBAAc,KAAK;AAAA,IACvB;AAAA,EACJ;AAEA,SAAO,+CAAC,SAAI,WAAU,4BAClB;AAAA,mDAAC,SAAI,WAAU,+BACX;AAAA,oDAAC,SAAI,WAAU,oCAAmC,wDAAC,iBAAc,MAAM,WAAW,KAAG,IAAG,GAAE;AAAA,MAC1F,+CAAC,SAAI,WAAU,uCACX;AAAA,sDAAC,SAAI,WAAU,qCAAqC,gBAAM,OAAM;AAAA,QAChE,8CAAC,SAAI,WAAU,oCAAmC,wDAAC,uCAAiB,IAAG,iBAAe,GAAE;AAAA,SAC5F;AAAA,OACJ;AAAA,IACA,8CAAC,SAAM,OAAO,KAAK,cAAc;AAAA,MAC7B,IAAG;AAAA,IACP,CAAC,GAAG,OACA;AAAA,MAAC;AAAA;AAAA,QACG,aAAa,KAAK,cAAc;AAAA,UAC5B,IAAG;AAAA,QACP,CAAC;AAAA,QACD,WAAW;AAAA,QACX,WAAW;AAAA,QACX,UAAU,OAAK,QAAQ,EAAE,OAAO,KAAK;AAAA,QACrC,OAAO;AAAA,QACP,OAAO;AAAA,UAAC;AAAA;AAAA,YACJ,WAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAO;AAAA,cACH,QAAQ;AAAA,cACR,qBAAqB;AAAA,cACrB,wBAAwB;AAAA,cACxB,sBAAsB;AAAA,cACtB,yBAAyB;AAAA,cACzB,OAAO;AAAA,YACX;AAAA,YACA,SAAS;AAAA,YAAS;AAAA;AAAA,QAAY;AAAA;AAAA,IAGtC,GACJ;AAAA,IAEA,8CAAC,UAAO,UAAU,CAAC,aAAa,WAAS,MAAC,OAAK,MAAC,MAAK,MAAK,SAAS,YAAY,wDAAC,uCAAiB,IAAI,YAAW,GAAE;AAAA,KACtH;AACJ;;;AF/HA,IAAAC,qBAAsB;AA8BS,IAAAC,uBAAA;AA5BhB,SAAR,WAA4B;AAAA,EACI,SAAS;AAAA,EACT,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AACJ,GAAoB;AACnD,QAAM,CAAC,MAAM,OAAO,QAAI,yBAA6B,OAAO;AAC5D,QAAM,CAAC,UAAU,WAAW,QAAI,yBAAS,EAAE;AAC3C,QAAM,WAAO,4BAAQ;AAErB,gCAAU,MAAM;AACZ,QAAI,CAAC,QAAQ;AACT,cAAQ,OAAO;AACf,kBAAY,EAAE;AAAA,IAClB;AAAA,EACJ,GAAG,CAAC,MAAM,CAAC;AAEX,SAAO;AAAA,IAAC;AAAA;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,KAAK,cAAc;AAAA,QACtB,IAAG;AAAA,MACP,CAAC;AAAA,MACD,QAAQ,QAAQ,WAAW,MAAM,QAAQ,OAAO,IAAI;AAAA,MAGhD,mBAAS,UAAU,8CAAC,aAAU,OAAO,UAAU,YAAY,CAAC,UAAU;AAClE,oBAAY,KAAK;AACjB,gBAAQ,QAAQ;AAAA,MACpB,GAAE,IAAK,8CAAC,cAAW,OAAO,UAAU,WAAW,SAAQ;AAAA;AAAA,EAC/D;AACJ;;;AIxCA,IAAAC,iBAAwB;AAYb,IAAAC,uBAAA;AATI,SAAR,QAAyB;AAAA,EACI;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AACV,GAAiB;AAC7C,QAAM,CAAC,QAAO,SAAS,QAAI,yBAAS,KAAK;AACzC,SAAO;AAAA,IAAC;AAAA;AAAA,MACJ,SAAS,MAAI;AACT,YAAG,QAAM,SAAQ;AACb,oBAAU,CAAC,MAAM;AAAA,QACrB;AAAA,MACJ;AAAA,MACA,WAAW,uCAAuC,QAAQ,oBAAoB,IAAI,IAAI,SAAS,IAAI,QAAM,WAAW,SAAS,iCAAiC,EAAE;AAAA,MAC/J;AAAA;AAAA,QACD,8CAAC,SAAI,OAAO;AAAA,UACR,YAAY;AAAA,QAChB,GACI,wDAAC,SAAI,WAAW,2BACX,mBACL,GACJ;AAAA;AAAA;AAAA,EACJ;AAEJ;;;AC3BA,IAAAC,iBAAiD;AAejD,IAAAC,qBAAwC;AAiB5B,IAAAC,uBAAA;AAdZ,IAAM,gBAAgB,CAAC;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf;AACJ,MAKG;AACtB,SAAO,+CAAC,SAAI,WAAU,kCAClB;AAAA,mDAAC,SAAI,WAAU,uCAAsC,SACjD;AAAA,qDAAC,SAAI,WAAU,0CACX;AAAA,sDAAC,SAAI,WAAU,uCACV,gBACL;AAAA,QACA,8CAAC,UAAK,WAAU,uCAAuC,gBAAK;AAAA,SAChE;AAAA,MAEI,WAAW;AAAA,QAAC;AAAA;AAAA,UACJ,WAAW,wCAAwC,eAAe,gDAAgD,EAAE;AAAA,UACpH,MAAM;AAAA,UACN,OAAO;AAAA;AAAA,MAA6B,IACxC;AAAA,QAAC;AAAA;AAAA,UAAe,WAAU;AAAA,UAAuC,MAAM;AAAA,UACvD,OAAO;AAAA;AAAA,MAA6B;AAAA,OAEhE;AAAA,IACC,YAAY;AAAA,MAAC;AAAA;AAAA,QACV,WAAW,0CAA0C,eAAe,kDAAkD,EAAE;AAAA,QACvH;AAAA;AAAA,IACL;AAAA,KACJ;AACJ;AACe,SAAR,SAA0B;AAAA,EACI,mBAAmB;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EACA,UAAU;AAAA,IACN;AAAA,IACA;AAAA,EACJ;AAAA,EACA,gBAAgB,CAAC,KAAK;AAAA,EACtB,UAAU;AACd,GAAkB;AAE/C,QAAM,CAAC,WAAW,YAAY,QAAI,yBAAS,KAAK;AAChD,QAAM,EAAC,MAAK,IAAI,YAAY;AAC5B,QAAM,CAAC,YAAY,aAAa,QAAI,yBAAS,KAAK;AAClD,QAAM,WAAO,4BAAQ;AACrB,QAAM,WAAW,UAAU;AAC3B,QAAM,YAOF;AAAA,IACA,QAAQ;AAAA,MACJ,MAAM,8CAAC,cAAW,MAAM,WAAW,KAAK,IAAG;AAAA,MAC3C,MAAM,KAAK,cAAc,EAAC,IAAI,SAAQ,CAAC;AAAA,MACvC,SAAS,MAAM,cAAc,CAAC,UAAU;AAAA,MACxC,MAAM;AAAA,IACV;AAAA,IACA,OAAO;AAAA,MACH,MAAM,8CAAC,aAAU,MAAM,WAAW,KAAK,IAAG;AAAA,MAC1C,MAAM,KAAK,cAAc,EAAC,IAAI,QAAO,CAAC;AAAA,MACtC,SAAS,MAAM;AACX,qBAAa,IAAI;AAAA,MACrB;AAAA,IACJ;AAAA,IACA,QAAQ;AAAA,MACJ,MAAM,8CAAC,cAAW,MAAM,WAAW,KAAK,IAAG;AAAA,MAC3C,MAAM;AAAA,MACN,SAAS,MAAM,MAAM,QAAQ;AAAA,IACjC;AAAA,IACA,SAAS;AAAA,MACL,MAAM,8CAAC,SAAM,MAAM,WAAW,KAAK,IAAG;AAAA,MACtC,MAAM;AAAA,MACN,SAAS,MAAM,MAAM,SAAS;AAAA,IAClC;AAAA,IACA,UAAU;AAAA,MACN,MAAM,8CAAC,gBAAa,MAAM,WAAW,KAAK,IAAG;AAAA,MAC7C,MAAM;AAAA,MACN,SAAS,MAAM,MAAM,UAAU;AAAA,IACnC;AAAA,IACA,QAAQ;AAAA,MACJ,MAAM,8CAAC,cAAW,MAAM,WAAW,KAAK,IAAG;AAAA,MAC3C,MAAM;AAAA,MACN,SAAS,MAAM,MAAM,QAAQ;AAAA,IACjC;AAAA,IACA,SAAS;AAAA,MACL,MAAM,8CAAC,eAAY,MAAM,WAAW,KAAK,IAAG;AAAA,MAC5C,MAAM;AAAA,MACN,SAAS,MAAM,MAAM,SAAS;AAAA,IAClC;AAAA,IACA,UAAU;AAAA,MACN,MAAM,8CAAC,gBAAa,MAAM,WAAW,KAAK,IAAG;AAAA,MAC7C,MAAM;AAAA,MACN,SAAS,MAAM,MAAM,UAAU;AAAA,IACnC;AAAA,IACA,UAAU;AAAA,MACN,MAAM,8CAAC,gBAAa,MAAM,WAAW,KAAK,IAAG;AAAA,MAC7C,MAAM;AAAA,MACN,SAAS,MAAM,MAAM,UAAU;AAAA,IACnC;AAAA,IACA,SAAS;AAAA,MACL,MAAM,8CAAC,eAAY,MAAM,WAAW,KAAK,IAAG;AAAA,MAC5C,MAAM;AAAA,MACN,SAAS,MAAM,MAAM,SAAS;AAAA,IAClC;AAAA,EAEJ;AAEA,QAAM,YAOF;AAAA,IACA,KAAK;AAAA,MACD,MAAM,8CAAC,eAAY,MAAM,WAAW,KAAK,IAAG;AAAA,MAC5C,YAAY,8CAAC,gBAAa,MAAM,WAAW,KAAK,IAAG;AAAA,MACnD,MAAM;AAAA,MACN,SAAS,MAAM,MAAM,KAAK;AAAA,IAC9B;AAAA,IACA,KAAK;AAAA,MACD,MAAM,8CAAC,eAAY,MAAM,WAAW,KAAK,IAAG;AAAA,MAC5C,YAAY,8CAAC,gBAAa,MAAM,WAAW,KAAK,IAAG;AAAA,MACnD,MAAM;AAAA,MACN,SAAS,MAAM,MAAM,KAAK;AAAA,IAC9B;AAAA,EACJ;AAGA,SAAO,gFACD;AAAA,MAAC,WAAW,CAAC,cAAc,+CAAC,SAAI,WAAU,qBACxC;AAAA,oDAAC,SAAI,WAAU,gCAEP,2BAAiB,IAAI,CAAC,MAAM;AACxB,eAAO;AAAA,UAAC;AAAA;AAAA,YACJ,MAAM,UAAU,CAAC,GAAG;AAAA,YACpB,MAAM,UAAU,CAAC,GAAG;AAAA,YACpB,SAAS,UAAU,CAAC,GAAG;AAAA,YAEvB,cAAc,KAAK,YAAY;AAAA,YAG3B,eAAK,YAAY,gFACb;AAAA,4DAAC,SAAI,WAAW,0CAA0C;AAAA,cAC1D,8CAAC,SAAI,WAAW,uCAER,wBAAc,IAAI,CAAC,MAAM;AACrB,sBAAMC,KAAI,UAAU,CAAC;AACrB,uBAAO;AAAA,kBAAC;AAAA;AAAA,oBAAI,WAAW;AAAA,oBAEX,SAASA,GAAE;AAAA,oBACnB;AAAA,qEAAC,SAAI,WAAW,+CACZ;AAAA,sEAAC,SAAI,WAAW,4CACX,UAAAA,GAAE,MACP;AAAA,wBACA;AAAA,0BAAC;AAAA;AAAA,4BACG,WAAW;AAAA,4BACV,UAAAA,GAAE;AAAA;AAAA,wBACP;AAAA,wBAEA;AAAA,0BAAC;AAAA;AAAA,4BACG,WAAW;AAAA,4BAA6C,UAAAA,GAAE;AAAA;AAAA,wBAAK;AAAA,yBACvE;AAAA,sBACA;AAAA,wBAAC;AAAA;AAAA,0BACG,WAAU;AAAA,0BACV,MAAM;AAAA,0BACN,OAAO;AAAA;AAAA,sBAA6B;AAAA;AAAA;AAAA,kBAjB3BA,GAAE;AAAA,gBAkBnB;AAAA,cACJ,CAAC,GAET;AAAA,eACJ;AAAA;AAAA,UAjCC;AAAA,QAmCT;AAAA,MACJ,CAAC,GAET;AAAA,MACC,QAAQ,SAAS,KACd,+CAAC,SAAI,WAAU,uBACX;AAAA,sDAAC,SAAI,WAAU,4BAA2B,wDAAC,uCAAiB,IAAI,qBAAoB,GAAE;AAAA,QACtF,8CAAC,SAAI,WAAU,4BAEP,kBAAQ,IAAI,CAAC,MAAM;AACf,iBAAO;AAAA,YAAC;AAAA;AAAA,cAAI,WAAU;AAAA,cACV,SAAS,UAAU,CAAC,GAAG;AAAA,cAAS,OAAO,UAAU,CAAC,GAAG;AAAA,cAC5D,oBAAU,CAAC,GAAG;AAAA;AAAA,YAFoC;AAAA,UAGvD;AAAA,QACJ,CAAC,GAET;AAAA,SACJ;AAAA,OAER;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACG,QAAQ;AAAA,QACR,SAAS,MAAM;AACX,uBAAa,KAAK;AAAA,QACtB;AAAA,QACA,QAAQ,UAAU,MAAM;AACpB,uBAAa,KAAK;AAAA,QACtB,IAAI;AAAA;AAAA,IACR;AAAA,KACJ;AAEJ;;;AC5OA,IAAAC,iBAAkC;;;ACElC,IAAAC,qBAA+B;AAanB,IAAAC,uBAAA;AAVG,SAAR,WAA4B;AAAA,EAEI;AAAA,EACA;AAAA,EACA,GAAG;AACP,GAAoB;AAEnD,QAAM,WAAW,UAAU;AAC3B,SAAO,+CAAC,SAAI,WAAU,uBACjB;AAAA,aAAS,SAAS,+CAAC,SAAI,WAAU,8BAC9B;AAAA,qDAAC,SAAI,WAAU,sCACX;AAAA,sDAAC,SAAI,WAAU,oCAAmC,wDAAC,uCAAiB,IAAG,cAAY,GAAE;AAAA,QACrF,8CAAC,SAAI,WAAU,uCAAsC,wDAAC,uCAAiB,IAAG,aAAW,GAAE;AAAA,SAC3F;AAAA,MAEI,WAAW,8CAAC,SAAI,WAAW,oCAAoC,SAAS,SAAS,wDAAC,kBAAe,MAAM,WAAS,KAAG,IAAG,GAAE;AAAA,OAGhI;AAAA,IACA,8CAAC,SAAI,WAAU,8BAA4B;AAAA,IAC3C,8CAAC,SAAI,WAAW,2BACZ,wDAAC,YAAU,GAAG,OAAM,GACxB;AAAA,KACJ;AAEJ;;;AChBQ,IAAAC,uBAAA;AAVO,SAAR,WAA4B;AAAA,EACI,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,GAAG;AACP,GAAoB;AACnD,QAAM,EAAC,QAAO,IAAI,YAAY;AAC9B,SAAO;AAAA,IAAC;AAAA;AAAA,MACJ,QAAQ,UAAU,CAAC;AAAA,MACnB;AAAA,MAEA,wDAAC,cAAY,GAAG,OAAO,SAAO;AAAA;AAAA,EAClC;AACJ;;;ACbA,IAAAC,iBAA0C;;;ACD/B,IAAAC,uBAAA;AADI,SAAR,YAA6B,EAAC,OAAK,IAAG,QAAM,SAAQ,GAAG,MAAK,GAAsB;AACrF,SAAO,+CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BACzE;AAAA;AAAA,MAAC;AAAA;AAAA,QAAK,UAAS;AAAA,QAAU,UAAS;AAAA,QAC5B,GAAE;AAAA,QACF,MAAM;AAAA;AAAA,IAAM;AAAA,IAClB;AAAA,MAAC;AAAA;AAAA,QAAK,UAAS;AAAA,QAAU,UAAS;AAAA,QAC5B,GAAE;AAAA,QACF,MAAM;AAAA;AAAA,IAAM;AAAA,KACtB;AAEJ;;;ADHA,IAAAC,qBAAwC;AA4B5B,IAAAC,uBAAA;AA1BZ,SAAS,cAAc;AACnB,QAAM,EAAC,QAAO,SAAQ,SAAQ,IAAI,YAAY;AAC9C,QAAM,CAAC,WAAW,YAAY,QAAI,yBAAS,KAAK;AAEhD,QAAM,WAAW,YAAY;AACzB,QAAI,UAAW;AACf,QAAI;AACA,mBAAa,IAAI;AACjB,YAAM,OAAO;AAAA,IACjB,SAAS,OAAO;AACZ,cAAQ,MAAM,KAAK;AAAA,IACvB,UAAE;AACE,mBAAa,KAAK;AAAA,IACtB;AAAA,EACJ;AACA,QAAM,WAAW,CAAC;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACc,MAId;AACA,WAAO,+CAAC,SAAI,WAAW,6BAA6B,SAChD;AAAA,qDAAC,SAAI,WAAW,qCACX;AAAA;AAAA,QACD,8CAAC,SAAI,WAAW,kCACX,UACL;AAAA,SACJ;AAAA,MACC;AAAA,OACL;AAAA,EAEJ;AACA,QAAM,cAAc,MAAI;AACpB,WAAO,8CAAC,SAAI,WAAW,gCAAgC;AAAA,EAC3D;AAEA,QAAM,CAAC,cAAa,eAAe,QAAI,yBAAS,KAAK;AACrD,QAAM,CAAC,QAAQ,SAAS,IAAI,iBAAiB;AAC7C,QAAM,WAAO,4BAAQ;AACrB,SAAO,+CAAC,SAAI,WAAW,gCACnB;AAAA,mDAAC,SAAI,WAAW,6BACZ;AAAA,oDAAC,YAAU,SAAS,MAAI;AACpB,kBAAU,OAAO;AAAA,MACrB,GAAG,MAAM,SAAQ,8CAAC,aAAU,MAAM,IAAI,OAAM,WAAS,IAAK,8CAAC,YAAS,MAAM,IAAI,OAAM,qBAAmB,GAAI,WAAW,8CAAC,aAAU,MAAM,IAAI,OAAM,qBAAmB,GAC/J,0BAAgB,OAAO,GAC5B;AAAA,MACA,8CAAC,eAAW;AAAA,MACZ,8CAAC,YAAS,SAAS,MAAI;AACnB,wBAAgB,IAAI;AAAA,MACxB,GAAG,MAAM,8CAAC,eAAY,MAAM,IAAI,OAAM,qBAAmB,GAAI,WAAW,8CAAC,kBAAe,MAAM,IAAI,OAAM,qBAAmB,GACtH,sBAAY,KAAK,cAAc;AAAA,QAC5B,IAAG;AAAA,MACP,CAAC,GACL;AAAA,OACJ;AAAA,IACA,8CAAC,UAAO,SAAS,UAAU,SAAS,WAAW,wDAAC,uCAAiB,IAAG,cAAY,GAAE;AAAA,IAClF,8CAAC,iBAAc,QAAQ,cAAc,SAAS,MAAI;AAC9C,sBAAgB,KAAK;AAAA,IACzB,GAAG,WAAW,MAAI;AACd,sBAAgB,KAAK;AAAA,IACzB,GAAE;AAAA,KACN;AACJ;AAEe,SAAR,YAA6B;AAAA,EACI;AAAA,EACA,GAAG;AACP,GAAqB;AACrD,SAAO,8CAAC,WAAS,GAAG,OAAO,SAAS,8CAAC,eAAW,GAC3C,UACL;AAEJ;;;AHzEA,IAAAC,qBAAwC;AA0BzB,IAAAC,uBAAA;AAxBA,SAAR,YAA6B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,aAAa;AAAA,EACb;AAAA,EACA,GAAG;AACP,GASjC;AACC,QAAM,WAAO,4BAAQ;AACrB,QAAM,EAAC,SAAS,SAAQ,IAAI,YAAY;AACxC,QAAM,CAAC,WAAW,YAAY,QAAI,yBAAS,KAAK;AAChD,MAAI,CAAC,SAAS;AACV,WAAO,gFACH;AAAA;AAAA,QAAC;AAAA;AAAA,UAAW;AAAA,UAAkB;AAAA,UAA8B;AAAA,UAAoC,QAAQ;AAAA,UAC5F,SAAS,MAAM,aAAa,KAAK;AAAA;AAAA,MAAE;AAAA,MAC/C,+CAAC,UAAO,WAAW,uBAAwB,GAAG,OAAO,WAAS,MAAC,SAAS,MAAM,aAAa,IAAI,GAC3F;AAAA,sDAAC,uBAAW;AAAA,QACZ,8CAAC,UAAK,wDAAC,uCAAiB,IAAG,SAAO,GAAE;AAAA,SACxC;AAAA,OACJ;AAAA,EACJ;AACA,SAAO,cAAc,+EAAG,uBAAY,IAChC,8CAAC,eAAY,UAAU,iBAAiB,MAAM,aAAa,KAAK,YAC5D,yDAAC,UAAO,SAAS,cAAc,WAAW,qBAAsB,GAAG,OAC/D;AAAA,kDAAC,qBAAS;AAAA,IACV,8CAAC,UAAM,qBAAW,gBAAgB,QAAQ,IAAK,aAAa,KAAK,cAAc;AAAA,MAC3E,IAAI;AAAA,IACR,CAAC,GAAG;AAAA,KACR,GACJ;AAER;;;AKzDA,IAAAC,iBAA2C;;;ACKhC,IAAAC,uBAAA;AALI,SAAR,cAA+B;AAAA,EAClC;AAAA,EACA,QAAM;AAAA,EACN,GAAG;AAC+B,GAAqC;AACvE,SAAO,+CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,MAAK,QAAO,OAAM,8BAA8B,GAAG,OAC1G;AAAA,kDAAC,OAAE,UAAS,wBACR;AAAA,MAAC;AAAA;AAAA,QAAK,UAAS;AAAA,QAAU,UAAS;AAAA,QAC5B,GAAE;AAAA,QACF,MAAM;AAAA;AAAA,IAAM,GACtB;AAAA,IACA,8CAAC,UACG,wDAAC,cAAS,IAAG,kBACT,wDAAC,UAAK,OAAM,MAAK,QAAO,MAAK,MAAK,SAAO,GAC7C,GACJ;AAAA,KACJ;AAEJ;;;ADRA,IAAAC,sBAAwC;AAW7B,IAAAC,uBAAA;AARX,IAAM,YAAY,CAAC;AAAA,EACI,UAAU;AAAA,EACV;AACJ,MAGb;AACF,QAAM,WAAW,UAAU;AAC3B,SAAO,+CAAC,SAAI,WAAW,kDAAkD,UAAU,YAAY,OAAO,IAEjG;AAAA,cAAU,8CAAC,kBAAe,MAAM,WAAW,KAAK,IAAG,IAAK,8CAAC,iBAAc,MAAM,WAAW,KAAK,IAAG;AAAA,IACjG,8CAAC,UACI,gBACL;AAAA,KACJ;AACJ;AAEe,SAAR,cAA+B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,GAEnC;AACC,QAAM,EAAC,UAAU,gBAAe,IAAI,YAAY;AAChD,QAAM,EAAC,QAAO,IAAI,YAAY;AAC9B,QAAM,CAAC,KAAK,MAAM,QAAI,yBAAS,QAAQ;AACvC,QAAM,CAAC,OAAO,QAAQ,QAAI,yBAAS,EAAE;AACrC,QAAM,WAAW,UAAU;AAE3B,gCAAU,MAAM;AACZ,QAAI,QAAQ;AACR,aAAO,QAAQ;AACf,eAAS,EAAE;AAAA,IACf;AAAA,EACJ,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,cAAU,wBAAQ,MAAM;AAC1B,WAAO,gBAAgB,GAAG;AAAA,EAC9B,GAAG,CAAC,GAAG,CAAC;AAER,QAAM,eAAW,wBAAQ,MAAM;AAC3B,WAAO,IAAI,UAAU,KAAK,IAAI,UAAU;AAAA,EAC5C,GAAG,CAAC,GAAG,CAAC;AAER,QAAM,SAAS,WAAW;AAE1B,QAAM,CAAC,cAAc,eAAe,QAAI,yBAAS,KAAK;AAEtD,QAAM,WAAW,YAAY;AACzB,QAAI,aAAc;AAClB,QAAI;AACA,sBAAgB,IAAI;AACpB,YAAM,MAAM,MAAM,eAAe;AAAA,QAC7B,UAAU;AAAA,MACd,CAAC;AAED,UAAI,UAAU,GAAG,GAAG;AAChB,cAAM,gBAAgB;AACtB,qBAAa,UAAU;AAAA,MAC3B,OAAO;AACH,iBAAS,IAAI,OAAO;AAAA,MACxB;AAAA,IAEJ,SAASC,QAAY;AACjB,eAASA,OAAM,OAAO;AAAA,IAC1B,UAAE;AACE,sBAAgB,KAAK;AAAA,IACzB;AAAA,EACJ;AACA,QAAM,WAAO,6BAAQ;AAErB,SAAO,8CAAC,mBAAgB,QAAQ,UAAU,SAAU,GAAG,OAAO,OAAO,SAAS,KAAK,cAAc;AAAA,IAC7F,IAAI,WAAW,sBAAsB;AAAA,EACzC,CAAC,GACG,yDAAC,SAAI,WAAU,wBACX;AAAA,kDAAC,SAAM,OAAO,KAAK,cAAc;AAAA,MAC7B,IAAI;AAAA,IACR,CAAC,GAAG,OACA;AAAA,MAAC;AAAA;AAAA,QACG,aAAa,KAAK,cAAc;AAAA,UAC5B,IAAI;AAAA,QACR,CAAC;AAAA,QACD,UAAU,OAAK;AACX,iBAAO,EAAE,OAAO,KAAK;AACrB,mBAAS,EAAE;AAAA,QACf;AAAA,QACA,OAAO;AAAA;AAAA,IACX,GACJ;AAAA,IACA,+CAAC,SAAI,WAAU,iBACX;AAAA;AAAA,QAAC;AAAA;AAAA,UAAU,SAAS;AAAA,UACT,MAAM,KAAK,cAAc;AAAA,YACrB,IAAI;AAAA,UACR,CAAC;AAAA;AAAA,MAAE;AAAA,MACd,8CAAC,aAAU,SAAS,UAAU,MAAM,KAAK,cAAc;AAAA,QACnD,IAAI;AAAA,MACR,CAAC,GAAE;AAAA,OAEP;AAAA,IAEA,8CAAC,UAAO,UAAU,CAAC,QAAQ,SAAS,cAAc,OAAO;AAAA,MACrD,WAAW,WAAW,SAAS;AAAA,IACnC,GAAG,SAAS,UAAU,MAAM,MAAM,OAAK,MAAC,WAAS,MAAC,wDAAC,wCAAiB,IAAG,WAAS,GAAE;AAAA,IAClF,8CAAC,UAAO,OAAO;AAAA,MACX,WAAW,WAAW,SAAS;AAAA,IACnC,GAAG,SAAS,MAAM,SAAS,MAAM,MAAM,OAAK,MAAC,wDAAC,wCAAiB,IAAG,YAAU,GAAE;AAAA,KAClF,GACJ;AACJ;;;AbnHA,kBAA4B;AAC5B,kCAA4D;AAC5D,qCAAkD;;;AeDlD,IAAY;CAAZ,SAAYC,uBAAoB;AAC5B,EAAAA,sBAAA,SAAA,IAAA;AACA,EAAAA,sBAAA,SAAA,IAAA;AACA,EAAAA,sBAAA,QAAA,IAAA;AACJ,GAJY,yBAAA,uBAAoB,CAAA,EAAA;;;AfIhC,oCAmCO;AACP,oBAAO;;;AgBnDA,IAAM,mBAAmB;AACzB,IAAM,uBAAuB;AAC7B,IAAM,wBAAwB;AAC9B,IAAM,qBAAqB;AAC3B,IAAM,qBAAqB;;;AhBuDlC,IAAAC,sBAAsB;AAyJV,IAAAC,uBAAA;AAvJZ,SAAS,cAAc;AAAA,EACI;AAAA,EACA;AACJ,GAGpB;AACC,QAAM,EAAC,YAAY,QAAO,QAAI,+CAAe;AAC7C,QAAM,aAAS,uCAAU;AACzB,QAAM,EAAC,QAAQ,MAAK,IAAI,SAAS;AAEjC,QAAM,CAAC,QAAQ,SAAS,QAAI,yBAAwD,EAAE;AACtF,QAAM,YAAY,eAAAC,QAAM,OAAO,MAAM;AACrC,QAAM,CAAC,OAAO,QAAQ,QAAI,yBAAS,EAAE;AAErC,gCAAU,MAAM;AACZ,UAAM,OAAO,YAAY;AACrB,YAAM,OAAO,WAAW;AACxB,iBAAW,IAAI;AAAA,IACnB;AACA,SAAK;AAAA,EACT,GAAG,CAAC,CAAC;AACL,gCAAU,MAAM;AACZ,QAAI,OAAO,WAAW;AAClB,cAAQ,IAAI,oBAAoB,OAAO,SAAS;AAChD,sBAAgB;AAAA,IACpB;AAAA,EACJ,GAAG,CAAC,OAAO,SAAS,CAAC;AACrB,QAAM,kBAAkB,YAAY;AAChC,QAAI,UAAU,QAAS;AACvB,UAAM,UAAU,OAAO,WAAW,SAAS,KAAK;AAChD,QAAI;AACA,gBAAU,OAAO;AACjB,gBAAU,UAAU;AACpB,YAAM,MAAM,QAAQ,SAAS,MAAM,iBAAiB,EAAC,QAAO,CAAC,IAAI,MAAM,kBAAkB,EAAC,QAAO,CAAC;AAClG,UAAI,CAAC,UAAU,GAAG,GAAG;AACjB,cAAM,IAAI,MAAM,IAAI,OAAO;AAAA,MAC/B;AACA,YAAM,QAAQ,IAAI,QAAQ,IAAI,IAAI,KAAK,QAAQ;AAC/C,UAAI,OAAO;AACP,kBAAU,QAAQ;AAClB,kBAAU,UAAU;AACpB,cAAM,UAAU,iIAAiI,IAAI,KAAK;AAC1J,cAAM,iBAAiB,IAAI,YAAY,EAAE,OAAO,OAAO;AACvD,cAAM,gBAAgB,MAAM,OAAO,YAAa,cAAc;AAC9D,YAAI,MAAuB;AAAA,UACvB,MAAM;AAAA,UACN;AAAA,UACA,WAAW,OAAO,KAAK,aAAa,EAAE,SAAS,QAAQ;AAAA,UACvD;AAAA,UACA,gBAAgB;AAAA,UAChB,oBAAoB,OAAO,QAAQ,QAAQ,QAAQ;AAAA,QACvD;AACA,cAAM,OAAO,QAAQ,SAAS,MAAM,gBAAgB,GAAG,IAAI,MAAM,iBAAiB,GAAG;AACrF,YAAI,MAAM;AACN,cAAI,CAAC,UAAU,IAAI,GAAG;AAClB,kBAAM,IAAI,MAAM,KAAK,OAAO;AAAA,UAChC;AACA,2BAAS,IAAI,IAAI;AACjB,oBAAU,SAAS;AACnB,oBAAU,UAAU;AACpB,cAAI,QAAQ,QAAQ;AAChB,mBAAQ,UAAU,OAAQ,OAAO;AAAA,cAC7B,MAAM;AAAA,YACV,CAAC;AACD,iCAAa,KAAK,UAAU;AAAA,cACxB,MAAM;AAAA,YACV,CAAC;AAAA,UACL,OAAO;AACH,kBAAM,MAAM;AAAA,cACR,KAAK,KAAK,KAAK;AAAA,cACf,OAAO,GAAG,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,YAAY;AAAA,YAC5D,CAAC;AAAA,UACL;AACA,uBAAa,UAAU;AAAA,QAC3B;AAAA,MACJ;AAAA,IACJ,SAASC,QAAY;AAGjB,gBAAU,OAAO;AACjB,eAASA,OAAM,OAAO;AACtB,gBAAU,UAAU;AAAA,IACxB;AAAA,EACJ;AACA,QAAM,eAQF,wBAAQ,MAAM;AAEd,QAAI,UAAU,WAAW;AACrB,aAAO;AAAA,QACH,SAAS;AAAA,QACT,UAAU,YAAY;AAClB,gBAAM,OAAO,WAAW;AAAA,QAC5B;AAAA,QACA,MAAM;AAAA,QACN,aAAa;AAAA,MACjB;AAAA,IACJ;AACA,QAAI,UAAU,SAAS;AACnB,aAAO;AAAA,QACH,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAU,YAAY;AAClB,mBAAS,EAAE;AACX,gBAAM,OAAO,WAAW;AACxB,qBAAW,IAAI;AAAA,QACnB;AAAA,QACA,aAAa;AAAA,QACb,SAAS;AAAA,MACb;AAAA,IACJ;AACA,QAAI,UAAU,SAAS;AACnB,aAAO;AAAA,QACH,YAAY;AAAA,QACZ,MAAM;AAAA,QACN,aAAa;AAAA,MACjB;AAAA,IACJ;AACA,QAAI,UAAU,UAAU;AACpB,aAAO;AAAA,QACH,YAAY;AAAA,QACZ,MAAM;AAAA,QACN,aAAa;AAAA,MACjB;AAAA,IACJ;AACA,QAAI,SAAS;AACT,aAAO;AAAA,QACH,YAAY;AAAA,QACZ,MAAM;AAAA,QACN,aAAa;AAAA,MACjB;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,SAAS;AAAA,MACT,UAAU,MAAM;AACZ,mBAAW,IAAI;AAAA,MACnB;AAAA,MACA,MAAM;AAAA,MACN,aAAa;AAAA,IACjB;AAAA,EACJ,GAAG,CAAC,SAAS,OAAO,WAAW,QAAQ,OAAO,OAAO,SAAS,CAAC;AAC/D,SAAO,8CAAC,SAAI,WAAU,4BAClB,yDAAC,SAAI,WAAW,sBACZ;AAAA,mDAAC,SAAI,WAAW,0BACZ;AAAA,oDAAC,SAAI,KAAK,SAAS,aAAY;AAAA,MAC/B,8CAAC,SAAI,WAAW,SAAS,UAAU,mBAAmB,IAAK,mBAAS,MAAK;AAAA,OAC7E;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QAAO,OAAK;AAAA,QAAC,MAAK;AAAA,QAAK,SAAS,SAAS;AAAA,QAAU,SAAS,SAAS;AAAA,QAC9D,UAAU,SAAS;AAAA,QACtB,mBAAS;AAAA;AAAA,IACd;AAAA,KACJ,GACJ;AACJ;AAEA,IAAM,UAAU;AAAA,EAAC,IAAI,mDAAqB;AAAA,EACtC,IAAI;AAAA,EACJ,IAAI,yDAA2B;AAAA,IAC3B,SAAQ,qBAAqB;AAAA,IAC7B,SAAQ;AAAA,MACJ,UAAU;AAAA,IACd;AAAA,EACJ,CAAC;AAAA,EACD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAkB;AAEX,SAAR,SAA0B;AAAA,EACI,OAAO;AAAA,EACP;AAAA,EACA,GAAG;AACP,GAG9B;AACC,QAAM,WAAO,6BAAQ;AACrB,SAAO,8CAAC,mBAAiB,GAAG,OAAO,OAAO,MAAM,SAAU,KAAK,cAAc;AAAA,IACzE,IAAG,QAAM,SAAS,aAAW;AAAA,EACjC,GAAE;AAAA,IACE,MAAK;AAAA,EACT,CAAC,GACG,wDAAC,kDAAmB,cAAU,2BAAc,QAAQ,GAChD,wDAAC,8CAAe,SAAkB,aAAW,MACzC,wDAAC,sDACG,wDAAC,iBAAc,WAAsB,MAAW,GACpD,GACJ,GACJ,GACJ;AACJ;;;AiB/QQ,IAAAC,uBAAA;AANO,SAAR,iBAAkC,EAAC,SAAQ,GAAsB;AACpE,QAAM,EAAC,UAAU,MAAK,IAAI,YAAY;AACtC,QAAM,EAAC,cAAa,IAAI,iBAAS;AACjC,QAAM,EAAC,MAAM,SAAS,QAAQ,WAAW,OAAO,SAAQ,IAAI,iBAAiB;AAE7E,SACI,gFACI;AAAA,kDAAC,iBAAc,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,SAAS,WAAW,CAAC,CAAC,SAAS,KAAK,WAAW,OAAM;AAAA,IACtG;AAAA,MAAC;AAAA;AAAA,QAAc,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,WAAW,cAAc;AAAA,QACrE,SAAS,cAAc;AAAA,QAAO,WAAW,cAAc;AAAA;AAAA,IAAQ;AAAA,IAI9E;AAAA,MAAC;AAAA;AAAA,QAAU,QAAQ,cAAe,WAAW,WAAW,CAAC,YAAY,CAAC,SAAW,WAAW,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC;AAAA,QACxG,SAAS;AAAA,QAAU,MAAM;AAAA,QAAS,WAAW;AAAA,QAAU,QAAQ;AAAA;AAAA,IAAI;AAAA,IAC7E;AAAA,KACL;AAGR;;;ACtBY,IAAAC;AAAA;AAAA,EAAA;AAAA;AAHZ,IAAM,YAAY,CAAC,EAAE,SAAS,MAAyB;AACnD,SAEQ,8CAAC,oBAEQ,UACT;AAGZ;AAEA,IAAO,kBAAQ;;;ACbf,IAAAC,iBAAkC;AAKlC,IAAMC,eAAa,eAAe;AAEnB,SAAR,cAA+B;AAAA,EACI;AACJ,GAEnC;AACC,QAAM,EAAC,UAAS,IAAI,sBAAc;AAClC,QAAM,kBAAkB,MAAM;AAC1B,WAAO,SAAS,eAAe,cAAc;AAAA,EACjD;AACA,QAAM,CAAC,cAAc,eAAe,QAAI,yBAAS,KAAK;AACtD,QAAM,EAAC,OAAO,OAAO,SAAQ,IAAI,sBAAc;AAC/C,QAAM,EAAC,YAAY,eAAc,IAAI,UAAU;AAG/C,gCAAU,MAAM;AACZ,QAAI,UAAU,MAAM;AAChB,UAAI,CAAC,OAAO,yBAAyB;AACjC,eAAO,0BAA0B,CAAC;AAAA,MACtC;AAEA,YAAM,iBAAiB,gBAAgB;AACvC,UAAI,CAAC,gBAAgB;AACjB,cAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,eAAO,KAAK;AACZ,eAAO,MAAM,UAAU,OAAO;AAC9B,eAAO,MAAM,UAAU;AACvB,eAAO,MAAM,QAAQ;AACrB,eAAO,MAAM,SAAS;AAEtB,eAAO,UAAU,CAAC,MAAM;AACpB,kBAAQ,MAAM,gBAAgB,CAAC;AAAA,QACnC;AACA,iBAAS,KAAK,aAAa,QAAQ,SAAS,KAAK,UAAU;AAE3D,eAAO,yBAAyB,CAAC,QAAgB,SAAe;AAC5D,gBAAM,YAAY,KAAK,IAAI,EAAE,SAAS,IAAI,KAAK,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;AAC1E,gBAAM,UAAU;AAAA,YACZ;AAAA,YACA;AAAA,YACA;AAAA,YACA,QAAQ;AAAA,UACZ;AACA,cAAI,SAAS,eAAe,cAAc,GAAG;AACzC,6BAAS,IAAI,sCAAsC,SAAQ,UAAU,IAAI;AACzE,4BAAgB,GAAG,eAAe,YAAY,SAAS,UAAU,IAAI;AACrE,mBAAO;AAAA,UACX;AACA,kBAAQ,MAAM,kBAAkB;AAChC,iBAAO;AAAA,QACX;AAEA,eAAO,8BAA8B,OAAO,QAAgB,MAAY,UAAU,QAAU;AACxF,iBAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACpC,kBAAM,YAAY,OAAO,uBAAuB,QAAQ,IAAI;AAC5D,gBAAI,CAAC,WAAW;AACZ,sBAAQ,MAAM,2BAA4B;AAC1C,qBAAO,IAAI,MAAM,2BAA4B,CAAC;AAC9C;AAAA,YACJ;AACA,mBAAO,wBAAwB,SAAS,IAAI,EAAC,SAAS,OAAM;AAC5D,mBAAO,wBAAwB,SAAS,EAAE,UAAU,WAAW,MAAM;AACjE,sBAAQ,MAAM,6BAA6B;AAAA,gBACvC;AAAA,gBACA;AAAA,gBACA;AAAA,cACJ,CAAC;AACD,qBAAO,OAAO,wBAAwB,SAAS;AAC/C,qBAAO,IAAI,MAAM,2BAA2B,CAAC;AAAA,YACjD,GAAG,OAAO;AAAA,UACd,CAAC;AAAA,QACL;AAAA,MACJ,OAAO;AACH,YAAI,eAAe,QAAQ,UAAU,OAAO,UAAU;AAClD,0BAAgB,KAAK;AACrB,yBAAe,MAAM,UAAU,OAAO;AAAA,QAC1C;AAAA,MACJ;AAAA,IACJ;AAAA,EAEJ,GAAG,CAAC,UAAU,IAAI,CAAC;AACnB,gCAAU,MAAM;AACZ,UAAM,gBAAgB,OAAO,MAAoB;AAE7C,UAAG,EAAE,WAAW,UAAU,KAAK,UAAU,GAAE,UAAU,KAAK,SAAO,CAAC,GAAE;AAChE;AAAA,MACJ;AACA,YAAM,MAAM,EAAE;AACd,UAAI,IAAI,UAAU,gBAAgB;AAC9B;AAAA,MACJ;AACA,uBAAS,IAAI,sBAAqB,CAAC;AAGnC,YAAM,YAAY,IAAI;AACtB,UAAI,aAAa,QAAQ;AACrB,yBAAS,IAAI,aAAa;AAC1B,wBAAgB,IAAI;AACpB;AAAA,MAEJ;AACA,UAAI,aAAa,OAAO,wBAAwB,SAAS,GAAG;AACxD,cAAM,EAAC,SAAS,QAAQ,QAAO,IAAI,OAAO,wBAAwB,SAAS;AAC3E,eAAO,OAAO,wBAAwB,SAAS;AAC/C,qBAAa,OAAO;AACpB,YAAI,IAAI,UAAU,WAAW;AACzB,kBAAQ,IAAI,IAAI;AAAA,QACpB,OAAO;AACH,kBAAQ,MAAM,oBAAoB,GAAG;AACrC,iBAAO,IAAI,MAAM,IAAI,KAAK,OAAO,CAAC;AAAA,QACtC;AAAA,MAEJ;AAAA,IACJ;AACA,WAAO,iBAAiB,WAAW,aAAa;AAChD,WAAO,MAAM;AACT,aAAO,oBAAoB,WAAW,aAAa;AAAA,IACvD;AAAA,EAEJ,GAAG,CAAC,CAAC;AAEL,gCAAU,MAAM;AACZ,QAAI,SAAS,YAAY,SAAS,OAAO,cAAc;AACnD,YAAM,MAAM,SAAS,IAAI,MAAM,GAAG,EAAE,CAAC;AACrC,YAAM,cAAc,YAAY;AAC5B,cAAM,OAAO;AAAA,UACT;AAAA,UACA;AAAA,YACI,OAAO;AAAA,YACP,aAAAA;AAAA,YACA,QAAQ;AAAA,YACR,aAAa;AAAA,YACb,SAAS;AAAA,UACb;AAAA,QAAC;AAAA,MAET;AACA,UAAI,CAAC,SAAS,SAAS;AACnB,oBAAY;AAAA,MAChB,OAAO;AACH,mBAAW;AAAA,UACP,SAAS,SAAS;AAAA,UAClB;AAAA,QACJ,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,UAAU,OAAO,YAAY,CAAC;AAElC,SAAO;AAAA,IACH;AAAA,EACJ;AAGJ;;;AC9JA,IAAAC,iBAAuC;AAOxB,SAAR,QAAyB;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAM7B;AAEC,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAO;AAAA,EACX,IAAI,sBAAc;AAClB,QAAM,yBAAqB,uBAAO,KAAK;AAEvC,QAAM,eAAe,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC/D,QAAM,aAAa,aAAa,IAAI,YAAY;AAEhD,QAAM,gBAAgB,aAAa,YAAI;AAEvC,gCAAU,MAAM;AACZ,aAAS,KAAK;AAAA,EAClB,GAAG,CAAC,KAAK,CAAC;AAEV,gCAAU,MAAM;AACZ,aAAS,KAAK;AAAA,EAClB,GAAG,CAAC,KAAK,CAAC;AAEV,gCAAU,MAAM;AACZ,iBAAa,aAAa;AAAA,EAC9B,GAAG,CAAC,aAAa,CAAC;AAElB,gCAAU,MAAI;AACV,cAAU,UAAQ,IAAI;AAAA,EAC1B,GAAE,CAAC,MAAM,CAAC;AAEV,gCAAU,MAAM;AACZ,QAAI,YAAY;AACZ,YAAM,YAAY,KAAK,MAAM,KAAK,UAAU,CAAC;AAC7C,UAAI,aAAa,UAAU,OAAO,UAAU,OAAO;AAC/C,cAAM;AAAA,UACF,KAAK,UAAU;AAAA,UACf,OAAO,YAAY,UAAU;AAAA,QACjC,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,UAAU,CAAC;AAEf,gCAAU,MAAM;AACZ,UAAM,iBAAiB,CAAC,UAAwB;AAC5C,YAAM,MAAM,MAAM;AAClB,UAAI,IAAI,UAAU,WAAW,IAAI,SAAS,IAAI,KAAK,SAAU,IAAI,KAAK,cAAc,IAAI,KAAK,eAAgB;AACzG,cAAM;AAAA,UACF,KAAK,IAAI,KAAK;AAAA,UACd,OAAO,IAAI,KAAK,SAAS,GAAG,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,YAAY;AAAA,QAC5E,CAAC;AAAA,MACL,WAAW,IAAI,SAAS,QAAQ;AAC5B,6BAAa,KAAK,UAAU,IAAI,IAAI;AACpC,YAAI,UAAU,OAAO,QAAQ;AACzB,iBAAO,OAAO,IAAI,IAAI;AAAA,QAC1B;AAAA,MACJ;AAAA,IACJ;AACA,WAAO,iBAAiB,WAAW,cAAc;AACjD,WAAO,MAAM;AACT,aAAO,oBAAoB,WAAW,cAAc;AAAA,IACxD;AAAA,EACJ,GAAG,CAAC,CAAC;AAEL,QAAM,eAAe,YAAY;AAC7B,qBAAS,IAAI,cAAc;AAC3B,QAAI,mBAAmB,SAAS;AAC5B;AAAA,IACJ;AACA,uBAAmB,UAAU;AAC7B,QAAI;AACA,YAAM,MAAM,MAAM,mBAAmB;AAErC,kBAAY,IAAI,IAAI;AAEpB,aAAO,IAAI;AAAA,IACf,SAAS,KAAK;AACV,cAAQ,MAAM,kBAAkB,GAAG;AAAA,IACvC,UAAE;AACE,yBAAmB,UAAU;AAAA,IACjC;AAAA,EACJ;AAEA,gCAAU,MAAM;AACZ,QAAI,OAAO;AACP,mBAAa;AAAA,IACjB;AAAA,EACJ,GAAG,CAAC,KAAK,CAAC;AAEV,QAAM,QAAQ,OAAO,EAAC,KAAK,OAAAC,OAAK,MAAsC;AAClE,WAAO,GAAG;AACV,aAASA,MAAK;AACd,UAAM,WAAW,MAAM,aAAa;AAEpC,yBAAa,KAAK,WAAW;AAAA,MACzB;AAAA,MACA,OAAAA;AAAA,MACA,KAAK,UAAU;AAAA,IACnB,CAAC;AACD,QAAI,UAAU,QAAQ,SAAS;AAC3B,aAAO,QAAQ;AAAA,QACX;AAAA,QACA,OAAAA;AAAA,QACA,KAAK,UAAU;AAAA,MACnB,CAAC;AAAA,IACL;AAAA,EACJ;AACA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA,WAAU;AAAA,IACV,QAAO;AAAA,EACX;AAEJ;;;A9ErIA,yBAA+C;AAC/C,IAAAC,sBAA2B;;;A+EP3B;AAAA,EACE,OAAS;AAAA,EACT,cAAgB;AAAA,EAChB,yBAA2B;AAAA,EAC3B,UAAY;AAAA,EACZ,MAAQ;AAAA,EACR,QAAU;AAAA,EACV,kBAAoB;AAAA,EACpB,eAAiB;AAAA,EACjB,kBAAoB;AAAA,EACpB,iBAAmB;AAAA,EACnB,QAAU;AAAA,EACV,mBAAqB;AAAA,EACrB,OAAS;AAAA,EACT,MAAQ;AAAA,EACR,YAAc;AAAA,EACd,WAAa;AAAA,EACb,kBAAoB;AAAA,EACpB,oBAAsB;AAAA,EACtB,eAAiB;AAAA,EACjB,cAAgB;AAAA,EAChB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,YAAc;AAAA,EACd,uBAAyB;AAAA,EACzB,cAAgB;AAAA,EAChB,aAAe;AAAA,EACf,UAAY;AAAA,EACZ,WAAa;AAAA,EACb,mBAAqB;AAAA,EACrB,kBAAoB;AAAA,EACpB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,oBAAsB;AAAA,EACtB,qBAAuB;AAAA,EACvB,SAAW;AAAA,EACX,UAAY;AAAA,EACZ,aAAe;AAAA,EACf,YAAc;AAChB;;;ACvCA;AAAA,EACE,OAAS;AAAA,EACT,cAAgB;AAAA,EAChB,yBAA2B;AAAA,EAC3B,UAAY;AAAA,EACZ,MAAQ;AAAA,EACR,QAAU;AAAA,EACV,kBAAoB;AAAA,EACpB,eAAiB;AAAA,EACjB,kBAAoB;AAAA,EACpB,iBAAmB;AAAA,EACnB,QAAU;AAAA,EACV,mBAAqB;AAAA,EACrB,OAAS;AAAA,EACT,MAAQ;AAAA,EACR,YAAc;AAAA,EACd,WAAa;AAAA,EACb,kBAAoB;AAAA,EACpB,oBAAsB;AAAA,EACtB,eAAiB;AAAA,EACjB,cAAgB;AAAA,EAChB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,YAAc;AAAA,EACd,uBAAyB;AAAA,EACzB,cAAgB;AAAA,EAChB,aAAe;AAAA,EACf,UAAY;AAAA,EACZ,WAAa;AAAA,EACb,mBAAqB;AAAA,EACrB,kBAAoB;AAAA,EACpB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,oBAAsB;AAAA,EACtB,qBAAuB;AAAA,EACvB,SAAW;AAAA,EACX,UAAY;AAAA,EACZ,aAAe;AAAA,EACf,YAAc;AAChB;;;ACvCA;AAAA,EACE,OAAS;AAAA,EACT,cAAgB;AAAA,EAChB,yBAA2B;AAAA,EAC3B,UAAY;AAAA,EACZ,MAAQ;AAAA,EACR,QAAU;AAAA,EACV,kBAAoB;AAAA,EACpB,eAAiB;AAAA,EACjB,kBAAoB;AAAA,EACpB,iBAAmB;AAAA,EACnB,QAAU;AAAA,EACV,mBAAqB;AAAA,EACrB,OAAS;AAAA,EACT,MAAQ;AAAA,EACR,YAAc;AAAA,EACd,WAAa;AAAA,EACb,kBAAoB;AAAA,EACpB,oBAAsB;AAAA,EACtB,eAAiB;AAAA,EACjB,cAAgB;AAAA,EAChB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,YAAc;AAAA,EACd,uBAAyB;AAAA,EACzB,cAAgB;AAAA,EAChB,aAAe;AAAA,EACf,UAAY;AAAA,EACZ,WAAa;AAAA,EACb,mBAAqB;AAAA,EACrB,kBAAoB;AAAA,EACpB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,oBAAsB;AAAA,EACtB,qBAAuB;AAAA,EACvB,SAAW;AAAA,EACX,UAAY;AAAA,EACZ,aAAe;AAAA,EACf,YAAc;AAChB;;;ACvCA;AAAA,EACE,OAAS;AAAA,EACT,cAAgB;AAAA,EAChB,yBAA2B;AAAA,EAC3B,UAAY;AAAA,EACZ,MAAQ;AAAA,EACR,QAAU;AAAA,EACV,kBAAoB;AAAA,EACpB,eAAiB;AAAA,EACjB,kBAAoB;AAAA,EACpB,iBAAmB;AAAA,EACnB,QAAU;AAAA,EACV,mBAAqB;AAAA,EACrB,OAAS;AAAA,EACT,MAAQ;AAAA,EACR,YAAc;AAAA,EACd,WAAa;AAAA,EACb,kBAAoB;AAAA,EACpB,oBAAsB;AAAA,EACtB,eAAiB;AAAA,EACjB,cAAgB;AAAA,EAChB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,YAAc;AAAA,EACd,uBAAyB;AAAA,EACzB,cAAgB;AAAA,EAChB,aAAe;AAAA,EACf,UAAY;AAAA,EACZ,WAAa;AAAA,EACb,mBAAqB;AAAA,EACrB,kBAAoB;AAAA,EACpB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,oBAAsB;AAAA,EACtB,qBAAuB;AAAA,EACvB,SAAW;AAAA,EACX,UAAY;AAAA,EACZ,aAAe;AAAA,EACf,YAAc;AAChB;;;ACvCA;AAAA,EACE,OAAS;AAAA,EACT,cAAgB;AAAA,EAChB,yBAA2B;AAAA,EAC3B,UAAY;AAAA,EACZ,MAAQ;AAAA,EACR,QAAU;AAAA,EACV,kBAAoB;AAAA,EACpB,eAAiB;AAAA,EACjB,kBAAoB;AAAA,EACpB,iBAAmB;AAAA,EACnB,QAAU;AAAA,EACV,mBAAqB;AAAA,EACrB,OAAS;AAAA,EACT,MAAQ;AAAA,EACR,YAAc;AAAA,EACd,WAAa;AAAA,EACb,kBAAoB;AAAA,EACpB,oBAAsB;AAAA,EACtB,eAAiB;AAAA,EACjB,cAAgB;AAAA,EAChB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,YAAc;AAAA,EACd,uBAAyB;AAAA,EACzB,cAAgB;AAAA,EAChB,aAAe;AAAA,EACf,UAAY;AAAA,EACZ,WAAa;AAAA,EACb,mBAAqB;AAAA,EACrB,kBAAoB;AAAA,EACpB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,oBAAsB;AAAA,EACtB,qBAAuB;AAAA,EACvB,SAAW;AAAA,EACX,UAAY;AAAA,EACZ,aAAe;AAAA,EACf,YAAc;AAChB;;;ACvCA;AAAA,EACE,OAAS;AAAA,EACT,cAAgB;AAAA,EAChB,yBAA2B;AAAA,EAC3B,UAAY;AAAA,EACZ,MAAQ;AAAA,EACR,QAAU;AAAA,EACV,kBAAoB;AAAA,EACpB,eAAiB;AAAA,EACjB,kBAAoB;AAAA,EACpB,iBAAmB;AAAA,EACnB,QAAU;AAAA,EACV,mBAAqB;AAAA,EACrB,OAAS;AAAA,EACT,MAAQ;AAAA,EACR,YAAc;AAAA,EACd,WAAa;AAAA,EACb,kBAAoB;AAAA,EACpB,oBAAsB;AAAA,EACtB,eAAiB;AAAA,EACjB,cAAgB;AAAA,EAChB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,YAAc;AAAA,EACd,uBAAyB;AAAA,EACzB,cAAgB;AAAA,EAChB,aAAe;AAAA,EACf,UAAY;AAAA,EACZ,WAAa;AAAA,EACb,mBAAqB;AAAA,EACrB,kBAAoB;AAAA,EACpB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,oBAAsB;AAAA,EACtB,qBAAuB;AAAA,EACvB,SAAW;AAAA,EACX,UAAY;AAAA,EACZ,aAAe;AAAA,EACf,YAAc;AAChB;;;ACvCA;AAAA,EACE,OAAS;AAAA,EACT,cAAgB;AAAA,EAChB,yBAA2B;AAAA,EAC3B,UAAY;AAAA,EACZ,MAAQ;AAAA,EACR,QAAU;AAAA,EACV,kBAAoB;AAAA,EACpB,eAAiB;AAAA,EACjB,kBAAoB;AAAA,EACpB,iBAAmB;AAAA,EACnB,QAAU;AAAA,EACV,mBAAqB;AAAA,EACrB,OAAS;AAAA,EACT,MAAQ;AAAA,EACR,YAAc;AAAA,EACd,WAAa;AAAA,EACb,kBAAoB;AAAA,EACpB,oBAAsB;AAAA,EACtB,eAAiB;AAAA,EACjB,cAAgB;AAAA,EAChB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,YAAc;AAAA,EACd,uBAAyB;AAAA,EACzB,cAAgB;AAAA,EAChB,aAAe;AAAA,EACf,UAAY;AAAA,EACZ,WAAa;AAAA,EACb,mBAAqB;AAAA,EACrB,kBAAoB;AAAA,EACpB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,oBAAsB;AAAA,EACtB,qBAAuB;AAAA,EACvB,SAAW;AAAA,EACX,UAAY;AAAA,EACZ,aAAe;AAAA,EACf,YAAc;AAChB;;;ACvCA;AAAA,EACE,OAAS;AAAA,EACT,cAAgB;AAAA,EAChB,yBAA2B;AAAA,EAC3B,UAAY;AAAA,EACZ,MAAQ;AAAA,EACR,QAAU;AAAA,EACV,kBAAoB;AAAA,EACpB,eAAiB;AAAA,EACjB,kBAAoB;AAAA,EACpB,iBAAmB;AAAA,EACnB,QAAU;AAAA,EACV,mBAAqB;AAAA,EACrB,OAAS;AAAA,EACT,MAAQ;AAAA,EACR,YAAc;AAAA,EACd,WAAa;AAAA,EACb,kBAAoB;AAAA,EACpB,oBAAsB;AAAA,EACtB,eAAiB;AAAA,EACjB,cAAgB;AAAA,EAChB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,YAAc;AAAA,EACd,uBAAyB;AAAA,EACzB,cAAgB;AAAA,EAChB,aAAe;AAAA,EACf,UAAY;AAAA,EACZ,WAAa;AAAA,EACb,mBAAqB;AAAA,EACrB,kBAAoB;AAAA,EACpB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,oBAAsB;AAAA,EACtB,qBAAuB;AAAA,EACvB,SAAW;AAAA,EACX,UAAY;AAAA,EACZ,aAAe;AAAA,EACf,YAAc;AAChB;;;ACvCA;AAAA,EACE,OAAS;AAAA,EACT,cAAgB;AAAA,EAChB,yBAA2B;AAAA,EAC3B,UAAY;AAAA,EACZ,MAAQ;AAAA,EACR,QAAU;AAAA,EACV,kBAAoB;AAAA,EACpB,eAAiB;AAAA,EACjB,kBAAoB;AAAA,EACpB,iBAAmB;AAAA,EACnB,QAAU;AAAA,EACV,mBAAqB;AAAA,EACrB,OAAS;AAAA,EACT,MAAQ;AAAA,EACR,YAAc;AAAA,EACd,WAAa;AAAA,EACb,kBAAoB;AAAA,EACpB,oBAAsB;AAAA,EACtB,eAAiB;AAAA,EACjB,cAAgB;AAAA,EAChB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,YAAc;AAAA,EACd,uBAAyB;AAAA,EACzB,cAAgB;AAAA,EAChB,aAAe;AAAA,EACf,UAAY;AAAA,EACZ,WAAa;AAAA,EACb,mBAAqB;AAAA,EACrB,kBAAoB;AAAA,EACpB,UAAY;AAAA,EACZ,qBAAuB;AAAA,EACvB,oBAAsB;AAAA,EACtB,qBAAuB;AAAA,EACvB,SAAW;AAAA,EACX,UAAY;AAAA,EACZ,aAAe;AAAA,EACf,YAAc;AAChB;;;AC5BO,IAAM,WAAmD;AAAA,EAC5D,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACR;;;AxF6CoB,IAAAC,uBAAA;AAtDpB,IAAM,cAAc,IAAI,+BAAY;AAU7B,IAAM,mBAAe,8BAA4C,MAAS;AAE1E,IAAM,gBAOR,CAAC,EAAC,UAAU,OAAO,QAAQ,QAAQ,SAAS,WAAW,OAAM,MAAM;AAEpE,QAAM,EAAC,cAAc,OAAO,WAAW,eAAe,QAAQ,WAAU,IAAI,QAAQ;AAAA,IAChF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AAED,mBAAS,IAAI,UAAS;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AAED,gBAAc;AAAA,IACV,iBAAiB;AAAA,EACrB,CAAC;AAED,SACI,8CAAC,oCAAa,QAAQ,YAAY,UAAU,SAAS,UAAU,GAC3D,wDAAC,0CAAoB,QAAQ,aACzB;AAAA,IAAC,aAAa;AAAA,IAAb;AAAA,MACG,OAAO;AAAA,QACH;AAAA,QACA,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,MACZ;AAAA,MAEA,wDAAC,mBAAW,UAAS;AAAA;AAAA,EACzB,GACJ,GACJ;AAGR;AAEO,IAAM,WAAW,MAAM;AAC1B,QAAM,cAAU,2BAAW,YAAY;AAEvC,MAAI,YAAY,QAAW;AACvB,UAAM,IAAI,MAAM,8CAA8C;AAAA,EAClE;AACA,SAAO;AACX;;;AyFjFA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC,sBAAuB;AAQhB,SAAS,YAAY,SAAyE;AACjG,QAAM,EAAC,QAAO,IAAI,YAAY;AAC9B,aAAO,8BAAyB;AAAA,IAC5B,UAAU,CAAC,UAAU;AAAA,IACrB,SAAS;AAAA,IACT,SAAS,YAAY;AACjB,UAAI,MAAM,MAAM,eAAe;AAC/B,aAAO,IAAI;AAAA,IACf;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;AAEO,SAAS,YAAY,SAAuE;AAC/F,QAAM,EAAC,QAAO,IAAI,YAAY;AAC9B,aAAO,8BAAuB;AAAA,IAC1B,UAAU,CAAC,UAAU;AAAA,IACrB,SAAS;AAAA,IACT,SAAS,YAAY;AACjB,UAAI,MAAM,MAAM,eAAe;AAC/B,aAAO,IAAI;AAAA,IACf;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;;;AChCA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAC,sBAAuB;AAOhB,SAAS,WAAW,SAAwE;AAC/F,QAAM,EAAC,QAAO,IAAI,YAAY;AAC9B,aAAO,8BAAwB;AAAA,IAC3B,UAAU,CAAC,SAAS;AAAA,IACpB,SAAS;AAAA,IACT,SAAS,YAAY;AACjB,UAAI,MAAM,MAAM,cAAc;AAC9B,aAAO,IAAI;AAAA,IACf;AAAA,IACA,GAAG;AAAA,EACP,CAAC;AACL;;;AClBA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,kBAA0B;AAEnB,IAAM,YAA0B,6CAAY;AAAA;AAAA,EAE/C,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB,EAAE,MAAM,cAAc,QAAQ,OAAO,UAAU,GAAG;AAAA,EAClE,SAAS;AAAA,IACL,SAAS;AAAA,MACL,MAAM,CAAC,yBAAyB;AAAA,IACpC;AAAA,EACJ;AAAA,EACA,gBAAgB;AAAA,IACZ,SAAS;AAAA,MACL,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA,IACZ;AAAA,EACJ;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,IACP,YAAY;AAAA,MACR,SAAS;AAAA,IACb;AAAA,EACJ;AAAA;AAEJ,CAAC;;;ACzBD,IAAAC,eAA4B;AAErB,IAAM,YAA0B,8CAAY;AAAA;AAAA,EAEjD,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,gBAAgB,EAAE,MAAM,cAAc,QAAQ,OAAO,UAAU,GAAG;AAAA,EAClE,SAAS;AAAA,IACP,SAAS;AAAA,MACP,MAAM,CAAC,iCAAiC;AAAA,IAC1C;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,IACT,YAAY;AAAA,MACV,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,IACA,aAAa,EAAE,SAAS,6CAA6C;AAAA,IACrE,sBAAsB;AAAA,MACpB,SAAS;AAAA,MACT,cAAc;AAAA,IAChB;AAAA,EACF;AAAA;AAEF,CAAC;","names":["import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_react","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_react","axios","import_zustand","import_react","handler","import_zustand","address","import_react","copy","import_jsx_runtime","did","error","import_react","import_react_intl","import_jsx_runtime","error","import_react","import_react","import_react","import_react_intl","import_jsx_runtime","import_react","import_react_intl","import_jsx_runtime","import_react_intl","import_jsx_runtime","import_react","import_jsx_runtime","import_react","import_react_intl","import_jsx_runtime","m","import_react","import_react_intl","import_jsx_runtime","import_jsx_runtime","import_react","import_jsx_runtime","import_react_intl","import_jsx_runtime","import_react_intl","import_jsx_runtime","import_react","import_jsx_runtime","import_react_intl","import_jsx_runtime","error","WalletAdapterNetwork","import_react_intl","import_jsx_runtime","React","error","import_jsx_runtime","import_jsx_runtime","import_react","AppClientId","import_react","token","import_react_intl","import_jsx_runtime","import_react_query","import_react_query","import_viem"]}
|