create-packer 1.45.19 → 1.46.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/package.json +1 -1
- package/template/electron-react/.editorconfig +14 -0
- package/template/electron-react/.env +3 -0
- package/template/electron-react/.env.development +3 -0
- package/template/electron-react/.gitignore +28 -0
- package/template/electron-react/.husky/commit-msg +4 -0
- package/template/electron-react/.husky/pre-commit +4 -0
- package/template/electron-react/.prettierignore +6 -0
- package/template/electron-react/.prettierrc +18 -0
- package/template/electron-react/.stylelintignore +4 -0
- package/template/electron-react/.stylelintrc +35 -0
- package/template/electron-react/.vscode/extensions.json +7 -0
- package/template/electron-react/README.md +14 -0
- package/template/electron-react/assets/rspack.png +0 -0
- package/template/electron-react/build.config.json +40 -0
- package/template/electron-react/commitlint.config.cjs +1 -0
- package/template/electron-react/configs/config.ts +25 -0
- package/template/electron-react/configs/createChunks.ts +26 -0
- package/template/electron-react/configs/rsbuild.main.config.ts +54 -0
- package/template/electron-react/configs/rsbuild.preload.config.ts +54 -0
- package/template/electron-react/configs/rsbuild.renderer.config.ts +73 -0
- package/template/electron-react/env.d.ts +12 -0
- package/template/electron-react/eslint.config.mjs +108 -0
- package/template/electron-react/main/main.ts +83 -0
- package/template/electron-react/main/tools/html.ts +8 -0
- package/template/electron-react/main/tools/index.ts +1 -0
- package/template/electron-react/package.json +97 -0
- package/template/electron-react/pnpm-lock.yaml +10158 -0
- package/template/electron-react/postcss.config.cjs +8 -0
- package/template/electron-react/preload/index.ts +1 -0
- package/template/electron-react/preload/tools.ts +26 -0
- package/template/electron-react/renderer/domain/app/app.model.ts +7 -0
- package/template/electron-react/renderer/domain/app/components/app-context.tsx +31 -0
- package/template/electron-react/renderer/domain/app/components/app.tsx +25 -0
- package/template/electron-react/renderer/domain/app/components/index.ts +1 -0
- package/template/electron-react/renderer/domain/app/index.ts +3 -0
- package/template/electron-react/renderer/domain/app/startApp.tsx +6 -0
- package/template/electron-react/renderer/domain/router/components/index.ts +2 -0
- package/template/electron-react/renderer/domain/router/components/route-layout.tsx +19 -0
- package/template/electron-react/renderer/domain/router/components/sub-route-outlet.tsx +22 -0
- package/template/electron-react/renderer/domain/router/home/ids.ts +3 -0
- package/template/electron-react/renderer/domain/router/home/index.ts +2 -0
- package/template/electron-react/renderer/domain/router/home/routes.tsx +13 -0
- package/template/electron-react/renderer/domain/router/ids.ts +6 -0
- package/template/electron-react/renderer/domain/router/index.ts +4 -0
- package/template/electron-react/renderer/domain/router/router.tsx +28 -0
- package/template/electron-react/renderer/domain/router/router.types.ts +3 -0
- package/template/electron-react/renderer/global.d.ts +16 -0
- package/template/electron-react/renderer/index.html +11 -0
- package/template/electron-react/renderer/main.ts +3 -0
- package/template/electron-react/renderer/pages/home/index.ts +1 -0
- package/template/electron-react/renderer/pages/home/view.styled.ts +5 -0
- package/template/electron-react/renderer/pages/home/view.tsx +10 -0
- package/template/electron-react/renderer/pages/index.tsx +18 -0
- package/template/electron-react/renderer/pages/not-found.tsx +3 -0
- package/template/electron-react/renderer/public/rsbuild-logo.svg +1 -0
- package/template/electron-react/renderer/scripts/createChunks.ts +26 -0
- package/template/electron-react/renderer/scripts/index.ts +1 -0
- package/template/electron-react/renderer/shared/assets/react.svg +1 -0
- package/template/electron-react/renderer/shared/components/componentInstance.tsx +80 -0
- package/template/electron-react/renderer/shared/components/index.ts +1 -0
- package/template/electron-react/renderer/shared/constant/index.ts +0 -0
- package/template/electron-react/renderer/shared/hooks/defineRouter/defineRouter.types.ts +33 -0
- package/template/electron-react/renderer/shared/hooks/defineRouter/deineRouter.tsx +161 -0
- package/template/electron-react/renderer/shared/hooks/defineRouter/index.ts +2 -0
- package/template/electron-react/renderer/shared/hooks/index.ts +6 -0
- package/template/electron-react/renderer/shared/hooks/useInterval.ts +26 -0
- package/template/electron-react/renderer/shared/hooks/useLoadingAction.ts +27 -0
- package/template/electron-react/renderer/shared/hooks/useLowPriorityState.ts +26 -0
- package/template/electron-react/renderer/shared/hooks/useSyncState.ts +15 -0
- package/template/electron-react/renderer/shared/hooks/useVisible.ts +27 -0
- package/template/electron-react/renderer/shared/service/api.ts +1 -0
- package/template/electron-react/renderer/shared/service/home.ts +9 -0
- package/template/electron-react/renderer/shared/service/index.ts +3 -0
- package/template/electron-react/renderer/shared/service/request.ts +5 -0
- package/template/electron-react/renderer/shared/styles/global.ts +7 -0
- package/template/electron-react/renderer/shared/styles/index.ts +2 -0
- package/template/electron-react/renderer/shared/styles/theme.ts +60 -0
- package/template/electron-react/renderer/shared/tools/index.ts +0 -0
- package/template/electron-react/tsconfig.json +33 -0
- package/template/electron-react/tsconfig.node.json +10 -0
- package/template/electron-vue/.editorconfig +14 -0
- package/template/electron-vue/.env +3 -0
- package/template/electron-vue/.env.development +3 -0
- package/template/electron-vue/.gitignore +28 -0
- package/template/electron-vue/.husky/commit-msg +4 -0
- package/template/electron-vue/.husky/pre-commit +4 -0
- package/template/electron-vue/.prettierignore +6 -0
- package/template/electron-vue/.prettierrc +18 -0
- package/template/electron-vue/.stylelintignore +4 -0
- package/template/electron-vue/.stylelintrc +35 -0
- package/template/electron-vue/.vscode/extensions.json +9 -0
- package/template/electron-vue/README.md +14 -0
- package/template/electron-vue/assets/rspack.png +0 -0
- package/template/electron-vue/build.config.json +40 -0
- package/template/electron-vue/commitlint.config.cjs +1 -0
- package/template/electron-vue/configs/config.ts +25 -0
- package/template/electron-vue/configs/createChunks.ts +26 -0
- package/template/electron-vue/configs/rsbuild.main.config.ts +54 -0
- package/template/electron-vue/configs/rsbuild.preload.config.ts +54 -0
- package/template/electron-vue/configs/rsbuild.renderer.config.ts +64 -0
- package/template/electron-vue/env.d.ts +18 -0
- package/template/electron-vue/eslint.config.mjs +115 -0
- package/template/electron-vue/main/main.ts +83 -0
- package/template/electron-vue/main/tools/html.ts +8 -0
- package/template/electron-vue/main/tools/index.ts +1 -0
- package/template/electron-vue/package.json +87 -0
- package/template/electron-vue/pnpm-lock.yaml +10158 -0
- package/template/electron-vue/postcss.config.cjs +9 -0
- package/template/electron-vue/preload/index.ts +1 -0
- package/template/electron-vue/preload/tools.ts +26 -0
- package/template/electron-vue/renderer/domain/app/app.ts +4 -0
- package/template/electron-vue/renderer/domain/app/components/app.vue +18 -0
- package/template/electron-vue/renderer/domain/app/components/index.ts +1 -0
- package/template/electron-vue/renderer/domain/app/createComponentInstance.ts +43 -0
- package/template/electron-vue/renderer/domain/app/index.ts +3 -0
- package/template/electron-vue/renderer/domain/router/home/index.ts +2 -0
- package/template/electron-vue/renderer/domain/router/home/names.ts +3 -0
- package/template/electron-vue/renderer/domain/router/home/routes.ts +8 -0
- package/template/electron-vue/renderer/domain/router/index.ts +26 -0
- package/template/electron-vue/renderer/domain/router/names.ts +5 -0
- package/template/electron-vue/renderer/index.html +11 -0
- package/template/electron-vue/renderer/main.css +4 -0
- package/template/electron-vue/renderer/main.ts +6 -0
- package/template/electron-vue/renderer/pages/home/index.ts +1 -0
- package/template/electron-vue/renderer/pages/home/view.vue +12 -0
- package/template/electron-vue/renderer/pages/index.ts +1 -0
- package/template/electron-vue/renderer/pages/index.vue +3 -0
- package/template/electron-vue/renderer/pages/not-found.vue +3 -0
- package/template/electron-vue/renderer/public/vite.svg +1 -0
- package/template/electron-vue/renderer/shared/assets/vue.svg +1 -0
- package/template/electron-vue/renderer/shared/components/index.ts +0 -0
- package/template/electron-vue/renderer/shared/constant/index.ts +0 -0
- package/template/electron-vue/renderer/shared/hooks/index.ts +2 -0
- package/template/electron-vue/renderer/shared/hooks/useList.ts +86 -0
- package/template/electron-vue/renderer/shared/hooks/useVisible.ts +27 -0
- package/template/electron-vue/renderer/shared/service/api.ts +1 -0
- package/template/electron-vue/renderer/shared/service/home.ts +7 -0
- package/template/electron-vue/renderer/shared/service/index.ts +3 -0
- package/template/electron-vue/renderer/shared/service/request.ts +5 -0
- package/template/electron-vue/renderer/shared/tools/index.ts +0 -0
- package/template/electron-vue/tsconfig.json +25 -0
- package/template/electron-vue/tsconfig.node.json +10 -0
- package/template/web-app/react-rsbuild/rsbuild.config.ts +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './tools'
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { contextBridge, ipcRenderer, IpcRendererEvent } from 'electron'
|
|
2
|
+
|
|
3
|
+
export type Channels = 'ipc-example'
|
|
4
|
+
|
|
5
|
+
const electronHandler = {
|
|
6
|
+
ipcRenderer: {
|
|
7
|
+
sendMessage(channel: Channels, ...args: unknown[]) {
|
|
8
|
+
ipcRenderer.send(channel, ...args)
|
|
9
|
+
},
|
|
10
|
+
on(channel: Channels, func: (...args: unknown[]) => void) {
|
|
11
|
+
const subscription = (_event: IpcRendererEvent, ...args: unknown[]) => func(...args)
|
|
12
|
+
ipcRenderer.on(channel, subscription)
|
|
13
|
+
|
|
14
|
+
return () => {
|
|
15
|
+
ipcRenderer.removeListener(channel, subscription)
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
once(channel: Channels, func: (...args: unknown[]) => void) {
|
|
19
|
+
ipcRenderer.once(channel, (_event, ...args) => func(...args))
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
contextBridge.exposeInMainWorld('electron', electronHandler)
|
|
25
|
+
|
|
26
|
+
export type ElectronHandler = typeof electronHandler
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { FunctionComponent, ReactNode } from 'react'
|
|
2
|
+
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
|
|
3
|
+
import { Global, ThemeProvider } from '@emotion/react'
|
|
4
|
+
import { request } from '@/renderer/shared/service'
|
|
5
|
+
import { globalCss, theme } from '@/renderer/shared/styles'
|
|
6
|
+
|
|
7
|
+
const queryClient = new QueryClient({
|
|
8
|
+
defaultOptions: {
|
|
9
|
+
queries: {
|
|
10
|
+
queryFn: async ({ queryKey }) => {
|
|
11
|
+
const { data } = await request.get(queryKey[0] as string, {
|
|
12
|
+
params: queryKey[1]
|
|
13
|
+
})
|
|
14
|
+
return data
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
})
|
|
19
|
+
export interface propsType {
|
|
20
|
+
children: ReactNode
|
|
21
|
+
}
|
|
22
|
+
export const Root: FunctionComponent<propsType> = props => {
|
|
23
|
+
return (
|
|
24
|
+
<ThemeProvider theme={theme}>
|
|
25
|
+
<QueryClientProvider client={queryClient}>
|
|
26
|
+
<Global styles={globalCss} />
|
|
27
|
+
{props.children}
|
|
28
|
+
</QueryClientProvider>
|
|
29
|
+
</ThemeProvider>
|
|
30
|
+
)
|
|
31
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useLayoutEffect, Suspense } from 'react'
|
|
2
|
+
import { RouterProvider } from 'react-router/dom'
|
|
3
|
+
import { request } from '@/renderer/shared/service'
|
|
4
|
+
import { routerInstance } from '@/renderer/domain/router'
|
|
5
|
+
import * as AppContext from './app-context'
|
|
6
|
+
|
|
7
|
+
export const Root = () => {
|
|
8
|
+
useLayoutEffect(() => {
|
|
9
|
+
request.interceptors.response.use(
|
|
10
|
+
res => res,
|
|
11
|
+
error => {
|
|
12
|
+
console.log(error)
|
|
13
|
+
return Promise.reject(error)
|
|
14
|
+
}
|
|
15
|
+
)
|
|
16
|
+
}, [])
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<AppContext.Root>
|
|
20
|
+
<Suspense fallback={<>loading...</>}>
|
|
21
|
+
<RouterProvider router={routerInstance} />
|
|
22
|
+
</Suspense>
|
|
23
|
+
</AppContext.Root>
|
|
24
|
+
)
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as App from './app'
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { FunctionComponent } from 'react'
|
|
2
|
+
import { Outlet } from 'react-router'
|
|
3
|
+
import { last } from 'es-toolkit'
|
|
4
|
+
import { routeType, useMatchRoutes } from '@/renderer/domain/router'
|
|
5
|
+
|
|
6
|
+
export interface propsType {
|
|
7
|
+
Index: FunctionComponent
|
|
8
|
+
rootId: routeType['id']
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const Root: FunctionComponent<propsType> = ({ Index, rootId }) => {
|
|
12
|
+
const matchRoutes = useMatchRoutes()
|
|
13
|
+
|
|
14
|
+
if (last(matchRoutes)?.id === rootId) {
|
|
15
|
+
return <Index />
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return <Outlet />
|
|
19
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FunctionComponent } from 'react'
|
|
2
|
+
import { Outlet } from 'react-router'
|
|
3
|
+
import { useMount } from 'react-use'
|
|
4
|
+
import { last } from 'es-toolkit'
|
|
5
|
+
import { useMatchRoutes, useRouter, routeType } from '@/renderer/domain/router'
|
|
6
|
+
|
|
7
|
+
export interface propsType {
|
|
8
|
+
rootId: routeType['id']
|
|
9
|
+
homeId: routeType['id']
|
|
10
|
+
}
|
|
11
|
+
export const Root: FunctionComponent<propsType> = props => {
|
|
12
|
+
const matchRoutes = useMatchRoutes()
|
|
13
|
+
const navigate = useRouter(state => state.navigate)
|
|
14
|
+
|
|
15
|
+
useMount(() => {
|
|
16
|
+
if (last(matchRoutes)?.id === props.rootId) {
|
|
17
|
+
navigate({ id: props.homeId })
|
|
18
|
+
}
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
return <Outlet />
|
|
22
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { lazy } from 'react'
|
|
2
|
+
import { type routeType } from '../router.types'
|
|
3
|
+
import ids from './ids'
|
|
4
|
+
|
|
5
|
+
const routes: routeType[] = [
|
|
6
|
+
{
|
|
7
|
+
path: 'home',
|
|
8
|
+
id: ids.home,
|
|
9
|
+
Component: lazy(() => import('@/renderer/pages/home'))
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
export default routes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { lazy } from 'react'
|
|
2
|
+
import { createBrowserRouter } from 'react-router'
|
|
3
|
+
import { defineRouter, routeType } from '@/renderer/shared/hooks'
|
|
4
|
+
import ids from './ids'
|
|
5
|
+
import * as home from './home'
|
|
6
|
+
|
|
7
|
+
const routes: routeType[] = [
|
|
8
|
+
{
|
|
9
|
+
path: '/',
|
|
10
|
+
id: ids.root,
|
|
11
|
+
Component: lazy(() => import('@/renderer/pages')),
|
|
12
|
+
children: [
|
|
13
|
+
...home.routes,
|
|
14
|
+
{
|
|
15
|
+
path: '*',
|
|
16
|
+
id: ids.notFound,
|
|
17
|
+
Component: lazy(() => import('@/renderer/pages/not-found'))
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
export const routerInstance = createBrowserRouter(routes as never, {
|
|
24
|
+
basename: import.meta.env.PUBLIC_BASE_URL
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
export const { useMatchRoutes, useQuery, useRouter, useRoutePermission } =
|
|
28
|
+
defineRouter(routerInstance)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import '@emotion/react'
|
|
2
|
+
import { type themeType } from '@/renderer/shared/styles'
|
|
3
|
+
|
|
4
|
+
declare module '*.svg' {
|
|
5
|
+
const content: string
|
|
6
|
+
export default content
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
declare module '*.svg?react' {
|
|
10
|
+
const ReactComponent: FunctionComponent<SVGProps<SVGSVGElement>>
|
|
11
|
+
export default ReactComponent
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
declare module '@emotion/react' {
|
|
15
|
+
export interface Theme extends themeType {}
|
|
16
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
</head>
|
|
7
|
+
<body>
|
|
8
|
+
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
9
|
+
<div id="root"></div>
|
|
10
|
+
</body>
|
|
11
|
+
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './view'
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useEffect } from 'react'
|
|
2
|
+
import { Outlet, useLocation } from 'react-router'
|
|
3
|
+
import { useRouter, routerIds } from '@/renderer/domain/router'
|
|
4
|
+
|
|
5
|
+
const Layout = () => {
|
|
6
|
+
const location = useLocation()
|
|
7
|
+
const navigate = useRouter(state => state.navigate)
|
|
8
|
+
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (location.pathname === '/') {
|
|
11
|
+
navigate({ id: routerIds.home })
|
|
12
|
+
}
|
|
13
|
+
}, [location])
|
|
14
|
+
|
|
15
|
+
return <Outlet />
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export default Layout
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2500 2345"><g clip-path="url(#a)"><path d="M297.7 1807.3a4380.6 4380.6 0 0 0-179.8 84l-36 40.8c-13.5 37.3-11.2 95.8-16.9 135.3l16.6 36 21.4-8s8.7-33.3 64.2-89l50.7-43.4s181.3-107.7 207-119.9c-36.4-10.2-90.9-25.2-127.2-35.8Z" fill="#FF5A5A"/><path d="M423.6 1838.9c-76.3 64.4-178.3 98.1-250 168.4l-17.7 25.8c124-76.6 251 47.5 363.6 81.3 27 8 2.6-7 0-25.5-1.1-7.6 3.9-20.6 15-39.2l.4-28-77.4-20 13.5-70.1 39.2-28.3c7.8-13.2 46-33.3 55-46l-83.2-19.7-58.4 1.3Z" fill="#9D3737"/><path d="M1988.5 1829v-91.3l-4-71-17-67.4-16-45.5-24.6-41-19.7-36.1-18.4 45.2-33.5 55.7-26 32.8-33.6 27.1-62.7 34.4h-59.5l-56.9-27-50.4-28.2-36.2-46.3-11-35.3-20.2-119.6-8.6 24.8-31 58-36.4 52-50.2 44.7-40.4 21.8-54.6 14.8-40.3-1.6-111.3-49.8-54.8-67.4-18.3-36.1-44.8 90.6-51.4 64.3-80 84.5-78.7 50.3-68.5 51.5c3 30 12.3 51.3 28 63.8 40.2 31.8 66 87 103.3 114.5 47.5 35.2 91.6 52 134.5 78.9 40.4 25.4 50 72.3 85.4 92 132.7 73.7 255.7 82.9 287.3 78 37.7 7.3 89-1.5 126.9-1 26.3-6 89-11.8 121.7-25.6 51.8-21.9 134.8-51.2 184.5-83.6 58.9-38.4 97-95.6 111.4-112.6 14.4-17 28.5-50 39-68.7 11.9-23.4 17.9-47.1 26.2-72l10.8-52.7Z" fill="url(#b)"/><path d="M902.2 1727.3c70.1 104.5 330.1 42.8 330.1-88.1 0 0-74-16.2-105.9-47.3l-71.5-85.6c-39.3 76.4-152.7 163.8-164.4 201.7 0 0 7.5 12 11.7 19.3ZM1733 1680c-4.8 106 163.2 155.5 243.8 106.2 4.7-99.6-8-205.5-69.3-285.6-19.8 22.2-21.8 70.2-73 116.1a349.6 349.6 0 0 1-101.4 63.3Z" fill="#F28773"/><path d="M1396.8 1631.6c15.9 55.2 100.3 69.4 160 79.4-50.6 16.8-108 8.7-154.4-16-26-11.2-48.8-54.2-5.6-63.4Z" fill="#564341"/><path d="M724.6 1848.3c-11.8-19.3-178.2 12.4-254.4 104.5-37 39 14.6 59.5 52.2 54 111.3-28.3 96-95.1 259.5-77 2 .4-28.7-34.5-57.3-81.5Z" fill="url(#c)"/><path d="M799.8 1948c-76.8-29.1-195.4 1.8-255.7 81.5-21.3 28.2-54.2 111.5-17.3 103.3 93-20.6 160.1-20.3 172-31.3 43.5-40.1 74.2-68.9 186.1-73-13.4-18-56.5-69.8-85-80.6Z" fill="url(#d)"/><path d="M946.4 2046.7a220.9 220.9 0 0 0-230.2 44.9c-140.7 127.5-121.5 205.7-121.5 205.7l14.7 25.1c38.5 15.1 204.5-32.4 250.4-45.6 87.5-25 181.1-34.2 268-61.7 0 0-154.3-149-181.4-168.4Z" fill="url(#e)"/><path d="M1647 2224.3c111.5 8.8 219.9 44.2 324 83.3l25.8 8.7 21-3.9c29-46.4-17-94.3-46.2-128.2-27.4-28.5-73.1-41.3-111-48.7-79.5-7.3-145.8 55.6-213.6 88.8Z" fill="url(#f)"/><path d="M1807.5 2142.6c67-19.9 141 3 190.1 58 0 0 38.2 23.6 49.1 16.6 10.4-6.6-1.9-52.8-7.6-63.6-34.2-65.2-61.4-105.2-128.7-124.3-33.5 37.3-65.7 79-102.9 113.3Z" fill="url(#g)"/><path d="M1924.6 2025c93.8 29.7 68 63.2 153.6 83.2 5.3 1.2 5.8-23 5.8-28.5 0-26.2-72.2-87.3-111.5-112.8-16-10.4-55.2 55.7-47.9 58Z" fill="url(#h)"/><path d="M1564.8 948.7c4.8 31.3-5 121.3-5 121.3 264-69.4 624.3-460.8 91.3-385.5 56.2-81.6 171-125.6 214-219.3l-2.3-11.5C1624 465.1 1384.7 588.6 1237 778.1l-11.8 34.7 16 40c108.7 33.4 226.9 23.8 340 32.8 0 0-19.5 53.8-16.4 63.1Z" fill="url(#i)"/><path d="M1511 1375.6c-46.6 156.5 126.3 190.8 243.9 133.6 264-209.8 193.3-699.1-201.6-407.8-22.3 35.8-16.7 131.3-17.6 136-6.5 34.5-22.4 130.8-24.6 138.2Z" fill="url(#j)"/><path d="M1067.6 1407.5c10 73.2 150.5 88 223.7 55.8 171.3-57.4 222.8-391 154.5-490.4-6.2-9-91.5-21.3-126.2-24.7-97-9.4-212.1 81.1-262 209.2-13.1 33.8 5 76.8 8.5 111.6 4.8 48.5-3.3 103.3 1.5 138.5Z" fill="url(#k)"/><path d="M1064 1438.5s260.4 180.8 388.6-161.8c32.7-87.5 18-218.1 19-276.5 113.5 55 28 367.6 20 405.1-28.4 132-158 235.3-266.4 206.6-163.1-43.1-161.2-173.4-161.2-173.4Zm447.2 61.9 22.6 8.4c70.8 53 172.5 34.3 241.7-12.3 100.5-81.6 109.7-191.2 148.2-304l7 7.6c15.5 116.6-12.6 236-54 344.8-91.5 183.3-333.6 167.8-365.5-44.5Z" fill="#fff"/><path d="M1563.4 1238.5c-17.3 41-23.5 92.8-11.3 136 29 67 109 72.8 155.3 19.9 133-142.4-26.6-383-144-156Zm-230.2-1.2c25.1-292.3-280.6-133.2-203.3 77.6 66.3 106.2 180 10.3 203.3-77.6Z" fill="#fff"/><path d="M1965.9 2004.7c2.8 18.9 15.7 37 15.7 37l-28-19.4-19.1-9.2 24.6-40.8 10.1 5s-5.6 12.1-3.3 27.4Z" fill="url(#l)"/><path d="M1907.4 2104c7.9 18.6 33.6 40.5 33.6 40.5l-64.8-19.5-32.2-3.1 56.1-62.5s-.9 25.3 7.3 44.6Z" fill="url(#m)"/><path d="M690.6 2305s181-54 253.9-126.8c49.8-49.8 9-112.5 16.9-109 49.2 22.1 64.3 54.9 93.6 90.5 13.4 16.3 71.5 54.5 71.5 54.5s-96.9 13.4-136.8 25.8c-71.3 22-299 65-299 65Z" fill="url(#n)"/><path d="M1809.8 2174.6c7.7 41 17.6 52.2 94.3 91 2.6 1.4-45.2-14.7-119.3-33.2-25-6.2-99.7-18.4-99.7-18.4s54-21.4 67.9-30.4c17-11.2 61.6-30.1 61.6-30.1s-5.5 17.1-4.8 21Z" fill="url(#o)"/><path d="M689.5 2091.5c-9 2.7-41 6-72.3 15.6-14.1 4.4-36 10.5-51.9 14.9-7.3 2-27.5 4.3-34.1-1-2-1.7-6-9.5-3.5-10 87-18.6 140-42.3 178.7-65.7 66.4-40 78.3-71.5 83.8-94.9 2.3-10 26.4 12.7 34.8 21.4l43.7 45.5s-62.9 12-82.1 17.5c-43 12.4-84.8 52.9-97.1 56.7Z" fill="url(#p)"/><path d="M462.7 1995.2c80.7-31.9 160.7-59.5 246.7-145.5 5.7-5.7 22.4 8 24.8 13.7 11.5 27.4 32.7 57.7 18.8 56.2-85-9.3-137.3 26.2-175.2 55.3-27.2 20.8-122.6 23.2-115.1 20.3Z" fill="url(#q)"/><path d="M1977.7 1628.1c4.5 24.9 4.5 95 13.8 100.3 161.5 91.8 398.4 83.6 442.4-121.6l24-3.6 21.6-24.2a1184 1184 0 0 0 16.2-118.2l-13-57.2-25-51.2-64.4-73.4-71.6-41.4-76-22.6-91.2-8.5-71 5.6-81.5 20c-13 7.4-50 28.5-60.4 39.3-4.3 23.5-14 71-19.7 94-2.5 16-2.5 49.7-10.2 66.8l-1.9 34.6 9.9 41c22 43.3 47.5 71.2 58 120.3Z" fill="url(#r)"/><path d="M2049.4 1759c-111.8-252.4 16.4-502.3 304.7-498.3-66.8-43.4-122.1-49.7-199.6-54l-39.3 6-28.3-2.3c-47.6 13.3-109.7 26.9-145.8 63.3-1.5 22.2-13.6 72.1-19.5 94-6 16.3-24.5 64.4-24 81.6l28.6 66.5c20.3 39 30.7 54.4 40.3 98l18 67 8.9 47.5 56 30.8Z" fill="url(#s)"/><path d="M2141.6 1431.4c5.7-10 1.6-32.7-15-43-19-11.8-45.9-10-57.1 14-8.8 18.7 3.8 37.4 22 47 18.4 9.6 40-.2 50.1-18Z" fill="url(#t)"/><path d="M2376.1 1422.2c-15.2 25.4-60.2 44.7-115.1 27.5-63.8-20.1-132.2-82.7-80.1-153.2 22.9-31 86.8-30 132-7.6 33 16.3 99.2 73.2 63.2 133.3Z" fill="url(#u)"/><path d="M1989.7 1483.1c28.8 52 46 83.6 136.2 83.6 30.1 0 36.5 46.3 95.5 94.7 28.8 23.8 85.5 23.1 118.8 3.1 19.9-11.9 27.1-7.2 33.2-3.7 14 8 16.6 5 34.9 3.8 0 0 21.8-30.4 13.3-51.6-26.4-17.1-49-31-81.7-30.2l-19.2 18-14.4 22.6-17.5 11-26-2.3a351 351 0 0 1-65-74.3c-39.1-39.5-79-30.7-128.7-24.3-23.7-14.8-54.3-37.7-79.4-50.4Z" fill="#ED8870"/><path d="M652.6 1826.9c241.3-68.6 402.6-274.1 450.7-516l.5-48.2 9-36.5c-5.2-34.3-2.4-85.9-5.1-120.2l28-11.7 24-5 19.6-13.7c11.5-30 10-28 7.7-59.5-193.3-386.7-817.3-471.6-1061.5-93.2-253.9 357.9-28 980.3 459.6 922.2l67.5-18.2Z" fill="url(#v)"/><path d="M456 1612.8c14.9-78.7 424.8-128.4 466-262.2 18-134.7 67-149.6 183.6-161.7l.6-67.8-18.3-16.4a955.6 955.6 0 0 1-136 29c-27.4.9-69.6 1.4-96.2 8l-9.7 39.5c13.2 27.3 26.8 125.8 26.8 125.8a480.6 480.6 0 0 1-9 54.8c-124.6 96.6-296.4 103.2-433.5 178l-7.9 23.6 33.6 49.4Z" fill="#F28773"/><path d="M754.3 1789.6c-492.2 43.4-723.2-594.8-514.7-992 0 0-73.2 57.2-82 70.8C59.6 1018.7 7 1131.2 23.1 1335l27.4 141.6c16 33.9 46.7 95.7 46.7 95.7 77.7 196.8 319 322.2 525.2 261.6l50.1-9.6 81.8-34.7Z" fill="url(#w)"/><path d="M674.6 1170c32.4 38.5 15.1 87.5-22.8 134.4-42.6 52.7-117.7 57.8-157.3 20.4-30.1-28.4-38.8-89.7 29.5-147.8 57.8-49.1 123.4-39.7 150.6-7Z" fill="url(#x)"/><path d="M558.2 890.9c41.3 42.6 56 143-47.8 247-75.3 75.4-221.2 163.1-321.3 53-72.8-80 2.7-204.5 74.4-268 55.4-49 211.2-118.3 294.7-32Z" fill="url(#y)"/><path d="m515.2 1567.3 88.3 67.5 120-29.2 17-157-212.9 61.2-12.4 57.5Z" fill="#564341"/><path d="m604.9 1625.3-22.4 117.3 124.1-47.4 18.3-100.7-120 30.8Z" fill="#7D7C7D"/><path d="m604.9 1625.3-89.7-58-16.9 91.3 84.2 84 22.4-117.3Z" fill="#989697"/><path d="m662 599.6-16.6 81.3 171.3 35.8 20.5-105-175.1-12.1Z" fill="#564341"/><path d="m457.3 582.2 547.7 30 122.3-47 53-370.4-124.5-103.7-114.1-13-30 25.4-43.3 12.7L823 115l-40.5.2-35.7-5.5-29.6-6.4-24.6-7.6L673.1 83l-20.7-13.2-11-20.4-173.3-13.1 35.6 111.8-46.4 434Z" fill="#B6B6B6"/><path d="m804.8 270.8-92.6 79 86.5 67.8-56.5 92.2L909.8 467l-67-95.2-11.3-22.7 56.7-82-30.4-8-53 11.6Z" fill="#FFED7E"/><path d="m462.1 38.7-105.3 62.8-19.2 119.2 159-77.2L462 38.7Z" fill="#B6B6B6"/><path d="m506.3 152.3-54 428.5-99.9-65.5-40.8-78.1 24.1-208 170.6-77ZM639.6 46.2l33.5 36.2 92.4 29 89.7 1.2c28.5-8.2 54.3-9.7 75-32.2l3.7-17.7c-43.5-40.3-114-41.3-170-44.5l-90.2 5.5-34 22.5Z" fill="#979797"/><path d="M798 2.2C870 7.8 931.5 31.7 944.2 62l111 14.3c1.3.1 2.5.5 3.6 1 12.3 4.7 40.1 24.5 75 51.8a918 918 0 0 1 41.5 34.1c5.6 5 9.8 9 12.4 12.1a20.2 20.2 0 0 1 5 9.4c2.9 2.7 4.5 6.7 4 10.9v1.1l-.4 3.4-1.4 12.7a12664 12664 0 0 1-29 241.8c-6.7 49.5-12.5 87.7-17.3 112.2-2.4 12.1-23 22-67.6 38.9l-3 1.1-2 .8c-31.7 11.8-60.2 20.5-69.6 20.5-10.7 0-51-2.3-158.3-8.8L835.5 704c108.8 37.8 206.9 101.9 281 187.5l-.4-.4 2 2.1a382.6 382.6 0 0 1 59.4 75.4c26-18.3 53.4-30.7 81-35.6 127.3-22.7 234.6 21.1 278 109.6 3.4-20.2 6.6-45 9.2-70.3l.3-2.9.3-2.8.3-2.8.6-6.2c1.5-16.6 1.5-31.7-.6-48.3-.3-1.7-1.8-4.1-4.6-7.1l-10.3-.7-1-.1c-4.2-.4-8.6-.8-16.4-1.1l-2.7-.1c-90.9-3.7-137.9-6.5-178.1-11.7l-3-.4-1.4-.2-3-.4-7.1-1c-60.8-9.2-96-24.1-107.2-52.4-9.5-24.1-.4-51.8 21.2-83 14-20.3 30.8-39 52.6-60.6 35.4-35.2 100.2-85.6 167.6-128.6 85.6-54.5 169.4-94 242.8-110.5 94.7-21.4 172.2-25.5 187 4.2 8.6 17.2-1.4 35.5-24.6 61.5-16 18-39 39.7-68.8 65.4a2070.7 2070.7 0 0 1-62.9 52.4l-14.3 11.7-1 .8-1 .8-.5.4-2.6 2-11.8 9.7-.4.3 2.8-.3a629 629 0 0 1 86.4-4.8l3.7.1c39.5 1.2 72.8 7.7 99.2 21.2a102.5 102.5 0 0 1 58.2 81.1c9.3 69.5-73 165.6-187.1 235.7 40.1 1 79.2 11.6 106.6 33.1a229.7 229.7 0 0 1 75.7 104.9 303.5 303.5 0 0 1 17.4 102.8c115.2-61.5 269.2-59.3 386.7 2.8 134 70.8 190.7 201.3 132.6 353.4a42.3 42.3 0 0 1-36 29c.3 1.6.5 3.2.6 4.9a80 80 0 0 1-11.3 40.7 309.8 309.8 0 0 1-49.4 64.8c-76 80.3-216.3 97.5-322.6 45.2l-10-4.9-1.4-.7-.8-.4-.9-.4-.8-.4-10.6-5.1c-9.5-4.7-17.7-8.8-25-13a479 479 0 0 1-33 179.7l-1.5 3.8-1 3-2.4 6.7a381.2 381.2 0 0 1 49.9 26.5 235 235 0 0 1 55.4 52 210.8 210.8 0 0 1 23 39.2c9.5 22 11.4 40.6-.2 54.7-10.4 12.6-27.2 14.8-47.4 10.7a282 282 0 0 1 21.5 49.7c7.4 24.8 5.4 44.8-11.5 57.3-6.3 4.7-15.3 5.7-25.7 4.1 17.6 38.7 16.6 76.6-12.1 90.8-15.5 7.7-33.8 5.2-63.1-5-5.4-1.8-19.6-7.3-35-13.3l-1.7-.6-3.1-1.2-5.8-2.2-.8-.3-1.7-.7-36-13.8a697.7 697.7 0 0 0-93.6-27.5l-18.2-4-20.8-4.3c-33.9-6.7-63-11-90.8-12.5-19.2-1.1-36.8-.8-52.7 1a17 17 0 0 1-6.8-.5 821.7 821.7 0 0 1-211.7 19.8c-74.1-2.6-113.9-5.6-156-13.5a461 461 0 0 1-34.8-7.8c-37.4-8.3-136.2 4.9-199 24.8a676.7 676.7 0 0 1-51 13.6l-71.8 15.7-4 .9-1.1.2-5.7 1.3-2.3.5-2.3.5c-25.2 5.5-49.4 11-62.4 14.2a1305 1305 0 0 0-31.5 8.1l-13.5 3.8-15 4a653.2 653.2 0 0 1-37.2 8.7c-45.4 9.1-77.7 8.9-98.3-6.5-16.7-12.4-22.7-32.4-20.2-57.5 2-19.5 9-42.8 20.8-70.4 8.9-20.8 28.4-48.7 50.5-74.2l.9-1.1-1 .2a1024.1 1024.1 0 0 0-33.3 9.4l-3.3 1-1.3.3-23.7 6.8-.4.2h-.2l-1.6.4-.5.2-1.8.4-3.5 1-2 .4-2.9.7c-19.4 4.7-32.7 5.8-45.4 2a42.4 42.4 0 0 1-28.6-30c-4-1-8.5-2.2-13.5-4-39-13.3-74.9-32.6-131.9-68.3-15.2-9.6-64-24-82.8-26.3-36.4-4.4-102 13.2-129.8 32.3a225 225 0 0 0-20.5 32.5l-.7 1.5-2.8 5.6-.8 1.7-.8 1.7c-3.3 6.8-6.5 13.3-7.6 15-4.5 7.5-10.3 12-18.6 12.4-8.7.4-15-4.7-19.5-12.6-3-5.2-5.5-12.1-7.7-20.6a298 298 0 0 1-7.3-58.4c-1.9-51.3 5.2-97.4 22-119.2 24-31 61-53 119.5-76.9 11.8-4.8 56.9-22.2 66.9-26.3 9.1-3.7 17-7.2 23.7-10.4-76.6-43-141.8-108-190.7-189-130.7-216.4-125-505.6 30.3-717.7C237.7 742.5 417.7 661.8 615.6 665c7.3.1 14.5.4 21.7.7l12-58.4-116.8-7-3.8-.3c-32.4-2-54.7-3.2-72.5-4-2.5-.2-4.6-1-6.5-2.1-43-21.2-90.5-52.6-105.2-67.3-20-19.9-44.4-87.6-44.4-112 0-37.1 9.1-107.2 24.1-196l2-11 .5-3.3.3-1.6.5-3.2 1.1-6.4.6-3.2.6-3.2.2-1.2.4-2.3c5-28.2 10-55 13-70.3l.3-1.2 2.2-10.5.2-.5.1-.6c2.8-8.7 16.5-17.7 55-40.5a1831.2 1831.2 0 0 1 56-32l3.4-1.9 1.3-.7c2.2-1.2 4.7-1.7 7.1-1.5h1.5a5149 5149 0 0 1 74 4.5 11533.3 11533.3 0 0 1 84.8 5.9h.8a41 41 0 0 1 16.7-14c9.7-5 23-9.1 39.2-12.3 32-6.4 73-8.6 112-5.4ZM860.6 2051l-1.6.1-.8.1-1.8.2h-.9l-1.8.3-4.4.5-3.6.4a336.8 336.8 0 0 0-39.1 6.6c-21.4 5.2-60.5 26.3-86.4 46.7-33.4 26.2-78.6 80.4-91.9 111.5-20.6 48.5-23.6 78.3-11.5 87.2 10 7.5 35.2 7.6 71.2.4a613.1 613.1 0 0 0 50-12.2l13.4-3.7a1474.5 1474.5 0 0 1 94-22.4l4-1 3.9-.8 2-.5 4-.8 8.4-1.9 2-.4c31.5-7 59.6-13 64-14 20-4.7 35.7-8.8 48.5-12.9a695 695 0 0 1 126.9-25.7 303.5 303.5 0 0 1-40.8-27.5 236.9 236.9 0 0 1-36.6-39.2 350.4 350.4 0 0 0-30-35l-.8-.8-1-.8a175 175 0 0 0-10.5-9.5 358.5 358.5 0 0 0-75.5-46.8h.2c-4.3-1.3-27.8-.6-53.5 1.9Zm985.1 101.1a142 142 0 0 0-62 17.3 17 17 0 0 1-4.9 1.5 555.6 555.6 0 0 1-39.2 21.4l-3.5 1.7c-13.7 6.7-27.8 13-42.3 18.7a846 846 0 0 1 78.4 14l7.5 1.5 2 .5 8.7 1.8c32.7 7 64 16.5 98 28.9a2753 2753 0 0 1 38.2 14.6l5.6 2.1 2.3 1 1.6.5c16 6.2 30.8 12 36 13.7 20.8 7.2 32.5 8.8 36.8 6.7 5.2-2.6 7.1-16.2.2-36.5a146.6 146.6 0 0 0-37-56.3l.2.2-.4-.3-1.2-1.1c-5-4.9-10.6-9.4-16.4-13.6-39.1-28.2-75-39.5-108.6-38.3Zm-356-669.4c-21 40.9-47.7 76-81.4 105.3l-1.7 1.5-1.6 1.4c-62.6 55.8-147.5 68-224.9 38.4l-2.3-1c-57-22.5-102-64.9-124.2-117.3-64.2 126.2-167 232-295.9 292.8l1 18c0 14.6 1.3 26.4 5.1 39.7a81.7 81.7 0 0 0 32.4 46.9 264 264 0 0 1 29.4 23.4l.8.4a17 17 0 0 1 8.1 8 563.7 563.7 0 0 1 19.7 20l.8.8.7.7.7.7.7.7 9.6 10 1.4 1.5c7.4 7.6 12.9 13 18.2 17.9 9.7 8.7 18 14.6 25.8 18.2 43.6 19.7 75.1 38.9 99.2 59.2 18 15 26 24.2 47.1 51a207 207 0 0 0 31.8 34.2c4.3 3.5 8.8 7 13.8 10.4 37.6 25.6 79 41.5 128.6 50.9 40 7.5 78.4 10.4 150.9 13 120.3 4 240-18.4 337.7-66 108.3-52.8 185.3-134 221.3-241l.1-.4.2-.5a458.3 458.3 0 0 0-34.1-406 386.5 386.5 0 0 1-55 92.1c-42.2 51.6-94 82.8-155.1 85.1-54.5 2-131.2-36.3-166.6-89.4-22-33-32.5-63-42.3-120.6Zm430.3 559.1-.6 1a434.3 434.3 0 0 1-67.8 75.1c39 .3 80 14.2 122.6 44.8 7 5 13.6 10.6 19.8 16.4a144.2 144.2 0 0 0 35.9 21.5c5.3 2 9.8 3.4 13.1 3.8h-.1v-.1c1-2.8.7-8.2-1.8-17.1l-.3-1.2a289 289 0 0 0-22.3-49.8 194 194 0 0 0-26-39.4 226.2 226.2 0 0 0-16.8-17.3 204 204 0 0 0-55.7-37.7Zm-1273.2-78.1a198.6 198.6 0 0 0-54.3 35.4 16.8 16.8 0 0 1-4 3.8 219.1 219.1 0 0 0-40.2 54.3l-1.5 2.9-.4.7-.7 1.3-.7 1.3c-8.7 17-15.6 34.2-15 40.2 1 10.7 3.4 14.2 7.5 15.5 5.2 1.5 13.7.8 27.5-2.5l7.9-2 3.9-1 20.3-5.9 1.1-.3 2.3-.7 1.2-.3 1.2-.4 1.2-.3 2.6-.7a1925 1925 0 0 1 34-9.5c21.5-5.6 38.6-9.3 51.3-10.6l7.1-5.8c29.4-23.2 72.7-46.5 99.3-53 17.7-4.4 41.5-7.6 63.8-9.5-6-5.5-12-11.5-20.1-19.9l-9-9.3-.6-.7-1-1-1.3-1.4c-3.9-4-7.6-8-9.5-9.8-4.9-5-9.5-9.5-14-13.7-40.2-15.7-121.3-14.4-159.9 2.9Zm-214.7-110.3-.1.1a1425 1425 0 0 1-28.8 19l-1.6 1a4340.2 4340.2 0 0 1-35.3 22.5l-2.5 1.5-.9.6-.5.3-.6.3c-67 33-132.7 73.3-175.9 109.7 30.4-8.9 63.8-13.7 88-10.8 22 2.7 74.3 18.2 93.3 30 55.4 34.8 90 53.3 126.5 65.9l3.2 1.1c3.7-20.7 18-50.3 32.5-72.6l-10.2 2.2c-36.5 7-63.5 3.9-77.4-17.2-16.2-24.6-2.8-54.8 27.5-87.9 20.8-22.7 50.2-46.2 67.9-55.4l8.5-4.3c-38.9 2.5-76.8.5-113.6-6ZM1958.3 1975l-.6 1.4a419.6 419.6 0 0 1-19 36.5c21.1 10 41.8 24.6 60.1 41.6 8.5 7.9 15.7 15.3 22 22.8l1 .8a118 118 0 0 0 27.2 12.6 70.1 70.1 0 0 0 19.7 3.5c2.1 0 3.8-.2 4.8-.6l-.4.1v-2.6l-.1-.6c-.5-4.1-2-9.6-4.8-15.8-4.7-10.8-12.1-23-19.1-32.5a202 202 0 0 0-47.2-44c-9.4-6.4-31-17.7-43.6-23.2ZM313.7 1815.4l-.2.1c-.8 1-1.8 1.7-3 2.3a338.6 338.6 0 0 1-37.8 17.8c-4.9 2-17.6 7-30.9 12.1l-1.4.6-2.8 1c-13.3 5.2-26.4 10.3-31.8 12.6-54.5 22.2-88.5 42.5-108.9 68.8-12 15.5-18.3 57-16.6 102.5.7 20.5 3.1 39.5 6.5 53.2.6 2.4 1.3 4.7 2 6.7l.2.7.2-.5 4.8-10 .7-1.4 5.7-11.1a274.3 274.3 0 0 1 40.1-54.8c41.1-44.5 122.8-97.2 207.4-139l2.3-1.2-.4.2h.1l.2-.2 2.5-1.5a2319.7 2319.7 0 0 0 35.1-22.4l1.6-1 7.8-5a457.6 457.6 0 0 1-83.5-30.5Zm321 47.2c-29.8 8-61.6 20.8-81.8 31.4-37.6 19.5-92.4 79.3-82.6 94.3 3.4 5.2 18.8 7 42.6 2.4 9.3-1.8 19.4-4.4 30-7.6 6.4-2 12.6-4 19.1-6.3l7.2-2.6a232 232 0 0 1 63.7-41.6c30.1-13.5 78.2-19 121.9-16.1A122.3 122.3 0 0 1 729 1863l-.2-.1c-19.5-11.8-52.8-11.3-94-.4Zm-486-951.5c-148.4 202.9-154 479.9-29 687 60.6 100.2 147.1 174.2 249 210a428 428 0 0 0 62.6 17c1.8-.1 3.7.2 5.4 1 91.8 16.1 191.8 3 296-41.4l3.8-1.7 7.4-3.3c240.5-112.4 387-389.2 350.7-655.6l-17.5 4.1c-46.2 10.9-92 15.5-167.8 19-1.8.2-3.4.2-5.6.3l-2.8.1h-2.6c-22.2.8-31.6 2-37.7 5.1-4.6 2.4-5.5 6-.7 18.5 4.6 12 13.3 51.5 21.2 91.7l1 5 .2 1.3 1 4.7.4 2.3.9 4.7 6.4 35.3c7.1 40.3-19.2 72.7-72 100a497.2 497.2 0 0 1-64.8 27.5v3l-.3 2.1a4053 4053 0 0 1-3.7 36.6 4906 4906 0 0 1-9.6 86.8c-3 24.3-5.8 46-8.5 64.4-5.4 37-9.7 57.8-14.7 65.6-5.5 8.5-30.8 21.7-62.2 34.3-34.8 14-61.5 21.3-74.7 17-12.7-4-33.4-20.4-54.7-41.4-22.5-22.3-37.2-40.8-38-52.2-.6-9 3.6-35.7 11.6-78.5a2777 2777 0 0 1 11-56.9l2-9.7c-36.5 12.3-59 22.8-72.1 34.1-6.3 5.4-7 8.8-4.2 15 3.7 8.3 13.1 19 30.6 35.4a13.9 13.9 0 0 1-18.9 20.3c-20.1-18.8-31.2-31.5-37-44.2-8-17.6-4.2-34.2 11.4-47.6 24.8-21.3 68.5-37.4 155.4-61.4l66.7-18.3c78-21.5 125.4-37.5 162-56.5 43.2-22.4 61.8-45.3 57.4-70.5-2.7-15.2-6-33-9.5-50.8l-.9-4.5-.2-1.1-.4-2.3c-7.3-36.6-15-71.6-18.8-81.3-9.4-24.6-4.6-43.4 14-53 11.3-6 22.4-7.3 49.5-8.2h2.5l2.7-.1 5.4-.3c74.2-3.5 118.6-8 162.7-18.3l21-4.9 16.6-4 3.2-.7h.5l1.8-.5h.3c4.6-1.4 10-2.5 16.8-3.7.7 0 .7 0 1.3-.2 10-1.6 14-2.6 16.8-4.2l-.3.2 1-.6c26.5-17 30.2-43 14.6-78.9l-.7-1.7c-13.5-30.2-39.5-64-67.4-91.5l-.4-.4-.4-.4c-116.4-134.6-295.6-214-480.2-217-189.3-3-360.7 73.9-466.5 218.4Zm576 907-1.8.6-8.8 3.4a89 89 0 0 1 10.5 2.4 307.8 307.8 0 0 1 0-6.5Zm1235.7-555.7-2.8 1.7a942 942 0 0 1-34.8 210.8l1.4 1.8a492.4 492.4 0 0 1 83.7 242.9c10.8 7 23 13.6 37.4 20.6l11.7 5.6 2.2 1.1 10.8 5.3c96.7 47.6 224.8 31.8 292.6-39.9a288.8 288.8 0 0 0 45.3-59.1c11.8-22.4 11.2-34.9-2-41.1-2.9-1.4-6-3.2-10.2-5.8l-5.2-3.4-.7-.4-4.5-2.9c-12.4-7.7-21.2-11.4-28.9-11.7-5.9-.2-11 1.8-16 6.8a98.5 98.5 0 0 0-12.2 14.8l-.5.8-2.5 3.9-1.2 1.8-3.7 5.7a42 42 0 0 1-27.1 19.7c-19.5 4.6-37-.4-53-13.3-11.4-9.2-20.3-20-34.7-40.5a2911.5 2911.5 0 0 0-9.3-13c-12.5-17.5-21-26.4-29.1-30-30-13.1-43.6-14.1-63.7-9.5l-1.7.4-1.7.4-3.5.7c-29 6-54-4.8-108.3-52a12.8 12.8 0 0 1 16.8-19.3c27.3 23.7 46.6 37.2 60.6 43.3a37 37 0 0 0 25.7 2.9 164.7 164.7 0 0 0 4.6-1l1.7-.4c25.3-5.9 44.7-4.4 79.8 11 13.8 6 24.6 17.4 39.7 38.5l4.7 6.6 4.3 6 .2.5.2.1c25.8 36.8 40.3 48.5 60.8 43.7 5.3-1.3 7.7-3.3 11.8-9.2.7-1 6.3-10 8.5-13.1 4.4-6.3 9-12 14.6-17.6a46 46 0 0 1 35.2-14.4c13.3.5 25.6 5.7 41.5 15.6l10.5 6.8a80.1 80.1 0 0 0 11.6 6.5c15.6 6.3 27.4 3.5 32.4-9.6 27.6-72.4 27.5-138.5 2.8-195.4-22.7-52.2-65.9-95.7-123.5-126.2-113.5-60-264-60.3-372.3 2.5ZM727.8 1452.5l-1 .3c-21.7 7-46.4 14.2-75 22l-13 3.6c.5 1.7.6 3.5.3 5.3l-36.5 243.5 5-1.3a433.8 433.8 0 0 0 73.9-29.5 145.4 145.4 0 0 0 14.6-8.7c.7-2 2.3-7.4 3.9-15l.1-1c2-9.8 4.3-22.9 6.6-38.9 2.7-18 5.5-39.5 8.4-63.7a5361.5 5361.5 0 0 0 12.7-116.6Zm-114.9 33-28 7.7a1635 1635 0 0 0-44.9 12.9c0 1 0 2-.2 3l-.3 1.4a4476.5 4476.5 0 0 0-14.8 75.6 738.9 738.9 0 0 0-11.3 71.1v.4l1 1.8.3.4c1.4 2.5 3.6 5.6 6.4 9.2 5.8 7.2 13.8 16 22.7 24.8 12.1 12 24.4 22.5 33.5 29l35.6-237.3Zm1310.8-260.6v.6c-5 44.7-15.7 91.5-33.4 140.7-22 60.7-76.4 133-142.2 165.7a291.8 291.8 0 0 1-104.6 24.8c-43.4 1.8-81.2-7.8-109.8-31.2a194 194 0 0 0 26.7 59c28.8 43 94.1 75.8 137 74.2 50-2 93.4-28 129.8-72.6a348.6 348.6 0 0 0 58.3-105.8c24.2-74.2 40.3-182 38.3-251.3l-.1-4Zm-438.2-198.2.4 2c14 83.2 8.5 177-29.8 283-22 60.8-76.3 133-142.1 165.8-25 12.4-76.6 25.2-121.2 25.6-48.3.4-88.8-12.4-116.8-40.8l-1 2.5c11 58.5 55 108 115.3 131.9 67 26.5 140.3 16 193.7-32.7l.3-.3c53-45.6 87.5-107 108.6-186.1 16.5-61.8 23.7-123.4 29.8-228.3 2.9-49.5-11-91.2-37.2-122.6Zm189.3 15.5a692 692 0 0 0-8.4 3.5l-4 1.8c-51 22.4-96.2 50-104.5 68.8l-.2.6-1.1 2.3c.7 10.3.8 21 .1 32.1-1 19.2-2.2 37-3.5 53.7 33.2-62 86.4-93.3 141.3-79.3 67.8 17.4 97.5 97.8 76.5 185.5l-.7 2.7c-22.5 90-90 146.4-153.6 134-41-8-72.3-38.4-86-81.2a679.3 679.3 0 0 1-13.5 48.8c-1 9.8 1.4 22.6 6.6 36.6a167.3 167.3 0 0 0 11.8 24.9c21.8 33.7 58.7 47.6 106.4 45.6 34-1.4 72-11.8 91-21.2 56.8-28.3 106-93.6 125.2-146.8 33.7-93.4 40.5-177.8 30-253.1a198.7 198.7 0 0 0-44.3-48c-39.4-30.8-116-33.4-169.2-11.3Zm-410.3-75.7a174.8 174.8 0 0 0-71.8 33.2c9.2 24.1 11.3 46.4 5 65.6 23-11.6 48.2-14.8 73.7-8.3 67.7 17.4 97.4 97.8 76.4 185.5l-.6 2.7c-22.6 90-90 146.4-153.7 134-33-6.5-59.8-27.5-76-57.8a678.9 678.9 0 0 1-27.5 104.3c20.7 30.2 55.9 43.7 102.5 43.3 39.4-.3 85.9-11.9 106.3-22 56.9-28.3 106-93.6 125.3-146.8 37.2-103.3 41.5-193.5 26.9-273-1.3-6.9-2.6-13.3-4.1-19.9l-.3-1.1-2.7-11.6c-.3-1.2-.4-2.4-.4-3.5-45.8-27.4-108.3-37.2-179-24.6Zm298.6 307.2c-19.2 74.5 11.6 131.2 60.1 140.7 44.1 8.7 96.6-35.8 114.7-111.2 17.1-71.6-5.4-132.6-51.8-144.5-49.6-12.7-101.1 30.6-123 115ZM1140 1205c-19.3 74.5 11.5 131.2 60 140.7 44.2 8.7 96.7-35.8 114.7-111.2 17.2-71.6-5.4-132.6-51.8-144.5-49.6-12.7-101 30.6-123 115Zm4.2-91.7h-.2c-2.2.5-4.5.9-7.2 1.3l-1.3.2c-6 1-10.3 2-13.3 2.9l-.4.1 1 8.1c1 6.7 1.7 13.5 2.3 20.2a219 219 0 0 1 19.1-32.8Zm663.2-644.2a665.2 665.2 0 0 0-104 15.5c-68.8 15.5-149.4 53.5-232 106-65.4 41.8-128.2 90.7-161.8 124-46.7 46.4-74.3 86.3-66.1 107 5 12.5 31.6 23.7 80.6 31.1 42.2 6.4 88.3 9.4 188.8 13.4 57.2 2.3 85 3.5 110.1 4.9l3.8.2 4.9.2 2.4.2h1.3l2.4.2 2.5.1 14.4.9c3 .2 5 .4 7 1 1.7.5 3.1 1.1 4.8 2.2 4.5 2.9 8 7.6 8 14.6 0 6.5-3 10.7-7 13.6-1.3 1-2.6 1.8-4 2.3a50.6 50.6 0 0 1-12.3 2.7l-15.5 2-1 .2-1.1.1-3.8.5-14.7 2a298.6 298.6 0 0 0-30.8 6c-2.6 42.5-8.1 92.1-14.2 128.4l-.2 1h.4c8.8-3.7 19.7-8.4 32.2-14.1l2.2-1a2241 2241 0 0 0 37.6-17.8l3.2-1.5c21-10.3 41.8-20.7 56.8-28.7 122.7-64.7 217-165.6 209.4-224-6.5-48.2-50-70.4-124.8-72.6-27.3-.9-55.7 1-89.4 5l-16.1 2-1.4.2h-.7l-1.4.2a541.9 541.9 0 0 1-28.7 3 26 26 0 0 1-6.9-.7 17.5 17.5 0 0 1-14-16.5c-.2-5.2 1.2-8.4 3.7-12l3.4-4 8.1-7.6c5.3-4.7 12.4-10.7 22.8-19.2l3-2.4 16.9-13.8 1.9-1.5.5-.4 1-.8 15.6-12.7a3529 3529 0 0 0 62-51.8 740.5 740.5 0 0 0 65.8-62.3 129.8 129.8 0 0 0 17-22.8l.2-.3-.5-.1-4-1-1.2-.1a184 184 0 0 0-37-1ZM675.2 608.9l-12 58.5A706.7 706.7 0 0 1 810.8 696l11.6-78-104-6.4h-.6l-42.6-2.6ZM519.5 162.7v.3a14023.3 14023.3 0 0 0-10 68.3c-7.3 51-14.2 101-20.3 147.1a5027.2 5027.2 0 0 0-17.3 142 815.3 815.3 0 0 0-3.9 50v.5h1.2c41 2.2 105.8 6.1 245.5 14.7l4.7.3h.6c203.7 12.5 273 16.6 286.4 16.6 2 0 11-2.2 22.9-6a774.2 774.2 0 0 0 82.3-31.3c5.2-2.5 9.3-4.7 12-6.4l.3-.3h.2v-.1a953 953 0 0 0 3.5-20.2l.4-2c3.6-21.8 7.7-49.6 12.1-82.6l.3-2.3a11814.1 11814.1 0 0 0 30-251.3c-60-4.1-116-7.8-171.6-11.2l-9.9-.6a25053 25053 0 0 0-189-10.8l-116.3-6.1-3.2-.2-4.6-.2-3.2-.2-3.5-.2-5.1-.2-3.5-.2-7.5-.4-13-.7-3.2-.2-4.4-.2-2.9-.2-110-5.7Zm-25.6-2.7-146 72.5c-13.8 82.7-22.2 148.3-22.2 182 0 18.1 22.1 79.2 37 94 10.5 10.6 44.9 33.8 80 52.8a922 922 0 0 1 3.6-43.5A5277 5277 0 0 1 463.7 375 14929.9 14929.9 0 0 1 494 160ZM891 243c2.3.2 4.4.8 6.5 1.8a14 14 0 0 1 8.3 11.3c1.3 12.7-5.8 24.9-28.5 57l-1.2 1.8c-9.8 13.8-14 19.8-17.3 25.2l-.5.8-1.9 3a64 64 0 0 0-5 10h-.1v.2l.6 1 .3.8c4 8 11.9 18.2 31.1 42.1l3 3.8c26.9 33.6 37.2 49.9 36.4 66-.3 6.6-3 9.2-8.2 12.3a57.7 57.7 0 0 1-7 3.4c-4.8 2-11.6 4.6-20 7.4a1295 1295 0 0 1-118.8 31.9c-8.8 1.8-16 3-21.3 3.6-3.2.3-5.8.4-8.1.3-5.8-.4-10.1-1.9-13.2-8-3.2-6.2-1.8-11.1 1.7-17.6 1.8-3.2 4.3-6.9 7.7-11.4 2.7-3.7 6-7.8 10.4-13.3l.8-1 .5-.7 4.3-5.2.8-1 5.4-6.6 3.7-4.7a298.3 298.3 0 0 0 18.5-24.9c1.7-2.6 3-4.9 3.9-6.8l.3-.6h-.1a90.2 90.2 0 0 0-6.4-4.2l-.8-.5-2-1.2-.5-.3L763 412l-1-.6-1-.6-1.7-1-12.3-7.3a248.2 248.2 0 0 1-30.5-21.2 55 55 0 0 1-18.5-24.1c-2.2-6.8 0-11.2 4.6-17.2 2.3-3 5.6-6.5 9.8-10.5a498 498 0 0 1 39.1-33.5l2.3-1.8 3.5-2.7 1.1-1 2.3-1.7.8-.6 1.6-1.3a977 977 0 0 1 34.2-25.6c6.4-4.3 28-9.9 52.2-14.3a289 289 0 0 1 29.7-4c4.7-.4 8.6-.4 11.7 0Zm-15.3 26h-.8a323.5 323.5 0 0 0-29.6 5l-2 .4a219 219 0 0 0-31.5 8.1c-7.3 5-22 16-36.7 27.6l-1.5 1.2-.8.6-1.5 1.2-.8.6-1.5 1.2-11.2 9a476 476 0 0 0-32.7 29.3l-.3.3.3.3a59 59 0 0 0 7.3 7.3l.7.6a226 226 0 0 0 27.3 18.9l13.3 8 2.7 1.5 11.4 6.8 1.2.7 1.2.7c14.1 8.7 18.7 12.3 20.3 20 2.5 12.8-6 26.3-29 55l-3.8 4.7-5.6 6.9-1.1 1.3a3930 3930 0 0 0-9.5 11.7l-.1.2 1-.2 1.2-.2a1238.4 1238.4 0 0 0 115.7-31.2c6.7-2.2 12.1-4.1 16.1-5.8h.3v-.3c-3.4-8.2-12.6-21.5-28.5-41.4l-1-1.2-2.9-3.7c-25-31-31.8-40.3-36.7-52.6-3.5-8.8-.3-17.3 7.8-30.7l2-3.4.6-.9.3-.4.5-.8c3.5-5.6 8-11.9 17.4-25.2l1.2-1.7a386.1 386.1 0 0 0 19-29l.3-.4ZM457.9 56.6l-.7.4a2559.2 2559.2 0 0 0-42.9 24.7c-13.5 8-24.7 14.9-33 20.3a159.6 159.6 0 0 0-10.8 7.7l-.2.2-.1.4-1.2 5.8-.2.9-4.9 25.2c-3.4 18.3-7 38.4-10.6 59L486 135.3a640.6 640.6 0 0 1-28-78.5v-.2Zm24.8-6.7.2.6a605 605 0 0 0 31.7 85l.1.3v.2l.5.7c21.3 1.2 73.6 4 128.6 6.8l3.5.2 7 .4 11.3.5a134977.3 134977.3 0 0 1 214.2 11.6l114.7 6.7 12 .7c45.7 2.8 91.8 5.8 140.3 9a1159.6 1159.6 0 0 0-73.9-56.8 340 340 0 0 0-21.4-13.9l-.6-.2-107.6-13.9c-15.8 31-84.8 44.5-158.7 37a378.6 378.6 0 0 1-101.8-24.4c-27-11.2-45.7-24.7-52.8-40.8a3560.9 3560.9 0 0 0-22.8-1.6 11521.2 11521.2 0 0 0-124.5-8.1ZM691 32.8c-14 2.7-25.2 6.2-32.4 10a25.6 25.6 0 0 0-5.8 3.8l-.2.1.1.5c4.7 20 65 44.5 132.4 51.8l2.1.2a303 303 0 0 0 98-4.9c19.7-4.9 31.3-11.5 34.7-17.2a12.8 12.8 0 0 1-.1-7c-3.4-6-14.6-14.3-32.3-21.8A303.8 303.8 0 0 0 796 27.7a414 414 0 0 0-105 5Z" fill="#564341"/></g><defs><linearGradient id="b" x1="887.4" y1="1515.4" x2="1426.2" y2="2354.9" gradientUnits="userSpaceOnUse"><stop stop-color="#FFBC9C"/><stop offset=".7" stop-color="#FFBC9C"/><stop offset="1" stop-color="#FFA67A"/></linearGradient><linearGradient id="c" x1="619.7" y1="1842.9" x2="570.9" y2="2039.3" gradientUnits="userSpaceOnUse"><stop stop-color="#F28773"/><stop offset=".3" stop-color="#F28773"/><stop offset="1" stop-color="#F6A66A"/></linearGradient><linearGradient id="d" x1="697.5" y1="1937.2" x2="637.8" y2="2170.3" gradientUnits="userSpaceOnUse"><stop stop-color="#F28773"/><stop offset=".3" stop-color="#F28773"/><stop offset="1" stop-color="#F6A66A"/></linearGradient><linearGradient id="e" x1="860.8" y1="2032" x2="767.6" y2="2378.4" gradientUnits="userSpaceOnUse"><stop stop-color="#F28773"/><stop offset=".3" stop-color="#F28773"/><stop offset="1" stop-color="#F6A66A"/></linearGradient><linearGradient id="f" x1="1837" y1="2168.8" x2="1891.9" y2="2355.9" gradientUnits="userSpaceOnUse"><stop stop-color="#F57A55"/><stop offset=".4" stop-color="#F28773"/><stop offset="1" stop-color="#FA9F6E"/></linearGradient><linearGradient id="g" x1="1929.1" y1="2064.7" x2="2011.7" y2="2237.2" gradientUnits="userSpaceOnUse"><stop stop-color="#F57A55"/><stop offset=".4" stop-color="#F28773"/><stop offset="1" stop-color="#FA9F6E"/></linearGradient><linearGradient id="h" x1="2003.9" y1="1992.4" x2="2071.1" y2="2115.3" gradientUnits="userSpaceOnUse"><stop stop-color="#F57A55"/><stop offset=".4" stop-color="#F28773"/><stop offset="1" stop-color="#FA9F6E"/></linearGradient><linearGradient id="i" x1="1575.7" y1="453.7" x2="1575.7" y2="1070" gradientUnits="userSpaceOnUse"><stop stop-color="#FFE768"/><stop offset=".4" stop-color="#FFE768"/><stop offset=".7" stop-color="#FFBD4A"/><stop offset="1" stop-color="#FFBD4A"/></linearGradient><linearGradient id="j" x1="1707.5" y1="1011.2" x2="1992.3" y2="1479.7" gradientUnits="userSpaceOnUse"><stop stop-color="#564341"/><stop offset=".5" stop-color="#564341"/><stop offset="1" stop-color="#845750"/></linearGradient><linearGradient id="k" x1="1264" y1="947.5" x2="1550.6" y2="1427.7" gradientUnits="userSpaceOnUse"><stop stop-color="#564341"/><stop offset=".5" stop-color="#564341"/><stop offset="1" stop-color="#845750"/></linearGradient><linearGradient id="l" x1="1945.7" y1="1986.8" x2="1977.7" y2="2011.6" gradientUnits="userSpaceOnUse"><stop stop-color="#C35C45"/><stop offset="1" stop-color="#B76455"/></linearGradient><linearGradient id="m" x1="1867.1" y1="2077.2" x2="1906.2" y2="2128.2" gradientUnits="userSpaceOnUse"><stop stop-color="#C35C45"/><stop offset="1" stop-color="#B76455"/></linearGradient><linearGradient id="n" x1="1126.5" y1="2143.3" x2="970.9" y2="2406.2" gradientUnits="userSpaceOnUse"><stop stop-color="#AA6160"/><stop offset="1" stop-color="#B36F5F"/></linearGradient><linearGradient id="o" x1="1737.3" y1="2177" x2="1777.2" y2="2265.9" gradientUnits="userSpaceOnUse"><stop stop-color="#C35C45"/><stop offset="1" stop-color="#B76455"/></linearGradient><linearGradient id="p" x1="868.7" y1="2003.4" x2="755.2" y2="2204.6" gradientUnits="userSpaceOnUse"><stop stop-color="#AA6160"/><stop offset="1" stop-color="#B36F5F"/></linearGradient><linearGradient id="q" x1="757.6" y1="1894.8" x2="663.9" y2="2066" gradientUnits="userSpaceOnUse"><stop stop-color="#AA6160"/><stop offset="1" stop-color="#B36F5F"/></linearGradient><linearGradient id="r" x1="2394.3" y1="1310.1" x2="2004.9" y2="1704.8" gradientUnits="userSpaceOnUse"><stop stop-color="#FFCB87"/><stop offset=".1" stop-color="#FFCB87"/><stop offset=".4" stop-color="#FFBC9C"/><stop offset="1" stop-color="#FFBC9C"/></linearGradient><linearGradient id="s" x1="2354" y1="1206.8" x2="1867.7" y2="1730.7" gradientUnits="userSpaceOnUse"><stop stop-color="#FBC38C"/><stop offset=".3" stop-color="#F19675"/><stop offset=".7" stop-color="#F0876A"/><stop offset="1" stop-color="#ED8870"/></linearGradient><linearGradient id="t" x1="2105.3" y1="1381.3" x2="2105.3" y2="1453.1" gradientUnits="userSpaceOnUse"><stop stop-color="#FFFFFE"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="u" x1="2274.5" y1="1272.6" x2="2274.5" y2="1456.3" gradientUnits="userSpaceOnUse"><stop stop-color="#FFFFFE"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="v" x1="288.4" y1="689.3" x2="624.3" y2="1846.7" gradientUnits="userSpaceOnUse"><stop stop-color="#FFCB87"/><stop offset=".2" stop-color="#FFCB87"/><stop offset=".7" stop-color="#FFBC9C"/><stop offset="1" stop-color="#FFBC9C"/></linearGradient><linearGradient id="w" x1="11.7" y1="1035.8" x2="616.7" y2="1632" gradientUnits="userSpaceOnUse"><stop stop-color="#FFCB87"/><stop offset=".3" stop-color="#F79E75"/><stop offset=".5" stop-color="#EF876D"/><stop offset="1" stop-color="#ED8870"/></linearGradient><linearGradient id="x" x1="578.3" y1="1143.8" x2="585.4" y2="1348.2" gradientUnits="userSpaceOnUse"><stop stop-color="#FFFFFE"/><stop offset="1" stop-color="#fff"/></linearGradient><linearGradient id="y" x1="367.8" y1="852.8" x2="381.3" y2="1240.2" gradientUnits="userSpaceOnUse"><stop stop-color="#FFF9CE"/><stop offset="1" stop-color="#fff"/></linearGradient><clipPath id="a"><path fill="#fff" d="M0 .8h2500v2343.8H0z"/></clipPath></defs></svg>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SplitChunks } from '@rsbuild/core'
|
|
2
|
+
|
|
3
|
+
export function createChunks(
|
|
4
|
+
chunks: Array<{ name: string; libs: string[] | RegExp; priority?: number }>
|
|
5
|
+
) {
|
|
6
|
+
const result: Exclude<SplitChunks, false>['cacheGroups'] = {
|
|
7
|
+
vendors: {
|
|
8
|
+
test: /[\\/]node_modules[\\/]/,
|
|
9
|
+
chunks: 'all',
|
|
10
|
+
name: 'vendors',
|
|
11
|
+
priority: -1
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
chunks.forEach(({ name, libs, priority }) => {
|
|
15
|
+
result[name] = {
|
|
16
|
+
test: Array.isArray(libs)
|
|
17
|
+
? new RegExp(`[\\\\/]node_modules[\\\\/](${libs.join('|')})[\\\\/]`)
|
|
18
|
+
: libs,
|
|
19
|
+
chunks: 'all',
|
|
20
|
+
name,
|
|
21
|
+
priority
|
|
22
|
+
}
|
|
23
|
+
return result
|
|
24
|
+
})
|
|
25
|
+
return result
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './createChunks'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import {
|
|
2
|
+
forwardRef,
|
|
3
|
+
ForwardRefExoticComponent,
|
|
4
|
+
FunctionComponent,
|
|
5
|
+
PropsWithChildren,
|
|
6
|
+
PropsWithoutRef,
|
|
7
|
+
RefAttributes,
|
|
8
|
+
useImperativeHandle,
|
|
9
|
+
useRef,
|
|
10
|
+
useState
|
|
11
|
+
} from 'react'
|
|
12
|
+
import { createRoot } from 'react-dom/client'
|
|
13
|
+
|
|
14
|
+
const instanceMap: Record<string, { pending: Promise<any>; instance: any }> = {}
|
|
15
|
+
|
|
16
|
+
export interface refsType<P> {
|
|
17
|
+
$setProps: (newProps: P) => void
|
|
18
|
+
$updateProps: (newProps: Partial<P>) => void
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function create(Context?: FunctionComponent<PropsWithChildren<any>>) {
|
|
22
|
+
return async function <P extends Record<string, any>, Refs extends Record<string, any>>(
|
|
23
|
+
key: string,
|
|
24
|
+
Component: ForwardRefExoticComponent<PropsWithoutRef<P> & RefAttributes<Refs>>,
|
|
25
|
+
props?: P
|
|
26
|
+
) {
|
|
27
|
+
let current = instanceMap[key]
|
|
28
|
+
if (!current) {
|
|
29
|
+
const div = document.createElement('div')
|
|
30
|
+
document.body.appendChild(div)
|
|
31
|
+
const ApiComponent = forwardRef<Refs & refsType<P>>((__, refs) => {
|
|
32
|
+
const ref = useRef<Refs>(null)
|
|
33
|
+
const [state, setState] = useState<Partial<P>>(props || {})
|
|
34
|
+
|
|
35
|
+
useImperativeHandle(refs, () => {
|
|
36
|
+
return {
|
|
37
|
+
$setProps: newProps => {
|
|
38
|
+
setState(() => newProps)
|
|
39
|
+
},
|
|
40
|
+
$updateProps: newProps => {
|
|
41
|
+
if (newProps) {
|
|
42
|
+
setState(state => ({ ...state, ...newProps }))
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
...ref.current
|
|
46
|
+
} as Refs & refsType<P>
|
|
47
|
+
})
|
|
48
|
+
if (Context) {
|
|
49
|
+
return (
|
|
50
|
+
<Context>
|
|
51
|
+
<Component ref={ref} {...(state as any)} />
|
|
52
|
+
</Context>
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
return <Component ref={ref} {...(state as any)} />
|
|
56
|
+
})
|
|
57
|
+
current = instanceMap[key] = {
|
|
58
|
+
instance: void 0,
|
|
59
|
+
pending: new Promise<void>(resolve => {
|
|
60
|
+
createRoot(div).render(
|
|
61
|
+
(
|
|
62
|
+
<ApiComponent
|
|
63
|
+
ref={instance => {
|
|
64
|
+
current.instance = instanceMap[key].instance = instance!
|
|
65
|
+
resolve()
|
|
66
|
+
}}
|
|
67
|
+
/>
|
|
68
|
+
) as never
|
|
69
|
+
)
|
|
70
|
+
})
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
await current.pending
|
|
74
|
+
current.instance.$setProps(props)
|
|
75
|
+
// Delay return to avoid sync issue
|
|
76
|
+
// ------------------------------------------------------------------------
|
|
77
|
+
await new Promise(resolve => setTimeout(resolve))
|
|
78
|
+
return current.instance as Refs & refsType<P>
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as componentInstance from './componentInstance'
|
|
File without changes
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { FunctionComponent, ReactNode } from 'react'
|
|
2
|
+
import { RouteObject } from 'react-router'
|
|
3
|
+
|
|
4
|
+
export type routeType = Omit<RouteObject, 'children' | 'id'> & {
|
|
5
|
+
id: string
|
|
6
|
+
meta?: {
|
|
7
|
+
title?: string
|
|
8
|
+
/** 只在当前路由才显示的小提示 */
|
|
9
|
+
tip?: string
|
|
10
|
+
}
|
|
11
|
+
/** 静态配置,便于回退 */
|
|
12
|
+
unauthorizedOrigin?: boolean
|
|
13
|
+
/** 动态使用,用于程序校验 */
|
|
14
|
+
unauthorized?: boolean
|
|
15
|
+
query?: () => Record<string, any>
|
|
16
|
+
menu?: {
|
|
17
|
+
hidden?: boolean
|
|
18
|
+
icon?: FunctionComponent
|
|
19
|
+
label?: ReactNode
|
|
20
|
+
}
|
|
21
|
+
children?: routeType[]
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export type editableRouteType = Omit<routeType, 'element' | 'errorElement' | 'children'>
|
|
25
|
+
|
|
26
|
+
export interface routerFactoryArgType {
|
|
27
|
+
basename: string
|
|
28
|
+
routes: routeType[]
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export type routeByIdType = Omit<routeType, 'children'> & {
|
|
32
|
+
pos: string
|
|
33
|
+
}
|